:root{
  --adhd-night:#08091a;--adhd-panel:#15172f;--adhd-panel2:#20244b;
  --adhd-text:#f9fbff;--adhd-muted:#d9e1f3;--adhd-line:rgba(255,255,255,.22);
  --adhd-cyan:#62e6f2;--adhd-blue:#67a9ff;--adhd-purple:#c5a7ff;
  --adhd-pink:#ff83b7;--adhd-red:#ff7185;--adhd-gold:#ffdc75;
  --adhd-green:#67ebb7;--adhd-orange:#ffad6f;
}

body.adhd-upgraded{
  background-image:
    radial-gradient(circle at 8% 5%,rgba(104,64,201,.35),transparent 34rem),
    radial-gradient(circle at 92% 12%,rgba(0,144,167,.24),transparent 35rem),
    linear-gradient(180deg,#090a1b,#121630 46%,#090b1b)!important;
  background-color:var(--adhd-night)!important;background-attachment:fixed!important;
  color:var(--adhd-text);font-size:17px;line-height:1.65;
}
body.adhd-upgraded::before{opacity:.10!important;filter:saturate(.55) contrast(1.05)}
body.adhd-upgraded h1{font-family:"Arial Rounded MT Bold","Trebuchet MS",system-ui,sans-serif!important;
  letter-spacing:-.035em;line-height:1.05}
body.adhd-upgraded h2,body.adhd-upgraded h3,
body.adhd-upgraded summary,body.adhd-upgraded button{
  font-family:"Trebuchet MS","Segoe UI",system-ui,sans-serif;
}
body.adhd-upgraded :focus-visible{outline:3px solid var(--adhd-cyan)!important;outline-offset:3px}

/* Shared illustrated guide */
.adhd-guide{position:relative;display:grid;grid-template-columns:minmax(280px,1.05fr) minmax(300px,.95fr);
  margin:20px auto 24px;max-width:1140px;border:1px solid rgba(134,203,255,.34);border-radius:24px;
  overflow:hidden;background:linear-gradient(145deg,rgba(18,22,58,.97),rgba(14,43,59,.95));
  box-shadow:0 22px 62px rgba(0,0,0,.42);isolation:isolate}
.adhd-guide-media{min-height:300px;background:#080a1d}
.adhd-guide img{display:block;width:100%;height:100%;min-height:300px;object-fit:cover}
.adhd-guide-copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(22px,4vw,42px)}
.adhd-kicker{margin:0 0 8px;color:var(--adhd-cyan);font:900 .78rem/1.2 "Trebuchet MS",sans-serif;
  letter-spacing:.16em;text-transform:uppercase}
.adhd-guide h2{margin:0;color:var(--adhd-gold);font-size:clamp(1.55rem,3.2vw,2.5rem);line-height:1.05}
.adhd-guide p{margin:10px 0 0;color:var(--adhd-muted);font-size:1rem}
.adhd-guide-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:17px}
.adhd-guide-stat{padding:11px;border-radius:13px;background:rgba(255,255,255,.075);border:1px solid rgba(255,255,255,.13)}
.adhd-guide-stat b{display:block;color:#fff;font-size:1.15rem}.adhd-guide-stat span{display:block;color:var(--adhd-muted);font-size:.82rem;line-height:1.25}
.adhd-mini-path{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:17px;counter-reset:path}
.adhd-path-step{position:relative;padding:11px 9px;border-radius:13px;background:rgba(255,255,255,.075);border-top:4px solid var(--adhd-blue);min-height:84px}
.adhd-path-step:nth-child(2){border-color:var(--adhd-cyan)}.adhd-path-step:nth-child(3){border-color:var(--adhd-green)}.adhd-path-step:nth-child(4){border-color:var(--adhd-pink)}
.adhd-path-step b{display:block;color:#fff;font-size:.82rem;text-transform:uppercase;letter-spacing:.06em}.adhd-path-step span{display:block;color:var(--adhd-muted);font-size:.82rem;line-height:1.3;margin-top:4px}

/* Hub home atlas */
.adhd-index-atlas{max-width:1110px;margin:20px auto;padding:clamp(19px,4vw,32px);border-radius:24px;
  background:linear-gradient(145deg,rgba(24,26,67,.97),rgba(14,52,67,.95));border:1px solid rgba(123,211,255,.32)}
.adhd-index-atlas h2{font-size:clamp(1.45rem,3vw,2.2rem);margin:0;color:#fff}.adhd-index-atlas>p{color:var(--adhd-muted);margin:6px 0 17px}
.adhd-route{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.adhd-route-card{padding:15px;border-radius:16px;background:rgba(4,8,25,.52);border:1px solid rgba(255,255,255,.15);min-height:128px;color:#fff}
.adhd-route-card .num{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:var(--adhd-gold);color:#211500;font-weight:950}
.adhd-route-card:nth-child(2) .num{background:var(--adhd-cyan)}.adhd-route-card:nth-child(3) .num{background:var(--adhd-green)}.adhd-route-card:nth-child(4) .num{background:var(--adhd-pink)}
.adhd-route-card b{display:block;margin:9px 0 3px;color:#fff;font-size:.9rem;text-transform:uppercase;letter-spacing:.05em}
.adhd-route-card span{display:block;color:var(--adhd-muted);font-size:.84rem;line-height:1.4}
body[data-adhd-family="index"] .tile{border-radius:20px!important;padding:22px!important;min-height:210px;line-height:1.55!important}
body[data-adhd-family="index"] .tile .name{font-size:1.35rem!important;line-height:1.15!important}
body[data-adhd-family="index"] .tile .desc{font-size:.98rem!important;line-height:1.55!important}

/* Module and exam cards: keep the original card as the searchable outer element. */
body[data-adhd-family="module"] .card[data-t],body[data-adhd-family="exam"] .card[data-t]{
  padding:0!important;border-radius:18px!important;overflow:hidden;border-width:1px!important;
  box-shadow:0 10px 28px rgba(0,0,0,.28)!important;background:rgba(18,22,52,.95)!important;
  color:#f2eeff!important;
}
/* This repaints the card dark navy, but a jewel card carries dark ink chosen for a
   BRIGHT panel — topaz ink on navy measured 1.02:1. Relight the text that inherited it. */
body[data-adhd-family="module"] .card[data-t] h3,body[data-adhd-family="exam"] .card[data-t] h3,
body[data-adhd-family="module"] .card[data-t] h4,body[data-adhd-family="exam"] .card[data-t] h4,
body[data-adhd-family="module"] .card[data-t] p,body[data-adhd-family="exam"] .card[data-t] p,
body[data-adhd-family="module"] .card[data-t] li,body[data-adhd-family="exam"] .card[data-t] li,
body[data-adhd-family="module"] .card[data-t] td,body[data-adhd-family="exam"] .card[data-t] td,
body[data-adhd-family="module"] .card[data-t] th,body[data-adhd-family="exam"] .card[data-t] th{
  color:#f2eeff!important}
.adhd-card-toggle{display:grid!important;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:11px;
  width:100%;min-height:66px;padding:12px 14px!important;border:0!important;border-radius:0!important;
  background:linear-gradient(100deg,rgba(52,64,137,.9),rgba(80,46,127,.9))!important;color:#fff!important;text-align:left;cursor:pointer}
.adhd-card-toggle:hover{filter:brightness(1.12)}
.adhd-card-num{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:var(--adhd-gold);color:#241600;font-weight:950;font-size:.82rem}
.adhd-card-title{font-weight:900;font-size:1rem;line-height:1.3}.adhd-card-cue{display:block;color:var(--adhd-muted);font-size:.82rem;font-weight:600;margin-top:3px}
.adhd-card-icon{font-size:1.25rem;color:var(--adhd-muted)}
.adhd-card-body{padding:15px 16px 17px;border-top:1px solid rgba(255,255,255,.15)}
.adhd-card-body[hidden]{display:none!important}
.adhd-card-body>.tag:first-child{margin-top:0}.adhd-card-body>.ans,.adhd-card-body>.hook,.adhd-card-body>.lab{
  border-radius:12px!important;padding:10px 12px!important;margin-block:8px!important}
.adhd-card-body>ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;list-style:none;padding:0!important;margin:10px 0!important;counter-reset:fact}
.adhd-card-body>ul>li{position:relative;margin:0!important;padding:12px 12px 12px 40px!important;border-radius:13px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);counter-increment:fact}
.adhd-card-body>ul>li::before{content:counter(fact);position:absolute;left:10px;top:11px;display:grid;place-items:center;width:23px;height:23px;border-radius:8px;background:rgba(255,255,255,.15);color:var(--adhd-gold);font-size:.82rem;font-weight:950}
.adhd-card-body .tblwrap{margin-block:12px!important;border-radius:14px!important}
.adhd-card-body b,.adhd-card-body strong{color:#fff}.adhd-card-body mark{background:var(--adhd-gold);color:#231600}

/* Existing course/resource chunks receive clearer rhythm without extra nesting. */
body[data-adhd-family="course"] details.chunk,
body[data-adhd-family="course"] details.altchunk,
body[data-adhd-family="resource"] details.fold,
body[data-adhd-family="resource"] details.wk,
body[data-adhd-family="resource"] details{
  margin-block:10px!important;border:1px solid rgba(164,203,255,.3)!important;border-radius:17px!important;
  overflow:hidden;background:rgba(13,18,48,.9)!important;box-shadow:0 7px 20px rgba(0,0,0,.22);color:#fff}
body[data-adhd-family="course"] details>summary,
body[data-adhd-family="resource"] details>summary{
  min-height:58px;padding:13px 15px!important;font-weight:900!important;line-height:1.3!important;background:linear-gradient(100deg,rgba(46,63,137,.82),rgba(67,44,113,.82))!important;color:#fff!important}
body[data-adhd-family="course"] details[open]>summary,
body[data-adhd-family="resource"] details[open]>summary{background:linear-gradient(100deg,rgba(26,105,127,.92),rgba(66,52,142,.9))!important}
body[data-adhd-family="course"] details>summary::marker,
body[data-adhd-family="resource"] details>summary::marker{color:var(--adhd-gold)}
body[data-adhd-family="course"] details[open] li,
body[data-adhd-family="resource"] details[open] .f{line-height:1.6}
body[data-adhd-family="course"] .mcard,body[data-adhd-family="course"] .chunk,
body[data-adhd-family="course"] .altchunk{scroll-margin-top:130px}

/* Quiz setup roadmap; the original renderers stay untouched. */
.adhd-quiz-roadmap{max-width:1080px;margin:14px auto 22px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
.adhd-quiz-roadmap div{padding:13px;border-radius:15px;background:rgba(16,22,56,.93);border:1px solid rgba(255,255,255,.16);border-top:4px solid var(--adhd-blue);color:#fff}
.adhd-quiz-roadmap div:nth-child(2){border-color:var(--adhd-cyan)}.adhd-quiz-roadmap div:nth-child(3){border-color:var(--adhd-green)}.adhd-quiz-roadmap div:nth-child(4){border-color:var(--adhd-pink)}
.adhd-quiz-roadmap b{display:block;color:#fff;font-size:.82rem;text-transform:uppercase;letter-spacing:.06em}.adhd-quiz-roadmap span{display:block;color:var(--adhd-muted);font-size:.82rem;line-height:1.35;margin-top:4px}
body[data-adhd-family="quiz"] .filters,body[data-adhd-family="quiz"] .startbar,
body[data-adhd-family="quiz"] .qwrap,body[data-adhd-family="quiz"] .question,
body[data-adhd-family="quiz"] .qcard{border-radius:18px!important;line-height:1.6!important}
/* 43px was a pixel under the 44px tap target this file exists to guarantee, and
   because it is written with a body attribute it outranked every page rule that
   tried to fix it. 48px on the quiz, where she taps seventy filter buttons. */
body[data-adhd-family="quiz"] button,body[data-adhd-family="quiz"] .fbtn{min-height:48px}

/* Podcast/resource scan cards */
body[data-adhd-family="podcast"] .ep,body[data-adhd-family="podcast"] .pod{
  border-radius:17px!important;padding:16px!important;border:1px solid rgba(255,255,255,.17)!important;
  background:linear-gradient(145deg,rgba(30,39,91,.94),rgba(38,68,81,.92))!important;line-height:1.55!important}
body[data-adhd-family="podcast"] .topic{padding:17px!important;border-radius:19px!important;background:rgba(15,20,48,.88)!important;color:#fff}
body[data-adhd-family="podcast"] .play,body[data-adhd-family="podcast"] .acts a{min-height:46px;display:inline-flex!important;align-items:center}

/* Compact floating study tools */
#adhdStudyTools{position:fixed;right:12px;bottom:12px;z-index:2147482000;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px;
  max-width:min(620px,calc(100vw - 24px));padding:8px;border-radius:17px;background:rgba(7,10,28,.94);border:1px solid rgba(255,255,255,.25);box-shadow:0 12px 36px rgba(0,0,0,.44);color:#fff}
#adhdStudyTools button{min-height:44px;padding:9px 12px;border:1px solid rgba(255,255,255,.2);border-radius:12px;background:linear-gradient(135deg,#4d4caa,#7c3d91);color:#fff;font-size:.82rem;font-weight:900;cursor:pointer}
#adhdStudyTools button[aria-pressed="true"]{background:linear-gradient(135deg,#3fe0ad,#5aa5ff);color:#061421}
#adhdChunkCount{align-self:center;color:var(--adhd-muted);font-size:.82rem;padding-inline:5px;white-space:nowrap}
body.adhd-roomy{font-size:19px!important;line-height:1.78!important}
body.adhd-roomy .adhd-card-body>ul{grid-template-columns:1fr}body.adhd-roomy .adhd-card-body>ul>li{padding-block:16px!important}
body.adhd-roomy .adhd-guide p,body.adhd-roomy details,body.adhd-roomy .card{line-height:1.75!important}
body.adhd-focus-on .adhd-focus-target[open],body.adhd-focus-on .card.adhd-focus-target.adhd-open{outline:3px solid var(--adhd-gold)!important;outline-offset:3px}

@media(max-width:900px){
  .adhd-guide{grid-template-columns:1fr}.adhd-guide-media{min-height:0}.adhd-guide img{max-height:none}
  .adhd-guide-stats,.adhd-mini-path,.adhd-route{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:620px){
  body.adhd-upgraded{font-size:16px}.adhd-guide-stats,.adhd-mini-path,.adhd-route,.adhd-quiz-roadmap{grid-template-columns:1fr}
  .adhd-card-body>ul{grid-template-columns:1fr}.adhd-guide{margin-inline:8px}.adhd-guide-copy{padding:18px}
  #adhdStudyTools{left:8px;right:8px;bottom:8px;justify-content:center}#adhdStudyTools button{flex:1 1 115px}
}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media print{#adhdStudyTools,.adhd-guide-media{display:none!important}.adhd-guide{display:block;box-shadow:none}.adhd-card-body[hidden]{display:block!important}}

/* Compact - the way down from the default, for a reader who wants more on the
   screen. Everything stays legible; nothing drops below 15px. The measure
   widens a little because narrower glyphs fit more characters comfortably. */
body.adhd-compact{font-size:15.5px}
body.adhd-compact .card p,body.adhd-compact .card li,
body.adhd-compact .mcard p,body.adhd-compact .mcard li,
body.adhd-compact .chunk p,body.adhd-compact .chunk li,
body.adhd-compact .altrow li,body.adhd-compact .srcfill li,
body.adhd-compact .mmcol li,body.adhd-compact .notesum li,
body.adhd-compact .vcard p,body.adhd-compact .vcard li{
  font-size:1rem;line-height:1.55;max-width:84ch}
body.adhd-compact .card,body.adhd-compact .mcard,body.adhd-compact .vcard{
  padding:12px 14px;margin-bottom:9px}
body.adhd-compact li{margin-bottom:4px}
body.adhd-compact section>.inner{padding:13px 13px 15px}
body.adhd-compact .focusbar{padding:9px 11px;gap:6px}

/* The root size is what the rem-based sizes across the site are measured from,
   so scaling it is what actually moves the whole page together. */
html.adhd-roomy{font-size:18.5px}
html.adhd-compact{font-size:15.5px}   /* about what a normal website uses */

/* ATI Active Learning Templates: a collapsed chunk still names the rows it holds,
   so nothing in the template is invisible from the outside. */
.chunk.altchunk > summary{flex-wrap:wrap}
.chunk.altchunk > summary .ckrows{
  flex:1 1 100%;
  font-size:.87rem;
  font-weight:600;
  line-height:1.5;
  color:#dfe3ff;
  letter-spacing:.01em;
}
.chunk.altchunk[open] > summary .ckrows{display:none}
@media (max-width:640px){
  .chunk.altchunk > summary .ckrows{font-size:.92rem}
}

/* Inline links inside prose are one text line tall (about 23px), which is a
   hard tap on a phone. Vertical padding on an inline element does not change
   the line box, so this widens the hit area to 44px without moving any text. */
:is(p,li,dd,td,figcaption,small,div.note,div.mn) > a:not([class]){padding-top:.8rem;padding-bottom:.8rem}
