/* Shared visual language: neutral graphite, soft elevated surfaces and restrained status accents. */
:root{color-scheme:dark;--sa-bg:#151617;--sa-surface:#202122;--sa-raised:#292b2c;--sa-border:#3b3e3d;--sa-text:#f1f2ef;--sa-muted:#adb5af;--sa-accent:#c9dcd0;--sa-gold:#e3c77f;--sa-focus:#b4d6bf;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI','Microsoft YaHei',sans-serif}
body{background:var(--sa-bg);color:var(--sa-text);font-family:-apple-system,BlinkMacSystemFont,'Segoe UI','Microsoft YaHei',sans-serif;-webkit-font-smoothing:antialiased}
header,.top{background:rgba(29,30,31,.97);border-color:var(--sa-border)}
.nav{background:#1a1b1c;border-color:var(--sa-border)}
.nav a{color:#b8bfba}.nav a.active,.nav a:hover{background:#303332;color:#f5f7f5;border-left-color:#b1cab8}
.brand,.brand strong{color:var(--sa-text)}.brand small,.brand span,.nav-note{color:#a8b2aa}
.panel,.metric,.card,.box,.summary article{background:var(--sa-surface);border-color:var(--sa-border);border-radius:14px;box-shadow:0 7px 22px #0002}
.panel-head,.card-head,.colhead{border-color:var(--sa-border)}
.field,.sample,.column,.runtime-step{background:#26292a;border-color:#424744}
.sample:hover,.sample.selected{background:#303733;border-color:#829a88}
.search,.editor,.note,input:not([type=checkbox]):not([type=file]),textarea,select{background:#17191a;border:1px solid #474d49;color:var(--sa-text);border-radius:9px}
input::placeholder,textarea::placeholder{color:#a0a8a2}
.btn,.actions button,.toolbar>button,.switch button,.controls button,.output-actions button,.review-buttons button{background:#2a2d2c;color:#e8eeea;border:1px solid #4b524d;border-radius:9px}
.btn:hover,.actions button:hover,.toolbar>button:hover,.controls button:hover,.output-actions button:hover,.review-buttons button:hover{background:#363c38;border-color:#8ba293}
.btn.primary,.action,.search button,.toolbar button.active,.switch button.active,.switcher button[aria-pressed=true],.review-buttons button[aria-pressed=true],.period button.active,.chips button.active{background:var(--sa-accent);border-color:var(--sa-accent);color:#17211b}
.btn.primary:hover,.search button:hover{background:#e1ede4;color:#17211b}
.badge,.tag,.runtime-pill{background:#2d3731;border-color:#526a59;color:#c7e0cd;border-radius:999px}
.badge.warn,.warning,.notice{background:#302c24;border-color:#796c50;color:#ecd7ac}
.eyebrow,.runtime-kicker,.subhead{color:#bed3c3}
h1,h2,h3,strong{letter-spacing:-.015em}.hint,.panel-help,.note,.subtitle,.runtime-head p,.runtime-side p{color:var(--sa-muted)}
.runtime-card{background:linear-gradient(135deg,#282c2a,#202321);border-color:#464e48;border-radius:20px}
.runtime-side{background:#1c201e;border-color:#3f4841}
.result-banner{background:#28322b;border-color:#52675a}.result-banner strong{color:#e1f1e5}
.map-card{background:var(--sa-surface);border-color:var(--sa-border);border-radius:14px}.map-window{background:radial-gradient(ellipse at 50% 48%,#262821,#141716 55%,#0c0e0e)}
.tech.marked{background:#55482b;color:#fff1c4;border-color:#d7bd7a}.marker{background:#f4c74b;border-color:#ffe8a2}
button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,a:focus-visible{outline:2px solid var(--sa-focus);outline-offset:3px}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}

.matrix{max-height:68vh;overflow:auto;overscroll-behavior:contain;scrollbar-color:#69736c #202322}
