/* CPU Design System v2 — global light/dark shell */
:root{--cpu-bg:#f5f7fb;--cpu-surface:#fff;--cpu-surface2:#edf2f8;--cpu-border:#dce4ee;--cpu-text:#142237;--cpu-muted:#596e86;--cpu-accent:#087d72;--cpu-accent-bg:#dff9f2;--cpu-shadow:0 12px 36px rgba(24,45,74,.07);color-scheme:light}
html[data-cpu-theme="dark"]{--cpu-bg:#09111e;--cpu-surface:#101f30;--cpu-surface2:#172a3e;--cpu-border:#2b4358;--cpu-text:#edf7ff;--cpu-muted:#aebfd2;--cpu-accent:#73e8d4;--cpu-accent-bg:#153b40;--cpu-shadow:0 20px 45px rgba(0,0,0,.21);color-scheme:dark}
html{scroll-behavior:smooth}body{background:var(--cpu-bg)!important;color:var(--cpu-text)!important;transition:background .18s,color .18s}body:before{content:none!important}
header{background:var(--cpu-surface)!important;color:var(--cpu-text)!important;border-color:var(--cpu-border)!important}
main,section,footer,.wrap{color:var(--cpu-text)}h1,h2,h3,h4,strong,label{color:var(--cpu-text)!important}p,small,.small,.muted,.hint,.lead,.section p,.card p,.notice{color:var(--cpu-muted)!important}
.panel,.box,.card,.notice,.terminal,.command{background:var(--cpu-surface)!important;border-color:var(--cpu-border)!important;color:var(--cpu-text)!important;box-shadow:var(--cpu-shadow);border-radius:16px}
input,textarea,select{background:var(--cpu-surface2)!important;color:var(--cpu-text)!important;border-color:var(--cpu-border)!important}
pre,.pane,.output,.msg,.codeblock{background:var(--cpu-surface2)!important;color:var(--cpu-text)!important;border-color:var(--cpu-border)!important}
a{color:var(--cpu-accent)}.btn,button{transition:transform .15s,border-color .15s,background .15s}button:not(:disabled):hover,.btn:hover{transform:translateY(-1px)}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--cpu-accent);outline-offset:2px}
.btn.primary,button:not(.file):not(.copycode):not(.msgActions button):not(#copycmd){border-color:var(--cpu-accent);background:var(--cpu-accent-bg);color:var(--cpu-accent)}
/* Shared top-right site controls */
#cpu-ui-toolbar{position:fixed;z-index:10000;right:18px;top:85px;display:flex;gap:8px;align-items:flex-start;font:13px/1.4 system-ui,sans-serif}
#cpu-ui-toolbar button{background:var(--cpu-surface)!important;color:var(--cpu-text)!important;border:1px solid var(--cpu-border)!important;box-shadow:var(--cpu-shadow)!important;border-radius:12px!important;padding:10px 14px!important;font-size:13px!important;font-weight:650!important;min-height:42px}
#cpu-ui-menu{position:absolute;top:50px;right:0;width:260px;max-height:70vh;overflow:auto;padding:9px;background:var(--cpu-surface);border:1px solid var(--cpu-border);border-radius:14px;box-shadow:var(--cpu-shadow)}
#cpu-ui-menu[hidden]{display:none!important}#cpu-ui-menu a{display:block;border-radius:8px;padding:10px 12px;color:var(--cpu-text)!important;text-decoration:none!important;font-size:13px}#cpu-ui-menu a:hover,#cpu-ui-menu a[aria-current="page"]{background:var(--cpu-surface2)}#cpu-ui-toolbar .cpu-brand{padding:12px;color:var(--cpu-accent)!important;font-weight:800}
#cpu-ui-theme{white-space:nowrap}#cpu-ui-theme:before{content:"◐";margin-right:7px;color:var(--cpu-accent)}
/* Home improvements */
.hero{gap:42px}.hero h1{color:var(--cpu-text)!important}.hero h1 span,.eyebrow,.glyph,.mint,.tag{color:var(--cpu-accent)!important}.tag,.pill,.badge{border-color:var(--cpu-border)!important;background:var(--cpu-accent-bg)!important;color:var(--cpu-accent)!important}
.grid{gap:20px}.card:hover{border-color:var(--cpu-accent)!important;transform:translateY(-2px)}.card{transition:transform .18s,border-color .18s}
.termbar{background:var(--cpu-surface2)!important;border-color:var(--cpu-border)!important}.terminal pre{background:var(--cpu-surface)!important}
#cpu-ui-toolbar + *{scroll-margin-top:90px}
@media(max-width:700px){#cpu-ui-toolbar{top:auto;bottom:12px;right:12px;left:12px;justify-content:flex-end}#cpu-ui-menu{top:auto;bottom:50px;right:0}main{padding-bottom:75px!important}.hero{padding-top:46px!important}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}

/* CPU brand v3: circuit-C symbol */
.cpu-logo-icon{width:40px;height:40px;display:inline-block;object-fit:contain;vertical-align:middle;flex-shrink:0;filter:drop-shadow(0 2px 6px rgba(9,162,205,.18))}
.cpu-header-home{display:inline-flex;gap:10px;align-items:center;min-height:44px;color:var(--cpu-text)!important;font-weight:800!important;text-decoration:none!important}
header .brand{gap:12px;color:var(--cpu-text)!important;text-decoration:none}
header .brand .cpu-logo-icon{width:44px;height:44px}
#cpu-ui-menu .cpu-menu-brand{display:flex;align-items:center;gap:10px;padding:8px 10px 12px;border-bottom:1px solid var(--cpu-border);margin-bottom:6px;font-weight:800;color:var(--cpu-text)}
#cpu-ui-menu .cpu-menu-brand img{width:31px;height:31px}
@media(max-width:700px){.cpu-logo-icon{width:33px;height:33px}header .brand .cpu-logo-icon{width:38px;height:38px}}

/* CPU navigation v4: a single-row, grouped and responsive header */
body.cpu-shell-ready > header:not(.cpu-site-header){display:none!important}
#cpu-ui-toolbar{display:none!important}
.cpu-site-header{position:sticky!important;top:0;z-index:10000;width:100%;background:var(--cpu-surface)!important;border-bottom:1px solid var(--cpu-border)!important;box-shadow:0 2px 16px rgba(16,34,57,.05);backdrop-filter:blur(18px)}
.cpu-site-header .cpu-site-inner{max-width:1260px;min-height:72px;padding:0 20px;margin:0 auto;display:flex;align-items:center;gap:22px;flex-wrap:nowrap}
.cpu-site-header .cpu-site-brand{display:inline-flex;align-items:center;gap:9px;white-space:nowrap;text-decoration:none!important;color:var(--cpu-text)!important;font-weight:850;font-size:21px;letter-spacing:-.025em;flex-shrink:0}
.cpu-site-header .cpu-site-brand img{width:40px;height:40px;display:block}
.cpu-site-header .cpu-site-brand small{font-size:10px;line-height:1.15;color:var(--cpu-muted)!important;font-weight:650;letter-spacing:.07em;text-transform:uppercase;border-left:1px solid var(--cpu-border);padding-left:10px;margin-left:4px}
.cpu-site-header .cpu-site-nav{display:flex;align-items:center;gap:4px;flex:1;min-width:0}
.cpu-site-header .cpu-site-nav>a,.cpu-site-header .cpu-nav-group>button{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:10px 13px;min-height:40px;color:var(--cpu-text)!important;text-decoration:none!important;font:600 13.5px/1.3 system-ui,sans-serif;white-space:nowrap;border:1px solid transparent!important;border-radius:10px!important;background:transparent!important;box-shadow:none!important;cursor:pointer}
.cpu-site-header .cpu-site-nav>a:hover,.cpu-site-header .cpu-nav-group>button:hover,.cpu-site-header .cpu-site-nav>a[aria-current="page"],.cpu-site-header .cpu-nav-group>button[aria-expanded="true"]{background:var(--cpu-surface2)!important;color:var(--cpu-accent)!important}
.cpu-site-header .cpu-nav-group{position:relative}
.cpu-site-header .cpu-nav-group>button svg{width:13px;height:13px;flex-shrink:0}
.cpu-site-header .cpu-nav-dropdown{position:absolute;right:0;top:calc(100% + 8px);min-width:235px;padding:8px;background:var(--cpu-surface);border:1px solid var(--cpu-border);border-radius:13px;box-shadow:var(--cpu-shadow);display:flex;flex-direction:column;gap:2px}
.cpu-site-header .cpu-nav-dropdown[hidden]{display:none!important}
.cpu-site-header .cpu-nav-dropdown>a{padding:10px 12px;color:var(--cpu-text)!important;text-decoration:none!important;font:550 13px/1.35 system-ui,sans-serif;border-radius:8px;white-space:nowrap}
.cpu-site-header .cpu-nav-dropdown>a:hover,.cpu-site-header .cpu-nav-dropdown>a[aria-current="page"]{background:var(--cpu-surface2);color:var(--cpu-accent)!important}
.cpu-site-header .cpu-site-actions{display:flex;align-items:center;gap:8px;margin-left:auto;flex-shrink:0}
.cpu-site-header .cpu-site-actions button,.cpu-site-header .cpu-site-actions a{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:40px;padding:9px 12px;border:1px solid var(--cpu-border)!important;border-radius:10px!important;background:var(--cpu-surface2)!important;color:var(--cpu-text)!important;text-decoration:none!important;box-shadow:none!important;white-space:nowrap;font:650 13px/1.25 system-ui,sans-serif}
.cpu-site-header .cpu-site-actions a:hover,.cpu-site-header .cpu-site-actions button:hover{color:var(--cpu-accent)!important;border-color:var(--cpu-accent)!important}
.cpu-site-header .cpu-mobile-trigger{display:none!important}
.cpu-site-header .cpu-mobile-panel{display:none!important}
.cpu-site-header .cpu-mobile-panel[hidden]{display:none!important}
.cpu-site-header .cpu-mobile-group-title{margin:13px 8px 5px;color:var(--cpu-muted)!important;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.09em}
.cpu-site-header button:focus-visible,.cpu-site-header a:focus-visible{outline:2px solid var(--cpu-accent)!important;outline-offset:2px!important}
@media(max-width:1120px){
 .cpu-site-header .cpu-site-nav{display:none!important}
 .cpu-site-header .cpu-site-inner{min-height:66px;gap:12px}
 .cpu-site-header .cpu-mobile-trigger{display:inline-flex!important}
 .cpu-site-header .cpu-site-actions .cpu-github{display:none!important}
 .cpu-site-header .cpu-mobile-panel:not([hidden]){display:block!important;position:absolute;top:100%;left:0;right:0;background:var(--cpu-surface);border-bottom:1px solid var(--cpu-border);box-shadow:var(--cpu-shadow);padding:12px max(16px,calc((100vw - 800px)/2));max-height:calc(100dvh - 70px);overflow-y:auto}
 .cpu-site-header .cpu-mobile-panel a{display:block;padding:10px 12px;color:var(--cpu-text)!important;text-decoration:none!important;border-radius:9px;font:600 14px/1.4 system-ui,sans-serif}
 .cpu-site-header .cpu-mobile-panel a:hover,.cpu-site-header .cpu-mobile-panel a[aria-current="page"]{background:var(--cpu-surface2);color:var(--cpu-accent)!important}
}
@media(max-width:480px){
 .cpu-site-header .cpu-site-brand small{display:none}
 .cpu-site-header .cpu-site-inner{padding:0 13px}
 .cpu-site-header .cpu-site-actions{gap:5px}
 .cpu-site-header .cpu-site-actions button{padding:9px 10px;font-size:12px}
 .cpu-site-header .cpu-site-brand img{width:35px;height:35px}
 .cpu-site-header .cpu-site-brand{font-size:19px}
}

/* Shared legal footer */
.cpu-site-legal-footer{border-top:1px solid var(--cpu-border)!important;background:var(--cpu-surface)!important;color:var(--cpu-muted)!important;padding:18px 22px!important}
.cpu-legal-footer-inner{max-width:1260px;margin:auto;display:flex;gap:13px;justify-content:space-between;align-items:center;flex-wrap:wrap;font:12px/1.6 system-ui,sans-serif}
.cpu-site-legal-footer nav{display:flex;gap:17px;flex-wrap:wrap}
.cpu-site-legal-footer a{color:var(--cpu-muted)!important;text-decoration:none!important;white-space:nowrap}
.cpu-site-legal-footer a:hover,.cpu-site-legal-footer a:focus-visible{color:var(--cpu-accent)!important;text-decoration:underline!important}
@media(max-width:610px){.cpu-legal-footer-inner{align-items:flex-start;flex-direction:column;gap:9px}.cpu-site-legal-footer nav{gap:13px}}
