
:root{
  --jewel:18,184,134; --jewel2:0,194,199; --accent:#7ee8ff;
  --ruby:255,59,107; --topaz:255,194,51; --amethyst:157,92,255; --emerald:18,184,134;
  --line:rgba(255,255,255,.30);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font:16px/1.6 'Segoe UI',system-ui,sans-serif;color:#fff;
 background-color:#0d0a1c;
 background-image:url("bg-nur258.jpg");
 background-size:cover;background-position:center;background-attachment:fixed;
 background-repeat:no-repeat}
.wrap{max-width:1080px;margin:0 auto;padding:14px 15px 90px}

header{margin:8px 0 16px;padding:20px 22px;border-radius:20px;
 background:rgba(0,0,0,.52);border:1px solid var(--line);
 box-shadow:0 10px 34px rgba(0,0,0,.45);color:#fff}
header h1{margin:0;font-size:1.9rem;line-height:1.2;text-shadow:0 2px 14px rgba(0,0,0,.8)}
header .code{display:inline-block;font-weight:900;font-size:.95rem;letter-spacing:.08em;
 text-transform:uppercase;color:var(--accent);margin:0 0 5px}
header p{margin:9px 0 0;font-size:1.02rem;color:#eee6ff}

/* Unpinned for the same reason as the module actions bar and the Menu
   launcher: magnified, a 110px sticky header holds a permanent slice of
   the screen and sits on the text as the page scrolls under it. It reads
   fine where it is written, at the top of the page. */
.bar{position:static;z-index:70;margin:0 0 14px;padding:9px 12px;border-radius:0 0 16px 16px;
 background:rgba(10,6,22,.92);
 border-bottom:1px solid var(--line);color:#fff}
.barrow{display:flex;gap:8px;align-items:center;flex-wrap:wrap;max-width:1080px;margin:0 auto}
.bar input{flex:1 1 200px;min-width:150px;min-height:44px;font-weight:600;font-size:1rem;font-family:inherit;padding:11px 14px;
 border-radius:13px;border:1px solid var(--line);background:rgba(0,0,0,.5);color:#fff}
.bar input::placeholder{color:#c9b8e8}
.btn{background:rgba(255,255,255,.15);border:1px solid var(--line);color:#fff;
 border-radius:13px;padding:10px 14px;font-weight:800;font-size:.95rem;font-family:inherit;cursor:pointer;white-space:nowrap;
 min-height:44px;display:inline-flex;align-items:center;justify-content:center}
.btn:hover{background:rgba(255,255,255,.32)}
.count{font-weight:800;font-size:.95rem;color:var(--accent)}

.card{background:rgba(var(--jewel),.60);border:1px solid rgba(255,255,255,.30);
 border-left:5px solid rgba(255,255,255,.55);border-radius:16px;
 padding:16px 18px;margin:0 0 14px;box-shadow:0 8px 26px rgba(0,0,0,.38)}
.card.alt{background:rgba(var(--jewel2),.60)}
.card.note{background:rgba(var(--topaz),.60);color:#130e01;
 border-left-color:rgba(0,0,0,.42)}
:where(.card.note) a{color:#231a02}
.card h2{margin:0 0 6px;font-size:1.18rem}
.card p{margin:6px 0 0;font-size:.98rem}

/* ---- exam bands: the spine she asked for, exam -> module (week) ---- */
.exhead{display:flex;gap:11px;align-items:baseline;flex-wrap:wrap;
 margin:26px 0 10px;padding:12px 16px;border-radius:14px;
 background:rgba(0,0,0,.50);border:1px solid var(--line);;color:#fff}
.exhead .en{font-weight:900;font-size:1.25rem;color:var(--accent)}
.exhead .et{font-size:1rem;color:#efe6ff}
.exhead .em{margin-left:auto;font-weight:800;font-size:.95rem;color:#fff;
 background:rgba(255,255,255,.16);padding:4px 10px;border-radius:9px}

details.mod{background:rgba(var(--jewel),.58);border:1px solid rgba(255,255,255,.28);
 border-left:5px solid rgba(255,255,255,.5);border-radius:15px;
 margin:0 0 12px;box-shadow:0 7px 22px rgba(0,0,0,.34);overflow:hidden}
details.mod[open]{background:rgba(var(--jewel),.66)}
details.mod > summary{cursor:pointer;list-style:none;padding:15px 17px;
 display:flex;gap:11px;align-items:center;font-weight:800;font-size:1.08rem}
details.mod > summary::-webkit-details-marker{display:none}
.mnum{flex:0 0 auto;min-width:2.6em;text-align:center;font-weight:900;font-size:.92rem;
 padding:5px 9px;border-radius:9px;background:rgba(0,0,0,.42);color:var(--accent)}
.mttl{flex:1 1 auto;min-width:0}
.mttl .todo{display:block;font-weight:600;font-size:.9rem;color:#fffeff;margin-top:2px}
summary .chev{flex:0 0 auto;font-size:1.1rem;opacity:.85}
details.mod[open] summary .chev{transform:rotate(90deg)}
.body{padding:2px 17px 16px}

/* ---- in-text emphasis, ported from NUR 198 -------------------------- */
/* .never  an absolute rule. The wavy red underline is the 198 convention and reads
   as a warning at a glance, which is the whole point at high zoom. */
.never{text-decoration:underline wavy rgba(255,120,140,.95);text-underline-offset:4px;
 text-decoration-thickness:2px;font-weight:800;color:#fff0f3}
/* .k  a number that decides a question - dose, value, window. nowrap keeps a value
   like "15 mL/hr" from splitting across two lines at 300% zoom. */
.k{color:#ffd75e;font-weight:800;white-space:nowrap}
:where(.card.note) .k{color:#6b4a00}
/* .pri  priority and sequence cues, italic like the 198 trap lines. */
.pri{color:#8ff0d0;font-style:italic;font-weight:700;font-style:italic}
.legend{margin:0 0 14px;padding:0 15px;border-radius:13px;
 background:rgba(0,0,0,.46);border:1px solid var(--line);font-size:.95rem;line-height:1.7;color:#fff}
.legend>summary{cursor:pointer;list-style:none;padding:12px 0;font-weight:800;color:var(--accent)}
.legend>summary::-webkit-details-marker{display:none}
.legend>summary::before{content:"▸ ";display:inline-block;transition:.15s}
.legend[open]>summary::before{transform:rotate(90deg)}
.legend p{margin:0 0 8px;padding-bottom:0}
.legend p:last-child{padding-bottom:13px}

/* ---- quizzes ------------------------------------------------------- */
.qz{border:1px solid rgba(255,255,255,.28);border-radius:13px;padding:13px 15px;
 margin:0 0 12px;background:rgba(0,0,0,.34)}
.qz .qnum{display:inline-block;font-weight:900;font-size:.84rem;letter-spacing:.05em;
 text-transform:uppercase;color:var(--accent);margin:0 0 6px}
.qz .qtype{display:inline-block;margin-left:8px;font-size:.88rem;font-weight:900;
 padding:2px 8px;border-radius:8px;background:rgba(255,255,255,.18);color:#fff;
 letter-spacing:.04em}
.qz .qq{margin:0 0 10px;font-size:1rem;line-height:1.55;font-weight:700}
.qz label{display:flex;gap:10px;align-items:flex-start;padding:9px 11px;margin:0 0 7px;
 border:1px solid rgba(255,255,255,.22);border-radius:11px;cursor:pointer;
 background:rgba(255,255,255,.05);font-size:.97rem;line-height:1.5}
.qz label:hover{background:rgba(255,255,255,.13)}
.qz label input{width:20px;height:20px;flex:0 0 auto;margin-top:2px;
 accent-color:var(--accent);cursor:pointer}
.qz label span{flex:1 1 auto;min-width:0;overflow-wrap:anywhere}
.qz label.right{background:rgba(18,184,134,.34);border-color:rgba(90,235,180,.8)}
.qz label.wrong{background:rgba(255,59,107,.30);border-color:rgba(255,140,160,.85)}
.qz label.right span::after{content:" ✓";font-weight:900;color:#8ff0c8}
.qz label.wrong span::after{content:" ✗";font-weight:900;color:#ffb3c0}
.qz .qbtn{background:rgba(255,255,255,.18);border:1px solid var(--line);color:#fff;
 border-radius:12px;padding:9px 15px;font-weight:800;font-size:.95rem;font-family:inherit;cursor:pointer;
 min-height:44px;display:inline-flex;align-items:center;justify-content:center}
.qz .qbtn:hover{background:rgba(255,255,255,.34)}
.qz .qwhy{margin:11px 0 0;padding:11px 13px;border-radius:11px;
 background:rgba(255,194,51,.16);border-left:5px solid rgba(255,194,51,.9);
 font-size:.96rem;line-height:1.55}
.qz .qwhy b{color:#ffe9a8}
.qz .qmark{font-weight:900;margin-left:10px;font-size:.95rem}
.qz .qmark.ok{color:#8ff0c8}
.qz .qmark.no{color:#ffb3c0}

.qscore{font-weight:900;font-size:.95rem;color:var(--accent);margin:0 0 10px}

/* ---- mega quiz ----------------------------------------------------- */
#mega{margin:26px 0 0}
#mega .mqbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0 0 13px}
#mega select,#mega button{font-weight:800;font-size:.95rem;font-family:inherit;padding:10px 13px;border-radius:12px;
 border:1px solid var(--line);background:rgba(0,0,0,.5);color:#fff;cursor:pointer}
#mega .mqcount{font-weight:900;color:var(--accent)}

.bigbtn{display:inline-block;margin-top:10px;background:rgba(0,0,0,.46);color:#fff;
 border:1px solid rgba(255,255,255,.45);border-radius:14px;padding:13px 18px;
 font-weight:900;font-size:1.05rem;font-family:inherit;cursor:pointer}
.bigbtn:hover{background:rgba(0,0,0,.68);color:#fff}
/* ---- floating navigation, matched to the NUR 198 cluster -------------
   Small pills in a horizontal row at the TOP right, not a stack of full-width
   buttons at the bottom. She asked for these to look like 198's, and the reason
   198's work is that they shed their labels as soon as the viewport narrows - at
   300%% zoom the CSS width reads narrow, so what she sees is a row of icons the
   size of a fingertip rather than a wall of text sitting on the content. */
#navBtns{position:static;flex-wrap:wrap;margin:10px 12px 2px;z-index:2147483000;display:flex;gap:7px;
 align-items:center;touch-action:none;cursor:grab}
#navBtns.dragging{opacity:.92;cursor:grabbing}
#navBtns:focus-visible{outline:3px solid var(--accent,#ffd76a);outline-offset:3px}
#navBtns a,#navBtns button{min-height:44px;display:inline-flex;align-items:center;display:inline-flex;align-items:center;gap:6px;
 font:800 .95rem 'Segoe UI',system-ui,sans-serif;padding:9px 14px;border-radius:22px;
 text-decoration:none;cursor:pointer;border:1px solid rgba(255,255,255,.24);
 box-shadow:0 4px 14px rgba(0,0,0,.5);color:#fff;white-space:nowrap;line-height:1.3;
 background:linear-gradient(135deg,#5a2d82,#8e2d6b)}
#navBtns a:hover,#navBtns button:hover{filter:brightness(1.16)}
#navBtns .nbQuiz{background:linear-gradient(135deg,#1a4099,#1d4ed8)}
#navBtns .nbCast{background:linear-gradient(135deg,#7c2aa8,#b5179e)}
#navBtns .nbHub{background:linear-gradient(135deg,#0b6656,#0f7d6b)}
@media(max-width:1024px){
  #navBtns{top:6px;right:6px;gap:5px}
  #navBtns .nbLabel{display:none}
  #navBtns a,#navBtns button{padding:9px 12px;font-size:1.15rem;line-height:1}
}
@media print{#navBtns{display:none}}

/* ---- collapsible side menu ------------------------------------------ */
#menuBtn{background:rgba(255,255,255,.15);border:1px solid var(--line);color:#fff;
 border-radius:13px;padding:10px 14px;font-weight:900;font-size:.95rem;font-family:inherit;cursor:pointer;
 white-space:nowrap;line-height:1;min-height:44px;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box}
#menuBtn:hover{background:rgba(255,255,255,.32)}
#navBg{position:fixed;inset:0;background:rgba(0,0,0,.62);z-index:99998;opacity:0;
 pointer-events:none;transition:opacity .2s ease;color:#fff}
body.nav-open #navBg{opacity:1;pointer-events:auto}
body.nav-open #navBtns{display:none}
body.nav-open #skimBtn{display:none}
#side{position:fixed;top:0;left:0;width:min(88vw,320px);height:100dvh;max-height:100dvh;
 overflow-y:auto;z-index:99999;transform:translateX(-102%);transition:transform .22s ease;
 background:rgba(10,6,20,.97);
 border-right:1px solid var(--line);box-shadow:6px 0 30px rgba(0,0,0,.65);
 padding:16px 14px 34px;color:#fff}
body.nav-open #side{transform:translateX(0)}
#side .sbrand{font-weight:900;font-size:1.15rem;margin:2px 0 4px;display:block;
 color:var(--accent)}
#side .ssub{display:block;font-size:.92rem;color:#d8caf5;margin:0 0 14px}
#side .shead{font-size:.86rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;
 color:var(--accent);margin:18px 0 8px}
#side a.nav,#side button.nav{display:block;width:100%;text-align:left;
 background:rgba(255,255,255,.09);border:1px solid var(--line);
 border-left:4px solid rgba(255,255,255,.45);border-radius:12px;padding:12px 14px;
 margin:0 0 8px;color:#fff;text-decoration:none;font-weight:800;font-size:1rem;font-family:inherit;cursor:pointer}
#side a.nav:hover,#side button.nav:hover{background:rgba(255,255,255,.22)}
#side a.nav.on{background:rgba(255,255,255,.26);border-left-color:var(--accent)}
#side .nsub{display:block;font-weight:600;font-size:.88rem;opacity:.9;margin-top:3px;
 line-height:1.45}
#side .sclose{display:block;width:100%;min-height:44px;margin:4px 0 10px;background:rgba(255,255,255,.14);
 border:1px solid var(--line);color:#fff;border-radius:12px;padding:11px;
 font-weight:900;font-size:1rem;font-family:inherit;cursor:pointer}
#side .sclose:hover{background:rgba(255,255,255,.3)}
@media print{#side,#navBg,#menuBtn{display:none !important}}

@media print{#side,#navBg,#menuBtn{display:none !important}}

/* ---- chunking -------------------------------------------------------- */
.chunks{display:block}
details.chunk{border:1px solid rgba(255,255,255,.22);border-radius:12px;
 background:rgba(0,0,0,.75);margin:0 0 9px;overflow:hidden;color:#fff}
details.chunk[open]{background:rgba(0,0,0,.75);color:#fff}
details.chunk > summary{cursor:pointer;list-style:none;display:flex;gap:9px;
 align-items:center;flex-wrap:wrap;padding:9px 12px;font-weight:800;font-size:.98rem;
 min-height:44px}
details.chunk > summary::-webkit-details-marker{display:none}
details.chunk > summary::before{content:"▸";flex:0 0 auto;font-weight:900;
 opacity:.9;color:#ffd76a;font-size:1.05rem;line-height:1;
 transition:transform .15s ease}
details.chunk[open] > summary::before{transform:rotate(90deg)}
/* A closed chunk used to read as an empty card: label, row names, then a blank
   band with a stray arrow in the far corner. The arrow is now at the front next
   to the label, and the ATI chunks say in words that there is something behind
   them. */
details.chunk.altchunk:not([open]) > summary::after{content:"tap to open";
 margin-left:auto;align-self:center;font-weight:800;font-size:.78rem;
 letter-spacing:.04em;text-transform:uppercase;opacity:.72;white-space:nowrap}
.chunk .cklab{font-weight:900;color:#fff}
/* A fold's line says what tapping it does, and nothing else. It used to carry a
   numbered badge and "1-5 of 13"; she sent a screenshot and said those were confusing,
   and they were - they described the chunking rather than the content. Kept in step
   with chunk.py, which is where the markup comes from. */
.chunk .ckshut,.chunk .ckopen{font-weight:900;color:#fff;font-size:1rem}
details.chunk[open] > summary .ckshut{display:none}
details.chunk:not([open]) > summary .ckopen{display:none}
.chunk > ul{margin:0;padding:2px 14px 12px 2.1em}
.chunk .altrow:first-of-type{border-top:0}
details.chunk.altchunk > summary{background:rgba(255,255,255,.10)}
@media(max-width:640px){
  details.chunk > summary{padding:9px 10px;gap:7px}
  .chunk > ul{padding-left:1.7em}
}

/* ---- rows filled from an outside source ------------------------------
   Deliberately distinct from her ATI content. If a lecturer contradicts one of these,
   she needs to be able to see instantly which row came from outside her course. */
.srcfill{border-left:4px solid rgba(126,232,255,.9);
 background:rgba(126,232,255,.10);border-radius:0 11px 11px 0;padding:10px 13px;
 margin:2px 0 0}
.srcnote{margin:0 0 7px;font-size:.93rem;color:#dff4ff;line-height:1.5}
.srctag{display:inline-block;font-weight:900;font-size:.84rem;letter-spacing:.03em;
 text-transform:uppercase;background:rgba(126,232,255,.24);color:#c9f2ff;
 padding:3px 9px;border-radius:8px;margin-right:4px}
.srcfill ul{margin:0;padding-left:1.1em}
.srcfill li{font-size:.95rem;line-height:1.55;margin:0 0 7px;overflow-wrap:anywhere}
.srccite{margin:8px 0 0;font-size:.9rem;color:#bfe6f5;line-height:1.5}
.srccite a{color:#9fe4ff;font-weight:800;position:relative;display:inline-flex;align-items:center;min-height:44px;padding:0 .3rem;margin:-.4rem 0}
/* The citation link is the actionable part of the line and gets tapped on a
   phone, but as inline text it was only 19px tall. Widen the hit area to 44px
   with an overlay rather than padding: padding would push the citation lines
   apart and fragment across a line wrap, and this leaves the layout alone. */
.srccite a::after{content:"";position:absolute;left:-4px;right:-4px;top:50%;
 transform:translateY(-50%);height:44px}
.srccite i{opacity:.92}

/* ---- the content cards inside a module ----------------------------- */
.mcard{border-radius:13px;padding:13px 15px;margin:0 0 11px;
 border:1px solid rgba(255,255,255,.30);border-left:5px solid rgba(255,255,255,.55);
 box-shadow:0 6px 18px rgba(0,0,0,.30)}
.mcard.hy{background:rgba(0,110,112,.90)}
.mcard.trap{background:rgba(var(--ruby),.60)}
.mcard.lsc{background:rgba(91,33,182,.90)}
.mcard.ati{background:rgba(11,102,86,.90)}
.mcard .src{margin:0 0 8px;font-size:.9rem;color:#f0e6ff;font-style:italic}
.mcard.err{background:rgba(160,16,56,.90)}
.mcard.div{background:rgba(var(--topaz),.66);color:#231a02}
.mcard.div b{color:#231a02}
.mcard.div code{background:rgba(0,0,0,.14);color:#231a02}
.mcard dl{margin:0}
.mcard dt{font-weight:900;font-size:.97rem;margin:11px 0 3px}
.mcard dt:first-child{margin-top:0}
.mcard dd{margin:0 0 4px;font-size:.95rem;line-height:1.55;overflow-wrap:anywhere}
.mcard dd.says::before{content:"Your recording: ";font-weight:800;opacity:.9}
.mcard dd.real::before{content:"Actually: ";font-weight:800;opacity:.9}
details.caut{background:rgba(var(--ruby),.55);border:1px solid rgba(255,255,255,.30);
 border-left:5px solid rgba(255,255,255,.55);border-radius:16px;
 margin:0 0 14px;box-shadow:0 8px 26px rgba(0,0,0,.38);overflow:hidden}
details.caut.rules{background:rgba(var(--amethyst),.55)}
details.caut > summary{cursor:pointer;list-style:none;padding:15px 18px;
 font-weight:900;font-size:1.12rem;display:flex;gap:10px;align-items:center}
details.caut > summary::-webkit-details-marker{display:none}
details.caut > summary .chev{font-size:1.05rem;opacity:.85}
details.caut[open] > summary .chev{transform:rotate(90deg)}
details.caut .cbody{padding:0 15px 15px}
table.dec{width:100%;border-collapse:collapse;font-size:.93rem}
table.dec th,table.dec td{text-align:left;padding:6px 8px;
 border-bottom:1px solid rgba(255,255,255,.22);overflow-wrap:anywhere}
table.dec th{font-size:.9rem;text-transform:uppercase;letter-spacing:.04em;color:#ffd76a}
table.dec td:first-child{font-family:ui-monospace,Menlo,Consolas,monospace}
.mcard h4{margin:0 0 7px;font-size:1.05rem;letter-spacing:.01em}
.mcard ul{margin:0;padding:0 0 0 1.15em}
.mcard li{margin:0 0 8px;font-size:.95rem;line-height:1.55;overflow-wrap:anywhere}
.mcard li:last-child{margin-bottom:0}
.mcard b{color:#fff}
.mcard code{font-family:ui-monospace,'Cascadia Mono',Menlo,Consolas,monospace;
 font-size:1em;background:rgba(0,0,0,.75);padding:1px 5px;border-radius:6px;
 white-space:normal;overflow-wrap:anywhere;color:#fff}
.rdg{display:block;font-weight:700;font-size:.9rem;color:#fff;
 background:rgba(0,0,0,.34);border:1px solid rgba(255,255,255,.24);
 border-radius:10px;padding:8px 11px;margin:0 0 11px;overflow-wrap:anywhere}

.badge{display:inline-block;font-size:.82rem;font-weight:800;padding:2px 8px;
 border-radius:8px;margin-left:6px;vertical-align:middle}
.badge.ok{background:rgba(18,184,134,.85);color:#04231a}
.badge.warn{background:rgba(255,194,51,.9);color:#241a02}

.slot{background:rgba(0,0,0,.75);border:1px dashed rgba(255,255,255,.38);
 border-radius:13px;padding:12px 14px;margin:0 0 10px;color:#fff}
.slot h4{margin:0 0 3px;font-size:1.02rem;display:flex;gap:8px;align-items:center}
.slot p{margin:0;font-size:.92rem;color:#e6dcff}
.slot .empty{display:inline-block;margin-top:8px;font-size:.86rem;font-weight:800;
 padding:5px 10px;border-radius:9px;background:rgba(255,255,255,.14);
 border:1px solid rgba(255,255,255,.26);color:#fff}

/* ---- infographic sheets ------------------------------------------- */
.slot.filled{border-style:solid;border-color:rgba(255,255,255,.30);
 background:rgba(0,0,0,.40)}
.slot .cnt{font-size:.85rem;font-weight:900;padding:2px 8px;border-radius:8px;
 background:var(--accent);color:#1a1030}
.shgrid{display:grid;gap:10px;margin-top:10px;
 grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}
.sh{margin:0;background:rgba(0,0,0,.75);border:1px solid rgba(255,255,255,.24);
 border-radius:11px;overflow:hidden;display:flex;flex-direction:column;color:#fff}
.shbtn{display:block;width:100%;padding:0;border:0;background:#0d0a1c;cursor:zoom-in}
.shbtn img{display:block;width:100%;height:auto;aspect-ratio:1273/1800;
 object-fit:cover;object-position:top center}
.sh figcaption{padding:7px 9px;font-size:.88rem;line-height:1.35;color:#fff;
 display:flex;flex-direction:column;gap:4px;overflow-wrap:anywhere}
.shsrc{color:var(--accent);font-weight:800;font-size:.85rem;text-decoration:none}
.shsrc:hover{text-decoration:underline}
/* one per row at her zoom - two columns made every sheet unreadable on the
   Visual Reference and there is no reason to repeat that mistake here */
@media(max-width:640px){ .shgrid{grid-template-columns:minmax(0,1fr)}.ownfig,.vidfig{min-width:0;max-width:100%}[data-zoomfix]{max-width:100%} .shbtn img{aspect-ratio:auto} }

#shLB{position:fixed;inset:0;z-index:9500;background:rgba(6,3,14,.96);
 display:none;flex-direction:column;padding:10px;gap:8px;color:#fff}
#shLB.on{display:flex}
#shLBbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;flex:0 0 auto}
#shLBttl{font-weight:800;font-size:1rem;flex:1 1 160px;min-width:0}
#shLB button,#shLB a{background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.32);
 color:#fff;border-radius:11px;padding:9px 12px;font-weight:800;font-size:.95rem;font-family:inherit;cursor:pointer;
 text-decoration:none;white-space:nowrap}
#shLB button:hover,#shLB a:hover{background:rgba(255,255,255,.3)}
#shLBwrap{flex:1 1 auto;overflow:auto;display:block;text-align:center}
#shLBimg{max-width:100%;height:auto;margin:0 auto}
#shLBimg.zoom{max-width:none;width:auto}




/* ---- textbook mind map --------------------------------------------- */
.mm2{margin:0 0 14px;padding:0}
.mmhub2{display:block;text-align:center;font-weight:900;font-size:1.06rem;
 background:var(--accent);color:#1a1030;border-radius:14px;padding:11px 14px;
 margin:0 0 10px;box-shadow:0 6px 18px rgba(0,0,0,.35);overflow-wrap:anywhere}
.mmcols{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}
.mmcol{background:rgba(0,0,0,.75);border:1px solid rgba(255,255,255,.28);
 border-top:4px solid var(--accent);border-radius:12px;padding:10px 12px;color:#fff}
.mmcol h6{margin:0 0 6px;font-size:.92rem;font-weight:900;letter-spacing:.02em;
 color:var(--accent)}
.mmcol ul{margin:0;padding-left:1.05em}
.mmcol li{font-size:.93rem;line-height:1.45;margin:0 0 6px;overflow-wrap:anywhere}
.mmnote{margin:9px 0 0;font-size:.9rem;color:#e6dcff;font-style:italic}
@media(max-width:640px){ .mmcols{grid-template-columns:1fr} }

/* ---- textbook ALT --------------------------------------------------- */
.altpl{margin:0 0 14px;border:1px solid rgba(255,255,255,.34);border-radius:13px;
 overflow:hidden;background:rgba(0,0,0,.34)}
.altpl .althd{background:rgba(255,255,255,.16);padding:10px 13px;font-weight:900;
 font-size:1rem;display:flex;flex-wrap:wrap;gap:8px;align-items:baseline}
.altpl .althd span{font-weight:700;font-size:.92rem;color:var(--accent)}
.altpl .altsrc{margin:0;padding:8px 13px;font-size:.89rem;color:#e6dcff;
 font-style:italic;border-bottom:1px solid rgba(255,255,255,.18)}
.altpl .altrow{border-top:1px solid rgba(255,255,255,.20);padding:10px 13px}
.altpl .altrow h5{margin:0 0 6px;font-size:.94rem;text-transform:uppercase;
 letter-spacing:.04em;color:var(--accent)}
.altpl .altrow ul{margin:0;padding-left:1.1em}
.altpl .altrow li{font-size:.94rem;line-height:1.5;margin:0 0 6px;overflow-wrap:anywhere}
.altpl .altblank{margin:0;font-size:.92rem;color:#d8caf5;font-style:italic}

/* ---- notes --------------------------------------------------------- */
.notesum ul{margin:8px 0 0;padding-left:1.1em}
.notesum li{font-size:.95rem;line-height:1.55;margin:0 0 7px;overflow-wrap:anywhere}


.foot{margin:26px 0 0;font-size:.95rem;color:#e6dcff;text-align:center}
.hidden{display:none !important}

/* she reads at 300% zoom - that is a 427px viewport. one column, nothing tiny. */
@media(max-width:640px){
  header h1{font-size:1.45rem}
  .wrap{padding:12px 12px 80px}
  details.mod > summary{font-size:1.02rem;padding:13px 13px;gap:9px}
  .body{padding:2px 12px 14px}
  .exhead{padding:11px 13px}
  .exhead .en{font-size:1.12rem}
  .exhead .em{margin-left:0;width:100%}
  .mcard{padding:12px 13px}
  .mcard ul{padding-left:1.05em}
}
/* ---- last word on the floating cluster ------------------------------
   The course page has a sticky search bar across the top and the cluster was landing
   on it, covering the Menu button and half the search field. This sits at the END of
   the stylesheet on purpose: an earlier version put it mid-file and a later media
   query silently won, which is how it ended up back on the bar. */
html body #navBtns{top:72px}
@media(max-width:1024px){ html body #navBtns{top:64px} }

/* --- infographic cards that replaced the dead "original ->" boxes --- */
.iggrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(215px,1fr));gap:10px;margin:10px 0 4px}
a.igcard{display:flex;gap:10px;align-items:flex-start;text-decoration:none;color:#fff;
 background:rgba(157,92,255,.60);
 border:1px solid rgba(255,255,255,.30);border-left:4px solid rgba(255,214,106,.85);
 border-radius:14px;padding:11px 13px;transition:transform .12s,background .12s}
a.igcard:hover{background:rgba(157,92,255,.78);transform:translateY(-2px)}
a.igcard .igico{font-size:1.15rem;line-height:1.2}
a.igcard .ignm{font-weight:800;font-size:.94rem;line-height:1.35}
a.igcard .igsub{display:block;font-weight:700;font-size:.78rem;color:#ffd76a;margin-top:4px}
.igtopic{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.22);
 border-left:4px solid rgba(255,255,255,.34);border-radius:14px;padding:11px 13px;
 font-size:.93rem;line-height:1.4}
.igtopic b{display:block;font-size:.96rem;margin-bottom:3px}
.igtopic span{font-size:.79rem;color:#cdbfe8;font-weight:700}
/* ===== visual brief toolkit - jewel tones, ADHD spacing, heavy visuals ===== */
.vbrief{margin:0 0 16px}
.vcard{--j:118,28,255;--ja:.92;background:rgba(var(--j),var(--ja));
 border:1px solid rgba(255,255,255,.30);border-left:5px solid rgba(255,255,255,.55);
 border-radius:16px;padding:14px 16px;margin:0 0 11px;color:#fff}
.vcard h5{margin:0 0 7px;font-size:1.02rem;font-weight:900;display:flex;gap:8px;align-items:center;
 letter-spacing:-.01em}
.vcard p{margin:0 0 8px;font-size:.95rem;line-height:1.6}
.vcard p:last-child{margin:0}
.vcard ul{margin:2px 0 6px;padding-left:19px}
.vcard li{margin:0 0 5px;font-size:.93rem;line-height:1.5}
.vcard.ruby{--j:200,0,49}
.vcard.emerald{--j:19,190,138}
.vcard.sapphire{--j:2,75,255}
.vcard.teal{--j:0,194,199}
.vcard.citrine{--j:255,138,61}
.vcard.garnet{--j:184,33,82}
.vcard.topaz{--j:255,194,51}

/* Warm jewels render as bright panels and take the dark ink set; cool jewels are
   deepened and keep white. At one alpha with one ink the mid-tones cleared neither
   AA threshold, so the jewels moved rather than only the ink. */
.vcard.topaz,.vcard.teal,.vcard.citrine,.vcard.emerald{color:#141018;border-left-color:rgba(0,0,0,.48)}
:where(.vcard.topaz) b,:where(.vcard.teal) b,:where(.vcard.citrine) b,:where(.vcard.emerald) b,
:where(.vcard.topaz) strong,:where(.vcard.teal) strong,:where(.vcard.citrine) strong,:where(.vcard.emerald) strong,
:where(.vcard.topaz) h5,:where(.vcard.teal) h5,:where(.vcard.citrine) h5,:where(.vcard.emerald) h5{color:#000}
:where(.vcard.topaz) i,:where(.vcard.teal) i,:where(.vcard.citrine) i,:where(.vcard.emerald) i,
:where(.vcard.topaz) em,:where(.vcard.teal) em,:where(.vcard.citrine) em,:where(.vcard.emerald) em{color:#0d2b22}
:where(.vcard.topaz) a,:where(.vcard.teal) a,:where(.vcard.citrine) a,:where(.vcard.emerald) a{color:#2f0d5c}
/* the highlight chip is gold, so on a warm card it needs its own dark ink back */
:where(.vcard.topaz) .vmark,:where(.vcard.teal) .vmark,:where(.vcard.citrine) .vmark,:where(.vcard.emerald) .vmark,
:where(.vcard.ruby) .vmark,:where(.vcard.sapphire) .vmark,:where(.vcard.garnet) .vmark,:where(.vcard) .vmark{color:#241a02}

/* hero number */
.vnum{display:block;font:900 clamp(1.5rem,5vw,2rem)/1.05 'Segoe UI',system-ui,sans-serif;
 margin:2px 0 4px;font-variant-numeric:tabular-nums}

/* comparison table */
.vtw{overflow-x:auto;margin:0 0 12px;border-radius:14px;border:1px solid rgba(255,255,255,.28)}
table.vt{border-collapse:collapse;width:100%;min-width:440px;font-size:.91rem;
 background:rgba(0,0,0,.62);color:#fff}
table.vt th,table.vt td{padding:9px 11px;text-align:left;
 border-bottom:1px solid rgba(255,255,255,.15);vertical-align:top;color:#fff}
table.vt th{background:rgba(255,255,255,.14);font-weight:900;font-size:.82rem;
 text-transform:uppercase;letter-spacing:.03em}
table.vt tr:last-child td{border-bottom:none}
table.vt td b{color:#ffe9a8}
table.vt td.hot{background:rgba(255,59,107,.20)}
table.vt td.cool{background:rgba(47,107,255,.20)}
table.vt td.good{background:rgba(18,184,134,.20)}

/* flow diagram */
.vflow{display:flex;flex-wrap:wrap;gap:0;margin:0 0 12px}
.vstep{flex:1 1 128px;min-width:118px;background:rgba(0,0,0,.62);
 border:1px solid rgba(255,255,255,.28);border-radius:13px;padding:10px 11px;
 font-size:.86rem;line-height:1.42;position:relative;margin:0 15px 9px 0;color:#fff}
.vstep:last-child{margin-right:0}
.vstep::after{content:"\2192";position:absolute;right:-14px;top:50%;
 transform:translateY(-50%);font-size:1.1rem;font-weight:900;color:#ffd76a}
.vstep:last-child::after{content:""}
.vstep b{display:block;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;
 color:#ffd76a;margin-bottom:3px}
.vflow.danger .vstep b{color:#ff8fa3}

/* value scale */
.vscale{margin:0 0 12px}
.vscale .vlbl{display:flex;justify-content:space-between;gap:10px;font-size:.85rem;
 font-weight:800;margin-bottom:5px;color:#fff}
.vtrack{display:flex;height:26px;border-radius:9px;overflow:hidden;
 border:1px solid rgba(255,255,255,.28);font:800 .72rem 'Segoe UI',system-ui,sans-serif}
.vtrack span{display:flex;align-items:center;justify-content:center;color:#050505;
 padding:0 5px;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.65)}
.vtrack .vlo{background:rgba(26,64,153,.95);color:#fff}
.vtrack .vok{background:rgba(11,102,86,.95);color:#fff}
.vtrack .vhi{background:rgba(192,20,60,.95);color:#fff}
.vtrack .vwarn{background:rgba(164,65,0,.95);color:#fff}

/* inline emphasis */
.vmark{background:rgba(255,194,51,.92);color:#241a02;padding:1px 6px;border-radius:6px;
 font-weight:800}
.vnever{text-decoration:underline wavy rgba(255,59,107,.95);text-underline-offset:4px;
 font-weight:800}
.vnum2{font:800 .95em ui-monospace,'Cascadia Mono',Consolas,monospace;
 background:rgba(0,0,0,.72);padding:2px 7px;border-radius:7px;white-space:nowrap;color:#fff}

/* two-up grid on wide screens */
.vgrid2{display:grid;grid-template-columns:1fr;gap:11px}
@media(min-width:760px){.vgrid2{grid-template-columns:1fr 1fr}.vgrid2>*{margin-bottom:0}}

/* keep card contents on the same paint layer as the card */
.vbrief,.vcard,.vtw,.vflow,.vscale{will-change:auto;transform:none;filter:none}
.vcard *:not([class]){color:inherit}



#skimBtn{position:fixed;left:12px;bottom:12px;z-index:9000;
 display:flex;align-items:center;gap:8px;min-height:44px;box-sizing:border-box;
 background:rgba(157,92,255,.92);border:1px solid rgba(255,255,255,.45);color:#000000;
 border-radius:14px;padding:11px 14px;cursor:pointer;
 font:800 .95rem 'Segoe UI',system-ui,sans-serif;
 box-shadow:0 6px 20px rgba(0,0,0,.45);
 max-width:calc(100vw - 24px)}
#skimBtn:hover{background:rgba(157,92,255,1)}
#skimBtn .n{font-weight:900;font-size:.88rem;opacity:.92;white-space:nowrap}
body.skimOn #skimBtn{background:rgba(255,194,51,.95);color:#231a02;
 border-color:rgba(0,0,0,.35)}
body.skimOn .skimHide{display:none !important}
body.skimOn .skimKeep{outline:0}

#skimBtn{touch-action:none;cursor:grab}
#skimBtn.dragging{opacity:.92;cursor:grabbing}

#skimBtn:focus-visible{outline:3px solid #ffd76a;outline-offset:2px}
@media print{#skimBtn{display:none}}



:root{--ple-pink:#f472b6;--ple-violet:#a78bfa;--ple-blue:#60a5fa;--ple-teal:#2dd4bf;--ple-gold:#fbbf24;--ple-coral:#fb7185;--ple-ink:#fff;--ple-muted:#e4e5f6;--ple-panel:#12193d}
html{font-size:17px}
body{font-family:Verdana,"Segoe UI",Arial,sans-serif!important;font-size:1.08rem!important;line-height:1.72;background-image:
radial-gradient(circle at 12% 5%,rgba(244,114,182,.24),transparent 34rem),
radial-gradient(circle at 88% 14%,rgba(45,212,191,.20),transparent 36rem),
repeating-conic-gradient(from 18deg at 72% 22%,rgba(167,139,250,.08) 0deg 8deg,transparent 8deg 21deg),
linear-gradient(145deg,#160a32 0%,#0b2346 54%,#05323a 100%);background-attachment:fixed}
a,button,input,summary{touch-action:manipulation}
a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{outline:4px solid #fff!important;outline-offset:4px!important}
.ple-skip{position:fixed;left:14px;top:8px;z-index:2147483647;transform:translateY(-160%);padding:12px 16px;border-radius:13px;background:#fff;color:#111827;font-weight:950;text-decoration:none;box-shadow:0 12px 30px rgba(0,0,0,.45)}
.ple-skip:focus{transform:translateY(0)}
.wrap{max-width:1160px;padding-bottom:150px}
header{padding:clamp(22px,4vw,40px);background:linear-gradient(145deg,rgba(17,15,52,.96),rgba(7,45,60,.94));border:2px solid rgba(255,255,255,.24)}
header h1{font-size:clamp(2rem,6vw,4.35rem);letter-spacing:-.045em;line-height:.98}
header p{font-size:1.12rem;max-width:850px;line-height:1.7}
.bar input,#menuBtn,.btn{min-height:48px;font-size:1rem}
.ple-dashboard{position:relative;isolation:isolate;margin:0 0 24px;padding:clamp(18px,3vw,30px);overflow:hidden;border:2px solid rgba(255,255,255,.22);border-radius:30px;background:linear-gradient(145deg,rgba(30,16,73,.97),rgba(9,37,71,.97) 62%,rgba(4,55,59,.96));box-shadow:0 28px 70px rgba(1,4,18,.42)}
.ple-dashboard,.exsec,details.mod{scroll-margin-top:145px}
.ple-dashboard:before{content:"";position:absolute;z-index:-1;width:420px;height:420px;right:-180px;top:-230px;border-radius:50%;background:conic-gradient(from 10deg,var(--ple-pink),var(--ple-violet),var(--ple-blue),var(--ple-teal),var(--ple-gold),var(--ple-pink));opacity:.18;filter:blur(3px)}
.ple-kicker{margin:0 0 8px;color:var(--ple-gold);font-size:.76rem;font-weight:950;letter-spacing:.16em;text-transform:uppercase}
.ple-hero-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:20px;align-items:stretch}
.ple-start-card,.ple-robot-card{border:1px solid rgba(255,255,255,.16);border-radius:24px;background:linear-gradient(160deg,rgba(16,26,67,.96),rgba(7,13,36,.92));box-shadow:0 18px 42px rgba(0,0,0,.26)}
.ple-start-card{padding:clamp(19px,3vw,30px)}
.ple-start-card h2{margin:0;font-size:clamp(1.9rem,4vw,3.15rem);line-height:1.02;letter-spacing:-.04em}
.ple-start-card>p{max-width:700px;color:var(--ple-muted);font-size:1.03rem}
.ple-stat-row{display:flex;flex-wrap:wrap;gap:9px;margin:16px 0 20px}
.ple-stat{display:inline-flex;align-items:center;gap:7px;padding:7px 11px;border-radius:999px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.08);font-size:.82rem;font-weight:900}
.ple-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0;padding:0;list-style:none}
.ple-steps li{min-height:118px;padding:14px;border:1px solid rgba(255,255,255,.15);border-top:4px solid var(--step,var(--ple-pink));border-radius:17px;background:rgba(3,10,31,.56);color:#fff}
.ple-steps li:nth-child(2){--step:var(--ple-gold)}.ple-steps li:nth-child(3){--step:var(--ple-teal)}
.ple-step-num{display:grid;place-items:center;width:34px;height:34px;margin-bottom:8px;border-radius:11px;background:var(--step,var(--ple-pink));color:#07101f;font-weight:950}
.ple-steps b{display:block;font-size:.98rem}.ple-steps span:not(.ple-step-num){display:block;margin-top:4px;color:var(--ple-muted);font-size:.83rem;line-height:1.4}
.ple-robot-card{display:flex;flex-direction:column;justify-content:center;padding:18px;text-align:center}
.ple-robot-card svg{display:block;width:min(100%,290px);height:auto;margin:auto;filter:drop-shadow(0 18px 28px rgba(0,0,0,.38))}
.ple-robot-card strong{font-size:1.12rem}.ple-robot-card p{margin:5px auto 0;color:var(--ple-muted);font-size:.88rem;max-width:290px}
.ple-progress-card{margin:18px 0 0;padding:15px;border:1px solid rgba(255,255,255,.15);border-radius:19px;background:rgba(3,10,31,.5);color:#fff}
.ple-progress-head{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:8px}.ple-progress-head strong{font-size:1rem}.ple-progress-head span{color:var(--ple-muted);font-size:.85rem;font-weight:800}
.ple-progress-track{height:18px;overflow:hidden;border-radius:999px;background:#070d25;border:1px solid rgba(255,255,255,.16)}
#pleProgressFill{width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--ple-pink),var(--ple-violet),var(--ple-blue),var(--ple-teal));transition:width .35s ease}
.ple-roadmap{margin-top:20px}
.ple-roadmap h3{margin:0 0 4px;font-size:1.4rem}.ple-roadmap>p{margin:0 0 12px;color:var(--ple-muted);font-size:.9rem}
.ple-exam-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}
.ple-exam{--tone:var(--ple-pink);position:relative;min-height:145px;padding:15px;text-align:left;color:#fff;border:1px solid rgba(255,255,255,.17);border-top:5px solid var(--tone);border-radius:18px;background:linear-gradient(155deg,rgba(22,31,72,.97),rgba(8,14,38,.96));cursor:pointer}
.ple-exam:hover{transform:translateY(-2px);border-color:var(--tone)}.ple-exam:nth-child(2){--tone:var(--ple-gold)}.ple-exam:nth-child(3){--tone:var(--ple-blue)}.ple-exam:nth-child(4){--tone:var(--ple-pink)}.ple-exam:nth-child(5){--tone:var(--ple-teal)}.ple-exam:nth-child(6){--tone:var(--ple-violet)}
.ple-exam-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.ple-exam-icon{font-size:1.65rem}.ple-exam-range{padding:3px 8px;border-radius:999px;background:rgba(255,255,255,.1);font-size:.8rem;font-weight:900}
.ple-exam b{display:block;margin:8px 0 3px;font-size:1rem}.ple-exam small{display:block;color:var(--ple-muted);font-size:.78rem;line-height:1.35}
.ple-pips{display:flex;gap:5px;margin-top:10px}.ple-pips i{display:block;flex:1;height:7px;border-radius:99px;background:var(--tone)}
.ple-tools{position:fixed;right:14px;bottom:14px;z-index:2147482000;width:min(540px,calc(100vw - 28px));padding:11px;border:2px solid rgba(255,255,255,.26);border-radius:19px;background:rgba(8,12,35,.96);box-shadow:0 18px 50px rgba(0,0,0,.48);;color:#fff}
.ple-tool-head{display:flex;align-items:center;gap:9px;margin-bottom:8px}.ple-tool-head strong{font-size:.9rem}.ple-tool-head span{margin-left:auto;color:var(--ple-muted);font-size:.75rem}.ple-tools-toggle{min-width:72px;min-height:44px;padding:6px 10px;border:1px solid rgba(255,255,255,.22);border-radius:10px;background:#263762;color:#fff;font-weight:900;cursor:pointer}
.ple-tool-row{display:flex;flex-wrap:wrap;gap:7px}
.ple-tool-row button{min-height:42px;padding:8px 11px;border:1px solid rgba(255,255,255,.2);border-radius:12px;background:rgba(255,255,255,.1);color:#fff;font:850 .84rem 'Segoe UI',system-ui,sans-serif;cursor:pointer}
.ple-tool-row button:hover{background:rgba(255,255,255,.22)}.ple-tool-row button[aria-pressed="true"]{background:var(--ple-gold);color:#201400;border-color:#fff}
.ple-tool-row .ple-primary{background:linear-gradient(135deg,#7c3aed,#2563eb)}.ple-tool-row .ple-next{display:none}.ple-focus-on .ple-tool-row .ple-next{display:inline-flex}
.ple-tools.ple-collapsed{width:auto;max-width:calc(100% - 16px);padding:9px 12px}.ple-tools.ple-collapsed .ple-tool-head{margin:0}.ple-tools.ple-collapsed .ple-tool-row,.ple-tools.ple-collapsed .ple-status,.ple-tools.ple-collapsed .ple-tool-head>span{display:none}
.ple-status{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
body.ple-roomy{line-height:1.9}body.ple-roomy .mcard,body.ple-roomy .vcard,body.ple-roomy details.chunk>summary{padding-top:18px;padding-bottom:18px}body.ple-roomy li{margin-bottom:12px}
.exsec{position:relative;margin:28px 0 34px;padding:12px;border:1px solid rgba(255,255,255,.12);border-radius:24px;background:rgba(3,10,31,.75);color:#fff}
.exhead{margin:0 0 13px;padding:16px 18px;border:2px solid rgba(255,255,255,.18);border-left:7px solid var(--ple-tone,var(--ple-pink));background:linear-gradient(145deg,rgba(17,25,64,.96),rgba(7,39,53,.94));box-shadow:0 14px 32px rgba(0,0,0,.24)}
.exhead .en{font-size:1.4rem;color:#fff}.exhead .et{font-size:1.04rem}.exhead .em{font-size:.9rem}
details.mod{border-width:2px;border-left-width:7px;background:linear-gradient(145deg,rgba(8,37,53,.94),rgba(20,16,59,.92));margin-bottom:15px}
details.mod>summary{min-height:64px;padding:16px 18px;font-size:1.12rem;line-height:1.4}
details.mod[open]{background:linear-gradient(145deg,rgba(8,55,65,.96),rgba(32,20,77,.96));box-shadow:0 18px 42px rgba(0,0,0,.28)}
.ple-mod-icon{display:grid;place-items:center;flex:0 0 40px;width:40px;height:40px;border-radius:13px;background:var(--ple-tone,var(--ple-pink));color:#07101f;font-size:1.25rem;box-shadow:inset 0 1px 0 rgba(255,255,255,.35)}
details.mod.ple-seen>summary:before{content:"✓";display:grid;place-items:center;position:absolute;right:12px;top:8px;width:24px;height:24px;border-radius:50%;background:var(--ple-teal);color:#04231a;font-size:.8rem;font-weight:950}
details.mod>summary{position:relative}
details.mod.ple-focus-target{outline:5px solid var(--ple-gold);outline-offset:5px}
.mcard,.vcard,.slot,.altpl,.qz{border-width:2px;box-shadow:0 10px 28px rgba(0,0,0,.24)}
.mcard h4,.vcard h5{font-size:1.12rem}.mcard li,.mcard dd,.vcard p,.vcard li,.altpl .altrow li,.mmcol li{font-size:1rem;line-height:1.68}
details.chunk>summary{min-height:52px;padding:12px 14px;font-size:1.02rem}
.mm2{padding:13px;border:1px solid rgba(255,255,255,.15);border-radius:18px;background:rgba(4,10,31,.48);color:#fff}
.mmhub2{font-size:1.15rem;padding:14px;background:linear-gradient(135deg,#5b34c9,#1f5fc4);color:#fff}
.mmcol{border-width:2px;border-top-width:6px;padding:14px;background:linear-gradient(160deg,rgba(11,22,54,.97),rgba(7,13,35,.95))}
.mmcol h6{font-size:1rem}.iggrid{grid-template-columns:repeat(auto-fill,minmax(245px,1fr));gap:13px}
a.igcard{min-height:88px;padding:15px;border-width:2px;border-left-width:7px;background:linear-gradient(145deg,rgba(91,42,153,.9),rgba(27,66,148,.86))}
a.igcard .igico{font-size:1.55rem}a.igcard .ignm{font-size:1rem}a.igcard .igsub{font-size:.82rem}
.vtw{border-width:2px}table.vt,table.dec{font-size:1rem}.shbtn img{background:#07152f}
body.ple-focus-on .wrap>details.legend,body.ple-focus-on .wrap>.card,body.ple-focus-on .wrap>details.caut{display:none}
body.ple-focus-on .exsec.ple-focus-hidden{display:none}
body.ple-focus-on details.mod:not(.ple-focus-target){display:none}
body.skimOn [data-adhd-ui].skimHide,body.skimOn [data-adhd-ui] .skimHide{display:block!important}
.ple-updates{margin:18px 0 24px;border:2px solid rgba(255,255,255,.2);border-radius:24px;background:linear-gradient(145deg,rgba(10,52,66,.96),rgba(42,18,83,.96));box-shadow:0 18px 44px rgba(0,0,0,.3);overflow:hidden;scroll-margin-top:145px}
.ple-updates>summary{display:flex;align-items:center;gap:14px;min-height:76px;padding:16px 20px;cursor:pointer;list-style:none;background:linear-gradient(90deg,rgba(45,212,191,.2),rgba(167,139,250,.2));font-size:1.18rem;font-weight:950}.ple-updates>summary::-webkit-details-marker{display:none}.ple-updates>summary:before{content:'+';display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;border-radius:14px;background:var(--ple-gold);color:#201400;font-size:1.6rem}.ple-updates[open]>summary:before{content:'−'}.ple-updates>summary small{display:block;margin-left:auto;color:#d9e5ff;font-size:.76rem;font-weight:800}
.ple-update-intro{margin:0;padding:18px 20px 8px;color:#eaf2ff;line-height:1.65}.ple-update-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;padding:12px 18px 18px}.ple-update-card{--u:var(--ple-pink);padding:16px;border:2px solid rgba(255,255,255,.17);border-top:6px solid var(--u);border-radius:19px;background:rgba(5,13,39,.84);color:#fff}.ple-update-card:nth-child(2){--u:var(--ple-gold)}.ple-update-card:nth-child(3){--u:var(--ple-blue)}.ple-update-card:nth-child(4){--u:var(--ple-teal)}.ple-update-card:nth-child(5){--u:var(--ple-violet);grid-column:1/-1}.ple-update-title{display:flex;align-items:center;gap:10px;margin:0 0 9px;font-size:1.18rem}.ple-update-icon{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;border-radius:14px;background:var(--u);color:#07101f;font-size:1.45rem}.ple-update-card>p{margin:7px 0;color:#eef4ff;line-height:1.6}.ple-safety-flow{display:flex;align-items:stretch;gap:7px;margin:12px 0;overflow-x:auto;padding:3px 2px 8px}.ple-safety-flow span{display:flex;align-items:center;justify-content:center;min-width:105px;min-height:58px;padding:9px;border:1px solid rgba(255,255,255,.18);border-radius:13px;background:rgba(255,255,255,.09);text-align:center;font-size:.82rem;font-weight:900;line-height:1.3}.ple-safety-flow i{align-self:center;color:var(--u);font-size:1.25rem;font-style:normal;font-weight:950}.ple-memory{margin:10px 0!important;padding:10px 12px;border-left:5px solid var(--u);border-radius:10px;background:rgba(255,255,255,.08);font-weight:850}.ple-update-card ul{margin:8px 0 8px 20px;padding:0}.ple-update-card li{margin:7px 0;line-height:1.55}.ple-update-source{font-size:.78rem!important;color:#d8e5ff!important}.ple-update-source a{color:#fff;text-decoration-thickness:2px;text-underline-offset:3px}.ple-update-note{margin:0 18px 18px;padding:12px 14px;border:1px dashed rgba(251,191,36,.7);border-radius:13px;background:rgba(251,191,36,.1);color:#fff4c9;font-size:.85rem;line-height:1.55}
@media(max-width:850px){.ple-hero-grid{grid-template-columns:1fr}.ple-robot-card{display:grid;grid-template-columns:150px 1fr;text-align:left;align-items:center}.ple-steps{grid-template-columns:1fr}.ple-steps li{min-height:0}.ple-exam-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){html{font-size:17px}#skimBtn{bottom:178px!important;left:8px!important}body.ple-tools-closed #skimBtn{bottom:68px!important}.wrap{padding-left:10px;padding-right:10px;padding-bottom:220px}.ple-dashboard{padding:14px;border-radius:22px}.ple-start-card{padding:17px}.ple-start-card h2{font-size:2rem}.ple-robot-card{grid-template-columns:105px 1fr;padding:13px}.ple-exam-grid,.ple-update-grid{grid-template-columns:1fr}.ple-update-card:nth-child(5){grid-column:auto}.ple-updates>summary{padding:13px;font-size:1rem}.ple-updates>summary small{display:none}.ple-update-grid{padding:10px}.ple-safety-flow{flex-direction:column;overflow:visible}.ple-safety-flow span{min-width:0;min-height:48px}.ple-safety-flow i{transform:rotate(90deg)}.ple-exam{min-height:0}.ple-tools{right:8px;bottom:8px;width:calc(100% - 16px)}.ple-tool-head span{display:none}.ple-tool-row button{flex:1 1 auto;font-size:.8rem}.exsec{padding:7px;border-radius:18px}details.mod>summary{padding:15px 12px}.ple-mod-icon{width:36px;height:36px;flex-basis:36px}.mttl{padding-right:18px}.iggrid{grid-template-columns:1fr}}
.ple-safety-flow{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto minmax(0,1fr) auto minmax(0,1fr);overflow:visible}.ple-safety-flow span{min-width:0}
@media(max-width:640px){.ple-safety-flow{display:flex;flex-direction:column}.ple-safety-flow i{transform:rotate(90deg)}}
.wrap h1,.wrap h2,.wrap h3,.wrap h4,.wrap h5,.wrap h6,.mttl,.exhead,.ple-tools button{font-family:"Trebuchet MS",Verdana,sans-serif!important}.wrap h1{font-weight:950;letter-spacing:-.035em}.ple-kicker,.code,.mnum,.badge,.ple-stat-row strong{font-family:"Arial Rounded MT Bold","Trebuchet MS",Verdana,sans-serif!important;letter-spacing:.035em}.ple-memory,.mmnote,.src{font-family:Georgia,"Times New Roman",serif!important;font-style:italic}.ple-memory b,.mmnote b,.src b{font-style:normal}.ple-start-card>p:not(.ple-kicker),.ple-update-intro{font-size:1.02rem}.ple-start-card h2 strong,.ple-atlas-head strong{color:var(--ple-gold)}
.ple-visual-atlas{margin:18px 0 24px;padding:clamp(16px,2.5vw,26px);border:2px solid rgba(255,255,255,.2);border-radius:26px;background:linear-gradient(145deg,rgba(8,30,63,.97),rgba(43,18,78,.96));box-shadow:0 22px 52px rgba(0,0,0,.34);scroll-margin-top:145px}.ple-atlas-head{display:flex;align-items:center;gap:14px;margin-bottom:16px}.ple-atlas-head>span{display:grid;place-items:center;flex:0 0 54px;width:54px;height:54px;border-radius:17px;background:linear-gradient(135deg,var(--ple-gold),var(--ple-pink));color:#211200;font-size:1.7rem}.ple-atlas-head h2{margin:0;font-size:clamp(1.5rem,3vw,2.25rem)}.ple-atlas-head p{margin:4px 0 0;color:#dfe9ff;font-size:.92rem}.ple-atlas-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:14px}.ple-diagram-card{position:relative;overflow:visible;padding:18px;border:2px solid rgba(255,255,255,.17);border-radius:21px;background:linear-gradient(155deg,rgba(5,14,40,.94),rgba(12,45,58,.9))}.ple-diagram-card h3{margin:0 78px 5px 0;font-size:1.2rem}.ple-diagram-card>p{margin:0 70px 14px 0;color:#dce7ff;font-size:.88rem}.ple-diagram-wide{grid-column:1/-1}.ple-system-map{display:grid;grid-template-columns:1fr 150px 1fr;grid-template-areas:"def bot control" "adapt bot perf";gap:10px;align-items:stretch}.ple-system-node{display:flex;flex-direction:column;justify-content:center;min-height:100px;padding:12px;border:1px solid rgba(255,255,255,.17);border-radius:15px;background:rgba(255,255,255,.08)}.ple-system-node:nth-child(1){grid-area:def;border-left:6px solid var(--ple-pink)}.ple-system-node:nth-child(2){grid-area:control;border-left:6px solid var(--ple-blue)}.ple-system-node:nth-child(4){grid-area:adapt;border-left:6px solid var(--ple-violet)}.ple-system-node:nth-child(5){grid-area:perf;border-left:6px solid var(--ple-teal)}.ple-system-node b{font-size:1rem}.ple-system-node small{margin-top:4px;color:#dfe8ff;line-height:1.35}.ple-system-bot{grid-area:bot;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:8px;border-radius:24px;background:radial-gradient(circle at 50% 30%,rgba(96,165,250,.3),rgba(124,58,237,.1) 55%,transparent 70%)}.ple-system-bot svg{width:130px;height:auto;filter:drop-shadow(0 12px 16px rgba(0,0,0,.35))}.ple-system-bot strong{margin-top:4px;color:var(--ple-gold);text-align:center;font-size:.84rem}.ple-priority-ladder{display:flex;flex-direction:column-reverse;gap:8px;margin-top:12px}.ple-priority-step{display:grid;grid-template-columns:42px 1fr;align-items:center;gap:10px;min-height:58px;padding:9px 12px;border-radius:14px;color:#fff}.ple-priority-step span{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:rgba(0,0,0,.75);font-weight:950;color:#fff}.ple-priority-step b{font-size:.95rem}.ple-priority-step small{display:block;font-size:.76rem;line-height:1.35}.ple-priority-step:nth-child(1){width:70%;background:#6d28d9}.ple-priority-step:nth-child(2){width:80%;background:#1d4ed8}.ple-priority-step:nth-child(3){width:90%;background:#0f766e}.ple-priority-step:nth-child(4){width:100%;background:#be185d}.ple-change-loop{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:22px;margin-top:15px}.ple-loop-step{position:relative;min-height:110px;padding:14px 10px;border:2px solid rgba(255,255,255,.18);border-radius:50% 50% 22px 22px;background:linear-gradient(155deg,rgba(124,58,237,.85),rgba(37,99,235,.76));text-align:center}.ple-loop-step:nth-child(even){background:linear-gradient(155deg,rgba(13,148,136,.86),rgba(8,47,73,.9))}.ple-loop-step:not(:last-child):after{content:'→';position:absolute;right:-22px;top:38%;color:var(--ple-gold);font-size:1.55rem;font-weight:950}.ple-loop-step span{display:block;font-size:1.45rem}.ple-loop-step b{display:block;margin:2px 0;font-size:.92rem}.ple-loop-step small{display:block;color:#feffff;font-size:.8rem;line-height:1.3}
.ple-card-bot{position:absolute;z-index:3;right:8px;top:-28px;width:82px;height:70px;pointer-events:none;filter:drop-shadow(0 8px 8px rgba(0,0,0,.34))}.ple-update-card,.exhead{position:relative;overflow:visible}.ple-update-card{padding-right:88px}.exhead{padding-right:102px}.ple-chunk-icon{display:inline-grid;place-items:center;flex:0 0 31px;width:31px;height:31px;margin-right:7px;border-radius:10px;background:linear-gradient(135deg,#1f5fc4,#5b34c9);color:#fff;font-size:1rem;box-shadow:inset 0 1px rgba(255,255,255,.35)}details.chunk.ple-chunk-meds{border-left-color:#f472b6}details.chunk.ple-chunk-labs{border-left-color:#60a5fa}details.chunk.ple-chunk-priority{border-left-color:#fbbf24}details.chunk.ple-chunk-teach{border-left-color:#2dd4bf}details.chunk.ple-chunk-danger{border-left-color:#fb7185}details.chunk.ple-chunk-assess{border-left-color:#a78bfa}
@media(max-width:900px){.ple-atlas-grid{grid-template-columns:1fr}.ple-diagram-wide{grid-column:auto}.ple-change-loop{grid-template-columns:repeat(3,minmax(0,1fr))}.ple-loop-step:nth-child(3):after{display:none}}
@media(max-width:640px){.ple-atlas-head{align-items:flex-start}.ple-atlas-head>span{flex-basis:46px;width:46px;height:46px}.ple-atlas-head h2{font-size:1.55rem}.ple-system-map{grid-template-columns:1fr;grid-template-areas:"bot" "def" "control" "adapt" "perf"}.ple-system-bot svg{width:112px}.ple-change-loop{grid-template-columns:1fr;gap:9px}.ple-loop-step{min-height:78px;border-radius:18px}.ple-loop-step:not(:last-child):after{content:'↓';right:auto;left:calc(50% - 8px);top:auto;bottom:-17px;z-index:2}.ple-priority-step:nth-child(n){width:100%}.ple-diagram-card{padding:14px}.ple-diagram-card h3{margin-right:58px}.ple-diagram-card>p{margin-right:0}.ple-card-bot{right:3px;top:-20px;width:66px}.ple-update-card{padding-right:16px;padding-top:58px}.exhead{padding-right:76px}.ple-chunk-icon{width:29px;height:29px;flex-basis:29px}}
@media(min-width:650px) and (max-width:900px){.wrap{max-width:860px;padding-left:18px;padding-right:18px}.ple-hero-grid{grid-template-columns:minmax(0,1.18fr) minmax(230px,.82fr)}.ple-robot-card{display:flex;flex-direction:column;text-align:center}.ple-exam-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ple-update-grid{grid-template-columns:1fr}.ple-update-card:nth-child(5){grid-column:auto}.ple-atlas-grid{grid-template-columns:1fr}.ple-system-map{grid-template-columns:1fr 135px 1fr}.ple-change-loop{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.ple-loop-step{min-height:105px;padding-left:7px;padding-right:7px}.ple-loop-step:not(:last-child):after{right:-14px;font-size:1.25rem}.ple-tools{width:min(620px,calc(100% - 24px))}.ple-tool-row button{flex:1 1 auto}}
.ple-chunk-tip{display:flex;align-items:center;gap:12px;margin:14px 0 20px;padding:14px 17px;border:2px solid rgba(255,255,255,.18);border-left:7px solid var(--ple-gold);border-radius:18px;background:linear-gradient(90deg,rgba(251,191,36,.16),rgba(124,58,237,.18));box-shadow:0 12px 28px rgba(0,0,0,.22)}.ple-chunk-tip>span{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;border-radius:14px;background:var(--ple-gold);color:#211400;font-size:1.35rem}.ple-chunk-tip strong{display:block;font-size:1.02rem}.ple-chunk-tip small{display:block;margin-top:2px;color:#e1e9ff;line-height:1.45}
.ple-bite-nav{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:0 12px 14px;padding:11px 12px;border:2px solid rgba(255,255,255,.18);border-radius:16px;background:linear-gradient(100deg,rgba(124,58,237,.28),rgba(13,148,136,.2));box-shadow:0 10px 24px rgba(0,0,0,.22)}.ple-bite-nav strong{font-size:.9rem}.ple-bite-status{min-width:108px;color:#dce8ff;font-size:.78rem;font-weight:850}.ple-bite-actions{display:flex;flex-wrap:wrap;gap:6px;margin-left:auto}.ple-bite-actions button{min-height:44px;padding:7px 10px;border:1px solid rgba(255,255,255,.22);border-radius:11px;background:#24335f;color:#fff;font:850 .78rem/1.15 "Trebuchet MS",Verdana,sans-serif;cursor:pointer}.ple-bite-actions button:hover,.ple-bite-actions button:focus-visible{outline:3px solid var(--ple-gold);outline-offset:2px}.ple-bite-actions .ple-bite-start{background:linear-gradient(135deg,#7c3aed,#2563eb)}.ple-bite-actions .ple-bite-stop{background:linear-gradient(135deg,#0f766e,#0369a1)}.ple-bite-prev,.ple-bite-next,.ple-bite-stop{display:none}.ple-bite-mode>.ple-bite-nav .ple-bite-prev,.ple-bite-mode>.ple-bite-nav .ple-bite-next,.ple-bite-mode>.ple-bite-nav .ple-bite-stop{display:inline-flex}.ple-bite-mode>.ple-bite-nav .ple-bite-start{display:none}details.mod.ple-bite-mode details.chunk:not(.ple-bite-current){display:none!important}details.mod.ple-bite-mode details.chunk.ple-bite-current{display:block!important;outline:4px solid var(--ple-gold);outline-offset:4px;margin-top:14px;margin-bottom:18px}details.mod.ple-bite-mode .ple-bite-current>summary{background:linear-gradient(100deg,rgba(251,191,36,.25),rgba(124,58,237,.2))}
body.ple-microchunks details.mod .mcard>ul,body.ple-microchunks details.mod .vcard>ul,body.ple-microchunks details.mod .mmcol>ul,body.ple-microchunks details.mod .altrow>ul{list-style-position:outside;padding-left:20px}body.ple-microchunks details.mod .mcard>ul>li,body.ple-microchunks details.mod .vcard>ul>li,body.ple-microchunks details.mod .mmcol>ul>li,body.ple-microchunks details.mod .altrow>ul>li{margin:8px 0;padding:10px 12px;border:1px solid rgba(255,255,255,.12);border-left:5px solid var(--ple-blue);border-radius:12px;background:rgba(255,255,255,.055);line-height:1.58}body.ple-microchunks details.mod li::marker{color:var(--ple-gold);font-weight:950}body.ple-microchunks details.mod .mcard>p:not(.src),body.ple-microchunks details.mod .vcard>p{margin:10px 0;padding:10px 12px;border-left:5px solid var(--ple-teal);border-radius:10px;background:rgba(45,212,191,.06);max-width:78ch}body.ple-microchunks details.mod dl>dt{margin-top:13px;padding:8px 11px;border-radius:10px;background:rgba(167,139,250,.12);font-size:1.02rem}body.ple-microchunks details.mod dl>dd{margin:5px 0 10px;padding:8px 11px;border-left:4px solid rgba(167,139,250,.6)}
@media(min-width:1050px){body.ple-microchunks details.mod .mcard>ul,body.ple-microchunks details.mod .vcard>ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px}body.ple-microchunks details.mod .mcard>ul>li,body.ple-microchunks details.mod .vcard>ul>li{margin:0}}
@media(max-width:640px){.ple-chunk-tip{align-items:flex-start;padding:12px}.ple-chunk-tip>span{flex-basis:38px;width:38px;height:38px}.ple-bite-nav{align-items:flex-start;margin-left:7px;margin-right:7px}.ple-bite-actions{width:100%;margin-left:0}.ple-bite-actions button{flex:1 1 45%}.ple-bite-status{margin-left:auto;text-align:right}}
.mcard.hy{position:relative;overflow:visible;border:3px solid rgba(251,191,36,.72)!important;border-top-width:8px!important;background:linear-gradient(150deg,rgba(45,20,83,.96),rgba(7,47,59,.96))!important;box-shadow:0 18px 42px rgba(0,0,0,.34),0 0 0 3px rgba(251,191,36,.1)!important}.mcard.hy>h4{display:flex;align-items:center;flex-wrap:wrap;gap:9px;margin-right:88px;font-size:1.28rem!important;color:#fff}.ple-high-badge{display:inline-flex;align-items:center;min-height:30px;padding:5px 9px;border-radius:999px;background:var(--ple-gold);color:#251600;font:950 .8rem/1 "Arial Rounded MT Bold","Trebuchet MS",sans-serif;letter-spacing:.05em}.mcard.hy details.chunk{border-left-width:7px;border-left-color:var(--ple-gold);background:rgba(6,14,42,.72);color:#fff}.mcard.hy details.chunk>summary{font-size:1.05rem;background:linear-gradient(90deg,rgba(251,191,36,.2),rgba(124,58,237,.18))}.mcard.hy ul{counter-reset:ple-high-fact}.mcard.hy ul>li{position:relative;padding:15px 15px 15px 58px!important;border:2px solid rgba(255,255,255,.16)!important;border-left:7px solid var(--ple-gold)!important;background:linear-gradient(145deg,rgba(255,255,255,.09),rgba(96,165,250,.06))!important;font-size:1.02rem!important;line-height:1.65!important}.mcard.hy ul>li:before{counter-increment:ple-high-fact;content:counter(ple-high-fact);display:grid;place-items:center;position:absolute;left:12px;top:14px;width:32px;height:32px;border-radius:11px;background:linear-gradient(135deg,var(--ple-pink),var(--ple-violet));color:#fff;font:950 .84rem/1 Verdana,sans-serif}.ple-high-only-btn[aria-pressed="true"]{background:var(--ple-gold)!important;color:#251600!important}.ple-high-only>.ple-bite-nav{border-color:var(--ple-gold);background:linear-gradient(100deg,rgba(251,191,36,.26),rgba(236,72,153,.18))}details.mod.ple-high-only>.body>*:not(.ple-high-branch){display:none!important}details.mod.ple-high-only .ple-high-branch{display:block!important}.ple-high-only .mcard.hy{outline:5px solid var(--ple-gold);outline-offset:5px;margin-top:18px}
@media(max-width:640px){.mcard.hy>h4{margin-right:48px;font-size:1.15rem!important}.mcard.hy ul>li{padding:13px 12px 13px 50px!important}.mcard.hy ul>li:before{left:9px;top:12px}.ple-high-badge{width:100%;justify-content:center}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
@media(prefers-contrast:more){.ple-dashboard,.ple-start-card,.ple-robot-card,.exsec,details.mod,.mcard,.vcard{border-color:#fff!important}.ple-muted{color:#fff}}
@media print{.ple-tools,.ple-skip,.ple-card-bot{display:none!important}.ple-dashboard{box-shadow:none;background:#fff;color:#111}.ple-dashboard *{color:#111!important}}
#adhdStudyTools,.adhd-guide{display:none!important}

/* the never-do rule is pale pink for a dark card; on a bright one it needs the dark
   form. This one keeps its specificity: .vnever is a leaf, not a container, so it
   has to beat .vbrief .vnever rather than lose to a nested panel. */
.card.topaz .never,.card.topaz .vnever,.vcard.topaz .never,.vcard.topaz .vnever,.vbrief .vcard.topaz .vnever,.vbrief .vcard.topaz .never,.card.teal .never,.card.teal .vnever,.vcard.teal .never,.vcard.teal .vnever,.vbrief .vcard.teal .vnever,.vbrief .vcard.teal .never,.card.citrine .never,.card.citrine .vnever,.vcard.citrine .never,.vcard.citrine .vnever,.vbrief .vcard.citrine .vnever,.vbrief .vcard.citrine .never,.card.emerald .never,.card.emerald .vnever,.vcard.emerald .never,.vcard.emerald .vnever,.vbrief .vcard.emerald .vnever,.vbrief .vcard.emerald .never{color:#4a0010;background:rgba(255,59,107,.98)}
section[style*="--topaz"] .card .never,section[style*="--topaz"] .card .vnever,section[style*="--teal"] .card .never,section[style*="--teal"] .card .vnever,section[style*="--citrine"] .card .never,section[style*="--citrine"] .card .vnever,section[style*="--emerald"] .card .never,section[style*="--emerald"] .card .vnever{color:#4a0010;background:rgba(255,59,107,.98)}

/* Nephrotic, Glomerulonephritis, Hyperaldosteronism: the words here are long
   and the screen may be narrow and magnified. Let them break rather than
   push the page sideways. */
h1,h2,h3,h4,h5,h6,figcaption,th,td,summary,label,.mttl,.ignm{overflow-wrap:break-word}

/* ---- subtopic wrappers inside the Active Learning Template slot ----
   Same markup as the NUR 234 module pages, which carried these rules
   inline. Here it was unstyled: the badge ran into the heading with no
   space ("Disorders of the Eye6 parts") and the jump chips were bare
   underlined links stacked on top of each other. */
.altwrap{margin:10px 0;border-radius:14px;border:1px solid rgba(255,255,255,.30);
 background:rgba(255,255,255,.07);overflow:hidden}
.altwrap>summary{list-style:none;cursor:pointer;display:flex;align-items:center;flex-wrap:wrap;
 gap:10px;padding:13px 15px;min-height:44px;box-sizing:border-box;font-weight:900;font-size:1rem;
 line-height:1.3;overflow-wrap:break-word}
.altwrap>summary::-webkit-details-marker{display:none}
.altwrap>summary::before{content:"\25B8";flex:0 0 auto;color:#ffd76a;font-size:1.05rem;
 transition:transform .15s}
.altwrap[open]>summary::before{transform:rotate(90deg)}
.altwrap[open]>summary{background:rgba(255,255,255,.11);
 border-bottom:1px solid rgba(255,255,255,.20)}
.altwrap>summary .awtag{margin-left:auto;flex:0 1 auto;font:900 .78rem/1.2 ui-monospace,
 Consolas,monospace;letter-spacing:.09em;text-transform:uppercase;opacity:.85;
 background:rgba(0,0,0,.34);border-radius:8px;padding:6px 8px}
.altwrap>.altpl{padding:0 12px 12px}
.subchips{display:flex;flex-wrap:wrap;gap:7px;margin:10px 0 4px}
.subchips a{display:inline-flex;align-items:center;min-height:44px;padding:8px 13px;
 border-radius:12px;text-decoration:none;color:#fff;font-weight:800;font-size:.86rem;
 border:1px solid rgba(255,255,255,.30);background:rgba(255,255,255,.11);
 overflow-wrap:break-word}
.subchips a:hover,.subchips a:focus{background:rgba(255,255,255,.25);outline:none}
.subchips .lbl{font:900 .78rem/1.2 ui-monospace,Consolas,monospace;letter-spacing:.12em;
 text-transform:uppercase;opacity:.8;width:100%;margin-bottom:-2px}

/* The "see all handouts" link is styled in absn-course.css, which the NUR 258
   module pages do not load - they use this sheet. Without it the link fell back
   to bare inline text: no button, and only 19px tall to aim at. */
a.igall{display:inline-flex;align-items:center;min-height:44px;box-sizing:border-box;
 margin:10px 0 2px;padding:10px 15px;border-radius:13px;font-weight:800;font-size:.94rem;
 line-height:1.35;text-decoration:none;color:#fff;background:rgba(82,39,125,.72);
 border:1px solid rgba(255,255,255,.34);overflow-wrap:anywhere}
a.igall:hover,a.igall:focus{background:rgba(124,58,237,.85)}
.ighandall{margin:8px 0 0}

/* Infographic links shown inside the topic they illustrate. The full list still
   lives in the page's Infographics section; this puts the ones that belong to a
   single disorder right where she is reading about it. */
.dxig{display:flex;flex-wrap:wrap;align-items:center;gap:8px;
 margin:0 0 14px;padding:10px 12px;border-radius:12px;
 background:rgba(124,58,237,.16);border:1px solid rgba(255,255,255,.20)}
.dxigl{font-size:.82rem;font-weight:900;letter-spacing:.05em;text-transform:uppercase;
 color:#ffd75e;flex:0 0 auto}
.dxig a{display:inline-flex;align-items:center;min-height:44px;padding:8px 13px;
 border-radius:11px;text-decoration:none;color:#fff;font-weight:800;font-size:.92rem;
 line-height:1.3;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.26);
 overflow-wrap:anywhere}
.dxig a:hover{background:rgba(255,255,255,.26)}
.dxig a:focus-visible{outline:3px solid #ffd75e;outline-offset:3px}
@media print{.dxig{display:none}}
