html[data-theme="light"]{--theme-bg:#f5f7f8;--theme-surface:#fff;--theme-raised:#eef2f3;--theme-well:#f0f4f3;--theme-ink:#18252b;--theme-muted:#536470;--theme-line:#ccd5d9;--theme-teal:#087b57;--theme-brand:#17c08a;--theme-soft:#e1f4ec;--theme-red:#b5323d;--theme-orange:#96520d;--theme-navy:#f9fbfa;--theme-on-brand:#06251b;--theme-hover:#e8efec;--theme-grid:#cbd6d2;--theme-wire:#7f9890;--theme-code-bg:#eef3f1;--theme-code-text:#164c3b;--theme-success-bg:#e4f3e9;--theme-success-text:#21643b;--theme-error-bg:#fbeceb;--theme-error-text:#a82e35;--theme-shadow:0 6px 22px #162d2410;--theme-veil:#10241d66;--theme-desktop-glow:#dceee6;--theme-mono:'Cascadia Code','SFMono-Regular',Consolas,monospace}
html[data-theme="dark"]{--theme-bg:#08090c;--theme-surface:#0f1014;--theme-raised:#17181c;--theme-well:#0b0c10;--theme-ink:#e8edf5;--theme-muted:#9aa9bc;--theme-line:#303740;--theme-teal:#17c08a;--theme-brand:#17c08a;--theme-soft:#102a22;--theme-red:#ff858b;--theme-orange:#eeb975;--theme-navy:#0b0c10;--theme-on-brand:#052016;--theme-hover:#20282a;--theme-grid:#262e34;--theme-wire:#657782;--theme-code-bg:#0b0c10;--theme-code-text:#b8e4d4;--theme-success-bg:#102a1d;--theme-success-text:#8cdeb0;--theme-error-bg:#35191e;--theme-error-text:#ff9ba2;--theme-shadow:0 6px 22px #0003;--theme-veil:#030608ad;--theme-desktop-glow:#142a22}
html[data-theme="hacker"]{--theme-bg:#050b07;--theme-surface:#09140d;--theme-raised:#102019;--theme-well:#060f09;--theme-ink:#d7ffe0;--theme-muted:#95bca0;--theme-line:#294934;--theme-teal:#70f59a;--theme-brand:#70f59a;--theme-soft:#153522;--theme-red:#ff9393;--theme-orange:#e4c47c;--theme-navy:#071009;--theme-on-brand:#062310;--theme-hover:#193124;--theme-grid:#203b2a;--theme-wire:#6a9b7a;--theme-code-bg:#030906;--theme-code-text:#94ffb1;--theme-success-bg:#12301e;--theme-success-text:#98eab1;--theme-error-bg:#35191e;--theme-error-text:#ffaaaa;--theme-shadow:0 6px 22px #0005;--theme-veil:#020704b8;--theme-desktop-glow:#143922}
html[data-theme="alien"]{--theme-bg:#0b0816;--theme-surface:#141024;--theme-raised:#211a35;--theme-well:#0e0b1b;--theme-ink:#f0eaff;--theme-muted:#b4a8cd;--theme-line:#44375d;--theme-teal:#87e9ee;--theme-brand:#c1a0ff;--theme-soft:#2a2144;--theme-red:#ff93b0;--theme-orange:#f1cb89;--theme-navy:#100c1e;--theme-on-brand:#1c1032;--theme-hover:#302443;--theme-grid:#30253f;--theme-wire:#9483bb;--theme-code-bg:#090713;--theme-code-text:#a8edf0;--theme-success-bg:#123033;--theme-success-text:#96e7d9;--theme-error-bg:#381b2b;--theme-error-text:#ffa6c6;--theme-shadow:0 6px 25px #0005;--theme-veil:#080312ba;--theme-desktop-glow:#362456}

html{color-scheme:dark;--theme-panel:var(--theme-surface);--theme-blur:0px;--theme-accent-rgb:23,192,138;--theme-text-rgb:232,237,245;--theme-muted-rgb:154,169,188;--theme-bg-rgb:8,9,12}
html[data-theme=light]{color-scheme:light;--theme-accent-rgb:8,123,87;--theme-text-rgb:24,37,43;--theme-muted-rgb:83,100,112;--theme-bg-rgb:245,247,248}
html[data-theme=hacker]{--theme-accent-rgb:112,245,154;--theme-text-rgb:215,255,224;--theme-muted-rgb:149,188,160;--theme-bg-rgb:5,11,7}
html[data-theme=alien]{--theme-accent-rgb:135,233,238;--theme-text-rgb:240,234,255;--theme-muted-rgb:180,168,205;--theme-bg-rgb:11,8,22}
html[data-finish=glass]{--theme-panel:color-mix(in srgb,var(--theme-surface) 86%,transparent);--theme-blur:20px}
html[data-finish=transparent]{--theme-panel:color-mix(in srgb,var(--theme-surface) 55%,transparent);--theme-blur:10px}
/* Existing homepage and learning components consume the same palette. */
html[data-site-page]{--ink:var(--theme-bg);--s1:var(--theme-panel);--s2:var(--theme-raised);--well:var(--theme-well);--paper:var(--theme-ink);--grey:var(--theme-muted);--dim:var(--theme-muted);--lime:var(--theme-teal);--border:var(--theme-line);--border2:var(--theme-line);--err:var(--theme-red);--scroll:var(--theme-wire);--l06:color-mix(in srgb,var(--theme-brand) 6%,transparent);--l12:var(--theme-soft);--l25:color-mix(in srgb,var(--theme-brand) 25%,transparent);--d-bg:var(--theme-bg);--d-su1:var(--theme-panel);--d-su2:var(--theme-raised);--d-su3:var(--theme-well);--d-tx:var(--theme-ink);--d-mu:var(--theme-muted);--d-bd:var(--theme-line);--d-bdhi:var(--theme-line);--ins-accent:var(--theme-teal);--ins-accent-06:color-mix(in srgb,var(--theme-brand) 6%,transparent)}
html[data-site-page] body{background:var(--theme-bg);color:var(--theme-ink);isolation:isolate}
html[data-site-page] body:before{content:'';position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 18% 8%,color-mix(in srgb,var(--theme-brand) 10%,transparent),transparent 55%),radial-gradient(ellipse at 92% 68%,color-mix(in srgb,var(--theme-teal) 8%,transparent),transparent 58%)}
html[data-site-page][data-theme=hacker] body{font-family:'DM Mono',Consolas,monospace}
html[data-site-page][data-theme=hacker] body:before{background:linear-gradient(color-mix(in srgb,var(--theme-teal) 5%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--theme-teal) 5%,transparent) 1px,transparent 1px);background-size:40px 40px}
html[data-site-page] :is(.card,.session-card,.chapter-preview a,.site-learning-card,.svc-panel,.term,.contact-card){backdrop-filter:blur(var(--theme-blur))}
html[data-site-page] :is(.button,.btn-pill,.skip){background:var(--theme-brand);color:var(--theme-on-brand)}
html[data-site-page] :is(input,textarea){color:var(--theme-ink);background:var(--theme-surface);border-color:var(--theme-line)}
html[data-site-page=home] #nav.scrolled{background:color-mix(in srgb,var(--theme-bg) 92%,transparent)}
html[data-site-page=home] .mnav{background:color-mix(in srgb,var(--theme-bg) 97%,transparent)}
html[data-site-page=home] .hero-foot{background:color-mix(in srgb,var(--theme-bg) 65%,transparent)}
html[data-site-page=home] .co-i.co-tile{filter:none}
html[data-site-page=home] :is(.nav-logo,.foot-brand) path[fill="#E8EDF5"]{fill:var(--theme-ink)}
html[data-site-page=home] :is(.nav-logo,.foot-brand) path[fill="#8A9AB0"]{fill:var(--theme-muted)}
html[data-site-page=home] :is(.nav-logo,.foot-brand) path[fill="#17C08A"]{fill:var(--theme-teal)}
html[data-site-page]{--d-dm:var(--theme-muted);--d-bd2:var(--theme-line)}


/* Hover, keyboard and touch share one compact corner control. */
.theme-corner{position:fixed;right:20px;top:16px;z-index:110;font:13px/1.5 'DM Sans',sans-serif;color:var(--theme-ink)}
.theme-corner .theme-toggle{display:flex;align-items:center;gap:9px;min-height:44px;margin:0;padding:10px 17px;border:1px solid var(--theme-line);border-radius:999px;background:var(--theme-surface);color:var(--theme-ink);box-shadow:var(--theme-shadow);font:700 13px 'DM Sans',sans-serif;cursor:pointer}.theme-toggle span{color:var(--theme-teal);font-size:20px}.theme-toggle:hover{border-color:var(--theme-teal)}
.theme-options{position:absolute;top:100%;right:0;width:250px;max-width:calc(100vw - 32px);padding-top:10px}.theme-options[hidden]{display:none!important}.theme-options-inner{padding:20px;border:1px solid var(--theme-line);border-radius:12px;background:var(--theme-surface);box-shadow:var(--theme-shadow)}
.theme-options label{display:grid;gap:8px;color:var(--theme-muted);font:12px/1.5 'DM Sans',sans-serif;letter-spacing:0}.theme-options label+label{margin-top:15px}.theme-options select{width:100%;min-height:44px;margin:0;padding:8px 10px;border:1px solid var(--theme-line);border-radius:8px;background:var(--theme-raised);color:var(--theme-ink);font:14px 'DM Sans',sans-serif;cursor:pointer}.theme-corner :focus-visible{outline:2px solid var(--theme-teal);outline-offset:3px}
@media(max-width:600px){.theme-corner{right:16px;top:10px}}@media print{.theme-corner{display:none}}

/* Reserve header space for the fixed theme control. */
html[data-site-page=home] #nav .wrap{max-width:1440px;padding-right:150px}
@media(min-width:1201px){html[data-site-page=home] .nav-links{display:flex;gap:14px}html[data-site-page=home] .nav-links a{font-size:12.5px}html[data-site-page=home] .nav-burger{display:none}}
@media(min-width:1201px) and (max-width:1360px){html[data-site-page=home] .nav-cta-slot{display:none}}
@media(max-width:1200px){html[data-site-page=home] .nav-links{display:none}html[data-site-page=home] .nav-burger{display:block}}
html[data-site-page=learning] .bar{padding-right:150px}.topbar{padding-right:150px}
@media(max-width:600px){html[data-site-page=home] .nav-cta-slot{display:none}html[data-site-page=learning] .bar{padding-right:140px}.topbar{padding-right:140px}}

.learning-lock{position:fixed;bottom:18px;left:20px;z-index:90;margin:0}.learning-lock button{min-height:44px;padding:10px 16px;border:1px solid var(--theme-line);border-radius:999px;background:var(--theme-surface);color:var(--theme-ink);font:13px 'DM Sans',sans-serif;cursor:pointer}.learning-lock button:hover{border-color:var(--theme-teal)}.learning-lock button:focus-visible{outline:2px solid var(--theme-teal);outline-offset:3px}@media print{.learning-lock{display:none}}
