/* Blue light and Glacier dark. Light is the first-visit default. */
:root[data-theme="blue"]{color-scheme:light;--paper:#f3f5fa;--ink:#172b4a;--muted:#506078;--line:#cbd3df;--lime:#dce7ff;--white:#fff;--dark:#10213b;--accent:#2455c7;--panel:#e6ebf5;--deep:#182b49;--deep-text:#f3f5fa;--deep-muted:#c5d1e5;--deep-line:#70829d;--node:#243c60;--node-line:#7d96bb;--highlight:#b9d0ff;--focus:#a64d14;--button-text:#fff;--button-bg:#2455c7}
:root[data-theme="glacier"]{color-scheme:dark;--paper:#101722;--ink:#edf2fa;--muted:#b0bdcf;--line:#34445a;--lime:#b4d5f4;--white:#192536;--dark:#cde5fc;--accent:#91c7f2;--panel:#182333;--deep:#152030;--deep-text:#edf2fa;--deep-muted:#bacbe0;--deep-line:#4d6682;--node:#1d3047;--node-line:#6f8ca9;--highlight:#a6d0f5;--focus:#b4dafe;--button-text:#101c2b;--button-bg:#91c7f2}
body{background:var(--paper)}
:is(a,button,input,select,textarea,summary):focus-visible{outline-color:var(--focus)}
.button{background:var(--button-bg);border-color:var(--button-bg);color:var(--button-text)}
.button:hover{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.button.light{background:var(--highlight);color:#172332;border-color:var(--highlight)}
.button.light:hover{background:var(--deep-text);color:var(--deep)}
.button.outline{background:transparent;color:var(--ink);border-color:var(--ink)}
.button.outline:hover{background:var(--ink);color:var(--paper)}
.hero h1 em{color:var(--accent)}
.diagram,.dark-section{background:var(--deep);color:var(--deep-text)}
.diagram-title,.system-node b{color:var(--highlight)}
.diagram-stack:before{border-color:var(--node-line)}
.system-node{background:var(--node);border-color:var(--node-line)}
.system-node small,.diagram-caption,.principle dd,.dark-section .lead{color:var(--deep-muted)}
.system-node b,.diagram-caption,.principle{border-color:var(--deep-line)}
.deliverable,.note,.inquiry{background:var(--panel)}
.note{border-color:var(--accent)}
.field input,.field textarea,.field select{border-color:var(--muted)}
.cta,.about-mark{background:var(--lime)}
.about-mark{background:var(--panel)}
.cta{color:#172332}.cta .button{background:#172b4a;border-color:#172b4a;color:#fff}.cta .button:hover{background:#0b1525}
.skip,.badge{color:#172332}
.header .nav{margin-left:auto}
.theme-switch{display:none;flex-shrink:0;gap:2px;border:1px solid var(--line);padding:3px;background:var(--panel);border-radius:7px}
.js .theme-switch{display:inline-flex}
.theme-switch button{border:0;border-radius:4px;background:transparent;color:var(--muted);padding:6px 10px;font-size:.78rem;line-height:1.4}
.theme-switch button[aria-pressed="true"]{background:var(--ink);color:var(--paper)}
.theme-switch button:hover{box-shadow:inset 0 0 0 1px var(--muted)}
@media(max-width:1100px) and (min-width:701px){.header .brand small{display:none}.header .nav{gap:18px}.header{gap:18px}}
@media(max-width:700px){.header .brand{order:0}.theme-switch{order:1}.header .menu{order:2}.header .nav{order:3;margin-left:0}.header{gap:0}}
@media(max-width:420px){.header .brand{font-size:1.2rem;gap:7px}.header .brand img{width:30px;height:30px}.theme-switch button{font-size:.7rem;padding:5px 7px}.header .menu{font-size:.72rem;padding:6px 8px}}
@media print{:root{color-scheme:light;--paper:#fff;--ink:#000;--muted:#333;--line:#aaa;--panel:#fff;--accent:#000}.theme-review{display:none}.note{background:#fff;color:#000}.resume-section{color:#000}}
