/* Peds Prism calm study theme (loaded last).
   One accent (indigo, --pri) + neutral greys. Green / red / amber ONLY for correct / wrong / warning.
   Tokens live at the top of style.css. */

/* 1. Per-topic / per-mode / per-figure colours collapse to the single accent (data still carries a colour). */
[style*="--c"]{--c:var(--pri)!important}
.updlink{--c:var(--pri)}

/* 2. Base */
body{background-image:none}
a{color:var(--pri-tx)}html[data-theme=light] a{color:var(--pri-tx)}
button,select,summary,a,label{-webkit-tap-highlight-color:color-mix(in srgb,var(--pri) 18%,transparent)}
:focus-visible{outline:3px solid var(--pri-tx);outline-offset:2px}
body{font-size:16px;line-height:1.55}
p,li{line-height:1.55}
.muted{color:var(--mu);font-size:14px}
.card{box-shadow:none;border-radius:var(--r)}
input:focus,textarea:focus,select:focus{border-color:var(--pri);box-shadow:0 0 0 3px color-mix(in srgb,var(--pri) 22%,transparent)}
input[type=range],label.ck input,.wk input{accent-color:var(--pri)}

/* 3. Header / nav */
header{background:color-mix(in srgb,var(--bg) 92%,transparent);box-shadow:none}
header::after{display:none}
.logo svg{filter:none}
.wm b{background:none;-webkit-background-clip:border-box;background-clip:border-box;color:var(--tx)}
nav{background:var(--s1);box-shadow:none}
nav::before{display:none}
nav button{transition:color .15s,background .15s}
nav button.on{color:var(--pri-tx)}
nav button.on svg{transform:none;stroke:currentColor}
nav button.on .nl{background:none;-webkit-background-clip:border-box;background-clip:border-box;color:var(--pri-tx)}
nav button.on::before{background:var(--pri)}
@media (min-width:1024px){nav button.on{background:var(--pri-soft);box-shadow:none}}

