/* Shared palette, navigation and controls. */
:root{--bg:#f4f3ee;--paper:#fff;--ink:#20313a;--muted:#6b7a80;--line:#d7dcd9;--bar:#223139;--acid:#9bd400;--soft:#e5ff9a;--blue:#38778c;--shadow:0 12px 36px #1d2d350b;--mf:none}
[data-theme=dark]{--bg:#11191d;--paper:#19252b;--ink:#edf2ef;--muted:#9eadb2;--line:#34454b;--bar:#091115;--acid:#a8df0b;--soft:#344715;--blue:#72b5ca;--shadow:0 12px 36px #0003;--mf:brightness(.75) saturate(.75)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.65}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:default;opacity:.55}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid currentColor;outline-offset:5px}[hidden]{display:none!important}.wrap{width:min(1120px,calc(100% - 48px));margin-inline:auto}
.topbar{height:92px;background:var(--bar);color:#dbe3e7;position:relative;z-index:30}.topnav{height:100%;display:grid;grid-template-columns:1fr auto 1fr;align-items:center}.logo{display:block;width:180px;height:72px;line-height:1;flex-shrink:0}.logo img{display:block;width:100%;height:100%;object-fit:contain}.nav{grid-column:2;display:flex;align-items:center;gap:36px;font-size:1rem;font-weight:750}.nav>a{padding:10px 0}.nav a.active,.nav a:hover{color:var(--acid)}.menu-toggle{display:none;border:0;background:transparent;color:#fff;width:44px;height:44px;padding:9px}.menu-toggle span{display:block;height:2px;background:currentColor;margin:5px 0}.theme{justify-self:end;width:44px;height:44px;border-radius:50%;border:1px solid #ffffff30;background:transparent;color:#fff;font-size:1.2rem;transition:background .18s}.theme:hover{background:#ffffff12}.sun{display:none}[data-theme=dark] .sun{display:inline}[data-theme=dark] .moon{display:none}
.eyebrow{display:flex;gap:10px;align-items:center;text-transform:uppercase;letter-spacing:.09em;font-size:.8125rem;font-weight:800;color:var(--blue)}.eyebrow:before{content:"";flex:0 0 26px;height:3px;background:var(--acid)}.nowrap{white-space:nowrap}.back{display:inline-block;color:var(--muted);font-size:.875rem;font-weight:650}.back:hover{color:var(--ink);text-decoration:underline;text-underline-offset:4px}
.run,.page-button,.utility-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;border:0;border-radius:8px;padding:12px 22px;background:var(--acid);color:#20313a;font-size:1rem;font-weight:800;line-height:1.4;transition:background .18s,color .18s}
.run:hover,.run:focus-visible,.page-button:hover,.page-button:focus-visible,.utility-button:hover,.utility-button:focus-visible{background:var(--bar);color:#fff}
.utility-button{min-height:40px;padding:9px 14px;background:var(--bg);color:var(--ink);font-size:.875rem;font-weight:700}.run:disabled{background:var(--line);color:var(--ink)}.text-link{color:var(--blue);font-weight:750;text-decoration:underline;text-underline-offset:4px}
footer{background:var(--bar);color:#d9e0e3;padding:56px 0 24px}.site-footer{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}.footer-logo{margin:7px 0 22px}footer p{color:#aab8bd;font-size:.9375rem;max-width:390px}.footer-nav{display:grid;grid-template-columns:1fr 1.3fr;gap:40px}.footer-nav strong,.footer-nav a{display:block}.footer-nav strong{color:#fff;font-size:.8125rem;text-transform:uppercase;letter-spacing:.1em;margin-bottom:12px}.footer-nav a{color:#aab8bd;font-size:.875rem;padding:5px 0}.footer-nav a:hover{color:var(--acid)}.legal{margin-top:36px;border-top:1px solid #ffffff17;padding-top:20px;color:#9dacb2;font-size:.8125rem}
.skip-link{position:absolute;top:10px;left:16px;z-index:100;padding:12px 18px;background:var(--acid);color:#20313a;border-radius:8px;transform:translateY(-180%);font-weight:750}.skip-link:focus{transform:none}
@media(max-width:850px){.topbar{height:76px}.topnav{grid-template-columns:44px 1fr 44px}.menu-toggle{display:block;grid-column:1}.topnav>.logo{grid-column:2;grid-row:1;justify-self:center;width:150px;height:60px}.theme{grid-column:3;grid-row:1}.nav{display:none;position:absolute;left:0;right:0;top:76px;background:var(--bar);padding:12px 24px 22px;box-shadow:0 18px 30px #0003}.nav.open{display:grid;gap:0}.nav>a{padding:13px 0;border-bottom:1px solid #ffffff16}.site-footer{grid-template-columns:1fr;gap:30px}footer p{max-width:520px}}
@media(max-width:560px){.wrap{width:calc(100% - 32px)}.footer-nav{gap:20px;grid-template-columns:1fr 1.4fr}.eyebrow{font-size:.75rem;letter-spacing:.07em}.eyebrow:before{flex-basis:18px}.page-button{max-width:100%;overflow-wrap:anywhere;text-align:center}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

.report-panel{margin:28px 0 0;padding-top:22px;border-top:1px solid var(--line);font-size:.9375rem}.report-panel>summary,.result-help>summary{cursor:pointer;font-weight:750;line-height:1.5;padding:5px 0;min-height:32px}.report-panel>.form-hint{margin:10px 0 16px;color:var(--muted)}.check-label{display:flex;align-items:flex-start;gap:10px;font-size:.9375rem;line-height:1.5;cursor:pointer;margin:16px 0 8px}.check-label input{width:19px;height:19px;flex:0 0 19px;margin:2px 0 0;accent-color:var(--acid)}.report-panel .result-actions{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0}.report-panel .copy-feedback{font-size:.875rem;color:var(--muted)}.report-view{margin-top:16px}.report-view>summary{cursor:pointer;color:var(--muted);font-size:.875rem}.report-view pre{max-height:360px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:18px;font-size:.875rem;line-height:1.65}.result-help{margin-top:26px;padding-top:20px;border-top:1px solid var(--line);color:var(--ink);font-size:.9375rem}.result-help p,.result-help dd{color:var(--muted);font-size:.9375rem;line-height:1.65}.result-help dt{font-weight:750;margin-top:14px}.result-help dd{margin:3px 0 0}.run:focus-visible,.utility-button:focus-visible,.page-button:focus-visible{outline-color:var(--ink)}
