/* v0.6 — Attendance Assistant-inspired professional blue theme */
body[data-theme="dark"]{
 --bg:#0b1221;--panel:#151f32;--edge:#2b3a52;--text:#eef4ff;--muted:#a3b2c9;--accent:#0e55f1;--gold:#83afff;
 --panel-inner:#101a2b;--panel-raised:#1a2941;--bar-track:#293a56;--button-text:#fff;--shadow:0 8px 24px #02081638;
 background:radial-gradient(ellipse at 30% 0%,#162746,#0b1221 65%);color:var(--text)
}
body[data-theme="light"]{
 --bg:#f3f6fb;--panel:#ffffff;--edge:#dce4f0;--text:#18253a;--muted:#60718a;--accent:#0e55f1;--gold:#0c53f6;
 --panel-inner:#f5f8fd;--panel-raised:#eaf1ff;--bar-track:#e3eaf5;--button-text:#fff;--shadow:0 6px 20px #253e6510;
 background:#f3f6fb;color:var(--text)
}
body{font-family:Inter,"Segoe UI",Poppins,system-ui,sans-serif;transition:background-color .18s,color .18s}
body section,body .stat,body .upgrade,body .skill,body .ascension-stats>div,body .talent-dialog,body .talent-map-shell{border-color:var(--edge);box-shadow:var(--shadow)}
body section,body .stat,body .talent-dialog{background:var(--panel);border-radius:12px}
body .upgrade,body .skill,body .ascension-stats>div{background:var(--panel-inner);border:1px solid var(--edge);border-radius:9px}
body .upgrade-name strong,body .skill strong,body .name,body h1,body h2,body h3{color:var(--text)}
body .stat strong,body .upgrade-total,body .upgrade-bonus,body .skill span{color:var(--gold)}
body .eyebrow{color:var(--accent)}
body .muted,body small,body .details,body .arena-caption,body .message{color:var(--muted)}
body button{background:var(--accent);color:var(--button-text);border:1px solid transparent;border-radius:8px;transition:background-color .15s,filter .15s,transform .15s}
body button:hover:not(:disabled){filter:brightness(1.13)}
body button:focus-visible{outline:2px solid #78a9ff;outline-offset:2px}
body button:disabled{opacity:.45}
body .bar{background:var(--bar-track)}
body #heroBar{background:#28b38a}
body #enemyBar{background:#ef697b}
body #xpBar{background:#598cff}
body .arena{background:#0e1728;border-color:var(--edge);border-radius:9px}
body .upgrade-total{border-color:var(--edge);background:var(--panel-raised);border-radius:8px}
body .talent-dialog-head,body .talent-dialog-foot,body .talent-map-toolbar{background:var(--panel);color:var(--text);border-color:var(--edge)}
body .talent-grid{background-color:var(--panel-inner)}
body .talent-map-hint{color:var(--muted)}
body .talent-map-toolbar button,body #closeTalents{background:var(--panel-raised);color:var(--text);border:1px solid var(--edge)}
body .talent-backdrop{background:#050b18d9}
body[data-theme="light"] .talent-backdrop{background:#172943a6}
body[data-theme="light"] .radial-world{background-color:#f4f7fc}
body[data-theme="light"] .radial-hub{background:#e8f0ff;color:#1d3761;border-color:#6c95d8}
body[data-theme="light"] .radial-label{text-shadow:none}
body[data-theme="light"] .radial-node .radial-icon{color:#fff}
.header-actions{display:flex;align-items:center;gap:10px;min-width:0}
.theme-toggle{width:36px;height:36px;min-width:36px;padding:0;display:grid;place-items:center;font-size:18px;line-height:1;background:var(--panel-raised);color:var(--text);border:1px solid var(--edge);border-radius:10px}
.theme-toggle:hover{background:var(--panel-inner)}
@media(max-width:620px){.header-actions{width:100%;justify-content:space-between}.theme-toggle{order:2}}

/* v0.6 Theme Complete — consistent tokens for every interface surface */
body[data-theme="dark"]{
 --surface:#151f32;--surface-subtle:#101a2b;--surface-hover:#20314d;
 --surface-overlay:#0d1728;--border-soft:#30415b;--primary:#397bfa;
 --primary-hover:#5b95ff;--primary-soft:#1b355f;--on-primary:#fff;
 --text-secondary:#a3b2c9;--text-heading:#f0f5ff;
 --danger:#e66b83;--danger-soft:#3d2435;--success:#39c69c;
 --field:#101b2c;--focus:#83b4ff;--map-bg:#0b1425;--tooltip:#162238;
 --chip:#20314d;--line:#425677;--scrollbar:#435777;
}
body[data-theme="light"]{
 --surface:#fff;--surface-subtle:#f5f8fd;--surface-hover:#eaf1ff;
 --surface-overlay:#f0f5fd;--border-soft:#dce4f0;--primary:#0e55f1;
 --primary-hover:#1647c5;--primary-soft:#e6efff;--on-primary:#fff;
 --text-secondary:#60718a;--text-heading:#18253a;
 --danger:#c63e5b;--danger-soft:#fff0f3;--success:#07896b;
 --field:#f5f8fd;--focus:#2365dc;--map-bg:#edf3fc;--tooltip:#fff;
 --chip:#eaf1ff;--line:#b6c8e6;--scrollbar:#c2d0e5;
}
body{accent-color:var(--primary);color:var(--text);scrollbar-color:var(--scrollbar) transparent}
body section,body .stat,body .talent-dialog{background:var(--surface);border:1px solid var(--border-soft);box-shadow:var(--shadow)}
body .ascension-panel{background:var(--surface);border-color:var(--border-soft)}
body .upgrade,body .skill,body .ascension-stats>div{background:var(--surface-subtle);border-color:var(--border-soft);box-shadow:none}
body .upgrade-total{background:var(--chip);border:1px solid var(--border-soft);color:var(--primary);font-weight:700}
body .stat strong,body .ascension-stats strong,body .upgrade-bonus,body .skill span{color:var(--primary)}
body .ascension-panel h3{color:var(--text-heading)}
body .ascension-panel h3 small,body .ascension-stats small,body .skill small,body .upgrade small,body .upgrade-name span,body .details{color:var(--text-secondary)}
body .upgrade-name span{font-weight:700}
body button,body .skill button,body .upgrade button{background:var(--primary);border:1px solid var(--primary);color:var(--on-primary);box-shadow:none}
body button:hover:not(:disabled){background:var(--primary-hover);border-color:var(--primary-hover);filter:none}
body button:active:not(:disabled){transform:translateY(1px)}
body button:disabled{background:var(--surface-hover);color:var(--text-secondary);border:1px solid var(--border-soft);opacity:.65;cursor:not-allowed}
body button:focus-visible,body a:focus-visible{outline:2px solid var(--focus);outline-offset:3px}
body #reset{background:var(--danger-soft);color:var(--danger);border-color:color-mix(in srgb,var(--danger) 30%,var(--border-soft))}
body #reset:hover:not(:disabled){background:color-mix(in srgb,var(--danger) 14%,var(--danger-soft));border-color:var(--danger)}
body #toggle,body #skillsToggle{background:var(--primary-soft);color:var(--primary);border-color:var(--border-soft)}
body #toggle:hover:not(:disabled),body #skillsToggle:hover:not(:disabled){background:var(--surface-hover);border-color:var(--primary)}
body .arena{background:#0e1728;border-color:var(--border-soft);box-shadow:none}
body .arena-caption{background:var(--surface-subtle);color:var(--text-secondary)}
body .message{color:var(--text-secondary)}
body .bar{background:var(--bar-track);border-radius:99px}
body .bar .fill{border-radius:99px}
body #heroBar{background:var(--success)}
body #enemyBar{background:var(--danger)}
body #xpBar{background:var(--primary)}
body .talent-modal{color:var(--text)}
body .talent-dialog{background:var(--surface);border-color:var(--border-soft);box-shadow:0 28px 90px #0006}
body .talent-dialog-head,body .talent-dialog-foot{background:var(--surface);border-color:var(--border-soft);color:var(--text-secondary)}
body .talent-dialog-head h2{color:var(--text-heading)}
body .talent-map-shell{background:var(--map-bg);border:0;box-shadow:none}
body .talent-map-toolbar{background:var(--surface-subtle);border-color:var(--border-soft)}
body .talent-map-toolbar button,body #closeTalents{background:var(--primary-soft);color:var(--primary);border-color:var(--border-soft)}
body .talent-map-toolbar button:hover:not(:disabled),body #closeTalents:hover:not(:disabled){background:var(--surface-hover);border-color:var(--primary)}
body .talent-dialog .talent-grid{background:var(--map-bg);border:0}
body .radial-world{background-color:transparent;background-image:repeating-radial-gradient(circle at 50% 50%,transparent 0 124px,color-mix(in srgb,var(--line) 14%,transparent) 125px 126px)}
body .radial-hub{background:var(--surface);border:1px solid var(--border-soft);color:var(--text-heading);box-shadow:0 3px 12px #0003}
body .radial-label{background:var(--surface);border:1px solid var(--border-soft);color:var(--lineage-color,var(--primary));text-shadow:none;box-shadow:0 2px 8px #0002}
body .radial-tip{background:var(--tooltip);border:1px solid var(--border-soft);border-top:3px solid var(--lineage-color,var(--primary));color:var(--text);box-shadow:0 12px 30px #0005}
body .radial-tip strong{color:var(--text-heading)}
body .radial-tip span{color:var(--text)}
body .radial-tip small{color:var(--text-secondary)}
body .radial-icon{color:#fff}
body .radial-node.locked .radial-icon{opacity:.5}
body .radial-node.available .radial-icon{opacity:1}
body .radial-node.learned .radial-icon{opacity:1}
body .radial-icon:focus-visible{outline:2px solid var(--focus);outline-offset:3px}
body .radial-edge{opacity:.56}
body .radial-edge.lit{opacity:1}
body .theme-toggle{background:var(--primary-soft);color:var(--primary);border-color:var(--border-soft)}
body .theme-toggle:hover{background:var(--surface-hover)}
body .talent-map-hint{color:var(--text-secondary)}
body footer{color:var(--text-secondary)}
@media(max-width:720px){
 body .talent-dialog-head{gap:8px}
 body .talent-dialog-head h2{font-size:18px}
 body .talent-dialog-actions{flex-shrink:0}
 body .talent-map-toolbar{gap:5px}
 body .talent-map-toolbar button{min-width:32px}
}
@media(prefers-reduced-motion:reduce){
 body button,body .fill,body{transition:none}
}

