:root{
  --mp-ink:#f8fbff;
  --mp-muted:#dbe7f8;
  --mp-night:#070b1e;
  --mp-panel:rgba(12,20,48,.96);
  --mp-panel2:rgba(20,30,67,.94);
  --mp-teal:#35e0c2;
  --mp-gold:#ffd166;
  --mp-pink:#ff70b7;
  --mp-blue:#78b8ff;
  --mp-purple:#bba0ff;
  --mp-focus:#fff7bd;
}
html{font-size:18px;scroll-padding-top:7rem}
body.ple-module-page{
  margin:0;
  min-height:100vh;
  color:var(--mp-ink);
  font-family:Verdana,"Atkinson Hyperlegible","Segoe UI",sans-serif;
  font-size:1rem;
  line-height:1.72;
  background:
    radial-gradient(circle at 7% 12%,rgba(124,58,237,.34),transparent 27rem),
    radial-gradient(circle at 94% 8%,rgba(13,148,136,.28),transparent 25rem),
    linear-gradient(145deg,#080b20 0%,#11193c 49%,#071725 100%);
  background-attachment:fixed;
}
.ple-module-page *{box-sizing:border-box}
.ple-module-page :focus-visible{outline:4px solid var(--mp-focus);outline-offset:4px}
.ple-module-page a{color:#9fe7ff}
.ple-module-page p,.ple-module-page li,.ple-module-page dd{max-width:76ch}
.ple-module-skip{position:fixed;left:1rem;top:-6rem;z-index:9999;background:#fff;color:#07101f!important;padding:.8rem 1.1rem;border-radius:.75rem;font-weight:900}
.ple-module-skip:focus{top:1rem}

.ple-module-bar{
  position:sticky;top:0;z-index:100;
  display:flex;gap:.55rem;align-items:center;flex-wrap:wrap;
  padding:.65rem max(.75rem,calc((100vw - 1180px)/2));
  background:rgba(4,8,24,.96);border-bottom:2px solid rgba(255,255,255,.2);
  box-shadow:0 .5rem 1.5rem rgba(0,0,0,.34);
;color:#fff}
.ple-module-bar a,.ple-module-bar button,.ple-module-actions a,.ple-module-actions button,.ple-module-footer a{
  min-height:2.9rem;display:inline-flex;align-items:center;justify-content:center;gap:.35rem;
  border:2px solid rgba(255,255,255,.3);border-radius:.85rem;padding:.58rem .85rem;
  background:#192552;color:#fff;text-decoration:none;font:900 .9rem/1.2 Verdana,sans-serif;
  cursor:pointer;box-shadow:0 .25rem .7rem rgba(0,0,0,.2);
}
.ple-module-bar a:hover,.ple-module-bar button:hover,.ple-module-actions a:hover,.ple-module-actions button:hover,.ple-module-footer a:hover{background:#293b7b;border-color:#fff}
.ple-module-bar .ple-bar-title{margin-right:auto;font:900 .92rem/1.25 "Trebuchet MS",Verdana,sans-serif;color:#d8faff}
.ple-module-bar button[aria-pressed="true"],.ple-module-actions button[aria-pressed="true"]{background:#7136c9;border-color:#e7d6ff}

.ple-module-shell{width:min(1180px,100%);margin:0 auto;padding:1rem clamp(.8rem,2vw,1.5rem) 6rem}
.ple-module-hero{
  --module-tone:#8b5cf6;
  position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1fr) minmax(210px,310px);gap:1.25rem;align-items:center;
  margin:.5rem 0 1rem;padding:clamp(1.25rem,3vw,2.2rem);border:2px solid rgba(255,255,255,.28);border-radius:1.6rem;
  background:linear-gradient(135deg,rgba(10,18,45,.97),rgba(35,27,78,.96));
  box-shadow:0 1.1rem 3rem rgba(0,0,0,.4),inset 0 0 0 1px rgba(255,255,255,.08);
}
.ple-module-hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 88% 20%,color-mix(in srgb,var(--module-tone) 45%,transparent),transparent 20rem);pointer-events:none}
.ple-module-copy{position:relative;z-index:1}
.ple-module-eyebrow{margin:0 0 .35rem;color:var(--mp-gold);font:900 .86rem/1.2 Verdana,sans-serif;text-transform:uppercase;letter-spacing:.11em}
.ple-module-hero h1{margin:.2rem 0 .55rem;font:900 clamp(2rem,5vw,3.8rem)/1.05 "Trebuchet MS",Verdana,sans-serif;letter-spacing:-.035em}
.ple-module-hero h1 strong{color:#c9fff2}
.ple-module-hero p{margin:.45rem 0;color:var(--mp-muted);font-size:1.05rem}
.ple-module-badges{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:1rem}
.ple-module-badges span{display:inline-flex;align-items:center;gap:.35rem;padding:.42rem .7rem;border-radius:999px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);font-weight:900;font-size:.83rem}
.ple-module-robot{position:relative;z-index:1;width:min(100%,300px);margin:auto;filter:drop-shadow(0 .8rem 1rem rgba(0,0,0,.4))}
.ple-module-robot svg{display:block;width:100%;height:auto}

.ple-module-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin:0 0 1rem}
.ple-choice{position:relative;overflow:hidden;padding:1rem;border:2px solid rgba(255,255,255,.21);border-radius:1.15rem;background:rgba(19,30,67,.94);color:#fff;text-align:left;font:inherit;cursor:pointer;box-shadow:0 .45rem 1.2rem rgba(0,0,0,.24)}
.ple-choice:hover{transform:translateY(-2px);border-color:#fff;background:#263871}
.ple-choice:before{content:"";position:absolute;left:0;top:0;bottom:0;width:.4rem;background:var(--choice,#8b5cf6)}
.ple-choice:nth-child(1){--choice:var(--mp-gold)}.ple-choice:nth-child(2){--choice:var(--mp-purple)}.ple-choice:nth-child(3){--choice:var(--mp-teal)}
.ple-choice span{font-size:1.65rem}.ple-choice h2{margin:.2rem 0 .25rem;font:900 1.15rem/1.2 "Trebuchet MS",Verdana,sans-serif}.ple-choice p{margin:0;color:#dbe7f8;font-size:.9rem;line-height:1.55}

/* This bar was sticky at top:4.4rem on anything wider than 760px. Two rules
   further down already made it static on a phone, so the fault only showed
   on a laptop: it stranded itself mid-screen and sat on top of whatever was
   being read. It cannot go in the drawer either, because it holds the module
   search box and hidebar deliberately leaves those alone. So it is static
   everywhere now - the same as the phone already had, and the same as the
   Menu launcher. It scrolls with the page and covers nothing. */
.ple-module-actions{
  position:static;top:auto;z-index:90;display:flex;gap:.55rem;align-items:center;flex-wrap:wrap;
  margin:0 0 1rem;padding:.7rem;border:2px solid #a996ff;border-radius:1rem;background:rgba(30,20,72,.98);box-shadow:0 .7rem 1.6rem rgba(0,0,0,.38)
;color:#fff}
.ple-module-actions .ple-action-label{font:900 .92rem/1.2 "Trebuchet MS",Verdana,sans-serif;color:#f3edff;margin-right:auto}
.ple-module-actions .ple-action-status{min-width:9rem;text-align:center;color:#e9e2ff;font-weight:800;font-size:.82rem}
.ple-module-actions input{flex:1 1 13rem;min-height:2.9rem;border:2px solid rgba(255,255,255,.28);border-radius:.8rem;padding:.55rem .75rem;background:#080f2a;color:#fff;font:800 .88rem Verdana,sans-serif}.ple-module-actions input::placeholder{color:#c7d5f0}
.ple-module-actions .ple-high-button{background:#7a5410;border-color:#ffd166}.ple-module-actions .ple-bite-button{background:#6538b8;border-color:#cdb9ff}.ple-module-actions .ple-all-button{background:#0d675d;border-color:#72f0db}

.ple-module-page details.mod{margin:0;border:2px solid rgba(255,255,255,.25);border-radius:1.35rem;background:rgba(16,27,61,.95);box-shadow:0 1rem 2.6rem rgba(0,0,0,.38);overflow:visible;color:#fff}
.ple-module-page details.mod>summary{position:relative;z-index:2;border-radius:1.2rem;background:linear-gradient(90deg,#182456,#26356f);font:900 clamp(1.05rem,2.6vw,1.35rem)/1.25 "Trebuchet MS",Verdana,sans-serif;padding:1rem 1.1rem}
.ple-module-page details.mod[open]>summary{border-radius:1.2rem 1.2rem 0 0;border-bottom:2px solid rgba(255,255,255,.18)}
.ple-module-page .body{padding:1rem clamp(.75rem,2vw,1.25rem) 1.4rem}
.ple-module-page .rdg{display:inline-flex;margin:.2rem 0 1rem;padding:.5rem .75rem;border-radius:.75rem;background:#173f59;color:#d9f7ff;font-weight:900}
.ple-module-page .mcard,.ple-module-page .slot,.ple-module-page .vcard,.ple-module-page .vtw,.ple-module-page .altpl,.ple-module-page figure{
  border-width:2px!important;box-shadow:0 .65rem 1.45rem rgba(0,0,0,.28);scroll-margin-top:9rem
}
.ple-module-page .mcard h4,.ple-module-page .slot h4{font-family:"Trebuchet MS",Verdana,sans-serif;font-size:clamp(1.15rem,2.7vw,1.45rem);letter-spacing:.01em}
.ple-module-page .mcard.hy{
  position:relative;isolation:isolate;margin-top:1rem;padding-top:1.5rem!important;
  color:#fff9dc!important;background:linear-gradient(145deg,#4f3606,#6b4510 55%,#34220d)!important;
  border:3px solid var(--mp-gold)!important;border-left-width:.7rem!important;
  box-shadow:0 0 0 .22rem rgba(255,209,102,.17),0 1rem 2.4rem rgba(0,0,0,.42)!important
}
.ple-module-page .mcard.hy:before{content:"⭐ EXAM SPOTLIGHT";display:inline-flex;margin:0 0 .75rem;padding:.35rem .65rem;border-radius:999px;background:#fff0a6;color:#322000;font:900 .78rem/1 Verdana,sans-serif;letter-spacing:.05em}
.ple-module-page .mcard.hy h4{margin:.1rem 5.5rem .75rem 0!important;font-size:clamp(1.35rem,3.5vw,1.85rem)!important;color:#fff7c2!important}
.ple-module-page .mcard.hy li{position:relative;margin:.6rem 0!important;padding:.78rem .8rem .78rem 3rem!important;border:1px solid rgba(255,233,152,.42);border-radius:.85rem;background:rgba(16,15,30,.55);line-height:1.65;max-width:none;counter-increment:hyfact;color:#fff}
.ple-module-page .mcard.hy ul{counter-reset:hyfact;list-style:none!important;padding-left:0!important}
.ple-module-page .mcard.hy li:before{content:counter(hyfact);position:absolute;left:.7rem;top:.72rem;width:1.65rem;height:1.65rem;border-radius:50%;display:grid;place-items:center;background:var(--mp-gold);color:#271800;font-weight:900;font-size:.8rem}
.ple-module-page .mcard.hy .ple-high-robot{position:absolute;right:.4rem;top:.4rem;width:5.2rem;z-index:-1;opacity:.95}

.ple-module-page details.chunk{margin:.55rem 0;border:2px solid rgba(185,204,255,.22)!important;border-radius:1rem!important;background:rgba(8,15,39,.54)!important;overflow:hidden;color:#fff}
.ple-module-page details.chunk>summary{min-height:3rem;display:flex;align-items:center;gap:.5rem;padding:.72rem .85rem!important;background:rgba(59,79,142,.38);font-weight:900!important;font-size:.96rem!important}
.ple-module-page details.chunk[open]>summary{background:rgba(78,106,187,.5)}
.ple-module-page details.chunk>ul,.ple-module-page details.chunk>.altrow,.ple-module-page details.chunk>div{margin:.55rem!important}
.ple-module-page details.chunk:not(.ple-bite-current):not(.ple-bite-path){transition:none}
.ple-module-page .ple-chunk-icon{display:grid;place-items:center;flex:0 0 2rem;width:2rem;height:2rem;border-radius:.65rem;background:rgba(255,255,255,.13);font-size:1.08rem}

.ple-module-page .qz{font-size:1rem}.ple-module-page .qz label{min-height:3.2rem;padding:.75rem!important}.ple-module-page .qbtn{min-height:3rem;font-size:1rem!important}
.ple-module-page .ple-quiz-intro{padding:.7rem .85rem;border-radius:.75rem;background:#162a55;color:#e7f6ff;font-weight:800}

body.ple-bite-on details.chunk:not(.ple-bite-current):not(.ple-bite-path){display:none!important}
body.ple-bite-on details.chunk.ple-bite-path{display:block!important}
body.ple-bite-on.ple-bite-fallback details.mod>.body>*:not(.ple-bite-current){display:none!important}
body.ple-high-on details.mod>.body>*:not(.hy){display:none!important}
body.ple-high-on details.mod>.body>.hy{display:block!important}
body.ple-high-on .ple-module-choices{display:none}
body.ple-high-on .ple-module-actions{border-color:var(--mp-gold);background:rgba(77,51,10,.98);color:#fff}

.ple-module-footer{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:.75rem;align-items:center;margin:1.2rem 0 0;padding:1rem;border:2px solid rgba(255,255,255,.2);border-radius:1.1rem;background:rgba(16,27,61,.93);color:#fff}
.ple-module-footer .next{justify-self:end}.ple-module-footer .hub{background:#0c665b;border-color:#6df0d9}.ple-module-footer a[aria-disabled="true"]{visibility:hidden}
.ple-module-live{position:fixed;left:-9999px;width:1px;height:1px;overflow:hidden}

body.ple-roomy .ple-module-shell{max-width:1040px}body.ple-roomy p,body.ple-roomy li,body.ple-roomy td,body.ple-roomy th{line-height:1.95!important}body.ple-roomy .mcard,body.ple-roomy .slot{margin-bottom:1.25rem!important}
@media (max-width:760px){
  html{font-size:17px}.ple-module-bar{padding:.4rem;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.35rem}.ple-module-bar .ple-bar-title{display:none}.ple-module-bar a,.ple-module-bar button{width:100%;padding:.42rem .35rem;font-size:.78rem;min-height:44px;white-space:normal;text-align:center}.ple-module-bar a:first-child{grid-column:1/2}
  .ple-module-shell{padding:.6rem .55rem 5rem}.ple-module-hero{grid-template-columns:minmax(0,1fr);padding:1.1rem}.ple-module-robot{width:min(100%,190px)}.ple-module-choices{grid-template-columns:1fr}.ple-choice{display:grid;grid-template-columns:auto 1fr;column-gap:.7rem}.ple-choice span{grid-row:1/3}.ple-choice h2{margin-top:0}
  .ple-module-actions{position:static;top:auto;padding:.5rem}.ple-module-actions .ple-action-label{width:100%}.ple-module-actions a,.ple-module-actions button{flex:1 1 8rem;font-size:.8rem;padding:.5rem}.ple-module-actions .ple-action-status{width:100%;order:5}
  .ple-module-page .body{padding:.7rem .5rem 1rem}.ple-module-page details.mod>summary{padding:.85rem .7rem}.ple-module-page .mcard.hy h4{margin-right:0!important;padding-right:4.3rem}.ple-module-page .mcard.hy .ple-high-robot{width:4.2rem}
  .ple-module-page .vtw{overflow-x:auto}.ple-module-page table{min-width:620px}.ple-module-footer{grid-template-columns:minmax(0,1fr)}.ple-module-footer .hub{grid-column:1/3;grid-row:1}.ple-module-footer .next{justify-self:stretch}
}
@media (min-width:600px) and (max-width:900px) and (min-height:700px){
  body.ple-module-page{font-size:1.06rem}.ple-module-shell{width:100%;padding-left:1rem;padding-right:1rem}.ple-module-choices{grid-template-columns:repeat(3,1fr)}.ple-module-hero{grid-template-columns:minmax(0,1fr) minmax(0,230px)}.ple-module-bar{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.4rem;padding:.45rem}.ple-module-bar .ple-bar-title{display:none}.ple-module-bar a,.ple-module-bar button{width:100%;white-space:normal;text-align:center}.ple-module-actions{position:static;top:auto}
}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
@media print{.ple-module-bar,.ple-module-actions,.ple-module-footer,.ple-module-choices{display:none!important}body.ple-module-page{background:#fff!important;color:#111!important}.ple-module-shell{max-width:none;padding:0}.ple-module-hero,details.mod{box-shadow:none!important;background:#fff!important;color:#111!important;border-color:#555!important}.ple-module-page details{display:block!important}.ple-module-page details>*{display:block!important}}

/* ---- per-disorder six-section cards ---------------------------------
   Every disorder gets the same six headings in the same order, so the
   section she wants is always in the same place. Closed by default: the
   page opens short and she chooses what to open. */
.dxlead{margin:0 0 11px;padding:13px 15px;border-radius:13px;
 background:rgba(0,0,0,.58);border:1px solid rgba(255,255,255,.30);
 border-left:5px solid rgba(126,232,255,.70)}
.dxlead h4{margin:0 0 6px;font-size:1.08rem;line-height:1.3;font-weight:900;
 color:#fff;overflow-wrap:break-word}
.dxlead p{margin:0 0 10px;font-size:.95rem;line-height:1.6;color:#eef3ff}
.dxjump{display:flex;flex-wrap:wrap;gap:8px}
.dxjump a{display:flex;align-items:center;gap:7px;min-height:44px;min-width:0;
 padding:9px 13px;border-radius:11px;font-size:.92rem;font-weight:800;
 line-height:1.25;text-decoration:none;color:#08131c;background:#9fe4ff;
 border:1px solid rgba(0,0,0,.40);overflow-wrap:break-word}
.dxjump a:hover{background:#d7f4ff}
.dxjump a:focus-visible{outline:3px solid #ffd166;outline-offset:2px}

details.dx{--j:157,92,255;margin:0 0 11px;border-radius:14px;overflow:hidden;
 border:1px solid rgba(255,255,255,.30);border-left:5px solid rgba(var(--j),.95);
 background:rgba(9,6,26,.93);box-shadow:0 6px 18px rgba(0,0,0,.32)}
details.dx.ruby{--j:200,0,49}
details.dx.garnet{--j:184,33,82}
details.dx.emerald{--j:19,190,138}
details.dx.sapphire{--j:2,75,255}
details.dx.teal{--j:0,194,199}
details.dx.citrine{--j:255,138,61}
details.dx.topaz{--j:255,194,51}
details.dx.amethyst{--j:157,92,255}
details.dx > summary{cursor:pointer;list-style:none;display:flex;flex-wrap:wrap;
 align-items:center;gap:9px;min-height:48px;padding:11px 14px;
 font-weight:900;font-size:1.04rem;line-height:1.3;color:#fff;
 background:rgba(var(--j),.62);text-shadow:0 1px 3px rgba(0,0,0,.55)}
details.dx > summary::-webkit-details-marker{display:none}
details.dx > summary:focus-visible{outline:3px solid #ffd166;outline-offset:-3px}
details.dx.topaz > summary{color:#161002;text-shadow:none}
.dxchev{font-size:1rem;opacity:.9;transition:transform .15s ease}
details.dx[open] > summary .dxchev{transform:rotate(90deg)}
.dxic{font-size:1.15rem;line-height:1}
.dxttl{flex:1 1 8rem;min-width:0;overflow-wrap:break-word}
.dxflag{order:2;flex:1 1 100%;font-size:.76rem;font-weight:900;letter-spacing:.03em;
 text-transform:uppercase;padding:4px 9px;border-radius:999px;
 background:#160b16;color:#ffd9e2;border:1px solid rgba(255,255,255,.45);
 text-shadow:none;overflow-wrap:break-word;max-width:100%}
.dxmore{order:1;flex:0 0 auto;margin-left:auto;font-size:.8rem;font-weight:800;opacity:.92}
details.dx > summary .dxopen{display:none}
details.dx[open] > summary .dxshut{display:none}
details.dx[open] > summary .dxopen{display:inline}

.dxbody{padding:12px 14px 14px;display:grid;grid-template-columns:minmax(0,1fr);gap:10px}
.dxsec{min-width:0;padding:11px 13px;border-radius:11px;background:rgba(255,255,255,.07);
 border:1px solid rgba(255,255,255,.16);border-left:4px solid rgba(var(--j),.85)}
.dxsec h5{margin:0 0 6px;font-size:.98rem;font-weight:900;line-height:1.3;
 color:#fff;display:flex;gap:8px;align-items:baseline;overflow-wrap:break-word}
.dxsec p{margin:0;font-size:.96rem;line-height:1.65;color:#f2f4ff;
 overflow-wrap:anywhere}
.dxsec b,.dxsec strong{color:#fff}
.dxsec i,.dxsec em{color:#ffe6a8;font-style:italic}
.dxsec u{text-decoration-color:#ff8fa8;text-underline-offset:3px}
.dxsec code{background:rgba(255,255,255,.16);color:#fff;font-weight:800;
 padding:1px 6px;border-radius:6px;font-size:.94em}
@media (max-width:420px){
  details.dx > summary{font-size:1rem;padding:11px 11px}
  .dxjump a{flex:1 1 100%}
  .dxbody{padding:10px 10px 12px}
  .dxsec{padding:10px 11px}
}
@media print{.dxbody{display:block!important}details.dx{break-inside:avoid}}

/* A search input keeps its intrinsic size (~249px) unless told otherwise, and the
   hero robot was pinned at 190px - together they pushed every module page sideways
   at 175-200% zoom, where the viewport is narrower than either. */
#moduleSearch,.ple-module-actions input,.ple-module-actions select{max-width:100%;min-width:0;box-sizing:border-box}
.ple-module-actions{flex-wrap:wrap;max-width:100%}
.ple-module-footer a{min-width:0;overflow-wrap:break-word}
.iggrid{grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr))}
.igcard{min-width:0;max-width:100%}
.igcard .ignm,.igcard .igsub{min-width:0;overflow-wrap:break-word}