/* 4. Buttons, chips, controls */
.btn,.chip.on,#modes .seg.on,.stab.on,.u,.tcav,#hbtn.hrun,.fbo input:checked+span,.tcsay.on,.pc.main,#toast{box-shadow:none!important;filter:none}
.btn{background:var(--pri);color:#fff;border-radius:12px}
.btn:hover{filter:none;background:color-mix(in srgb,var(--pri) 88%,#000)}
.btn.ghost{background:var(--s1);color:var(--tx);border:1px solid var(--bd)}
.btn.ghost:hover{background:var(--s2)}
.btn.teal,.btn.amber{background:var(--pri);color:#fff}
.mini:hover,.opt:hover{border-color:var(--pri)}
.mini.vid{background:var(--s2);border-color:var(--bd)}
.chip.on,.stab.on{background:var(--pri);color:#fff;border-color:var(--pri)}
#modes.segs{box-shadow:none;border-radius:16px}
#modes .seg.on{background:var(--pri);color:#fff;transform:none}
.seg.cached::after{background:var(--pri)}
.weak{background:var(--warn-bg);color:var(--warn);letter-spacing:.05em}
.wnbadge{background:var(--pri);color:#fff}
.wndate{background:var(--pri-soft);color:var(--pri-tx)}
.wn{background:var(--s1);border-color:var(--bd)}
.wnrow:hover{transform:none;border-color:var(--pri)}
.upd.flash{box-shadow:0 0 0 2px var(--pri-line)}

/* 5. Home */
.hero{background:var(--s1);color:var(--tx);border:1px solid var(--bd);box-shadow:none;border-radius:20px}
.hero::after{display:none}
.hero h2{font-size:22px}
.hero p{opacity:1;color:var(--mu)}
.cd b{color:var(--pri-tx)}.cd span{opacity:1;color:var(--mu)}
.hero .btn{background:var(--pri);color:#fff;box-shadow:none}
.hero .btn.ghost{background:var(--s2);color:var(--tx);border-color:var(--bd)}
.qs{background:var(--s1)!important;color:var(--tx);border:1px solid var(--bd);box-shadow:none;border-radius:16px}
.qs small{color:var(--mu);opacity:1}
.qs .i{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;font-size:19px;background:var(--pri-soft)}
.qs:hover{border-color:var(--pri)}
.shero,.tutorhead,.qhead{background:var(--s1);border:1px solid var(--bd)}
.cdbig{background:var(--s1);color:var(--tx);border:1px solid var(--bd)}
.cdbig b{color:var(--pri-tx)}
.wk.now{box-shadow:0 0 0 2px var(--pri)}
.skel i{background:linear-gradient(90deg,var(--s2),var(--s3),var(--s2));background-size:200% 100%}

/* 6. Tutor / chat bubbles */
.u{background:var(--pri);color:#fff;box-shadow:none}
.a{border-top:1px solid var(--bd);border-left:3px solid var(--pri);box-shadow:none}
.a .tag{background:var(--pri-soft);color:var(--pri-tx)}
.typing::before{border-top-color:var(--pri)}
.tcm.me .tcb,.tcav{background:var(--pri);color:#fff;box-shadow:none}
.tcsay.on{background:var(--pri);color:#fff}
.ac-bubble.me{background:var(--pri);color:#fff}
.ava{filter:none}
.dot.ok{fill:var(--ok)}

/* 7. Practice / semantic colours */
.opt.ok,.opt.right{background:var(--ok-bg);border-color:var(--ok)}
.opt.no{background:var(--no-bg);border-color:var(--no)}
.qz.ok{border-left-color:var(--ok)}
.verdict.ok,.fnode.ok{background:var(--ok-bg);border-left-color:var(--ok)}
.verdict.act,.fnode.act{background:var(--pri-soft);border-left-color:var(--pri)}

/* 8. Progress / bars / chips */
.bar i,.tbar i,.dots i.done,.dots i.cur,.dots i.on{background:var(--pri)}
.tico,.lic{background:var(--pri-soft);border:1px solid var(--pri-line)}
details.tcard{border-left:4px solid var(--pri-line)}
.ring circle:nth-of-type(2){stroke:var(--pri)}
.snum{color:var(--pri-tx)}
.sb li.hi{background:var(--pri-soft)}
tr.hl td{background:var(--pri-soft)}
.diagram .node rect,.diagram .node polygon{fill:#f3f4f8!important;stroke:#7a7f93!important}
.tick.on{background:var(--pri-soft);border-color:var(--pri)}

/* 9. Account / hours / feedback */
.ac-grad{background:none;-webkit-background-clip:border-box;background-clip:border-box;color:var(--pri-tx)}
.ac-mock:before{display:none}
.ac-chip{background:var(--pri-soft);color:var(--pri-tx)}
.ac-banner{background:var(--pri)}
.ac-sw a{color:var(--pri-tx)}
.hcard.htimer,.fbintro{background:var(--s1);color:var(--tx);border:1px solid var(--bd);box-shadow:none}
.htimer .hk,.htimer .hsm,.fbintro p,.fbintro ul{color:var(--mu)}
.htimer .hin{background:var(--s1);color:var(--tx);border:1px solid var(--bd)}
.htimer .btn.hb{background:var(--pri);color:#fff;box-shadow:none}
.htimer .btn.ghost.hb{background:var(--s1);color:var(--tx);border:1px solid var(--bd)}
.hli{background:var(--pri-soft)}
.hlink{background:var(--s1);border-color:var(--bd)}
.hbar{background:color-mix(in srgb,var(--pri) 42%,var(--s1))}.hbar.ok{background:var(--pri)}
.hsw{background:color-mix(in srgb,var(--pri) 42%,var(--s1))}.hsw.ok{background:var(--pri)}
.fbo input:checked+span{background:var(--pri);color:#fff}
.drop{border-color:var(--pri-line);background:var(--pri-soft)}

/* 10. Motion: quiet by default, none when reduced */
.hot circle{animation:none}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.ac-feat .ic{background:var(--pri-soft)}
.fbintro{background:var(--s1)!important;color:var(--tx)!important;border:1px solid var(--bd);box-shadow:none!important}.fbintro h2{color:var(--tx)}.fbintro p,.fbintro ul{color:var(--mu)!important}

/* copyright footer */
.crt{margin:22px 4px 0;font-size:12px;line-height:1.5;color:var(--mu);text-align:center;opacity:.85;overflow-wrap:break-word}
