    *{box-sizing:border-box;margin:0;padding:0}
    :root{
      --bg:#f2eee4;--surface:#fbf8f1;--surface2:#efe9db;--border:#d8d0bd;
      --accent:#e23a0c;--accent2:#0f6b5d;--accent3:#d98e12;
      --text:#221d16;--muted:#6f6757;--muted2:#a29886;
      --success:#1f7a4d;--danger:#c2332a;
      --fd:'Fraunces',Georgia,serif;--fm:'IBM Plex Mono',monospace;--fb:'Hanken Grotesk',system-ui,sans-serif;
      --hdr-bg:rgba(242,238,228,.9);--hdr-shadow:rgba(34,29,22,.12);
      --mob-bg:rgba(242,238,228,.98);--grid:rgba(34,29,22,.05);
    }
    [data-theme="dark"]{
      --bg:#17130e;--surface:#211c15;--surface2:#2b241a;--border:#3b3428;
      --accent:#ff5a1f;--accent2:#2bb3a0;--accent3:#eab23c;
      --text:#f0ead9;--muted:#a89e8a;--muted2:#6f6757;
      --success:#34b879;--danger:#e0554a;
      --hdr-bg:rgba(23,19,14,.9);--hdr-shadow:rgba(0,0,0,.5);
      --mob-bg:rgba(23,19,14,.98);--grid:rgba(240,234,217,.05);
    }
    html{scroll-behavior:smooth}
    body{background:var(--bg);background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);background-size:30px 30px;color:var(--text);font-family:var(--fb);font-size:14px;line-height:1.75;padding-top:60px;-webkit-font-smoothing:antialiased}

    /* FIX: global focus-visible ring for keyboard accessibility */
    *:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}

    /* Sticky header */
    .hdr{position:fixed;top:0;left:0;right:0;z-index:100;height:60px;background:var(--hdr-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--border);display:flex;align-items:center;padding:0 1.25rem;gap:1rem;transition:box-shadow .2s}
    .hdr.scrolled{box-shadow:0 2px 20px var(--hdr-shadow)}
    .logo{display:flex;align-items:center;gap:8px;cursor:pointer;flex-shrink:0;white-space:nowrap;text-decoration:none}
    .logo-icon{width:30px;height:30px;flex-shrink:0}
    .logo-icon .lg-rim,.logo-icon .lg-tick{stroke:var(--border)}
    .logo-icon .lg-track{stroke:var(--surface2)}
    .logo-icon .lg-arc{stroke:var(--accent2)}
    .logo-icon .lg-needle{stroke:var(--accent)}
    .logo-icon .lg-dot{fill:var(--accent);stroke:none}
    .logo-wordmark{display:flex;flex-direction:column;line-height:1}
    .logo-top{font-family:var(--fd);font-size:1.2rem;font-weight:600;letter-spacing:.03em;line-height:1.05;background:linear-gradient(100deg,var(--accent) 0%,var(--accent3) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
    .logo-sub{font-family:var(--fm);font-size:.45rem;letter-spacing:.2em;color:var(--muted);text-transform:uppercase;margin-top:2px}
    .hnav{display:flex;align-items:center;gap:2px}
    /* FIX: nav items are now <button> elements for keyboard accessibility */
    .hnav button,.hnav a{font-family:var(--fm);font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:500;text-decoration:none;padding:5px 10px;border-radius:5px;transition:all .15s;cursor:pointer;white-space:nowrap;position:relative;background:transparent;border:none}
    .hnav button:hover,.hnav a:hover{color:var(--text);background:var(--surface2)}
    .hnav button.active,.hnav a.active{color:var(--text);font-weight:600}
    .hnav button.active::after,.hnav a.active::after{content:'';position:absolute;bottom:-1px;left:10px;right:10px;height:1px;background:var(--accent);border-radius:1px}
    .hsp{flex:1}

    /* Theme toggle */
    .theme-toggle{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:8px;border:1px solid var(--border);background:transparent;cursor:pointer;color:var(--muted);transition:all .15s;flex-shrink:0}
    .theme-toggle:hover{border-color:var(--accent);color:var(--accent);background:var(--surface2)}
    .theme-icon-light{display:block}
    .theme-icon-dark{display:none}
    [data-theme="dark"] .theme-icon-light{display:none}
    [data-theme="dark"] .theme-icon-dark{display:block}

    /* Language switcher */
    .lang-wrap{position:relative}
    .lang-btn{display:flex;align-items:center;gap:5px;font-family:var(--fm);font-size:.65rem;letter-spacing:.08em;color:var(--muted);background:transparent;border:1px solid var(--border);border-radius:6px;padding:5px 9px;cursor:pointer;white-space:nowrap;transition:all .15s}
    .lang-btn:hover{border-color:var(--muted2);color:var(--text)}
    .lang-btn svg{width:11px;height:11px;stroke:currentColor;fill:none;stroke-width:2;transition:transform .2s}
    .lang-btn.open svg{transform:rotate(180deg)}
    .lang-dd{position:absolute;top:calc(100% + 6px);right:0;background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:4px;min-width:148px;opacity:0;pointer-events:none;transform:translateY(-4px);transition:opacity .15s,transform .15s;z-index:200;box-shadow:0 8px 24px var(--hdr-shadow)}
    .lang-dd.open{opacity:1;pointer-events:all;transform:translateY(0)}
    /* FIX: language options are now <button> for full keyboard support */
    .lo{display:flex;align-items:center;gap:7px;font-family:var(--fm);font-size:.68rem;color:var(--muted);padding:6px 9px;border-radius:5px;cursor:pointer;transition:all .12s;width:100%;background:transparent;border:none;text-align:left}
    .lo:hover{background:var(--surface2);color:var(--text)}
    .lo.sel{color:var(--accent);font-weight:600}
    .lo .lc{font-size:.58rem;color:var(--muted2);margin-left:auto}
    .hcta{font-family:var(--fm);font-size:.65rem;letter-spacing:.1em;text-transform:uppercase;background:var(--accent);color:#fff7f0;border:none;border-radius:6px;padding:6px 14px;cursor:pointer;white-space:nowrap;font-weight:500;flex-shrink:0;transition:opacity .15s;box-shadow:0 1px 0 rgba(0,0,0,.12) inset}
    .hcta:hover{opacity:.9}
    .hcta:active{transform:scale(.97)}
    .hcta.testing{background:var(--accent3);animation:ctap 1.5s ease-in-out infinite}
    @keyframes ctap{0%,100%{opacity:1}50%{opacity:.6}}
    .mob-toggle{display:none;background:transparent;border:1px solid var(--border);border-radius:6px;padding:6px 8px;cursor:pointer;flex-direction:column;gap:4px;margin-left:auto;flex-shrink:0}
    .mob-toggle span{display:block;width:16px;height:1.5px;background:var(--muted);border-radius:1px;transition:all .2s}
    .mob-toggle.open span:nth-child(1){transform:translateY(5.5px) rotate(45deg)}
    .mob-toggle.open span:nth-child(2){opacity:0}
    .mob-toggle.open span:nth-child(3){transform:translateY(-5.5px) rotate(-45deg)}
    .mob-menu{display:none;position:fixed;top:60px;left:0;right:0;z-index:99;background:var(--mob-bg);border-bottom:1px solid var(--border);padding:1rem 1.5rem 1.25rem;flex-direction:column;gap:4px;backdrop-filter:blur(12px)}
    .mob-menu.open{display:flex}
    .mob-menu button{font-family:var(--fm);font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:500;text-decoration:none;padding:9px 12px;border-radius:6px;cursor:pointer;background:transparent;border:none;text-align:left}
    .mob-menu button:hover{color:var(--text);background:var(--surface2)}
    .mob-divider{height:1px;background:var(--border);margin:.5rem 0}
    /* Mobile language dropdown */
    .mob-lang-wrap{position:relative}
    .mob-lang-btn{display:flex;align-items:center;gap:5px;font-family:var(--fm);font-size:.68rem;color:var(--muted);padding:6px 10px;border:1px solid var(--border);border-radius:6px;cursor:pointer;background:transparent;width:100%;transition:all .15s}
    .mob-lang-btn:hover{border-color:var(--muted2);color:var(--text)}
    .mob-lang-btn svg{margin-left:auto;transition:transform .2s}
    .mob-lang-btn.open svg{transform:rotate(180deg)}
    .mob-lang-dd{position:absolute;top:calc(100% + 4px);left:0;right:0;background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:4px;max-height:0;overflow:hidden;opacity:0;pointer-events:none;transition:max-height .2s,opacity .15s;z-index:10}
    .mob-lang-dd.open{max-height:300px;opacity:1;pointer-events:all}
    .mob-lo{display:flex;align-items:center;gap:7px;font-family:var(--fm);font-size:.68rem;color:var(--muted);padding:6px 9px;border-radius:5px;cursor:pointer;transition:all .12s;width:100%;background:transparent;border:none;text-align:left}
    .mob-lo:hover{background:var(--surface2);color:var(--text)}
    .mob-lo.sel{color:var(--accent);font-weight:600}
    .mob-lo .lc{font-size:.58rem;color:var(--muted2);margin-left:auto}
    .mob-cta{font-family:var(--fm);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;background:var(--accent);color:#fff7f0;border:none;border-radius:6px;padding:9px 16px;cursor:pointer;font-weight:500;margin-top:.5rem;text-align:center;width:100%}

    .wrap{max-width:700px;margin:0 auto;padding:1.5rem 1rem 3rem}
    .pg{display:none}.pg.active{display:block}

    /* Test panel */
    .panel{background:var(--surface);border:1px solid var(--border);border-radius:18px;padding:1.75rem;position:relative;overflow:hidden;margin-bottom:1.25rem;box-shadow:0 1px 0 rgba(34,29,22,.04) inset,0 2px 10px rgba(34,29,22,.05)}
    .panel::before{content:'';position:absolute;top:-60px;right:-60px;width:200px;height:200px;background:radial-gradient(circle,rgba(226,58,12,.06) 0%,transparent 70%);pointer-events:none}
    .panel::after{content:'';position:absolute;top:0;left:1.5rem;right:1.5rem;height:5px;background:repeating-linear-gradient(90deg,var(--border) 0 1px,transparent 1px 9px);pointer-events:none;opacity:.6}
    .srow{display:flex;align-items:center;gap:7px;margin-bottom:1.25rem;font-size:.7rem;color:var(--muted)}
    .sdot{width:8px;height:8px;border-radius:50%;background:var(--success);flex-shrink:0;animation:pulse 2s ease-in-out infinite}
    @keyframes pulse{0%,100%{opacity:1}50%{opacity:.35}}
    .sname{color:var(--text);font-size:.7rem}

    /* ISP / Region info bar */
    .isp-bar{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;margin-bottom:1.25rem}
    .isp-card{background:var(--surface2);border:1px solid var(--border);border-radius:9px;padding:.65rem .85rem;display:flex;align-items:center;gap:.65rem;min-width:0;overflow:hidden}
    .isp-icon{width:28px;height:28px;min-width:28px;max-width:28px;border-radius:7px;background:var(--surface);border:1px solid var(--border);color:var(--accent);display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden}
    .isp-body{min-width:0;flex:1;overflow:hidden}
    .isp-label{font-size:.52rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted2);margin-bottom:2px}
    .isp-value{font-size:.73rem;font-weight:500;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}
    .isp-value.loading{color:var(--muted);animation:isp-blink 1.4s ease-in-out infinite}
    @keyframes isp-blink{0%,100%{opacity:1}50%{opacity:.35}}
    select{background:var(--surface2);border:1px solid var(--border);color:var(--text);font-family:var(--fm);font-size:.66rem;padding:4px 7px;border-radius:5px;margin-left:auto;cursor:pointer;outline:none}
    select:hover{border-color:var(--accent)}

    /* Gauges */
    .gauges{display:grid;grid-template-columns:1fr 1fr 1fr;gap:.75rem;margin-bottom:1.75rem}
    .gw{display:flex;flex-direction:column;align-items:center;gap:.3rem}
    .gsv{width:100%;max-width:130px}
    .gsv path:first-child{stroke:var(--border)}
    #arcPing{stroke:var(--accent3)}
    #arcDown{stroke:var(--accent)}
    #arcUp{stroke:var(--accent2)}
    .gval{font-family:var(--fd);font-size:clamp(1.3rem,3.5vw,1.9rem);font-weight:600;line-height:1.05;color:var(--text);text-align:center}
    .gunit{font-size:.6rem;color:var(--muted);letter-spacing:.1em}
    .glbl{font-size:.58rem;letter-spacing:.12em;color:var(--muted);text-transform:uppercase}

    /* ── New dial GO button ── */
    .go-dial-wrap{position:relative;width:220px;height:220px;margin:0 auto 1.75rem;display:flex;align-items:center;justify-content:center}
    /* Outer dashed ring — slow rotation */
    .go-dial-wrap::before{content:'';position:absolute;inset:0;border-radius:50%;border:1.5px dashed color-mix(in srgb,var(--accent) 22%,transparent);animation:dial-spin 20s linear infinite;pointer-events:none}
    @keyframes dial-spin{to{transform:rotate(360deg)}}
    /* Mid decorative ring */
    .go-dial-wrap::after{content:'';position:absolute;inset:18px;border-radius:50%;border:1px solid color-mix(in srgb,var(--accent) 14%,transparent);pointer-events:none}
    /* Tick SVG — sits behind everything */
    .go-ticks{position:absolute;inset:-2px;width:224px;height:224px;pointer-events:none}
    /* Progress arc SVG */
    .go-arc-svg{position:absolute;inset:8px;width:204px;height:204px;pointer-events:none}
    .go-arc-svg circle:first-child{stroke:var(--border)}
    #goProgressArc{stroke:var(--accent)}
    /* Inner ring that changes colour on state */
    .go-inner-ring{position:absolute;inset:34px;border-radius:50%;border:1.5px solid color-mix(in srgb,var(--accent) 26%,transparent);transition:border-color .4s;pointer-events:none}
    /* Needle wrapper — rotates */
    .go-needle-wrap{position:absolute;inset:0;border-radius:50%;transform:rotate(-90deg);transition:transform .35s cubic-bezier(.4,0,.2,1);pointer-events:none}
    .go-needle{position:absolute;top:50%;left:50%;width:76px;height:1.5px;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--accent) 55%,transparent) 40%,var(--accent));transform-origin:0 50%;margin-top:-.75px;border-radius:1px}
    .go-needle-dot{position:absolute;top:50%;left:50%;width:7px;height:7px;background:var(--accent);border-radius:50%;transform:translate(-50%,-50%);z-index:5;pointer-events:none;transition:background .4s}
    /* Core button */
    .go-btn{position:relative;width:116px;height:116px;border-radius:50%;border:2px solid var(--accent);background:var(--surface);cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;transition:border-color .3s,transform .2s,background .2s;z-index:10;box-shadow:0 6px 24px color-mix(in srgb,var(--accent) 14%,transparent)}
    .go-btn:hover{background:color-mix(in srgb,var(--accent) 8%,transparent);transform:scale(1.05)}
    .go-btn:active{transform:scale(.96)}
    .go-btn:focus-visible{outline:2px solid var(--accent);outline-offset:6px;border-radius:50%}
    .go-btn.running{border-color:var(--accent3);animation:gbp 1.4s ease-in-out infinite}
    @keyframes gbp{0%,100%{box-shadow:0 0 0 0 color-mix(in srgb,var(--accent3) 25%,transparent)}50%{box-shadow:0 0 0 8px transparent}}
    .go-btn.done{border-color:var(--success)}
    .go-btn-label{font-family:var(--fd);font-size:2rem;font-weight:600;letter-spacing:.14em;color:var(--accent);line-height:1;transition:color .3s}
    .go-btn.running .go-btn-label{color:var(--accent3)}
    .go-btn.done .go-btn-label{color:var(--success)}
    .go-btn-sub{font-size:.52rem;letter-spacing:.16em;color:color-mix(in srgb,var(--accent) 55%,transparent);text-transform:uppercase;transition:color .3s}
    .go-btn.running .go-btn-sub{color:color-mix(in srgb,var(--accent3) 60%,transparent)}
    .go-btn.done .go-btn-sub{color:color-mix(in srgb,var(--success) 60%,transparent)}

    /* Phase bar */
    .prow{display:flex;align-items:center;gap:1rem;margin-bottom:1.25rem;min-height:22px}
    .plbl{font-size:.65rem;letter-spacing:.1em;color:var(--muted);text-transform:uppercase;min-width:65px}
    .pbw{flex:1;height:3px;background:var(--surface2);border-radius:2px;overflow:hidden}
    .pb{height:100%;width:0%;border-radius:2px;transition:width .15s ease;background:var(--accent)}
    .pb.ul{background:var(--accent2)}.pb.ping{background:var(--accent3)}
    .pst{font-size:.6rem;color:var(--muted);min-width:26px;text-align:right}

    /* Results */
    .rg{display:grid;grid-template-columns:1fr 1fr 1fr;gap:.75rem;padding-top:1.25rem;border-top:1px solid var(--border);opacity:0;transition:opacity .5s}
    .rg.show{opacity:1}
    .rc{background:var(--surface2);border-radius:10px;padding:.75rem;text-align:center;border:1px solid var(--border)}
    .rc .rl{font-size:.56rem;letter-spacing:.12em;color:var(--muted);text-transform:uppercase;margin-bottom:.3rem}
    .rc .rv{font-family:var(--fd);font-size:1.65rem;font-weight:600;line-height:1}
    .rc .ru{font-size:.56rem;color:var(--muted);letter-spacing:.08em;margin-top:1px}
    .rc.p .rv{color:var(--accent3)}.rc.d .rv{color:var(--accent)}.rc.u .rv{color:var(--accent2)}

    /* Definition block */
    .def{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:1rem 1.2rem;margin-bottom:1.2rem}
    .def h1{font-family:var(--fd);font-size:1.15rem;font-weight:600;letter-spacing:.02em;color:var(--text);margin-bottom:.4rem}
    .def h2{font-family:var(--fd);font-size:1rem;font-weight:600;letter-spacing:.02em;color:var(--text);margin:.1rem 0 .45rem}
    .def h3{font-family:var(--fd);font-size:.85rem;font-weight:600;letter-spacing:.02em;color:var(--text);margin:.7rem 0 .25rem}
    .def a{color:var(--accent);text-decoration:underline}
    h3.sl,h3.ht{font-weight:inherit;font-size:inherit;margin:0}
    .def p{font-size:.73rem;color:var(--muted);line-height:1.75}
    .def-meta{font-size:.62rem;color:var(--muted2);margin-top:.45rem}

    /* Stats bar */
    .sbar{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem;margin-bottom:1.2rem}
    .sc{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:.6rem .7rem;text-align:center}
    .sv{font-family:var(--fd);font-size:1.3rem;font-weight:600;color:var(--accent);line-height:1}
    .sl{font-size:.56rem;color:var(--muted);margin-top:2px;letter-spacing:.05em}
    .ss{font-size:.52rem;color:var(--muted2);margin-top:1px}

    /* FAQ */
    .faq-sec{margin-bottom:1.2rem}
    .faq-t{font-size:.6rem;letter-spacing:.13em;text-transform:uppercase;color:var(--muted);margin-bottom:.55rem}
    details{background:var(--surface);border:1px solid var(--border);border-radius:8px;margin-bottom:4px;overflow:hidden}
    details[open]{border-color:color-mix(in srgb,var(--accent) 30%,transparent)}
    summary{padding:.6rem .8rem;font-size:.73rem;color:var(--text);cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;user-select:none}
    summary::-webkit-details-marker{display:none}
    summary::after{content:'+';color:var(--muted);font-size:1rem}
    details[open] summary::after{content:'−'}
    details p{padding:.05rem .8rem .65rem;font-size:.71rem;color:var(--muted);line-height:1.75}

    /* History */
    .hs{margin-bottom:1.2rem}
    .hh{display:flex;justify-content:space-between;align-items:center;margin-bottom:.55rem}
    .ht{font-size:.58rem;letter-spacing:.15em;color:var(--muted);text-transform:uppercase}
    .clr-btn{font-family:var(--fm);font-size:.56rem;color:var(--muted);background:none;border:none;cursor:pointer;padding:2px 4px;border-radius:4px}
    .clr-btn:hover{color:var(--danger)}
    .hist-list{display:flex;flex-direction:column;gap:4px}
    .hi{display:grid;grid-template-columns:auto 1fr 1fr 1fr auto;gap:5px;align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:7px;padding:.4rem .65rem;font-size:.6rem}
    .hts{color:var(--muted);white-space:nowrap}
    .hv{text-align:center;font-size:.65rem}
    .hl2{font-size:.5rem;color:var(--muted);display:block;text-align:center}
    .hisp{color:var(--muted);font-size:.56rem;text-align:right}

    /* Inner page shared styles */
    .ph{margin-bottom:1.5rem;padding-bottom:.9rem;border-bottom:1px solid var(--border)}
    .ey{font-family:var(--fm);font-size:.56rem;letter-spacing:.18em;text-transform:uppercase;color:var(--accent3);margin-bottom:.3rem}
    .pt{font-family:var(--fd);font-size:clamp(1.7rem,5vw,2.6rem);font-weight:600;letter-spacing:.02em;line-height:1.08;color:var(--text)}
    .ps{font-size:.73rem;color:var(--muted);margin-top:.4rem}
    .pm{display:flex;gap:.5rem;margin-top:.55rem;flex-wrap:wrap}
    .mp{font-family:var(--fm);font-size:.56rem;letter-spacing:.1em;text-transform:uppercase;padding:2px 7px;border-radius:4px;border:1px solid var(--border);color:var(--muted)}
    .ls h2{font-family:var(--fd);font-size:1.15rem;font-weight:600;letter-spacing:.02em;color:var(--text);margin-bottom:.45rem;padding-top:.4rem;border-top:1px solid var(--border)}
    .ls p{font-size:.73rem;color:var(--muted);margin-bottom:.45rem}
    .ls ul,.ls ol{padding-left:1.1rem;margin-bottom:.45rem}
    .ls li{font-size:.73rem;color:var(--muted);margin-bottom:.18rem}
    .ls li::marker{color:var(--accent3)}
    .ls strong{color:var(--text);font-weight:600}
    .ls a{color:var(--accent)}
    .ls{margin-bottom:1.75rem}
    .hbox{background:var(--surface);border-left:2px solid var(--accent3);padding:.6rem .85rem;margin:.6rem 0;border-radius:0 7px 7px 0}
    .hbox p{margin:0;font-size:.71rem;color:var(--muted)}
    .ibox{background:color-mix(in srgb,var(--accent) 6%,transparent);border:1px solid color-mix(in srgb,var(--accent) 22%,transparent);border-radius:7px;padding:.6rem .85rem;margin:.6rem 0}
    .ibox p{margin:0;color:var(--accent);font-size:.71rem}
    .cgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(165px,1fr));gap:.55rem;margin:.6rem 0}
    .cc{background:var(--surface);border:1px solid var(--border);border-radius:9px;padding:.65rem .85rem}
    .cc .ccl{font-size:.56rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:.22rem}
    .cc .ccv{font-size:.71rem;color:var(--accent)}
    .rgts{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.55rem;margin:.55rem 0}
    .rtc{background:var(--surface);border:1px solid var(--border);border-radius:9px;padding:.6rem .85rem}
    .rtc .rt{font-size:.68rem;font-weight:600;color:var(--text);margin-bottom:.12rem}
    .rtc .rd{font-size:.63rem;color:var(--muted)}
    .ct-w{width:100%;overflow-x:auto;margin:.55rem 0}
    .ct{width:100%;border-collapse:collapse;font-size:.7rem}
    .ct th{font-size:.56rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);padding:.32rem .5rem;text-align:left;border-bottom:1px solid var(--border)}
    .ct td{padding:.42rem .5rem;border-bottom:1px solid var(--border);color:var(--muted);vertical-align:top}
    .ct td:first-child{color:var(--text)}
    .ct tr:last-child td{border-bottom:none}
    .cform{display:flex;flex-direction:column;gap:.55rem;margin-top:.7rem}
    .cf-row{display:flex;flex-direction:column;gap:.18rem}
    .cf-lbl{font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
    .cf-inp{background:var(--surface2);border:1px solid var(--border);color:var(--text);font-family:var(--fm);font-size:.73rem;padding:.5rem .7rem;border-radius:7px;outline:none;resize:vertical;width:100%}
    .cf-inp:focus{border-color:var(--accent)}
    .cf-btn{font-family:var(--fm);font-size:.68rem;letter-spacing:.1em;padding:.55rem 1.1rem;border-radius:7px;border:1px solid var(--accent);background:transparent;color:var(--accent);cursor:pointer;align-self:flex-start;margin-top:.2rem}
    .cf-btn:hover{background:color-mix(in srgb,var(--accent) 8%,transparent)}

    /* Footer */
    .footer{border-top:1px solid var(--border);padding-top:.9rem;margin-top:.9rem;text-align:center}
    .fl{display:flex;gap:.65rem;flex-wrap:wrap;justify-content:center;margin-bottom:.35rem}
    .fl button{font-size:.6rem;color:var(--text);font-weight:500;cursor:pointer;background:none;border:none;font-family:var(--fm)}
    .fl a{font-size:.6rem;color:var(--text);font-weight:500;text-decoration:none;font-family:var(--fm)}
    .fl button:hover{color:var(--accent)}
    .fl a:hover{color:var(--accent)}
    .fc{font-size:.56rem;color:var(--muted2);margin-top:.2rem}

    /* Study page */
    .study-status{background:color-mix(in srgb,var(--accent) 6%,transparent);border:1px solid color-mix(in srgb,var(--accent) 22%,transparent);border-radius:7px;padding:.7rem .9rem;margin:.7rem 0;font-size:.72rem;color:var(--text)}
    .study-table-wrap{margin:.7rem 0;overflow-x:auto}
    .study-empty{color:var(--muted);font-size:.72rem;font-style:italic}
    .study-note{color:var(--muted2);font-size:.62rem;margin-top:.5rem}
    .ct td.dl{color:var(--accent);font-weight:600}
    .ct td.ul{color:var(--accent2);font-weight:600}
    .faq{display:flex;flex-direction:column;gap:.7rem;margin:.7rem 0}
    .fqi{border-left:2px solid var(--border);padding:.2rem 0 .2rem .8rem}
    .fqi strong{font-size:.72rem;color:var(--text);display:block;margin-bottom:.15rem}
    .fqi p{font-size:.7rem;color:var(--muted);margin:0;line-height:1.6}
    code{font-family:var(--fm);background:var(--surface2);padding:.08rem .3rem;border-radius:4px;font-size:.68rem;color:var(--accent)}

    /* Responsive */
    @media(max-width:600px){.hnav,.lang-wrap,.hcta{display:none}.mob-toggle{display:flex}}
    @media(max-width:420px){.gauges{gap:.35rem}.go-btn{width:88px;height:88px;font-size:1.5rem}.hi{grid-template-columns:auto 1fr 1fr 1fr}.hisp{display:none}.sbar{grid-template-columns:1fr}}
