/* Stitch 2026-10-24: dark-first visual system, preserving legacy application handlers */
:root,html[data-theme]{--navy:#070e1c!important;--forest:#2563eb!important;--jade:#10b981!important;--mint:#1a263e!important;--wash:#070e1c!important;--ink:#f8fafc!important;--muted:#94a3b8!important;--line:#2a3a5a!important;--surface:#131c2e!important;--header-ink:#fff!important;--shadow:0 8px 26px #0003!important}
html,body{background:#070e1c!important;color:#f8fafc!important;color-scheme:dark}
body,.app{background:#070e1c!important;color:#f8fafc!important}
.app{box-shadow:0 0 40px #0005!important}
header{background:#0b1220!important;border-bottom:1px solid #1e293b!important}
.logo{background:#2563eb!important;color:#fff!important}.brand{color:#fff!important}.brand small{background:#2563eb;border-radius:20px;padding:3px 7px;font-size:9px}
.status{color:#10b981!important;border-color:#1e5649!important}.tda-badge{display:block;font-size:10px;color:#10b981;margin-top:3px;font-weight:700}
.gloss-quick{background:#1a263e;border:1px solid #2a3a5a;color:#dbeafe;border-radius:10px;padding:8px 9px;font-size:11px;font-weight:700;white-space:nowrap;min-height:42px}
.head-actions{display:flex;align-items:center;gap:5px}.theme-open,.admin-link{color:#cbd5e1!important;border-color:#334155!important}
.main-nav{grid-template-columns:repeat(4,minmax(0,1fr))!important;background:#0b1220!important;border-top:1px solid #263550!important;height:calc(74px + env(safe-area-inset-bottom))!important}
.main-nav button{color:#94a3b8!important;min-height:54px!important;font-size:11px!important}.main-nav button[aria-current="page"]{color:#60a5fa!important;background:#1a263e!important}
.route,.view,.content{color:#f8fafc}.page-heading{color:#fff!important;font-size:23px!important}.page-desc,.lead,.subtle,.hint,.level-note,.lesson-meta,.history-a,.glossary-term dd{color:#94a3b8!important}
.eyebrow,.card-label{color:#60a5fa!important}.section-card,.panel,.answer-card,.history-card,.qa-panel,.qa-library-card,.lesson-item,.welcome,.empty{background:#131c2e!important;border:1px solid #2a3a5a!important;color:#f8fafc!important;border-radius:16px!important;box-shadow:0 6px 20px #0002!important}
.welcome{background:linear-gradient(135deg,#131c2e,#1a263e)!important}.welcome h1{color:#fff!important}.small-title,.card-main,.lesson-detail,.qa-library-title{color:#f8fafc!important}
.primary,.send,.bubble{background:#2563eb!important;color:#fff!important}.secondary,.chip,.thin-btn,.inline-link{background:#1a263e!important;color:#93c5fd!important;border-color:#2a3a5a!important}.chip{min-height:48px!important}
.search-field,.compose textarea,.field input,.field select,.qa-library-open{background:#0b1220!important;border:1px solid #334155!important;color:#f8fafc!important}.compose textarea::placeholder,.search-field::placeholder{color:#94a3b8!important}
.composer,.subnav{background:#0b1220!important;border-color:#2a3a5a!important}.subnav button{background:#131c2e!important;color:#94a3b8!important}.subnav button[aria-selected="true"]{background:#1d3e80!important;color:#fff!important}
.notice,.alert{background:#382a13!important;color:#fbbf24!important;border-color:#8a651f!important}.ok-notice{background:#103a2e!important;color:#34d399!important}
.segmented{background:#1a263e!important}.segmented button{color:#94a3b8!important}.segmented button.on{background:#2563eb!important;color:#fff!important}.choices button,.quiz-choice,.qa-match{background:#1a263e!important;color:#f8fafc!important;border-color:#334155!important}.quiz-choice.selected,.choices button.chosen{background:#1e40af!important;color:#fff!important}
.privacy-notice,.hint,.qa-library-rule{background:#1a263e!important;color:#cbd5e1!important;border-color:#334155!important}.footer{color:#64748b!important;border-color:#263550!important}
button,input,textarea,select{min-height:48px}button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid #60a5fa!important;outline-offset:2px}
#questionRoute .composer{bottom:calc(74px + env(safe-area-inset-bottom))!important}
@media(max-width:420px){.content{padding:18px 16px 24px!important}.section-card,.panel{padding:16px!important}.status{font-size:10px!important;padding:5px!important}.headrow{gap:7px!important}.brand{font-size:15px!important}.gloss-quick{padding:6px!important;font-size:10px!important}}
