/* speediq.org Startseite (umzug-speediq-1, 21.10.2026). Marken-Abdruck: nur Dunkel, eine Akzentfarbe Cyan, Space Grotesk + JetBrains Mono (Zahlen). */
@font-face{font-family:'Space Grotesk';font-style:normal;font-weight:400;font-display:swap;src:url('/fonts/space-grotesk-400.woff2') format('woff2')}
@font-face{font-family:'Space Grotesk';font-style:normal;font-weight:500;font-display:swap;src:url('/fonts/space-grotesk-500.woff2') format('woff2')}
@font-face{font-family:'Space Grotesk';font-style:normal;font-weight:700;font-display:swap;src:url('/fonts/space-grotesk-700.woff2') format('woff2')}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:400;font-display:swap;src:url('/fonts/jetbrains-mono-latin-400-normal.woff2') format('woff2')}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:500;font-display:swap;src:url('/fonts/jetbrains-mono-latin-500-normal.woff2') format('woff2')}
:root{
  --bg:#060d1a;--karte:#0a1628;--karte-2:#0d1e36;--rahmen:rgba(91,200,245,.16);--rahmen-2:rgba(91,200,245,.08);
  --text:#c8dff0;--titel:#e8f4ff;--gedaempft:#7aa8c8;--akzent:#5bc8f5;
  --gut:#34d399;--mittel:#fbbf24;--schlecht:#f87171;
  --schrift:'Space Grotesk',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;--mono:'JetBrains Mono',ui-monospace,Menlo,Consolas,monospace;
  --breite:1100px;
  color-scheme:dark;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
body{background:var(--bg);color:var(--text);font-family:var(--schrift);font-weight:400;line-height:1.55;min-height:100vh;overflow-x:hidden}
body::before{content:'';position:fixed;inset:0;pointer-events:none;z-index:0;background:radial-gradient(ellipse 70% 40% at 50% -5%,rgba(91,200,245,.10) 0%,transparent 60%)}
a{color:var(--akzent)}
a:hover{color:var(--titel)}
:focus-visible{outline:3px solid var(--akzent);outline-offset:2px;border-radius:4px}
.sprung{position:absolute;left:12px;top:-60px;z-index:200;background:var(--akzent);color:var(--bg);padding:10px 16px;border-radius:8px;font-weight:700;text-decoration:none}
.sprung:focus{top:12px}
.kopf{position:sticky;top:0;z-index:100;background:rgba(6,13,26,.92);border-bottom:1px solid var(--rahmen-2);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.kopf-innen{max-width:var(--breite);margin:0 auto;padding:10px 24px;display:flex;justify-content:space-between;align-items:center;gap:12px}
.marke{display:inline-flex;align-items:center;min-height:44px}
.marke img{display:block;height:36px;width:auto}
.kopf-nav{display:flex;align-items:center;gap:6px}
.kopf-nav a{color:var(--text);text-decoration:none;font-weight:500;padding:10px 12px;border-radius:8px;min-height:44px;display:inline-flex;align-items:center}
.kopf-nav a:hover{color:var(--akzent);background:var(--rahmen-2)}
.kopf-nav a[aria-current="page"]{color:var(--akzent)}
.kopf-nav .kopf-knopf{background:var(--akzent);color:var(--bg);font-weight:700}
.kopf-nav .kopf-knopf:hover{background:#8fdaf8;color:var(--bg)}
main{position:relative;z-index:1}
.held{max-width:var(--breite);margin:0 auto;padding:32px 24px 8px;text-align:center}
.abzeichen{display:inline-block;border:1px solid var(--rahmen);background:rgba(91,200,245,.07);color:var(--akzent);border-radius:999px;padding:5px 14px;font-size:13px;font-weight:500;margin-bottom:12px}
.held h1{font-size:clamp(30px,5.4vw,56px);font-weight:700;line-height:1.08;letter-spacing:-1px;color:var(--titel);margin-bottom:10px}
.held h1 em{font-style:normal;color:var(--akzent)}
.unterzeile{font-size:16px;color:var(--gedaempft);max-width:560px;margin:0 auto 20px}
.karte{background:linear-gradient(175deg,var(--karte-2) 0%,var(--karte) 100%);border:1px solid var(--rahmen);border-radius:14px;box-shadow:0 24px 64px rgba(0,0,0,.45)}
.tacho-karte{max-width:var(--breite);margin:0 auto 28px;overflow:hidden}
@media (min-width:1149px){.tacho-karte{margin-left:auto;margin-right:auto}}
@media (max-width:1148px){.tacho-karte{margin-left:24px;margin-right:24px}}
.karte-leiste{display:flex;justify-content:space-between;align-items:center;padding:10px 18px;border-bottom:1px solid var(--rahmen-2);font-size:13px;color:var(--gedaempft)}
.leiste-titel{font-weight:500;color:var(--titel)}
.leiste-status{display:flex;align-items:center;gap:8px;font-family:var(--mono);font-size:12px}
.punkt{width:8px;height:8px;border-radius:50%;background:var(--gut)}
.gauge-section{padding:18px 16px 0;display:flex;flex-direction:column;align-items:center}
.gauge-wrap{position:relative;width:100%;max-width:700px}
#gaugeCanvas{display:block;width:100%;height:auto;aspect-ratio:900/500}
.gauge-center{position:absolute;left:50%;bottom:10%;transform:translateX(-50%);text-align:center;pointer-events:none;display:flex;flex-direction:column;align-items:center;gap:3px}
.gc-value{font-family:var(--schrift);font-size:clamp(32px,6vw,64px);font-weight:700;line-height:1;color:var(--akzent);letter-spacing:-2px}
.gc-unit,.gc-phase{font-family:var(--mono);font-size:12px;color:var(--gedaempft);letter-spacing:2px;text-transform:uppercase}
.gc-ul{font-family:var(--mono);font-size:13px;color:var(--text)}
.gauge-metrics{display:grid;grid-template-columns:repeat(3,1fr);width:100%;max-width:700px;border-top:1px solid var(--rahmen-2)}
.gm-cell{padding:12px 6px;text-align:center;border-right:1px solid var(--rahmen-2)}
.gm-cell:last-child{border-right:0}
.gm-val{display:block;font-family:var(--mono);font-size:18px;font-weight:500;color:var(--text)}
.gm-val.live{color:var(--akzent)}
.gm-val.done{color:var(--titel)}
.gm-label{display:block;font-size:12px;color:var(--gedaempft);margin-top:2px}
.progress-strip{width:100%;max-width:700px;padding:0 0 8px}
.progress-row{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:8px 0 6px;font-size:13px;color:var(--gedaempft)}
.progress-label.on{color:var(--akzent)}
.progress-pct{font-family:var(--mono);color:var(--akzent)}
.progress-bg{height:3px;background:rgba(91,200,245,.10);border-radius:2px}
.progress-fill{height:100%;width:0;background:var(--akzent);border-radius:2px;transition:width .3s ease}
.btn-wrap{display:flex;gap:10px;padding:14px 18px 18px}
.btn-start{flex:1;min-height:52px;border:0;border-radius:10px;background:var(--akzent);color:var(--bg);font:700 16px/1 var(--schrift);letter-spacing:1px;cursor:pointer}
.btn-start:hover{background:#8fdaf8}
.btn-start:disabled{opacity:.55;cursor:not-allowed}
.btn-share{display:none;min-height:52px;padding:0 18px;border:1px solid var(--rahmen);border-radius:10px;background:transparent;color:var(--text);font:500 15px var(--schrift);cursor:pointer}
.btn-share.on{display:block}
.btn-share:hover{border-color:var(--akzent);color:var(--akzent)}
.history-wrap{max-width:var(--breite);margin:0 auto 24px;padding:0 24px}
.history-card{background:var(--karte);border:1px solid var(--rahmen-2);border-radius:10px;overflow:hidden}
.history-bar{display:flex;justify-content:space-between;align-items:center;padding:6px 14px;border-bottom:1px solid var(--rahmen-2);font-size:13px;color:var(--gedaempft)}
.history-clear{min-height:44px;padding:0 12px;background:none;border:0;color:var(--akzent);font:500 14px var(--schrift);cursor:pointer}
.hist-row{display:flex;flex-wrap:wrap;gap:14px;padding:8px 14px;border-bottom:1px solid var(--rahmen-2);font-family:var(--mono);font-size:13px}
.hist-row:last-child{border-bottom:0}
.hist-time{color:var(--gedaempft)}.hist-dl{color:var(--akzent)}.hist-ul,.hist-ping{color:var(--text)}
.werkzeuge{max-width:var(--breite);margin:0 auto;padding:8px 24px 40px}
.werkzeuge-kopf{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap}
.werkzeuge h2,.text-block h2{font-size:clamp(22px,3vw,30px);color:var(--titel);font-weight:700;letter-spacing:-.5px}
.werkzeuge-zahl{font-family:var(--mono);font-size:13px;color:var(--gedaempft)}
.werkzeuge-hinweis{color:var(--gedaempft);font-size:15px;margin:6px 0 16px}
.werkzeuge-raster{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.gruppe{background:linear-gradient(175deg,var(--karte-2),var(--karte));border:1px solid var(--rahmen);border-radius:12px;padding:6px 0 4px}
.gruppe h3{font-size:14px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--akzent);padding:10px 16px 8px;border-bottom:1px solid var(--rahmen-2)}
.gruppe-liste{list-style:none}
.gruppe-liste li{border-bottom:1px solid var(--rahmen-2);padding:4px 0 10px}
.gruppe-liste li:last-child{border-bottom:0}
.tool-row{display:flex;align-items:center;gap:8px;width:100%;min-height:44px;padding:8px 16px;background:none;border:0;color:var(--text);font:inherit;text-align:left;cursor:pointer;position:relative}
.tool-row::before{content:'';position:absolute;left:0;top:18%;bottom:18%;width:3px;border-radius:0 3px 3px 0;background:var(--rahmen)}
.tool-row:hover{background:rgba(91,200,245,.05)}
.tool-row:hover::before,.tool-row.running::before{background:var(--akzent)}
.tool-row.ok::before{background:var(--gut)}.tool-row.warn::before{background:var(--mittel)}.tool-row.bad::before{background:var(--schlecht)}
.tool-row-name{flex:1;font-weight:500;color:var(--titel)}
.tool-row-result{font-family:var(--mono);font-size:13px;color:var(--gedaempft);max-width:55%;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tool-row.ok .tool-row-result{color:var(--gut)}.tool-row.warn .tool-row-result{color:var(--mittel)}.tool-row.bad .tool-row-result{color:var(--schlecht)}.tool-row.running .tool-row-result{color:var(--akzent)}
.tool-text{padding:0 16px;font-size:14px;line-height:1.45;color:var(--gedaempft)}
.btn-run-all{display:block;width:100%;margin-top:16px;min-height:52px;border:1px solid var(--rahmen);border-radius:10px;background:var(--karte-2);color:var(--titel);font:700 15px var(--schrift);letter-spacing:1px;cursor:pointer}
.btn-run-all:hover{border-color:var(--akzent);color:var(--akzent)}
.text-block{max-width:760px;margin:0 auto;padding:16px 24px 32px}
.text-block p,.text-block li{font-size:17px;line-height:1.6;color:var(--text);margin-top:10px}
.text-block ul{padding-left:20px}
.text-block h3{font-size:19px;color:var(--titel);margin-top:22px}
.fuss{border-top:1px solid var(--rahmen-2);margin-top:24px;padding:22px 24px 40px;text-align:center;font-size:14px;color:var(--gedaempft);position:relative;z-index:1}
.fuss-zeile a{color:var(--gedaempft);text-decoration:none;display:inline-block;padding:10px 4px}
.fuss-zeile a:hover{color:var(--akzent)}
@media (max-width:900px){.werkzeuge-raster{grid-template-columns:1fr 1fr}}
@media (max-width:640px){
  .kopf-innen{padding:8px 16px}
  .marke img{height:30px}
  .held{padding:20px 16px 4px}
  .tacho-karte{margin-left:12px;margin-right:12px}
  .werkzeuge,.history-wrap{padding-left:12px;padding-right:12px}
  .werkzeuge-raster{grid-template-columns:1fr}
  .text-block{padding-left:16px;padding-right:16px}
  .gm-val{font-size:15px}
  .btn-wrap{padding:12px}
}
@media print{.kopf,.btn-wrap,.btn-run-all,.fuss,.sprung{display:none}body{background:#fff;color:#000}}
