@font-face{font-family:Poppins;font-weight:400;src:url(/static/fonts/poppins-latin-400-normal.woff2) format("woff2");font-display:swap}
@font-face{font-family:Poppins;font-weight:600;src:url(/static/fonts/poppins-latin-600-normal.woff2) format("woff2");font-display:swap}
@font-face{font-family:Inter;font-weight:100 900;src:url(/static/fonts/inter-latin-wght-normal.woff2) format("woff2");font-display:swap}
:root{--navy:#14213d;--navy2:#1d2b4f;--gold:#79b8f6;--gold2:#5aa5f0;--goldtxt:#1f74c9;--cream:#fbf8f2;--line:#e7e2d8;--muted:#5f6577}
*{box-sizing:border-box}html,body{margin:0;height:100%}
body{font-family:Inter,system-ui,sans-serif;color:var(--navy);background:#f3efe7;-webkit-font-smoothing:antialiased}
button,input,select{font:inherit;color:inherit}button{cursor:pointer}
.ico{width:1.15em;height:1.15em;flex:none;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

/* ---------- sign in (PDF p3) ---------- */
.si{display:grid;grid-template-columns:51% 49%;min-height:100vh}
.si-art{background:url(img/signin-art.webp) left top/cover no-repeat}
.si-panel{background:var(--cream);position:relative;padding:2.4vw 3vw 2vw 3vw;display:flex;flex-direction:column;overflow:hidden}
.si-leaf{position:absolute;right:0;top:9.5%;width:4vw;max-width:62px}
.si-top{display:flex;align-items:center;gap:1vw}
.si-logo{height:clamp(34px,4.3vw,62px)}
.si-tabs{margin-left:auto;display:flex;gap:.8vw}
.tab{display:flex;align-items:center;gap:.5em;border:1.5px solid var(--line);background:#fff;border-radius:999px;padding:.7em 1.1em;font-size:clamp(12px,.95vw,14px);font-weight:600}
.tab.on{border-color:#8ebff0;background:#fffaf0;box-shadow:0 0 0 3px #fdf3dc}
.si h1{font-family:Poppins,Inter,sans-serif;font-weight:600;font-size:clamp(30px,3.9vw,58px);line-height:1.08;letter-spacing:-.02em;margin:3.2vw 0 .6vw}
.si-sub{font-size:clamp(14px,1.4vw,20px);color:#4c5367;margin:0 0 1.9vw}
.steps{display:flex;align-items:center;gap:1vw;font-weight:600;font-size:clamp(13px,1.15vw,17px);margin-bottom:1.6vw}
.step{display:flex;align-items:center;gap:.6em}.dot{width:2em;height:2em;border-radius:50%;display:grid;place-items:center;font-size:.85em;background:#e9e5dc;color:#6b7080}
.step.done .dot{background:var(--navy);color:#fff}.step.cur{color:var(--goldtxt)}.step.cur .dot{background:var(--gold);color:var(--navy)}
.bar{flex:0 0 6vw;height:2px;background:var(--gold)}
.card{background:#fff;border:1px solid #eee8dc;border-radius:16px;padding:1.6vw 1.3vw;box-shadow:0 8px 30px rgba(20,33,61,.06)}
.row{display:grid;grid-template-columns:2.4em 9em 1fr;align-items:center;gap:.4em;margin-bottom:1vw;font-size:clamp(13px,1.05vw,15px)}
.row .ico{width:1.5em;height:1.5em;color:var(--navy2);stroke-width:1.7}
.fld{height:clamp(42px,3.3vw,48px);border:1.5px solid #e2ddd2;border-radius:10px;padding:0 1em;background:#fff;width:100%;font-size:clamp(14px,1.1vw,16px);appearance:none}
select.fld{background:#fff url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="%2314213d" stroke-width="2.4"><path d="m6 9 6 6 6-6"/></svg>') right 1em center no-repeat;padding-right:2.6em}
.fld:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px #d0e6fc}
.world-sel{position:relative}.world-sel img{position:absolute;z-index:1;left:.5em;top:50%;transform:translateY(-50%);height:68%;border-radius:6px}.world-sel select{padding-left:5.2em}
.btn-gold{width:100%;height:clamp(48px,4vw,58px);border:0;border-radius:999px;background:var(--gold);font-weight:600;font-size:clamp(15px,1.25vw,18px);display:flex;align-items:center;justify-content:center;gap:.6em;margin-top:.4vw;color:var(--navy)}
.btn-gold:hover{background:var(--gold2)}.btn-gold:disabled{opacity:.6;cursor:wait}
.note{margin-top:1.1vw;background:#f3f2f0;border-radius:10px;padding:.9em 1em;display:flex;gap:.8em;align-items:center;color:#5c6274;font-size:clamp(12px,.95vw,14px)}
.note .ico{width:1.4em;height:1.4em}
.testcode{margin-top:.9vw;background:#fff7e3;border:1px dashed #79b8f6;border-radius:10px;padding:.7em 1em;font-size:14px}
.testcode b{font-size:18px;letter-spacing:.15em}
.err{color:#b4232c;font-size:14px;margin:.4em 0 0;min-height:1.2em}
.link{background:none;border:0;color:var(--goldtxt);font-weight:600;padding:.4em 0;text-decoration:underline}

/* ---------- campus (PDF p6) ---------- */
.campus{position:fixed;inset:0;overflow:hidden;background:#cfe1ee}
.campus:before{content:'';position:absolute;inset:-40px;background:url(img/campus.webp) center bottom/cover;filter:blur(18px) brightness(1.02)}
:root{--ww:100vw;--hh:calc(var(--ww)*60/1024);--hu:calc(var(--ww)/1024)}
.world{position:absolute;left:50%;top:0;width:var(--ww);height:calc(var(--ww)/1.7768);transform:translateX(-50%);container-type:inline-size}
.world>img{position:absolute;inset:0;width:100%;height:100%;display:block;user-select:none;-webkit-user-drag:none}
.u{--u:calc(100cqw/1024)}
.hdr{position:fixed;left:0;right:0;top:0;z-index:20;height:var(--hh);background:#fbf8f2;display:flex;align-items:center;padding:0 2.6vw;box-shadow:0 1px 0 rgba(0,0,0,.04)}
.hdr-logo{height:58%}
.hdr-mid{position:absolute;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:1.4vw;font-family:Poppins,Inter,sans-serif;font-weight:600;font-size:clamp(15px,1.65vw,24px);white-space:nowrap}
.pill-grade{background:#b6d7f8;border-radius:999px;padding:.35em .95em;font-size:.72em}
.hdr-r{margin-left:auto;display:flex;align-items:center;gap:1.2vw;font-size:clamp(12px,.95vw,14px);font-weight:500}
.hbtn{display:flex;align-items:center;gap:.5em;background:none;border:0;padding:.55em .7em;border-radius:999px}
.hbtn.out{border:1.5px solid #e1ddd5;background:#fff;padding:.6em 1.1em}
.hbtn.on{background:var(--navy);color:#fff;border-color:var(--navy)}
.hbtn .help{width:1.5em;height:1.5em;border-radius:50%;background:var(--navy);color:#fff;display:grid;place-items:center;font-weight:700;font-size:.85em}
.vsep{width:1px;height:2.2em;background:#ddd}
.me{display:flex;align-items:center;gap:.4em;background:none;border:0;padding:0}
.me img{height:clamp(36px,3.4vw,48px);width:clamp(36px,3.4vw,48px);border-radius:50%;border:2px solid var(--gold);object-fit:cover}
.next{position:absolute;z-index:10;left:calc(509*var(--u));transform:translateX(-50%);top:calc(66*var(--u));min-width:calc(442*var(--u));max-width:calc(600*var(--u));height:calc(69*var(--u));background:rgba(255,255,255,.96);border-radius:calc(12*var(--u));box-shadow:0 6px 24px rgba(20,33,61,.14);display:flex;align-items:center;padding:0 calc(14*var(--u)) 0 calc(12*var(--u));gap:calc(10*var(--u));font-size:calc(11*var(--u))}
.tav{width:calc(55*var(--u));height:calc(55*var(--u));border-radius:50%;background:linear-gradient(135deg,#2b3d6b,#14213d);color:#fff;display:grid;place-items:center;font-family:Poppins;font-weight:600;font-size:calc(20*var(--u));flex:none;border:2px solid #fff;box-shadow:0 0 0 1px #e7e2d8}
.next-txt{flex:1;min-width:0;padding-right:calc(14*var(--u));line-height:1.3}.next-k{color:#5f6577;font-size:calc(10*var(--u))}
.next-t{font-family:Poppins;font-weight:600;font-size:calc(14*var(--u));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.next-w{color:#4c5367;font-size:calc(11.5*var(--u))}
.bjoin{background:var(--gold);border:0;border-radius:calc(7*var(--u));height:calc(29*var(--u));padding:0 calc(14*var(--u));display:flex;align-items:center;gap:calc(7*var(--u));font-weight:600;font-size:calc(11*var(--u))}
.bbook{background:#fff;border:1px solid #e3ded4;border-radius:calc(7*var(--u));height:calc(29*var(--u));padding:0 calc(12*var(--u));display:flex;align-items:center;gap:calc(7*var(--u));font-weight:500;font-size:calc(10.5*var(--u))}
.nsep{width:1px;align-self:stretch;margin:calc(14*var(--u)) 0;background:#e5e1d9}
.lbl{position:absolute;z-index:6;transform:translate(-50%,-50%);display:flex;align-items:center;gap:calc(6*var(--u));color:#fff;background:rgba(30,38,58,.72);border:0;border-radius:calc(8*var(--u));padding:calc(4*var(--u)) calc(9*var(--u));font-weight:600;font-size:calc(12.5*var(--u));white-space:nowrap;text-shadow:0 1px 2px rgba(0,0,0,.3)}
.lbl.big{font-size:calc(15.5*var(--u));padding:calc(8*var(--u)) calc(14*var(--u));background:rgba(25,32,48,.82)}
.lbl.stack{flex-direction:column;gap:calc(2*var(--u));font-size:calc(9.5*var(--u));background:rgba(30,38,58,.6)}
.lbl.tut{flex-direction:column;gap:calc(3*var(--u));font-size:calc(15*var(--u));background:none;padding:0;text-shadow:0 1px 3px rgba(0,0,0,.6)}
.lbl.tut .ico{width:calc(26*var(--u));height:calc(26*var(--u));padding:calc(5*var(--u));border-radius:50%;background:#1f2f57;border:2px solid #a8c8e7;box-sizing:border-box}
.lbl.tut span{background:rgba(30,40,70,.6);border-radius:calc(6*var(--u));padding:calc(2*var(--u)) calc(8*var(--u))}
.bld{position:absolute;inset:0;width:100%;height:100%;z-index:5}
.bld polygon{fill:transparent;stroke:transparent;cursor:pointer;transition:fill .2s,stroke .2s,filter .2s;outline:none}
.bld polygon:hover,.bld polygon.hi{fill:rgba(176,213,249,.16);stroke:rgba(148,198,247,.95);stroke-width:2.5;filter:drop-shadow(0 0 6px rgba(120,183,245,.9))}
.hint{position:fixed;z-index:12;left:50%;transform:translateX(-50%);bottom:calc(var(--hu)*18);background:rgba(255,255,255,.95);border-radius:999px;padding:.7em 1.4em;display:flex;align-items:center;gap:.7em;font-size:clamp(12px,.98vw,14px);font-weight:500;box-shadow:0 4px 16px rgba(0,0,0,.12);white-space:nowrap}
.menu{position:fixed;z-index:30;right:2vw;top:calc(var(--hh) + 6px);background:#fff;border-radius:14px;box-shadow:0 12px 40px rgba(20,33,61,.18);min-width:250px;padding:8px}
.menu .who{padding:10px 12px;border-bottom:1px solid #eee;margin-bottom:6px;font-size:13px;color:var(--muted)}.menu .who b{display:block;color:var(--navy);font-size:15px}
.menu button{display:flex;width:100%;gap:10px;align-items:center;background:none;border:0;border-radius:9px;padding:11px 12px;text-align:left;font-size:14px;min-height:44px}
.menu button:hover{background:#f6f2e9}.menu .cur{font-weight:600}
.role-chip{position:fixed;z-index:21;left:50%;transform:translateX(-50%);top:calc(var(--hh) + 4px);background:var(--navy);color:#fff;font-size:12px;border-radius:999px;padding:4px 12px;display:none}
.parent .role-chip{display:block}
.parent .simple{padding-top:calc(var(--hh) + 44px)}

/* sheet */
.sheet{position:fixed;inset:0;z-index:50;background:rgba(10,16,30,.42);display:flex;align-items:center;justify-content:center;padding:16px}
.sheet[hidden]{display:none}
.sheet-card{position:relative;background:#fff;border-radius:18px;width:min(520px,100%);max-height:88vh;overflow:auto;padding:26px 24px 22px;box-shadow:0 20px 60px rgba(0,0,0,.25)}
.sheet-card h2{font-family:Poppins;font-weight:600;margin:0 0 4px;font-size:22px}.sheet-card .sub{color:var(--muted);margin:0 0 16px;font-size:14px}
.x{position:absolute;right:12px;top:10px;border:0;background:#f3f1ec;width:40px;height:40px;border-radius:50%;font-size:22px;line-height:1}
.slist{list-style:none;padding:0;margin:0 0 14px}.slist li{display:flex;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid #f0ece4}
.slist .tav{width:42px;height:42px;font-size:16px}.slist b{display:block;font-size:15px}.slist span{color:var(--muted);font-size:13px}
.big-count{font-family:Poppins;font-weight:600;font-size:34px;letter-spacing:.02em;margin:6px 0 2px}
.pillnote{background:#f6f3ec;border-radius:12px;padding:12px 14px;font-size:14px;color:#454b5c;margin:12px 0}
.btn-navy{background:var(--navy);color:#fff;border:0;border-radius:999px;height:48px;padding:0 22px;font-weight:600;display:inline-flex;align-items:center;gap:8px}
.btn-navy:disabled{opacity:.45;cursor:not-allowed}
.empty{color:var(--muted);font-size:14px;padding:6px 0 10px}

/* simple view (PDF p23 direction; full page in Phase 9) */
.simple{min-height:100vh;padding:calc(var(--hh) + 26px) 4vw 40px;background:var(--cream)}
.simple-grid{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:18px}
.tile{background:#fff;border:1px solid #ece6da;border-radius:18px;padding:22px;display:flex;flex-direction:column;gap:8px;text-align:left;min-height:120px;font-size:15px}
.tile b{font-family:Poppins;font-weight:600;font-size:22px}.tile.gold{background:var(--gold);border-color:var(--gold)}.tile.navy{background:var(--navy);color:#fff}
.tiles5{grid-column:1/-1;display:grid;grid-template-columns:repeat(5,1fr);gap:14px}.tiles5 .tile{min-height:96px;align-items:center;justify-content:center;font-weight:600}

/* ---------- phone ---------- */
@media (max-width:600px){
  :root{--ww:177.68vh}
  .si{grid-template-columns:1fr;grid-template-rows:auto 1fr}
  .si-art{height:34vh;background-position:30% 18%}
  .si-panel{padding:18px 18px 28px;margin-top:-18px;border-radius:20px 20px 0 0}
  .si-leaf{display:none}.si-top{flex-wrap:wrap;gap:12px}.si-logo{height:36px}.si-tabs{margin-left:0;width:100%}.tab{flex:1;justify-content:center;min-height:44px}
  .si h1{font-size:31px;margin:16px 0 6px}.si-sub{font-size:15px;margin-bottom:14px}.steps{font-size:14px;margin-bottom:14px}.bar{flex-basis:44px}
  .card{padding:16px 14px}.row{grid-template-columns:1.8em 1fr;margin-bottom:12px}.row label{grid-column:2}.row .fld,.row .world-sel{grid-column:1/-1}
  .row .ico{grid-row:1}.note,.testcode{margin-top:12px}
  .campus{overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:none}.campus::-webkit-scrollbar{display:none}
  .world{left:0;transform:none}
  .hdr{padding:0 12px}.hdr-logo{height:34px;width:34px;object-fit:cover;object-position:left}.hdr-mid{position:static;transform:none;font-size:16px;margin-left:10px;gap:8px}
  .pill-grade,.hide-ph{display:none!important}.hdr-r{gap:6px}
  .nextfix{--u:1.3px;position:fixed;z-index:15;left:10px;right:10px;transform:none;min-width:0;max-width:none;top:calc(var(--hh) + 10px);width:auto;height:auto;flex-wrap:nowrap;padding:8px 10px;border-radius:14px;font-size:14px;gap:8px}
  .nextfix .tav{width:42px;height:42px;font-size:16px}.nextfix .next-k{font-size:11px}.nextfix .next-t{font-size:15px}.nextfix .next-w{font-size:12px}
  .nextfix .bbook .bt{display:none}.nextfix .bbook{flex:0 0 44px;padding:0}
  .nextfix .next-txt{flex:1 1 auto;padding-right:0}.nextfix .nsep{display:none}.nextfix .bjoin,.nextfix .bbook{height:44px;font-size:14px;border-radius:10px;padding:0 12px;flex:none;justify-content:center;gap:6px}
  .hint{bottom:max(18px,env(safe-area-inset-bottom));font-size:13px}
  .menu{right:8px;left:8px}
  .simple-grid{grid-template-columns:1fr}.tiles5{grid-template-columns:1fr 1fr}
  .sheet{align-items:flex-end;padding:0}.sheet-card{border-radius:20px 20px 0 0;max-height:86vh}
}

/* ---------- booking (PDF p9) ---------- */
.bk{position:fixed;inset:0;overflow:hidden;background:#e9e1d2}
.bk:before{content:'';position:absolute;inset:-40px;background:url(img/hall.webp) center bottom/cover;filter:blur(18px)}
.bk .world{container-type:inline-size}
.bkc{position:absolute;left:calc(60*var(--u));top:calc(43*var(--u));width:calc(905*var(--u));height:calc(513*var(--u));background:#faf8f3;border-radius:calc(12*var(--u));overflow:hidden;box-shadow:0 10px 40px rgba(20,33,61,.25);display:grid;grid-template-columns:calc(140*var(--u)) 1fr calc(280*var(--u));grid-template-rows:calc(50*var(--u)) 1fr;font-size:calc(10.5*var(--u))}
.bkh{grid-column:1/-1;display:flex;align-items:center;padding:0 calc(22*var(--u));background:#fbf9f4;border-bottom:1px solid #eee7da}
.bkh .hdr-logo{height:calc(30*var(--u))}
.bkh .hdr-r{gap:calc(18*var(--u));font-size:calc(10.5*var(--u))}
.bkh .hb{display:flex;align-items:center;gap:calc(6*var(--u));background:none;border:0;padding:calc(6*var(--u));font-weight:500}
.bkh .me{gap:calc(8*var(--u));padding-left:calc(14*var(--u));border-left:1px solid #e3ded4;text-align:left;font-size:calc(10*var(--u))}
.bkh .me img{width:calc(32*var(--u));height:calc(32*var(--u));border-width:1px}.bkh .me b{display:block;font-size:calc(10.5*var(--u))}
.side{background:linear-gradient(#162447,#14213d);color:#e9edf6;padding:calc(14*var(--u)) calc(4*var(--u));display:flex;flex-direction:column;gap:calc(4*var(--u))}
.side button{display:flex;align-items:center;gap:calc(12*var(--u));background:none;border:0;color:inherit;border-radius:calc(7*var(--u));padding:calc(8*var(--u)) calc(14*var(--u));font-size:calc(11*var(--u));text-align:left}
.side button .ico{width:calc(17*var(--u));height:calc(17*var(--u))}
.side button.on{background:linear-gradient(#74b3f2,#79b8f6);color:#14213d;font-weight:600}
.side button:hover:not(.on){background:rgba(255,255,255,.08)}
.side .emb{margin-top:auto;width:calc(124*var(--u));align-self:center;mix-blend-mode:normal}
.bkm{padding:calc(14*var(--u)) calc(16*var(--u)) calc(10*var(--u)) calc(30*var(--u));overflow:auto}
.bkm h1{font-family:Poppins;font-weight:600;font-size:calc(24*var(--u));margin:0 0 calc(4*var(--u));letter-spacing:-.01em}
.bkm .lead{margin:0 0 calc(12*var(--u));color:#3e4558;font-size:calc(11.5*var(--u))}
.bkm h3{font-size:calc(11*var(--u));margin:calc(10*var(--u)) 0 calc(6*var(--u));font-weight:600}
.opts{display:grid;grid-template-columns:repeat(3,1fr);gap:calc(14*var(--u))}
.opt{position:relative;display:flex;align-items:center;gap:calc(10*var(--u));background:#fff;border:1px solid #e6e0d4;border-radius:calc(6*var(--u));padding:calc(7*var(--u)) calc(10*var(--u));min-height:calc(48*var(--u));text-align:left;font-size:calc(10.5*var(--u))}
.opt img{width:calc(36*var(--u));height:calc(36*var(--u));border-radius:calc(5*var(--u))}
.opt:after{content:'';margin-left:auto;width:calc(14*var(--u));height:calc(14*var(--u));border-radius:50%;border:1.5px solid #b9b4aa;flex:none}
.opt.on{border-color:#79b8f6;box-shadow:0 0 0 1px #79b8f6;background:#fffdf7}
.opt.on:after{border:0;background:#79b8f6 url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="white" stroke-width="3.5"><path d="m6 12 4 4 8-8"/></svg>') center/70% no-repeat}
.opt.dk{background:#14213d;color:#fff;border-color:#14213d}.opt.dk.on{box-shadow:none}
.opt.dk:after{border-color:#fff}.opt.dk.on:after{background-color:#79b8f6}
.opt .two b{display:block;font-weight:500}
.opt:disabled{opacity:.4;cursor:default}
.tcard{display:flex;gap:calc(18*var(--u));background:#fff;border:1px solid #e6e0d4;border-radius:calc(6*var(--u));padding:calc(8*var(--u))}
.tcard .tph{width:calc(108*var(--u));height:calc(76*var(--u));border-radius:calc(5*var(--u));background:linear-gradient(135deg,#2b3d6b,#14213d);color:#fff;display:grid;place-items:center;font-family:Poppins;font-size:calc(28*var(--u));font-weight:600}
.tcard b{font-family:Poppins;font-weight:600;font-size:calc(15*var(--u))}.tcard .r{color:#3e4558;margin:calc(2*var(--u)) 0 calc(8*var(--u))}.tcard .d{color:#5f6577;font-size:calc(9.5*var(--u))}
.tswitch{background:none;border:0;color:#125ba3;font-weight:600;text-decoration:underline;padding:0;font-size:calc(10*var(--u));margin-top:calc(4*var(--u))}
.pager{display:flex;align-items:center;gap:calc(8*var(--u))}.pager .opts{flex:1}
.pg{width:calc(24*var(--u));height:calc(24*var(--u));min-width:24px;min-height:24px;border-radius:50%;border:1px solid #ddd6c9;background:#fff;display:grid;place-items:center;padding:0}
.pg:disabled{opacity:.3}.pg .ico{width:60%;height:60%}
.tz{display:flex;align-items:center;gap:calc(6*var(--u));color:#5f6577;font-size:calc(9*var(--u));margin-top:calc(12*var(--u))}
.rev{padding:calc(16*var(--u)) calc(16*var(--u)) calc(14*var(--u)) calc(4*var(--u));display:flex;flex-direction:column}
.rev h2{font-family:Poppins;font-weight:600;font-size:calc(13*var(--u));margin:0 0 calc(10*var(--u))}
.rbox{background:#fff;border:1px solid #ebe5d9;border-radius:calc(8*var(--u));padding:calc(10*var(--u)) calc(14*var(--u));flex:none}
.rtop{display:flex;align-items:center;gap:calc(14*var(--u));padding-bottom:calc(10*var(--u));border-bottom:1px solid #f0ebe1}
.rtop .tph{width:calc(64*var(--u));height:calc(64*var(--u));border-radius:calc(6*var(--u));font-size:calc(20*var(--u))}
.rtop b{font-family:Poppins;font-weight:600;font-size:calc(13*var(--u))}
.ri{display:flex;align-items:center;gap:calc(12*var(--u));padding:calc(6*var(--u)) 0;font-size:calc(10.5*var(--u))}.ri .ico{width:calc(15*var(--u));height:calc(15*var(--u))}
.rplan{width:100%;display:flex;align-items:center;gap:calc(12*var(--u));background:none;border:0;border-top:1px solid #f0ebe1;margin-top:calc(6*var(--u));padding:calc(10*var(--u)) 0 calc(2*var(--u));font-size:calc(10.5*var(--u));text-align:left}
.rplan span{flex:1}
.cbtn{margin-top:calc(14*var(--u));height:calc(34*var(--u));border-radius:calc(6*var(--u));border:0;background:linear-gradient(#5aa3ec,#3e90e2);font-weight:600;font-size:calc(11.5*var(--u));display:flex;align-items:center;justify-content:center;gap:calc(8*var(--u));color:#14213d;text-decoration:none}
.cbtn:disabled{opacity:.55}
.bbtn{margin-top:calc(9*var(--u));height:calc(30*var(--u));border-radius:calc(6*var(--u));border:1px solid #cfc9bd;background:#fff;font-weight:500;font-size:calc(11*var(--u))}
.okbox{background:#eef8f0;border:1px solid #bfe3c8;color:#1d5b33;border-radius:calc(8*var(--u));padding:calc(10*var(--u)) calc(12*var(--u));margin-top:calc(12*var(--u));font-size:calc(10.5*var(--u))}
.warnbox{background:#fff6e5;border:1px solid #9ac5f0;border-radius:calc(8*var(--u));padding:calc(10*var(--u)) calc(12*var(--u));margin-top:calc(12*var(--u));font-size:calc(10.5*var(--u))}
.bkerr{color:#b4232c;font-size:calc(10*var(--u));min-height:1em;margin:calc(6*var(--u)) 0 0}
.empty2{color:#5f6577;padding:calc(8*var(--u)) 0}
.slist2{list-style:none;margin:0;padding:0}.slist2 li{display:flex;align-items:center;gap:calc(12*var(--u));background:#fff;border:1px solid #ebe5d9;border-radius:calc(8*var(--u));padding:calc(10*var(--u));margin-bottom:calc(8*var(--u))}
.slist2 .tph{width:calc(40*var(--u));height:calc(40*var(--u));border-radius:50%;background:#14213d;color:#fff;display:grid;place-items:center;font-weight:600;font-size:calc(13*var(--u))}
.slist2 b{display:block;font-size:calc(12*var(--u))}.slist2 span{color:#5f6577}
.tagb{margin-left:auto;background:#d2e7fc;border-radius:999px;padding:calc(3*var(--u)) calc(9*var(--u));font-size:calc(9.5*var(--u));font-weight:600;color:#0c437a}
@media (max-width:600px){
  .bk{position:static;overflow:visible;background:#faf8f3}.bk:before{display:none}
  .bk .world{position:static;width:auto;height:auto;transform:none}
  .bk .world>img{display:none}
  .bkc{--u:1.45px;position:static;width:auto;height:auto;border-radius:0;box-shadow:none;display:block;font-size:14px;min-height:100vh;padding-bottom:110px}
  .bkh{position:sticky;top:0;z-index:5;height:60px;padding:0 12px}.bkh .hdr-logo{height:32px;width:32px;object-fit:cover;object-position:left}
  .bkh .hb .lbt,.bkh .me span,.bkh .hb.hide-ph{display:none}
  .side{flex-direction:row;overflow-x:auto;padding:8px;gap:6px;position:sticky;top:60px;z-index:4}.side button{flex:none;padding:10px 14px;min-height:44px}.side .emb{display:none}
  .bkm{padding:16px 16px 4px;overflow:visible}.bkm h1{font-size:26px}.bkm .lead{font-size:15px}.bkm h3{font-size:15px}
  .opts{grid-template-columns:1fr;gap:10px}.opt{min-height:56px;font-size:15px}
  .tph{font-size:22px!important}.tcard b{font-size:18px}.tcard .r,.tcard .d{font-size:13px}.tswitch{font-size:14px;min-height:44px}
  .pager .opts{grid-template-columns:repeat(3,1fr);gap:8px}.pager .opt{padding:8px;font-size:13px}.pager .opt:after{display:none}
  .pg{width:44px;height:44px}
  .tz{font-size:12px}
  .rev{padding:8px 16px}.rev h2{font-size:18px}.ri,.rplan{font-size:14px}.rtop b{font-size:17px}
  .cbtnwrap{position:fixed;left:0;right:0;bottom:0;background:#fff;padding:10px 16px max(12px,env(safe-area-inset-bottom));box-shadow:0 -4px 16px rgba(0,0,0,.08);z-index:6;display:flex;gap:10px}
  .cbtnwrap .cbtn,.cbtnwrap .bbtn{margin:0;height:50px;font-size:16px;flex:1}.cbtnwrap .bbtn{flex:0 0 90px}
  .okbox,.warnbox,.bkerr{font-size:14px}.slist2 b{font-size:16px}.slist2 span{font-size:13px}.tagb{font-size:12px}
}
.tph{background:linear-gradient(135deg,#2b3d6b,#14213d);color:#fff;display:grid;place-items:center;font-family:Poppins;font-weight:600;flex:none}

/* ---------- lobby (PDF p10) + class ---------- */
.lob{position:fixed;inset:0;background:#f6f3ec;overflow:hidden}
.lob .world{container-type:inline-size}
.lob .abs{position:absolute}
.lob-logo{left:calc(38*var(--u));top:calc(9*var(--u));height:calc(38*var(--u));background:none;border:0;padding:0}.lob-logo img{height:100%}
.lob-pill{left:calc(792*var(--u));top:calc(9*var(--u));width:calc(197*var(--u));height:calc(40*var(--u));background:#ebe7df;border-radius:calc(10*var(--u));display:flex;align-items:center;gap:calc(10*var(--u));padding:0 calc(14*var(--u));font-size:calc(9*var(--u));color:#4c5367}
.lob-pill b{display:block;color:#14213d;font-size:calc(12*var(--u));font-weight:600}.lob-pill .ico{width:calc(18*var(--u));height:calc(18*var(--u));color:#14213d}
.prev{left:calc(35*var(--u));top:calc(57*var(--u));width:calc(507*var(--u));height:calc(290*var(--u));border-radius:calc(12*var(--u));overflow:hidden;background:#1a2440}
.prev video,.prev img{width:100%;height:100%;object-fit:cover;display:block}
.prev .off{position:absolute;inset:0;display:grid;place-items:center;color:#fff;text-align:center;font-size:calc(13*var(--u));background:linear-gradient(135deg,#25345c,#14213d)}
.prev .off .tph{width:calc(90*var(--u));height:calc(90*var(--u));border-radius:50%;font-size:calc(30*var(--u));margin:0 auto calc(10*var(--u));background:#33467a}
.prev .chip{position:absolute;left:calc(12*var(--u));bottom:calc(12*var(--u));background:rgba(0,0,0,.5);color:#fff;border-radius:999px;padding:calc(4*var(--u)) calc(10*var(--u));font-size:calc(9.5*var(--u))}
.exp{left:calc(35*var(--u));top:calc(356*var(--u));width:calc(507*var(--u));height:calc(168*var(--u));background:#fff;border-radius:calc(12*var(--u));padding:calc(10*var(--u)) calc(17*var(--u))}
.exp h3{margin:0 0 calc(8*var(--u));font-size:calc(12.5*var(--u));font-weight:600}
.exp .row3{display:grid;grid-template-columns:repeat(3,1fr);gap:calc(9*var(--u))}
.exp figure{margin:0;text-align:center;font-size:calc(10*var(--u));color:#3e4558}
.exp figure img{width:100%;height:calc(106*var(--u));object-fit:cover;border-radius:calc(8*var(--u));border:2px solid transparent;transition:border-color .15s,box-shadow .15s}
.exp figure.on img{border-color:#79b8f6;box-shadow:0 0 0 2px #b4d7f9}
.exp .meter{display:flex;align-items:center;gap:calc(8*var(--u));font-size:calc(9.5*var(--u));color:#5f6577}.exp .meter i{display:block;height:calc(5*var(--u));background:#79b8f6;border-radius:9px;width:0;transition:width .08s}
.exp .mbar{flex:1;background:#eee;border-radius:9px;height:calc(5*var(--u))}
.choose{left:calc(558*var(--u));top:calc(57*var(--u));width:calc(432*var(--u));height:calc(315*var(--u));background:#fff;border-radius:calc(12*var(--u));padding:calc(12*var(--u)) calc(16*var(--u))}
.choose h2{font-family:Poppins;font-weight:600;font-size:calc(24*var(--u));margin:calc(2*var(--u)) 0 calc(10*var(--u)) calc(4*var(--u));letter-spacing:-.01em}.choose h2 em{font-style:normal;color:#2a87e3}
.modes{display:grid;grid-template-columns:repeat(3,1fr);gap:calc(9*var(--u))}
.mode{background:#f3f1ec;border:2px solid transparent;border-radius:calc(8*var(--u));padding:calc(12*var(--u)) calc(6*var(--u)) calc(10*var(--u));text-align:center;display:flex;flex-direction:column;align-items:center;gap:calc(4*var(--u));height:calc(162*var(--u))}
.mode .mi{height:calc(52*var(--u));display:grid;place-items:center}.mode .mi .ico{width:calc(40*var(--u));height:calc(40*var(--u));stroke-width:1.6}
.mode .mi img{width:calc(48*var(--u));height:calc(48*var(--u));border-radius:50%;object-fit:cover}
.mode b{font-family:Poppins;font-weight:600;font-size:calc(13.5*var(--u))}.mode span{font-size:calc(9.5*var(--u));color:#4c5367;line-height:1.3}
.mode .rad{margin-top:auto;width:calc(18*var(--u));height:calc(18*var(--u));border-radius:50%;border:1.5px solid #6b7080}
.mode.on{background:#fffaee;border-color:#79b8f6}.mode.on .rad{border:calc(3*var(--u)) solid #79b8f6;background:#14213d;box-shadow:inset 0 0 0 calc(2*var(--u)) #fff}
.mnote{margin-top:calc(9*var(--u));background:#fbf3e1;border-radius:calc(7*var(--u));height:calc(30*var(--u));display:flex;align-items:center;justify-content:center;gap:calc(8*var(--u));font-size:calc(10*var(--u))}
.mnote .ico{width:calc(14*var(--u));height:calc(14*var(--u))}
.jbtn{margin-top:calc(9*var(--u));width:100%;height:calc(40*var(--u));border:0;border-radius:999px;background:linear-gradient(#5aa3ec,#3e90e2);font-weight:600;font-size:calc(13.5*var(--u));display:flex;align-items:center;justify-content:center;gap:calc(10*var(--u));color:#14213d}
.jbtn:disabled{background:#e9e4d8;color:#6b7080}
.jerr{color:#b4232c;font-size:calc(9.5*var(--u));margin:calc(4*var(--u)) 0 0;text-align:center}
.req{left:calc(562*var(--u));top:calc(392*var(--u));width:calc(426*var(--u));height:calc(126*var(--u));border:1.5px solid #e4e0d8;border-radius:calc(10*var(--u));background:#fff;padding:calc(30*var(--u)) calc(14*var(--u)) calc(10*var(--u)) calc(18*var(--u));display:flex;gap:calc(16*var(--u))}
.req .lbl2{position:absolute;left:calc(4*var(--u));top:calc(-10*var(--u));background:#f3f1ec;border-radius:calc(8*var(--u));padding:calc(4*var(--u)) calc(16*var(--u));font-size:calc(9.5*var(--u));font-weight:500}
.req .tph{width:calc(74*var(--u));height:calc(74*var(--u));border-radius:50%;font-size:calc(24*var(--u))}
.req b{font-size:calc(12*var(--u));font-weight:600}.req p{margin:calc(2*var(--u)) 0 calc(8*var(--u));font-size:calc(11*var(--u));color:#3e4558}
.req .two{display:flex;gap:calc(10*var(--u))}.req .two button{height:calc(32*var(--u));padding:0 calc(20*var(--u));border-radius:calc(7*var(--u));font-weight:600;font-size:calc(11*var(--u))}
.req .k{background:#fff;border:1.5px solid #14213d}.req .s{background:#79b8f6;border:0}
.cbar{left:calc(35*var(--u));top:calc(534*var(--u));width:calc(955*var(--u));height:calc(28*var(--u));background:#ebe8e2;border-radius:calc(8*var(--u));display:flex;align-items:center;justify-content:center;gap:calc(14*var(--u));font-size:calc(9.5*var(--u))}
.dchk{display:flex;gap:calc(6*var(--u))}.dchk span,.dchk button{border:0;background:#fff;border-radius:999px;padding:calc(2*var(--u)) calc(8*var(--u));font-size:calc(9*var(--u))}
.dchk .ok{color:#1d6b3a}.dchk .bad{color:#b4232c}
.class{position:fixed;inset:0;background:#0f1729;z-index:40}
.class iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.class .back{position:absolute;right:12px;top:12px;z-index:2;background:rgba(255,255,255,.92);border:0;border-radius:999px;padding:10px 16px;min-height:44px;font-weight:600}
@media (max-width:600px){
  .lob{position:static;overflow:auto;background:#f6f3ec}.lob .world{position:static;width:auto;height:auto;transform:none;--u:1.2px;display:flex;flex-direction:column;gap:12px;padding:12px 12px 24px}
  .lob .abs{position:relative;left:auto!important;top:auto!important;width:auto!important}
  .lob-logo{height:34px;order:0}.lob-pill{order:1;height:auto;padding:10px 14px;font-size:12px}.lob-pill b{font-size:15px}
  .prev{order:2;height:auto;aspect-ratio:4/3}.choose{order:3;height:auto}.choose h2{font-size:26px}
  .mode{height:auto;min-height:150px}.mode b{font-size:15px}.mode span{font-size:12px}.jbtn{height:54px;font-size:17px}.mnote{height:auto;padding:8px;font-size:13px}
  .exp{order:4;height:auto}.exp h3{font-size:15px}.exp figure img{height:90px}.exp figure{font-size:12px}
  .req{order:5;height:auto;padding:26px 12px 12px;flex-wrap:wrap}.req .lbl2{font-size:12px;top:-12px}.req b{font-size:15px}.req p{font-size:13px}.req .two button{height:44px;font-size:14px}
  .cbar{order:6;height:auto;flex-wrap:wrap;padding:10px;font-size:12px}.dchk span,.dchk button{font-size:12px;padding:6px 10px;min-height:32px}
}

/* ---------- Practice (PDF p14 room + p15 exercise) ---------- */
.pw{position:fixed;inset:0;overflow:hidden;background:#f7f4ee}
.pw .world{position:absolute;inset:0;width:auto;height:auto;transform:none;margin:0}
.world>img.pw-bg{position:absolute;inset:auto;left:calc(121*var(--u));top:calc(45*var(--u));width:calc(903*var(--u));height:calc(531*var(--u));object-fit:cover;object-position:0 0}
.pw-under{position:absolute;inset:0;background-size:cover;background-position:center;filter:blur(14px);transform:scale(1.05)}
.world>img.pw-bg.full{left:0;top:0;width:100%;height:100%;filter:blur(3px) brightness(1.05);transform:scale(1.03)}
.ph{position:absolute;left:0;right:0;top:0;height:calc(45*var(--u));background:#fff;display:flex;align-items:center;padding:0 calc(16*var(--u));gap:calc(18*var(--u));font-size:calc(10*var(--u));border-bottom:1px solid #eee;z-index:3}
.ph .hdr-logo{height:calc(30*var(--u))}
.ph .bj{margin-left:auto;background:#14213d;color:#fff;border:0;border-radius:calc(6*var(--u));height:calc(28*var(--u));padding:0 calc(14*var(--u));font-weight:600;font-size:calc(10*var(--u))}
.ph .hb{display:flex;align-items:center;gap:calc(6*var(--u));background:none;border:0;padding:calc(4*var(--u));font-size:calc(10*var(--u))}
.ph .hb .ico{width:calc(15*var(--u));height:calc(15*var(--u))}
.sw{width:calc(22*var(--u));height:calc(12*var(--u));border-radius:999px;border:1.5px solid #14213d;position:relative;display:inline-block}
.sw:after{content:'';position:absolute;left:1px;top:1px;width:calc(8*var(--u));height:calc(8*var(--u));border-radius:50%;background:#14213d}
.ph .me{display:flex;align-items:center;gap:calc(6*var(--u));background:none;border:0;font-size:calc(10*var(--u))}
.ph .me img{width:calc(28*var(--u));height:calc(28*var(--u));border-radius:50%}
.pside{position:absolute;left:0;top:calc(45*var(--u));width:calc(121*var(--u));bottom:0;background:#fff;padding:calc(14*var(--u)) calc(5*var(--u));display:flex;flex-direction:column;gap:calc(6*var(--u));z-index:2}
.pside button{display:flex;align-items:center;gap:calc(14*var(--u));background:none;border:0;border-radius:calc(8*var(--u));padding:calc(10*var(--u)) calc(11*var(--u));font-size:calc(10.5*var(--u));text-align:left;color:#14213d}
.pside button .ico{width:calc(16*var(--u));height:calc(16*var(--u))}
.pside button.on{background:#bedcfa;font-weight:600}.pside button:hover:not(.on){background:#f6f2e9}
.ptitle{position:absolute;left:calc(137*var(--u));top:calc(66*var(--u));width:calc(310*var(--u));height:calc(68*var(--u));background:#fff;border-radius:calc(12*var(--u));display:flex;align-items:center;gap:calc(14*var(--u));padding:0 calc(18*var(--u))}
.ptitle .pi{width:calc(40*var(--u));height:calc(40*var(--u));border-radius:50%;background:#bedcfa;display:grid;place-items:center}.ptitle .pi .ico{width:55%;height:55%}
.ptitle b{display:block;font-family:Poppins;font-weight:600;font-size:calc(21*var(--u));line-height:1.1}.ptitle span{font-size:calc(11*var(--u));color:#3e4558}
.ppace{position:absolute;left:calc(137*var(--u));top:calc(520*var(--u));height:calc(32*var(--u));background:#fff;border-radius:999px;display:flex;align-items:center;gap:calc(10*var(--u));padding:0 calc(20*var(--u));font-size:calc(10*var(--u));font-weight:500}
.ppace .ico{width:calc(15*var(--u));height:calc(15*var(--u))}
.prc{position:absolute;left:calc(765*var(--u));width:calc(245*var(--u));background:#fff;border-radius:calc(12*var(--u));padding:calc(12*var(--u));box-shadow:0 2px 12px rgba(20,33,61,.06)}
.prc h3{display:flex;justify-content:space-between;align-items:center;margin:calc(2*var(--u)) calc(2*var(--u)) calc(10*var(--u));font-family:Poppins;font-weight:600;font-size:calc(14*var(--u))}
.prc h3 button{background:none;border:0;padding:calc(2*var(--u))}.prc h3 .ico{width:calc(14*var(--u));height:calc(14*var(--u))}
.recimg{width:100%;height:calc(147*var(--u));border-radius:calc(8*var(--u));object-fit:cover;display:block}
.recph{width:100%;height:calc(147*var(--u));border-radius:calc(8*var(--u));background:linear-gradient(135deg,#bedcfa,#7ab7f3);display:grid;place-items:center}.recph img{width:calc(70*var(--u));border-radius:50%}
.prc .rt{font-family:Poppins;font-weight:600;font-size:calc(17*var(--u));margin:calc(8*var(--u)) 0 0}.prc .rs{font-size:calc(10*var(--u));color:#5f6577;margin-bottom:calc(10*var(--u))}
.sbtn{width:100%;height:calc(36*var(--u));border:0;border-radius:calc(10*var(--u));background:linear-gradient(#4ea0f2,#3690e9);font-weight:600;font-size:calc(11*var(--u));display:flex;align-items:center;justify-content:center;gap:calc(8*var(--u));color:#14213d}
.kx{display:grid;grid-template-columns:1fr 1fr;gap:calc(8*var(--u))}
.kx button{border:0;border-radius:calc(8*var(--u));height:calc(88*var(--u));padding:calc(12*var(--u));display:flex;flex-direction:column;justify-content:space-between;text-align:left;font-weight:600;font-size:calc(11.5*var(--u))}
.kx button img{width:calc(28*var(--u));border-radius:50%}.kx .m{background:#d7eafc}.kx .s{background:#e3edfb}
.kx span{display:flex;justify-content:space-between;align-items:center}.kx .ico{width:calc(13*var(--u));height:calc(13*var(--u))}
.skrow{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid #f0ece4}.skrow div{flex:1}.skrow b{display:block}.skrow span{color:#5f6577;font-size:13px}
.ring{--p:0;width:40px;height:40px;border-radius:50%;background:conic-gradient(#79b8f6 calc(var(--p)*1%),#eee 0);display:grid;place-items:center;font-size:11px;font-weight:700;flex:none}
.ring i{font-style:normal;background:#fff;width:30px;height:30px;border-radius:50%;display:grid;place-items:center}
/* exercise */
.xc{position:absolute;left:calc(177*var(--u));top:calc(66*var(--u));width:calc(616*var(--u));height:calc(490*var(--u));background:rgba(250,248,243,.97);border-radius:calc(12*var(--u));padding:calc(10*var(--u)) calc(16*var(--u));display:flex;flex-direction:column}
.crumb{font-size:calc(8.5*var(--u));color:#3e4558;padding-left:calc(2*var(--u))}.crumb button{background:none;border:0;padding:0;font:inherit;color:inherit;text-decoration:underline}
.xh{display:flex;align-items:baseline;justify-content:space-between;padding:0 calc(2*var(--u))}
.xh h1{font-family:Poppins;font-weight:600;font-size:calc(21*var(--u));margin:calc(4*var(--u)) 0 calc(8*var(--u))}.xh span{font-size:calc(10*var(--u))}
.xb{flex:1;background:#fff;border-radius:calc(10*var(--u));padding:calc(12*var(--u)) calc(20*var(--u));display:flex;flex-direction:column;position:relative;overflow:auto}
.xb h2{font-family:Poppins;font-weight:600;font-size:calc(16*var(--u));margin:0 0 calc(6*var(--u))}
.eq{display:flex;align-items:center;justify-content:center;gap:calc(16*var(--u));font-family:Poppins;font-weight:600;font-size:calc(26*var(--u));color:#14213d;margin:calc(4*var(--u)) 0 calc(10*var(--u))}
.fr{display:inline-flex;flex-direction:column;align-items:center;line-height:1.05}.fr i{display:block;width:100%;height:calc(2.5*var(--u));background:#14213d;margin:calc(3*var(--u)) 0}.fr span{font-style:normal}
.eqtxt{font-family:Poppins;font-weight:600;font-size:calc(22*var(--u));text-align:center;margin:calc(14*var(--u)) 0}
.fbar{display:flex;margin:0 auto calc(14*var(--u));width:calc(408*var(--u));height:calc(36*var(--u));border:1.5px solid #14213d}.fbar i{flex:1;background:#fff;border-right:1px solid #14213d}.fbar i:last-child{border:0}.fbar i.g{background:#3a93eb}.fbar i.n{background:#14213d}
.ans{align-self:center;display:flex;align-items:center;gap:calc(14*var(--u));border:1px solid #e3ded4;border-radius:calc(8*var(--u));padding:calc(6*var(--u)) calc(18*var(--u));min-height:calc(52*var(--u));background:#fff}
.ans .fin{display:flex;flex-direction:column;align-items:center}.ans .fin input{width:calc(44*var(--u));height:calc(22*var(--u));text-align:center;font:600 calc(15*var(--u)) Poppins;border:1px solid #d9d3c6;border-radius:calc(4*var(--u))}
.ans .fin i{display:block;width:calc(30*var(--u));height:2px;background:#14213d;margin:calc(3*var(--u)) 0}.ans .fin b{font:600 calc(15*var(--u)) Poppins;height:calc(22*var(--u));display:grid;place-items:center}
.ans input.num{width:calc(110*var(--u));height:calc(32*var(--u));font:600 calc(15*var(--u)) Poppins;text-align:center;border:1px solid #d9d3c6;border-radius:calc(6*var(--u))}
.ans .ok{width:calc(20*var(--u));height:calc(20*var(--u));border-radius:50%;background:#2e8540;color:#fff;display:grid;place-items:center}.ans .ok .ico{width:70%;height:70%;stroke-width:3}
.chs{display:grid;gap:calc(8*var(--u));max-width:calc(400*var(--u));margin:0 auto;width:100%}.chs button{border:1.5px solid #e3ded4;background:#fff;border-radius:calc(8*var(--u));padding:calc(9*var(--u)) calc(14*var(--u));text-align:left;font-size:calc(11.5*var(--u))}
.chs button.on{border-color:#14213d;background:#f2f4fa;font-weight:600}.chs button.right{border-color:#2e8540;background:#eef8f0}
.qtxt{font-size:calc(13*var(--u));text-align:center;margin:calc(4*var(--u)) 0 calc(12*var(--u))}
.fb{margin-top:calc(12*var(--u));border-radius:calc(8*var(--u));padding:calc(10*var(--u)) calc(16*var(--u));display:flex;gap:calc(10*var(--u));font-size:calc(10.5*var(--u))}
.fb b{display:block;font-size:calc(13.5*var(--u));margin-bottom:calc(2*var(--u))}.fb.good{background:#e3f1e3;color:#1d5b2b}.fb.bad{background:#fdecea;color:#8a1c1c}.fb.hint{background:#fff6e1;color:#0a3b6b}
.fb .ok{width:calc(20*var(--u));height:calc(20*var(--u));border-radius:50%;background:#2e8540;color:#fff;display:grid;place-items:center;flex:none}.fb .ok .ico{width:70%;height:70%;stroke-width:3}
.steps2{margin:calc(8*var(--u)) 0 0;padding-left:calc(18*var(--u));font-size:calc(10.5*var(--u))}
.xf{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:calc(10*var(--u))}
.xf .lnk{background:none;border:0;font-size:calc(10.5*var(--u));display:flex;align-items:center;gap:calc(4*var(--u));padding:calc(6*var(--u)) 0}.xf .lnk .ico{width:calc(12*var(--u));height:calc(12*var(--u))}
.nbtn{background:#14213d;color:#fff;border:0;border-radius:calc(8*var(--u));height:calc(38*var(--u));padding:0 calc(28*var(--u));font-weight:600;font-size:calc(11*var(--u));display:flex;align-items:center;gap:calc(10*var(--u))}.nbtn .ico{width:calc(12*var(--u));height:calc(12*var(--u))}
.nbtn:disabled{opacity:.45}
.tools{position:absolute;left:calc(810*var(--u));top:calc(140*var(--u));width:calc(172*var(--u));background:rgba(255,255,255,.96);border-radius:calc(10*var(--u));padding:calc(12*var(--u))}
.tools h3{margin:0 0 calc(10*var(--u));font-family:Poppins;font-weight:600;font-size:calc(13*var(--u))}
.tools button{width:100%;display:flex;align-items:center;gap:calc(10*var(--u));border:1px solid #e6e0d4;background:#fff;border-radius:calc(6*var(--u));height:calc(38*var(--u));padding:0 calc(10*var(--u));margin-bottom:calc(9*var(--u));font-size:calc(9.5*var(--u))}
.tools button .ico{width:calc(14*var(--u));height:calc(14*var(--u))}.tools button .ico:last-child{margin-left:auto;width:calc(10*var(--u))}
.scratch{position:absolute;inset:0;background:rgba(255,255,255,.97);border-radius:inherit;z-index:5;display:flex;flex-direction:column}
.scratch canvas{flex:1;touch-action:none;cursor:crosshair}.scratch div{display:flex;gap:8px;justify-content:flex-end;padding:8px}
.done{text-align:center;margin:auto}.done b{display:block;font-family:Poppins;font-size:calc(22*var(--u))}.done p{font-size:calc(12*var(--u))}
.done .rowb{display:flex;gap:calc(10*var(--u));justify-content:center}
@media (max-width:600px){
  .pw{position:static;overflow:visible}.pw .world{position:static;width:auto;height:auto;transform:none;--u:1.5px;padding-bottom:20px}
   .world>img.pw-bg.full{display:none}
  .ph{position:sticky;height:56px;z-index:6}.ph .hb.hide-ph,.ph .me span{display:none}.ph .hdr-logo{height:32px;width:32px;object-fit:cover;object-position:left}.ph .bj{height:40px;font-size:13px}
  .pside{position:sticky;top:56px;width:auto;flex-direction:row;overflow-x:auto;padding:8px;z-index:5;border-bottom:1px solid #eee}.pside button{flex:none;min-height:44px;font-size:14px}
   .world>img.pw-bg{position:relative;left:0;top:0;width:100%;height:auto;aspect-ratio:634/531;display:block}
  .roomwrap{position:relative}.ptitle{left:12px;top:12px;width:auto;height:auto;padding:10px 14px}.ptitle b{font-size:22px}.ptitle span{font-size:13px}
  .ppace{left:12px;top:auto;bottom:12px;height:38px;font-size:13px}
  .prc{position:relative;left:auto;top:auto!important;width:auto;margin:12px}.prc h3{font-size:18px}.prc .rt{font-size:20px}.prc .rs{font-size:13px}.sbtn{height:50px;font-size:16px}
  .kx button{height:96px;font-size:15px}
  .xc{position:relative;left:auto;top:auto;width:auto;height:auto;margin:10px;min-height:70vh}.xh h1{font-size:22px}.xh{flex-direction:column}
  .xb h2{font-size:18px}.eq{font-size:34px}.fbar{width:100%;height:36px}.eqtxt{font-size:24px}
  .ans .fin input{width:56px;height:40px;font-size:20px}.ans .fin b{font-size:20px;height:40px}.ans input.num{width:140px;height:44px;font-size:20px}
  .chs button{font-size:15px;min-height:48px}.qtxt{font-size:16px}.fb{font-size:14px}.fb b{font-size:16px}.steps2{font-size:14px}
  .xf .lnk{font-size:14px;min-height:44px}.nbtn{height:50px;font-size:15px}
  .tools{position:relative;left:auto;top:auto;width:auto;margin:10px}.tools h3{font-size:16px}.tools button{height:48px;font-size:14px}
  .done b{font-size:24px}.done p{font-size:15px}
}

/* ---------- Homework (PDF p16 library + p17 assignment) ---------- */
.ptitle.lib{left:calc(127*var(--u));top:calc(71*var(--u));width:calc(253*var(--u));height:calc(58*var(--u));padding:0 calc(12*var(--u));gap:calc(10*var(--u));background:#fdf8ec}
.ptitle.lib b{font-size:calc(19*var(--u))}.pi.plain{background:none;width:calc(20*var(--u));height:calc(20*var(--u));align-self:flex-start;margin-top:calc(12*var(--u))}.pi.plain .ico{width:100%;height:100%;stroke:#2f89e3}
.prc.hwc{left:calc(638*var(--u));width:calc(370*var(--u));padding:calc(10*var(--u)) calc(12*var(--u))}
.prc.hwc h3 span{display:flex;align-items:center;gap:calc(10*var(--u));font-size:calc(13*var(--u))}.prc.hwc h3 span .ico{width:calc(18*var(--u));height:calc(18*var(--u))}
.hwr{display:flex;align-items:center;gap:calc(10*var(--u));background:#f7f5f0;border-radius:calc(8*var(--u));padding:calc(10*var(--u));margin-bottom:calc(6*var(--u))}
.pie{--p:0;flex:none;width:calc(24*var(--u));height:calc(24*var(--u));border-radius:50%;background:conic-gradient(#3a95f0 calc(var(--p)*1%),#3c6fd1 0)}
.hwt{flex:1;min-width:0}.hwt b{display:block;font-size:calc(10.5*var(--u))}.hwt span{font-size:calc(9*var(--u));color:#5f6577}
.chip{font-size:calc(8.5*var(--u));background:#ebe9e4;color:#5f6577;border-radius:calc(4*var(--u));padding:calc(5*var(--u)) calc(8*var(--u));white-space:nowrap}
.chip.submitted{background:#e3edfb;color:#24427a}.chip.graded{background:#e3f1e3;color:#1d5b2b;font-weight:600}.chip.in_progress{background:#d7eafc;color:#0a3b6b}
.nbtn.sm{height:calc(30*var(--u));padding:0 calc(12*var(--u));font-size:calc(9.5*var(--u));border-radius:calc(6*var(--u))}
.hwempty{font-size:calc(10*var(--u));color:#5f6577;margin:0 0 calc(6*var(--u))}
.kx2{display:grid;grid-template-columns:1fr 1fr;gap:calc(6*var(--u))}
.kx2 button{border:0;border-radius:calc(8*var(--u));height:calc(43*var(--u));display:flex;align-items:center;gap:calc(10*var(--u));padding:0 calc(14*var(--u));font-weight:600;font-size:calc(9.5*var(--u));color:#14213d}
.kx2 .ico{width:calc(15*var(--u));height:calc(15*var(--u))}.kx2 .ico:last-child{margin-left:auto;width:calc(11*var(--u))}.kx2 .m{background:#fbf0dc}.kx2 .s{background:#e6eefb}
.world>img.hwav{position:absolute;inset:auto;left:0;bottom:0;width:calc(232*var(--u));height:calc(276*var(--u));object-fit:cover;z-index:1;-webkit-mask-image:linear-gradient(to top,#000 85%,transparent);mask-image:linear-gradient(to top,#000 85%,transparent)}
.hwm{position:absolute;left:calc(235*var(--u));top:calc(62*var(--u));width:calc(502*var(--u));bottom:calc(14*var(--u));display:flex;flex-direction:column;z-index:2}
.hwm .crumb{font-size:calc(9*var(--u));padding-left:0}.hwm .crumb .sj{color:#2f63c7;font-weight:600}
.hwm h1{font-family:Poppins;font-weight:600;font-size:calc(22*var(--u));margin:calc(10*var(--u)) 0 0 calc(10*var(--u))}
.hwsub{font-size:calc(10.5*var(--u));color:#5f6577;margin:calc(2*var(--u)) 0 calc(10*var(--u)) calc(10*var(--u))}.hwins{font-size:calc(10*var(--u));margin:0 0 calc(8*var(--u)) calc(10*var(--u))}
.hwb{margin-left:calc(12*var(--u));box-shadow:0 2px 14px rgba(20,33,61,.06)}.hwb h2{font-size:calc(12.5*var(--u));margin-bottom:calc(4*var(--u))}
.hwp{font-size:calc(10.5*var(--u));margin:0}.hweq{font-size:calc(22*var(--u));margin:calc(4*var(--u)) 0}
.hwl{font-size:calc(9*var(--u));font-weight:600;margin:calc(6*var(--u)) 0 calc(4*var(--u))}
.hwk{width:100%;min-height:calc(98*var(--u));border:1px solid #d9d3c6;border-radius:calc(6*var(--u));padding:calc(10*var(--u)) calc(14*var(--u));font:calc(15*var(--u))/1.5 'Segoe Print','Bradley Hand','Comic Sans MS',cursive;color:#1d2f6f;resize:vertical}
.hwar{display:flex;gap:calc(8*var(--u));align-items:center}.hwa{flex:1;height:calc(33*var(--u));border:1px solid #d9d3c6;border-radius:calc(6*var(--u));padding:0 calc(10*var(--u));font-size:calc(11*var(--u))}
.dsv{font-size:calc(8.5*var(--u));background:#eef6ee;color:#2b5d34;border-radius:calc(5*var(--u));padding:calc(5*var(--u)) calc(8*var(--u));display:flex;align-items:center;gap:calc(4*var(--u));visibility:hidden}
.dsv.on{visibility:visible}.dsv .ico{width:calc(11*var(--u));height:calc(11*var(--u));background:#2e8540;color:#fff;border-radius:50%;padding:1px}
.files{display:flex;flex-wrap:wrap;gap:calc(6*var(--u)) calc(14*var(--u));margin-top:calc(6*var(--u));font-size:calc(9.5*var(--u))}.files a{color:#2f63c7;display:inline-flex;gap:4px;align-items:center}.files .ico{width:calc(12*var(--u));height:calc(12*var(--u))}
.att{cursor:pointer;color:#14213d;font-size:calc(9.5*var(--u));display:inline-flex;align-items:center;gap:4px;background:none;border:0}.x2{color:#a33;background:none;border:0}
.hwf{border-top:1px solid #eee;padding-top:calc(12*var(--u));justify-content:flex-end;gap:calc(8*var(--u))}
.pbtn{background:#efedea;color:#5f6577;border:0;border-radius:calc(8*var(--u));height:calc(34*var(--u));padding:0 calc(18*var(--u));font-size:calc(10*var(--u));display:flex;align-items:center;gap:calc(8*var(--u))}.pbtn .ico{width:calc(11*var(--u));height:calc(11*var(--u))}.pbtn:disabled{opacity:.6}
.hwf .nbtn{height:calc(34*var(--u))}.seen{font-size:calc(7.5*var(--u));color:#5f6577;display:flex;align-items:center;gap:calc(6*var(--u));margin:calc(8*var(--u)) 0 0}.seen .ico{width:calc(11*var(--u));height:calc(11*var(--u))}
.rv{padding-left:calc(18*var(--u));font-size:calc(10*var(--u));margin:calc(6*var(--u)) 0}.rv li{margin-bottom:calc(10*var(--u))}.rv span{display:block;margin-top:2px}
.hwside{position:absolute;left:calc(746*var(--u));top:calc(147*var(--u));width:calc(209*var(--u));bottom:calc(30*var(--u));display:flex;flex-direction:column;gap:calc(12*var(--u));z-index:2}
.hwside .tools{position:static;width:auto}.hwside .tools h3{font-size:calc(11.5*var(--u));display:flex;align-items:center;gap:calc(8*var(--u))}.hwside .tools h3 .ico{width:calc(20*var(--u));height:calc(20*var(--u))}
.steps3{display:flex;align-items:center}.steps3 i{flex:1;height:1px;background:#d9d3c6}
.steps3 button{width:calc(28*var(--u));height:calc(28*var(--u));border-radius:50%;border:1px solid #d9d3c6;background:#f4f2ee;font-size:calc(10.5*var(--u));display:grid;place-items:center;padding:0}
.steps3 button.cur{background:#3a95f0;border-color:#3a95f0;font-weight:700}.steps3 button.done{background:#e3f1e3;border-color:#b9dbb9;color:#2e8540}.steps3 button .ico{width:55%;height:55%;stroke-width:3}
.tools.help{background:#e6eefb}.tools.help p{font-size:calc(9*var(--u));color:#3e4558;margin:0 0 calc(12*var(--u));line-height:1.45}.tools.help .nbtn{height:calc(32*var(--u));font-size:calc(9.5*var(--u));padding:0 calc(26*var(--u));width:auto;margin:0}
.hwsub2{margin-top:auto;height:calc(43*var(--u));font-size:calc(11.5*var(--u))}.hwsub2 .ico{width:calc(15*var(--u));height:calc(15*var(--u))}
/* tutor desk */
.tu{min-height:100vh;background:#f7f4ee}.tuh{display:flex;align-items:center;gap:16px;background:#fff;padding:10px 20px;border-bottom:1px solid #eee}.tuh img{height:32px}.tuh span{color:#5f6577}.tuh b{margin-left:auto}
.tub{max-width:760px;margin:0 auto;padding:16px}.tuc{background:#fff;border-radius:12px;padding:18px 20px;margin:12px 0;box-shadow:0 2px 10px rgba(20,33,61,.05)}
.tuc h1{font-family:Poppins;font-size:22px;margin:0}.tuc h2{font-family:Poppins;font-size:17px;margin:4px 0 8px}.tuc label{display:block;font-weight:600;font-size:13px;margin:12px 0 4px}
.tuc .fld{width:100%;min-height:44px;border:1px solid #d9d3c6;border-radius:8px;padding:8px 12px;font:inherit}.tus{max-width:420px;margin:40px auto}.tus .btn-navy{margin-top:16px;width:100%}
.tur{display:flex;flex-wrap:wrap;gap:4px 12px;align-items:center;padding:12px 4px;border-bottom:1px solid #f0ece4;color:inherit;text-decoration:none;min-height:44px}.tur b{flex:1 1 60%}.tur span{color:#5f6577;font-size:13px}.tur .chip{font-size:12px;padding:4px 8px}.tur .cnt{color:#24427a}
.two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.tq .fld{margin-bottom:6px}.tu .rv{font-size:15px}.tu .files{font-size:14px}.tu .lnk{background:none;border:0;color:#14213d;font-size:14px;min-height:44px;display:inline-flex;align-items:center;gap:4px;text-decoration:none}.tu .lnk .ico{width:14px;height:14px}
.tu .err{color:#a33}.tu .testcode{background:#fff6e1;padding:6px 10px;border-radius:6px}
@media (max-width:600px){
  .ptitle.lib{width:auto}.prc.hwc{left:auto;width:auto}.hwr{flex-wrap:wrap}.hwt b{font-size:15px}.hwt span{font-size:13px}.chip{font-size:12px}.nbtn.sm{height:44px;font-size:14px;width:100%;justify-content:center}
  .prc.hwc h3 span{font-size:17px}.kx2 button{height:56px;font-size:14px}.hwempty{font-size:14px}
  .world>img.hwav{display:none}.hwm{position:relative;left:auto;top:auto;width:auto;margin:10px}.hwm h1{font-size:24px}.hwsub,.hwins{font-size:14px}.hwm .crumb{font-size:13px}
  .hwb{margin:0}.hwb h2{font-size:18px}.hwp{font-size:15px}.hweq{font-size:30px}.hwl{font-size:13px}.hwk{font-size:18px;min-height:120px}.hwa{height:46px;font-size:16px}.dsv{font-size:12px}
  .files,.att{font-size:14px}.pbtn,.hwf .nbtn{height:48px;font-size:15px}.seen{font-size:12px}.rv{font-size:14px}
  .hwside{position:relative;left:auto;top:auto;width:auto;margin:10px}.hwside .tools h3{font-size:16px}.steps3 button{width:40px;height:40px;font-size:15px}.tools.help p{font-size:14px}.tools.help .nbtn{height:46px;font-size:15px}.hwsub2{height:52px;font-size:16px}
  .two{grid-template-columns:1fr}
}

.pw .hwback{filter:blur(16px) brightness(1.18) saturate(.8)}.hwveil{position:absolute;inset:0;background:rgba(250,246,238,.55)}
.world>img.hwav{z-index:3;left:calc(4*var(--u))}
.tools.help .nbtn{background:#14213d;color:#fff;border:0;width:auto;display:inline-flex;margin:0}.tools.help .nbtn .ico{margin-left:0;width:calc(11*var(--u))}
@media (max-width:600px){.pw-under,.hwveil{display:none} .world>img.pw-bg{width:100%;height:auto}}
.world>img.pw-bg.pr{width:calc(634*var(--u))}.world>img.pw-bg.lb{left:calc(114*var(--u));width:calc(910*var(--u));height:calc(524*var(--u));top:calc(52*var(--u))}
@media (max-width:600px){ .world>img.pw-bg.pr{width:100%;aspect-ratio:634/531} .world>img.pw-bg.lb{left:0;top:0;width:100%;height:auto;aspect-ratio:910/524}}
.hwav{pointer-events:none}
.tu .files .ico,.tu .rv .ico{width:16px;height:16px}.tu .chip{font-size:12px;padding:3px 8px;border-radius:4px;margin-left:6px}.tu .rv li{margin-bottom:12px}.tu .files{gap:10px 18px}
@media (max-width:600px){.hwar{flex-wrap:wrap}.hwa{flex-basis:100%}.dsv{white-space:nowrap}.hwf .pbtn,.hwf .nbtn{flex:1;justify-content:center;white-space:nowrap;padding:0 12px}}

/* ---------- Progress (PDF p20) ---------- */
.ph .pills{margin-left:auto;display:flex;gap:calc(8*var(--u))}
.ph .pill{display:flex;align-items:center;gap:calc(6*var(--u));background:#fff;border:1px solid #e6e1d6;border-radius:999px;height:calc(26*var(--u));padding:0 calc(11*var(--u));font-size:calc(9.5*var(--u));color:#14213d}
.ph .pill .ico{width:calc(13*var(--u));height:calc(13*var(--u))}.ph .pills+.me{margin-left:calc(12*var(--u));border-left:1px solid #e6e1d6;padding-left:calc(14*var(--u))}
.world>img.pw-bg.ob{left:calc(120*var(--u));top:calc(42*var(--u));width:calc(904*var(--u));height:calc(534*var(--u))}
.pgc{position:absolute;left:calc(325*var(--u));top:calc(120*var(--u));width:calc(676*var(--u));height:calc(416*var(--u));background:rgba(253,251,246,.98);border-radius:calc(16*var(--u));padding:calc(12*var(--u)) calc(13*var(--u));box-shadow:0 6px 30px rgba(20,33,61,.18);z-index:2}
.pgdeco{position:absolute;right:calc(6*var(--u));top:calc(10*var(--u));width:calc(145*var(--u));opacity:.95;mix-blend-mode:multiply}
.pgc h1{font-family:Poppins;font-weight:600;font-size:calc(27*var(--u));margin:calc(8*var(--u)) 0 calc(16*var(--u)) calc(12*var(--u))}
.pgrow{display:grid;grid-template-columns:calc(390*var(--u)) 1fr;gap:calc(10*var(--u))}
.pgt{background:#fff;border:1px solid #eee8dc;border-radius:calc(10*var(--u));padding:calc(14*var(--u)) calc(16*var(--u));text-align:left;color:#14213d}
.focus{height:calc(155*var(--u))}.fq{display:flex;align-items:center;gap:calc(16*var(--u))}
.fic{flex:none;width:calc(62*var(--u));height:calc(62*var(--u));border-radius:calc(8*var(--u));background:#e3edfb;display:grid;place-items:center;font:600 calc(18*var(--u)) Poppins}.fic .fr i{height:calc(2*var(--u));margin:calc(2*var(--u)) 0}.fic .ico{width:50%;height:50%}
.fqt{flex:1}.fqt b{display:block;font-family:Poppins;font-weight:600;font-size:calc(17*var(--u))}.fqt span{font-size:calc(11*var(--u));color:#3e4558}
.dots{display:flex;gap:calc(3*var(--u));margin-top:calc(8*var(--u))}.dots i{width:calc(14*var(--u));height:calc(11*var(--u));border-radius:calc(3*var(--u));background:#ece8e0}.dots i.on{background:#79b8f6}
.ring2{--p:0;flex:none;width:calc(84*var(--u));height:calc(84*var(--u));border-radius:50%;border:0;padding:0;background:conic-gradient(#79b8f6 calc(var(--p)*1%),#ece8e0 0);display:grid;place-items:center}
.ring2 span{width:78%;height:78%;border-radius:50%;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:calc(10*var(--u));color:#3e4558}.ring2 b{font:600 calc(22*var(--u)) Poppins;color:#14213d;line-height:1}
.sbtn.cp{width:auto;padding:0 calc(20*var(--u));height:calc(36*var(--u));margin-top:calc(8*var(--u));font-size:calc(11.5*var(--u))}
.goal{height:calc(155*var(--u));display:flex;flex-direction:column;cursor:pointer}.gh{display:flex;gap:calc(12*var(--u));align-items:center}
.gic{width:calc(40*var(--u));height:calc(40*var(--u));border-radius:calc(8*var(--u));background:#d7eafc;display:grid;place-items:center}.gic .ico{width:60%;height:60%}
.gh b{display:block;font-family:Poppins;font-weight:600;font-size:calc(13.5*var(--u))}.gh span span{font-size:calc(10.5*var(--u))}
.gd{margin-top:auto;font-size:calc(11*var(--u))}.gbar{display:block;height:calc(12*var(--u));border-radius:999px;background:#ece8e0;margin-top:calc(10*var(--u));overflow:hidden}.gbar i{display:block;height:100%;background:#79b8f6;border-radius:999px}
.ms{margin-top:calc(10*var(--u));padding:calc(10*var(--u)) calc(14*var(--u))}.msh{display:flex;justify-content:space-between;align-items:center}
.msh h2{font-family:Poppins;font-weight:600;font-size:calc(17*var(--u));margin:0}.msh .lnk{background:none;border:0;font-size:calc(9.5*var(--u));color:#24427a;display:flex;align-items:center;gap:4px}.msh .ico{width:calc(13*var(--u));height:calc(13*var(--u));stroke:#2e8540}
.msr{display:grid;grid-template-columns:repeat(3,1fr);gap:calc(14*var(--u));margin-top:calc(10*var(--u))}
.mst{display:flex;gap:calc(12*var(--u));align-items:flex-start;background:#faf8f3;border-radius:calc(8*var(--u));padding:calc(10*var(--u)) calc(12*var(--u))}
.mst img,.msi{flex:none;width:calc(66*var(--u));height:calc(66*var(--u));border-radius:50%;object-fit:cover}.msi{display:grid;place-items:center;background:#d7eafc}.msi .ico{width:50%;height:50%}
.mst b{display:block;font-size:calc(10.5*var(--u));margin:calc(6*var(--u)) 0 calc(4*var(--u))}.mst span{display:block;font-size:calc(9.5*var(--u));color:#5f6577;line-height:1.4}
.mst.locked img,.mst.locked .msi{filter:grayscale(1);opacity:.45}.mst .mp{color:#24427a;font-weight:600;margin-top:3px}
.msall{display:grid;gap:10px}.msall .mst{--u:1.4px}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px}.stats div{background:#faf8f3;border-radius:10px;padding:12px}.stats b{display:block;font:600 24px Poppins}.stats span{font-size:13px;color:#5f6577}
.pgf label{display:block;font-weight:600;margin:10px 0 4px}.pgf .fld{width:100%;min-height:44px}.pgf .btn-navy{margin-top:14px}.pgf .err{color:#a33}
.late-b{position:absolute;left:50%;top:14px;transform:translateX(-50%);background:#fff6e1;color:#0a3b6b;border:1px solid #8ebff0;border-radius:999px;padding:10px 18px;font-weight:600;z-index:30;box-shadow:0 4px 16px rgba(0,0,0,.12);font-size:14px;max-width:92vw;text-align:center}
.class .late-b{top:auto;bottom:80px}
@media (max-width:600px){
  .ph .pills .pill:nth-child(-n+2){display:none}.ph .pill{height:40px;font-size:13px}
  .world>img.pw-bg.ob{position:relative;left:0;top:0;width:100%;height:auto;aspect-ratio:904/534;display:block}
  .pgc{position:relative;left:auto;top:auto;width:auto;height:auto;margin:10px}.pgdeco{display:none}.pgc h1{font-size:26px}
  .pgrow,.msr{grid-template-columns:1fr}.focus,.goal{height:auto}.fqt b{font-size:18px}.fqt span{font-size:14px}.dots i{width:16px;height:12px}
  .ring2{width:84px;height:84px}.ring2 b{font-size:24px}.ring2 span{font-size:12px}.sbtn.cp{height:50px;font-size:16px;width:100%}
  .gh b{font-size:17px}.gh span span{font-size:14px}.gd{font-size:14px;margin-top:14px}.gbar{height:12px}
  .msh h2{font-size:19px}.msh .lnk{font-size:13px;min-height:44px}.mst b{font-size:15px}.mst span{font-size:13px}.mst img,.msi{width:60px;height:60px}
}
.pgdeco{-webkit-mask-image:radial-gradient(ellipse at 60% 45%,#000 45%,transparent 72%);mask-image:radial-gradient(ellipse at 60% 45%,#000 45%,transparent 72%)}.fqt b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pw picture{display:contents}.world picture>img.pw-bg.ob{position:absolute;left:calc(120*var(--u));top:calc(42*var(--u));width:calc(904*var(--u));height:calc(534*var(--u))}
@media (max-width:600px){.world picture>img.pw-bg.ob{position:relative;left:0;top:0;width:100%;height:240px;object-fit:cover;object-position:50% 35%;display:block}}
@media (max-width:600px){.pw{overflow-x:clip;max-width:100vw}.pw .world{overflow-x:clip}.ph{gap:8px;padding:0 10px}.ph .pills{gap:6px}.ph .pill{padding:0 10px}.ph .pills+.me{margin-left:4px;padding-left:8px}}
@media (max-width:600px){.fq{gap:10px}.fic{width:56px;height:56px;font-size:18px}.fqt{min-width:0;flex:1 1 0}.ring2{width:72px;height:72px}.ring2 b{font-size:20px}}
@media (max-width:600px){.pgrow,.msr{grid-template-columns:minmax(0,1fr)}.pgt{min-width:0;box-sizing:border-box;width:100%}.dots{gap:3px}.dots i{width:12px}.pgc{box-sizing:border-box}}
@media (max-width:600px){.fqt b{white-space:normal;font-size:17px}}

/* ---------- Parent gate (PDF p21) + dashboard (p22) ---------- */
.pgate img.pw-bg.full0{position:absolute;inset:auto;left:0;top:calc(50*var(--u));width:100%;height:calc(526*var(--u));object-fit:cover;object-position:50% 0}
.pgate .ph{height:calc(50*var(--u))}.pgate .ph .hdr-logo{height:calc(36*var(--u))}.pills.g{margin-left:auto;display:flex;gap:calc(22*var(--u))}.pills.g .hb{font-size:calc(11*var(--u))}
.gate{position:absolute;left:calc(330*var(--u));top:calc(82*var(--u));width:calc(365*var(--u));min-height:calc(475*var(--u));background:#f9f8f5;border-radius:calc(16*var(--u));padding:calc(14*var(--u)) calc(28*var(--u));text-align:center;box-shadow:0 8px 30px rgba(0,0,0,.18);z-index:3}
.glock{width:calc(100*var(--u));height:calc(62*var(--u));object-fit:contain;display:block;margin:0 auto;mix-blend-mode:multiply}
.gate h1{font-family:Poppins;font-weight:600;font-size:calc(21*var(--u));margin:calc(6*var(--u)) 0 calc(4*var(--u))}.gs{font-size:calc(12.5*var(--u));margin:0 0 calc(14*var(--u))}
.gbtn{width:100%;height:calc(40*var(--u));border:0;border-radius:calc(8*var(--u));background:#14213d;color:#fff;font-weight:600;font-size:calc(13.5*var(--u))}
.gate hr{border:0;border-top:1px solid #e3ded4;margin:calc(12*var(--u)) 0}.gate h3{font-size:calc(12*var(--u));margin:0 0 calc(6*var(--u))}
.gl{display:block;font-size:calc(10.5*var(--u));margin:calc(6*var(--u)) 0}.gl.c{text-align:center}.gnote{font-size:calc(10*var(--u));color:#5f6577}
.pinb{display:flex;gap:calc(8*var(--u));justify-content:center;margin:calc(4*var(--u)) 0 calc(12*var(--u))}
.pinb input{width:calc(45*var(--u));height:calc(40*var(--u));border:1px solid #cfc8ba;border-radius:calc(4*var(--u));text-align:center;font-size:calc(20*var(--u));background:#fff}
.gbtn2{width:calc(260*var(--u));height:calc(34*var(--u));border:1.5px solid #14213d;border-radius:calc(8*var(--u));background:#fff;font-weight:600;font-size:calc(11.5*var(--u))}.gbtn2:disabled{opacity:.5}
.gfine{font-size:calc(8.5*var(--u));color:#5f6577;line-height:1.55;margin:calc(10*var(--u)) 0 0}.gerr{color:#a33;font-size:calc(10*var(--u));margin:calc(6*var(--u)) 0}
.gbtn3{width:calc(260*var(--u));height:calc(32*var(--u));border:1px solid #d9d3c6;border-radius:calc(8*var(--u));background:#f1efea;font-weight:600;font-size:calc(11*var(--u))}
.pdash .ph{height:calc(52*var(--u));border-bottom:1px solid #eee}.pdash .ph .hdr-logo{height:calc(36*var(--u))}
.pchip{margin-left:auto;display:flex;align-items:center;gap:calc(8*var(--u));background:#dff0e1;color:#1d4f2b;border-radius:999px;height:calc(28*var(--u));padding:0 calc(14*var(--u));font-size:calc(11*var(--u))}.pchip .ico{width:calc(13*var(--u));height:calc(13*var(--u))}
.pdash .ph .hb{font-size:calc(11*var(--u))}.vs{width:1px;height:calc(24*var(--u));background:#ddd}
.pside.pd{top:calc(52*var(--u));width:calc(154*var(--u));border-right:1px solid #eee}.pside.pd button{font-size:calc(11*var(--u))}
.world>img.pdwin{position:absolute;inset:auto;right:0;top:calc(52*var(--u));width:calc(212*var(--u));height:calc(524*var(--u));object-fit:cover}
.pdm{position:absolute;left:calc(168*var(--u));top:calc(62*var(--u));width:calc(645*var(--u));bottom:0;overflow:auto;padding-right:calc(4*var(--u));font-size:calc(10*var(--u))}
.pdm h1{font-family:Poppins;font-weight:600;font-size:calc(29*var(--u));margin:calc(10*var(--u)) 0 0 calc(8*var(--u))}.sub0{font-size:calc(11.5*var(--u));color:#5f6577;margin:calc(2*var(--u)) 0 calc(12*var(--u)) calc(8*var(--u))}
.pdg{display:grid;grid-template-columns:calc(352*var(--u)) 1fr;gap:calc(10*var(--u))}.pdg2{display:grid;grid-template-columns:1fr 1fr;gap:calc(10*var(--u))}
.pdc{background:#fff;border-radius:calc(10*var(--u));padding:calc(14*var(--u)) calc(16*var(--u));box-shadow:0 2px 12px rgba(20,33,61,.06);margin-bottom:calc(10*var(--u))}
.pdc h2{font-family:Poppins;font-weight:600;font-size:calc(16*var(--u));margin:0;display:flex;align-items:center;gap:calc(8*var(--u))}.pdc h3{font-family:Poppins;font-weight:600;font-size:calc(13*var(--u));margin:0 0 calc(6*var(--u))}
.pdc .sub{font-size:calc(10*var(--u))}.pdh{font-family:Poppins;font-size:calc(20*var(--u));margin:calc(8*var(--u)) 0 calc(10*var(--u))}
.child{display:flex;gap:calc(18*var(--u))}.child>img{width:calc(110*var(--u));height:calc(203*var(--u));object-fit:cover;border-radius:calc(10*var(--u))}.child>div{flex:1}.child hr{border:0;border-top:1px solid #eee;margin:calc(10*var(--u)) 0}
.pfq{display:flex;gap:calc(10*var(--u))}.pfq>div{flex:1}.pfq b{display:block;font-size:calc(11*var(--u))}.pfq span{display:block;font-size:calc(9.5*var(--u));color:#5f6577}.pfq .gbar{height:calc(8*var(--u));margin-top:calc(6*var(--u))}
.pfi{flex:none;width:calc(32*var(--u));height:calc(32*var(--u));border-radius:50%;background:#d7eafc;display:inline-grid;place-items:center}.pfi .ico{width:55%;height:55%}.pfi.b{background:#dbe7fb}.pfi.s{width:calc(22*var(--u));height:calc(22*var(--u))}
.child .nbtn{margin-top:calc(14*var(--u));width:100%;justify-content:center;height:calc(34*var(--u));text-decoration:none}
.access .lb{font-size:calc(9.5*var(--u));text-align:center;font-weight:600;margin:calc(12*var(--u)) 0 calc(6*var(--u))}.dots4{background:#e6eefb;border-radius:calc(6*var(--u));width:calc(158*var(--u));margin:0 auto;text-align:center;padding:calc(8*var(--u));letter-spacing:calc(6*var(--u));font-size:calc(13*var(--u))}
.access .fine{text-align:center;font-size:calc(8.5*var(--u));color:#5f6577}.obtn{display:inline-flex;align-items:center;justify-content:center;gap:calc(8*var(--u));min-height:calc(28*var(--u));border:1.5px solid #14213d;border-radius:calc(8*var(--u));background:#fff;padding:0 calc(16*var(--u));font-weight:600;font-size:calc(10*var(--u));color:#14213d;text-decoration:none;margin-top:calc(6*var(--u))}
.access .obtn{display:flex;width:calc(194*var(--u));margin:calc(6*var(--u)) auto}.fine2{display:flex;align-items:center;gap:calc(8*var(--u));font-size:calc(8.5*var(--u));color:#5f6577;border-top:1px solid #eee;padding-top:calc(8*var(--u));margin-top:calc(10*var(--u))}
.oph{display:flex;justify-content:space-between;align-items:center}.prop{display:flex;gap:6px;align-items:center;background:#d7eafc;border-radius:999px;padding:calc(5*var(--u)) calc(12*var(--u));font-size:calc(10*var(--u))}.prop .ico{width:calc(13*var(--u));height:calc(13*var(--u));fill:#2f89e3;stroke:none}
.og{display:grid;grid-template-columns:1fr 1fr;gap:calc(10*var(--u));margin-top:calc(10*var(--u))}.og>div{display:flex;gap:calc(14*var(--u));border-radius:calc(8*var(--u));padding:calc(10*var(--u)) calc(16*var(--u))}.o1{background:#fdf6e6}.o2{background:#eaf1fc}
.og b{font-size:calc(12*var(--u))}.og ul{margin:calc(4*var(--u)) 0 0;padding-left:calc(14*var(--u));font-size:calc(10*var(--u));color:#3e4558}.og li::marker{color:#2f89e3}
.popts .fine{font-size:calc(9*var(--u));color:#5f6577;display:flex;align-items:center;gap:6px;margin:calc(8*var(--u)) 0 0}.popts .fine .ico{width:calc(13*var(--u))}
.big{font-size:calc(12*var(--u))}.big b{font:600 calc(24*var(--u)) Poppins}.srow{display:flex;flex-direction:column;padding:calc(6*var(--u)) 0;border-bottom:1px solid #f0ece4}.srow span{color:#5f6577}
.tbl{width:100%;border-collapse:collapse;font-size:calc(10*var(--u))}.tbl th,.tbl td{text-align:left;padding:calc(5*var(--u)) calc(4*var(--u));border-bottom:1px solid #f0ece4}
.tg{display:flex;gap:10px;align-items:center;font-size:calc(11*var(--u));margin:calc(8*var(--u)) 0;min-height:32px}.tg.sub2{margin-left:calc(24*var(--u))}.tg input{width:20px;height:20px}.ok2{color:#2e8540}
.kidsel{display:block;margin:0 0 10px 8px;font-size:calc(11*var(--u))}.kidsel select{min-height:36px;margin-left:6px}
@media (max-width:600px){
  .pgate img.pw-bg.full0{position:relative;top:0;height:200px;display:block}.pgate .ph{height:56px}.pills.g .hb:nth-child(-n+2){display:none}.pills.g{gap:8px}.pills.g .hb{font-size:13px}
  .gate{position:relative;left:auto;top:auto;width:auto;margin:-40px 12px 20px;min-height:0;padding:16px}.glock{width:90px;height:56px}.gate h1{font-size:22px}.gs{font-size:15px}
  .gbtn{height:50px;font-size:16px}.gate h3{font-size:15px}.gl,.gnote{font-size:14px}.pinb input{width:56px;height:56px;font-size:24px}.gbtn2,.gbtn3{width:100%;height:48px;font-size:15px}.gfine,.gerr{font-size:13px}
  .pdash .ph{height:56px}.pchip{height:36px;font-size:13px}.pdash .ph .hb{font-size:13px}.pdash .ph .hb:first-of-type,.vs{display:none}
  .pside.pd{top:56px;width:auto}.pside.pd button{font-size:14px}.world>img.pdwin{display:none}
  .pdm{position:relative;left:auto;top:auto;width:auto;margin:10px;font-size:14px}.pdm h1{font-size:26px}.sub0{font-size:14px}
  .pdg,.pdg2,.og{grid-template-columns:minmax(0,1fr)}.child>img{width:96px;height:170px}.pdc h2{font-size:18px}.pdc h3{font-size:16px}.pdc .sub{font-size:14px}
  .pfq b{font-size:15px}.pfq span{font-size:13px}.child .nbtn{height:48px}.access .lb,.access .fine,.fine2{font-size:13px}.dots4{width:180px;font-size:16px}.obtn{min-height:44px;font-size:14px}.access .obtn{width:100%}
  .og b{font-size:15px}.og ul{font-size:14px}.popts .fine,.prop{font-size:13px}.big{font-size:15px}.big b{font-size:28px}.tbl{font-size:13px}.tg{font-size:15px}.kidsel{font-size:15px}
}
.pdash .ph .ico,.pgate .ph .ico,.pdash .pside .ico{width:calc(16*var(--u));height:calc(16*var(--u))}.pdc .obtn .ico,.child .nbtn .ico{width:calc(14*var(--u));height:calc(14*var(--u))}
.pdash .ph{display:flex;align-items:center;gap:calc(20*var(--u));padding:0 calc(22*var(--u))}.pgate .ph{display:flex;align-items:center;padding:0 calc(28*var(--u))}
@media (max-width:600px){.pdash .ph .ico,.pgate .ph .ico,.pdash .pside .ico{width:20px;height:20px}.pdc .obtn .ico,.child .nbtn .ico{width:18px;height:18px}.pdash .ph{gap:10px;padding:0 12px}}
.pdash .ph .hdr-logo,.pgate .ph .hdr-logo{flex:none;width:auto}a.nbtn#paybtn{text-decoration:none;color:#fff}
@media (max-width:600px){.pdash .ph .hdr-logo,.pgate .ph .hdr-logo{height:30px}.pchip{padding:0 10px;font-size:12px}}
@media (max-width:600px){.pgate .world{display:flex;flex-direction:column}.pgate .ph{order:-1}.pgate picture{display:block}.pgate .world>picture>img.pw-bg.full0,.pgate img.pw-bg.full0{position:relative;top:0;width:100%;height:220px;object-fit:cover;object-position:50% 20%;display:block}}

/* ---------- Social (PDF p18 commons, p19 chess hall) ---------- */
.world>picture>img.pw-bg.full{position:absolute;inset:auto;left:0;top:0;width:calc(1024*var(--u));height:calc(576*var(--u));object-fit:cover;filter:none;transform:none}
.soc,.ghall{position:absolute;inset:0;font-size:calc(10*var(--u))}
.soh{position:absolute;left:calc(345*var(--u));top:calc(62*var(--u));width:calc(615*var(--u));height:calc(83*var(--u));box-sizing:border-box;background:#fff;border-radius:calc(14*var(--u));display:flex;align-items:center;gap:calc(14*var(--u));padding:0 calc(20*var(--u));box-shadow:0 4px 18px rgba(0,0,0,.12)}
.soi{color:#14213d}.soi .ico{width:calc(50*var(--u));height:calc(50*var(--u))}.soh h1{font:700 calc(33*var(--u))/1.05 Poppins;margin:0;color:#14213d}.soh p{margin:calc(3*var(--u)) 0 0;font-size:calc(14.5*var(--u))}
.sobadge{margin-left:auto;display:flex;align-items:center;gap:calc(8*var(--u));background:#cfe5fb;border-radius:999px;padding:calc(9*var(--u)) calc(14*var(--u));font-size:calc(11.5*var(--u))}.sobadge .ico{width:calc(17*var(--u));height:calc(17*var(--u));fill:#14213d}
.sooff{position:absolute;left:calc(345*var(--u));top:calc(150*var(--u));width:calc(615*var(--u));box-sizing:border-box;background:#fff7e0;border:1px solid #2f89e3;border-radius:calc(8*var(--u));padding:calc(5*var(--u)) calc(12*var(--u));font-size:calc(11*var(--u));display:flex;gap:8px;align-items:center;z-index:2}.sooff .ico{width:calc(14*var(--u))}
.socards{position:absolute;left:calc(343*var(--u));top:calc(160*var(--u));display:flex;gap:calc(6*var(--u))}
.socard{width:calc(211*var(--u));height:calc(314*var(--u));box-sizing:border-box;background:#fff;border-radius:calc(12*var(--u));padding:calc(8*var(--u)) calc(8*var(--u));box-shadow:0 4px 18px rgba(0,0,0,.12);display:flex;flex-direction:column}
.socard:nth-child(3){width:calc(221*var(--u))}
.socard img{width:100%;height:calc(168*var(--u));object-fit:cover;border-radius:calc(8*var(--u))}
.socard h2{font:700 calc(19.5*var(--u)) Poppins;margin:calc(8*var(--u)) calc(6*var(--u)) 0;color:#14213d}.socard p{margin:calc(2*var(--u)) calc(6*var(--u)) calc(9*var(--u));font-size:calc(13*var(--u))}
.somode{display:flex;align-items:center;gap:calc(7*var(--u));margin:0 calc(6*var(--u));font-size:calc(10.5*var(--u));color:#14213d}.somode .ico{width:calc(18*var(--u));height:calc(18*var(--u))}
.sojoin{margin:auto calc(4*var(--u)) calc(4*var(--u));height:calc(32*var(--u));border:0;border-radius:calc(16*var(--u));background:#14213d;color:#fff;font-size:calc(12.5*var(--u));font-weight:600;display:flex;align-items:center;justify-content:center;gap:calc(30*var(--u))}
.sojoin .ico{width:calc(13*var(--u));height:calc(13*var(--u))}.sojoin:disabled{background:#c9c6be;color:#3e4558}.socard.na img{filter:grayscale(.6) opacity(.75)}
.sobar{position:absolute;left:calc(342*var(--u));top:calc(484*var(--u));width:calc(656*var(--u));height:calc(56*var(--u));box-sizing:border-box;background:#fff;border-radius:calc(10*var(--u));display:flex;align-items:center;gap:calc(8*var(--u));padding:0 calc(10*var(--u));box-shadow:0 4px 18px rgba(0,0,0,.12)}
.somod{width:calc(250*var(--u));height:calc(36*var(--u));border:0;border-radius:calc(6*var(--u));background:#cfe5fb;font-size:calc(12*var(--u));display:flex;align-items:center;justify-content:center;gap:calc(10*var(--u))}.somod .ico{width:calc(20*var(--u));height:calc(20*var(--u));fill:#14213d}
.sosep{width:1px;height:calc(30*var(--u));background:#ddd;margin:0 calc(30*var(--u)) 0 calc(24*var(--u))}
.sorep{width:calc(113*var(--u));height:calc(32*var(--u));border:1.5px solid #14213d;border-radius:calc(6*var(--u));background:#fff;font-size:calc(12*var(--u));display:flex;align-items:center;justify-content:center;gap:calc(10*var(--u))}.sorep .ico{width:calc(15*var(--u));height:calc(15*var(--u));fill:#14213d}
.soleave{width:calc(170*var(--u));height:calc(34*var(--u));border:0;border-radius:calc(8*var(--u));background:#14213d;color:#fff;font-size:calc(12*var(--u));display:flex;align-items:center;justify-content:center;gap:calc(20*var(--u))}.soleave .ico{width:calc(12*var(--u))}
.sofoot{position:absolute;left:calc(342*var(--u));width:calc(656*var(--u));top:calc(549*var(--u));text-align:center;margin:0;font-size:calc(10*var(--u));background:#f5efe4;border-radius:4px}
.gtitle{position:absolute;left:calc(127*var(--u));top:calc(52*var(--u));width:calc(239*var(--u));height:calc(61*var(--u));box-sizing:border-box;background:#fff;border-radius:calc(10*var(--u));display:flex;align-items:center;gap:calc(10*var(--u));padding:0 calc(12*var(--u))}
.gti{width:calc(42*var(--u));height:calc(42*var(--u));border-radius:50%;background:#cfe5fb;display:grid;place-items:center;font-size:calc(28*var(--u));color:#14213d}.gti .ico{width:60%}
.gtitle h1{font:700 calc(23*var(--u))/1 Poppins;margin:0;color:#14213d}.gtitle p{margin:calc(3*var(--u)) 0 0;font-size:calc(12*var(--u))}
.gmod{position:absolute;left:calc(371*var(--u));top:calc(52*var(--u));width:calc(156*var(--u));height:calc(60*var(--u));box-sizing:border-box;background:#fff;border-radius:calc(10*var(--u));display:flex;align-items:center;gap:calc(8*var(--u));padding:0 calc(9*var(--u))}
.gmi{flex:none;width:calc(40*var(--u));height:calc(40*var(--u));border-radius:50%;background:#e6eefb;display:grid;place-items:center}.gmi .ico{width:55%;fill:#14213d}.gmod b{display:block;font-size:calc(11*var(--u))}.gmod span{font-size:calc(9*var(--u));color:#2c5aa0}
.react{position:absolute;left:calc(585*var(--u));top:calc(482*var(--u));width:calc(158*var(--u));display:grid;grid-template-columns:1fr 1fr;gap:calc(3*var(--u))}
.react button{height:calc(23*var(--u));border:0;border-radius:999px;background:rgba(255,255,255,.95);font-size:calc(8.5*var(--u));box-shadow:0 1px 4px rgba(0,0,0,.15)}
.papproved{position:absolute;left:calc(118*var(--u));top:calc(507*var(--u));width:calc(157*var(--u));height:calc(29*var(--u));box-sizing:border-box;background:#fff;border-radius:999px;display:flex;align-items:center;justify-content:center;gap:calc(6*var(--u));font-size:calc(9.5*var(--u));color:#1d6b33}.papproved .ico{width:calc(14*var(--u));fill:#2e8540}
.gpanel{position:absolute;left:calc(749*var(--u));top:calc(52*var(--u));width:calc(268*var(--u));height:calc(496*var(--u));box-sizing:border-box;background:#fbfaf7;border-radius:calc(12*var(--u));padding:calc(12*var(--u)) calc(14*var(--u));display:flex;flex-direction:column;gap:calc(6*var(--u));box-shadow:0 4px 18px rgba(0,0,0,.12)}
.gpanel h2{font:700 calc(18*var(--u)) Poppins;margin:0;color:#14213d;display:flex;justify-content:space-between;align-items:center}.ii{border:0;background:none;padding:0}.ii .ico{width:calc(15*var(--u))}.gps{margin:0;font-size:calc(11*var(--u))}
.board{display:grid;grid-template-columns:repeat(8,1fr);width:calc(208*var(--u));height:calc(208*var(--u));margin:calc(2*var(--u)) auto;border:calc(3*var(--u)) solid #1f466c;border-radius:calc(4*var(--u))}
.sq{border:0;padding:0;display:grid;place-items:center;font-size:calc(20*var(--u));line-height:1;position:relative}.sq.lt{background:#c2d9f0}.sq.dk{background:#b58863}.sq.sel{outline:calc(2*var(--u)) solid #2f89e3;outline-offset:calc(-2*var(--u))}
.sq.tg::after{content:"";position:absolute;width:30%;height:30%;border-radius:50%;background:rgba(47,137,227,.85)}.sq.pk{box-shadow:inset 0 0 0 calc(3*var(--u)) #14213d}
.pc.w{color:#fff;text-shadow:0 0 1px #000,0 0 2px #000}.pc.b{color:#111}
.hints{display:grid;grid-template-columns:repeat(3,1fr);gap:calc(4*var(--u))}.hints button{border:0;background:#efede8;border-radius:calc(6*var(--u));padding:calc(4*var(--u));font-size:calc(8*var(--u));display:flex;flex-direction:column;align-items:center;gap:2px}.hints .ico{width:calc(15*var(--u));height:calc(15*var(--u))}
.yturn{display:flex;gap:calc(8*var(--u));align-items:center;background:#efede8;border-radius:calc(8*var(--u));padding:calc(6*var(--u)) calc(10*var(--u))}.yturn.on{background:#cfe5fb}
.yti{flex:none;width:calc(30*var(--u));height:calc(30*var(--u));border-radius:50%;background:#2f89e3;display:grid;place-items:center}.yti .ico{width:55%}.yturn b{display:block;font-size:calc(12.5*var(--u))}.yturn span{font-size:calc(9*var(--u))}
.trym{height:calc(38*var(--u));border:0;border-radius:calc(10*var(--u));background:#14213d;color:#fff;font-size:calc(14*var(--u));display:flex;align-items:center;justify-content:center;gap:calc(10*var(--u))}.trym:disabled{opacity:.45}.trym .ico{width:calc(16*var(--u));fill:#fff}
.askm{height:calc(36*var(--u));border:1.5px solid #14213d;border-radius:calc(10*var(--u));background:#fff;font-size:calc(13*var(--u));display:flex;align-items:center;justify-content:center;gap:calc(10*var(--u))}.askm .ico{width:calc(16*var(--u))}
.gbar2{position:absolute;left:calc(323*var(--u));top:calc(482*var(--u));width:calc(255*var(--u));height:calc(75*var(--u));box-sizing:border-box;background:#fff;border-radius:calc(12*var(--u));display:flex;justify-content:space-around;align-items:center}
.gbar2 button{border:0;background:none;display:flex;flex-direction:column;align-items:center;gap:calc(4*var(--u));font-size:calc(10*var(--u))}.gb{width:calc(38*var(--u));height:calc(38*var(--u));border-radius:50%;display:grid;place-items:center;background:#e9eef6;font-weight:700;font-size:calc(17*var(--u))}.gb.red{background:#e2453c;color:#fff}.gb .ico{width:50%;height:50%}.gb.red .ico{fill:#fff;stroke:#fff}
.mlist{position:absolute;left:calc(118*var(--u));top:calc(120*var(--u));max-width:calc(300*var(--u));background:rgba(255,255,255,.9);border-radius:6px;padding:calc(4*var(--u)) calc(8*var(--u));font-size:calc(9*var(--u));margin:0}
.story{background:#fff;border-radius:calc(8*var(--u));padding:calc(10*var(--u));min-height:calc(120*var(--u));font-size:calc(13*var(--u));line-height:1.5}.tiles{display:flex;flex-wrap:wrap;gap:calc(5*var(--u))}
.tile2{border:1.5px solid #14213d;background:#fff;border-radius:calc(8*var(--u));padding:calc(6*var(--u)) calc(10*var(--u));font-size:calc(12*var(--u));min-height:calc(30*var(--u))}
.fqq{background:#fff;border-radius:calc(8*var(--u));padding:calc(10*var(--u));display:flex;flex-direction:column;gap:calc(8*var(--u))}.fqq .eq{font-size:calc(18*var(--u));display:flex;align-items:center;gap:8px}.fqq .fr{display:inline-flex;flex-direction:column;align-items:center}.fqq .fr b{border-bottom:2px solid #14213d}.fqq .fr i{font-style:normal}.fqq .fld{height:calc(32*var(--u));font-size:calc(13*var(--u))}.fqq p{margin:0}
.rtoast{position:fixed;left:50%;top:18%;transform:translateX(-50%);background:#14213d;color:#fff;padding:12px 20px;border-radius:999px;font-weight:600;z-index:99;box-shadow:0 6px 20px rgba(0,0,0,.25)}
.opt{display:block;width:100%;min-height:46px;margin:8px 0;border:1.5px solid #14213d;border-radius:10px;background:#fff;font-size:15px;text-align:left;padding:0 14px}
@media (max-width:600px){
  .world>picture>img.pw-bg.full{position:relative;width:100%;height:230px;display:block;object-position:50% 30%}
  .soc,.ghall{position:relative;inset:auto;padding:0 12px 20px;font-size:14px;display:flex;flex-direction:column;gap:12px}
  .soh,.sooff,.socards,.sobar,.sofoot,.gtitle,.gmod,.react,.papproved,.gpanel,.gbar2,.mlist{position:relative;left:auto;top:auto;width:auto;height:auto}
  .soh{margin-top:-40px;flex-wrap:wrap;padding:14px}.soi .ico{width:40px;height:40px}.soh h1{font-size:26px}.soh p{font-size:15px}.sobadge{margin-left:0;font-size:13px;padding:8px 12px}.sobadge .ico{width:16px;height:16px}
  .sooff{font-size:14px;padding:10px}.socards{flex-direction:column;gap:12px}.socard,.socard:nth-child(3){width:auto;height:auto;padding:10px}.socard img{height:170px}.socard h2{font-size:21px}.socard p{font-size:15px}.somode{font-size:13px}.somode .ico{width:18px;height:18px}
  .sojoin{height:46px;font-size:15px;margin-top:10px}.sojoin .ico{width:14px;height:14px}
  .sobar{flex-wrap:wrap;padding:10px;gap:8px}.somod{width:100%;height:44px;font-size:14px}.somod .ico{width:20px;height:20px}.sosep{display:none}.sorep,.soleave{flex:1;height:44px;font-size:14px}.sorep .ico{width:16px;height:16px}.sofoot{font-size:13px;background:none}
  .gtitle{margin-top:-40px;padding:12px;height:auto}.gti{width:44px;height:44px;font-size:28px}.gtitle h1{font-size:24px}.gtitle p{font-size:14px}.gmod{padding:10px}.gmi{width:40px;height:40px}.gmod b{font-size:15px}.gmod span{font-size:13px}
  .gpanel{padding:14px;gap:10px}.gpanel h2{font-size:20px}.ii .ico{width:20px}.gps{font-size:14px}
  .board{width:min(92vw,340px);height:min(92vw,340px);border-width:4px}.sq{font-size:min(8vw,32px)}.hints button{font-size:12px;padding:8px 4px}.hints .ico{width:20px;height:20px}
  .yturn{padding:10px}.yti{width:36px;height:36px}.yturn b{font-size:16px}.yturn span{font-size:13px}.trym,.askm{height:48px;font-size:16px}.trym .ico,.askm .ico{width:18px}
  .react{order:9;grid-template-columns:1fr 1fr 1fr}.react button{height:40px;font-size:13px}.papproved{order:10;align-self:flex-start;padding:6px 12px;font-size:13px}.papproved .ico{width:16px}
  .gbar2{order:8;height:80px}.gbar2 button{font-size:13px}.gb{width:44px;height:44px;font-size:18px}.mlist{order:11;max-width:none;font-size:13px;padding:8px}
  .story{font-size:16px;min-height:100px}.tile2{font-size:15px;min-height:44px}.fqq .eq{font-size:22px}.fqq .fld{height:44px;font-size:16px}
}
.soh h1{white-space:nowrap;font-size:calc(31*var(--u))}.soh p{white-space:nowrap}.sobadge{white-space:nowrap;font-size:calc(11*var(--u))}
.sotag{float:right;font:500 calc(8.5*var(--u)) Inter,sans-serif;background:#eef2f8;color:#14213d;border-radius:999px;padding:calc(3*var(--u)) calc(7*var(--u));margin-top:calc(6*var(--u))}
.sofoot{background:transparent;color:transparent}
@media (max-width:600px){.soh h1{white-space:normal}.sotag{font-size:12px;padding:3px 8px}.sofoot{color:inherit}}
.sotag{float:none;margin:0 0 0 auto}.gtitle h1{white-space:nowrap}.k-word_builders .gtitle h1,.k-fraction_quest .gtitle h1{font-size:calc(18*var(--u))}
@media (max-width:600px){.pw .world:has(.soc),.pw .world:has(.ghall){display:flex;flex-direction:column}.world:has(.soc)>.ph,.world:has(.ghall)>.ph{order:-2}.world:has(.soc)>.pside,.world:has(.ghall)>.pside{order:-1}
 .soh,.gtitle{margin-top:-30px}.world>picture>img.pw-bg.full{height:200px}}
.somode{white-space:nowrap;font-size:calc(10*var(--u))}.sotag{font-size:calc(7.5*var(--u));padding:calc(2*var(--u)) calc(5*var(--u))}@media (max-width:600px){.somode{font-size:13px}.sotag{font-size:12px}}

/* ---------- Phase 9: worlds / avatar / settings ---------- */
html.reduce-motion *,html.reduce-motion *::before,html.reduce-motion *::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}
.pside .pset{margin-top:auto}
.sav{position:absolute;left:calc(12*var(--u));top:calc(400*var(--u));display:flex;align-items:center;gap:calc(8*var(--u));font-size:calc(9*var(--u));z-index:4;background:#fff}
.sav img{width:calc(70*var(--u));height:calc(70*var(--u));border-radius:50%;object-fit:cover}.sav b{display:block;font-size:calc(11*var(--u))}
.wsel,.sts{position:absolute;left:calc(160*var(--u));top:calc(48*var(--u));width:calc(850*var(--u));bottom:0;font-size:calc(10*var(--u))}
.wsel h1,.sts h1{font:800 calc(36*var(--u))/1.1 Poppins;color:#14213d;margin:0}.ws{color:#5a6a8a;font-size:calc(14*var(--u));margin:calc(2*var(--u)) 0 calc(8*var(--u))}
.sts h1{font-size:calc(38*var(--u))}.sts h2{font:700 calc(22*var(--u)) Poppins;color:#14213d;margin:calc(6*var(--u)) 0 0}.sts .ws{font-size:calc(12*var(--u));margin-bottom:calc(6*var(--u))}
.wcards{display:grid;grid-template-columns:repeat(3,1fr);gap:calc(14*var(--u))}
.wcard{position:relative;border:calc(3*var(--u)) solid transparent;border-radius:calc(10*var(--u));background:#fff;padding:0;overflow:hidden;box-shadow:0 2px 10px rgba(0,0,0,.08)}
.wcard.on{border-color:#79b8f6}.wcard img{display:block;width:100%;height:calc(302*var(--u));object-fit:cover}.sts .wcard img{height:calc(212*var(--u))}
.wcard b{display:block;font:700 calc(18*var(--u)) Poppins;color:#14213d;padding:calc(10*var(--u)) 0}.sts .wcard b{font-size:calc(15*var(--u));padding:calc(6*var(--u)) 0}
.wchk{position:absolute;right:calc(8*var(--u));top:calc(8*var(--u));width:calc(30*var(--u));height:calc(30*var(--u));border-radius:50%;background:#79b8f6;display:grid;place-items:center}.wchk .ico{width:60%;stroke:#fff;stroke-width:3}
.wnote{font-size:calc(11*var(--u));color:#5a6a8a;margin:calc(10*var(--u)) 0 calc(6*var(--u))}.wsel hr{border:0;border-top:1px solid #e8e3d8;width:calc(660*var(--u));margin:0 0 calc(10*var(--u))}.wfine{font-size:calc(8.5*var(--u));color:#8a93a6;margin:0}
.wenter{position:absolute;left:calc(672*var(--u));top:calc(460*var(--u));width:calc(174*var(--u));height:calc(42*var(--u));border:0;border-radius:calc(8*var(--u));background:#79b8f6;font:700 calc(13.5*var(--u)) Inter,sans-serif;color:#14213d;display:flex;align-items:center;justify-content:center;gap:calc(12*var(--u))}.wenter .ico{width:calc(14*var(--u))}
.stg{position:absolute;left:0;top:calc(359*var(--u));width:calc(556*var(--u));background:#fff;border-radius:calc(10*var(--u));box-shadow:0 2px 10px rgba(0,0,0,.06)}
.strow{display:flex;align-items:center;gap:calc(14*var(--u));padding:calc(7*var(--u)) calc(16*var(--u));border-bottom:1px solid #eee}.strow:last-child{border:0}.strow>.ico{width:calc(24*var(--u));height:calc(24*var(--u));color:#14213d}
.strow div{flex:1}.strow b{display:block;font-size:calc(13*var(--u));color:#14213d}.strow span{font-size:calc(10*var(--u));color:#8a93a6}
.tgl{width:calc(42*var(--u));height:calc(24*var(--u));border-radius:999px;border:0;background:#cfd3dc;position:relative;padding:0}.tgl i{position:absolute;left:calc(3*var(--u));top:calc(3*var(--u));width:calc(18*var(--u));height:calc(18*var(--u));border-radius:50%;background:#fff;transition:left .2s}
.tgl.on{background:#79b8f6}.tgl.on i{left:calc(21*var(--u))}
.stsoc{position:absolute;left:calc(572*var(--u));top:calc(359*var(--u));width:calc(274*var(--u));height:calc(136*var(--u));box-sizing:border-box;background:#fff;border-radius:calc(10*var(--u));padding:calc(14*var(--u)) calc(16*var(--u));display:grid;grid-template-columns:auto 1fr;gap:calc(4*var(--u)) calc(12*var(--u));align-content:start}
.stl{width:calc(50*var(--u));height:calc(50*var(--u));border-radius:50%;background:#cfe5fb;display:grid;place-items:center}.stl .ico{width:50%;color:#1c70c4}.stsoc b{display:block;font-size:calc(13*var(--u));color:#14213d;margin-top:calc(10*var(--u))}.stsoc span{font-size:calc(10*var(--u));color:#5a6a8a}
.stsoc hr{grid-column:1/-1;border:0;border-top:1px solid #eee;width:100%;margin:calc(6*var(--u)) 0}.stsoc p{grid-column:1/-1;margin:0;font-size:calc(10*var(--u));color:#5a6a8a}
.stsaved{position:absolute;left:0;top:calc(500*var(--u));font-size:calc(9*var(--u));color:#2e8540;margin:0}.stav{position:absolute;left:calc(120*var(--u));top:calc(497*var(--u));font-size:calc(9.5*var(--u))}
.wh{position:absolute;inset:0}.wht{position:absolute;background:rgba(255,255,255,.96);border-radius:calc(8*var(--u));padding:calc(2*var(--u)) calc(8*var(--u))}
.wht h1{font:800 calc(30*var(--u))/1.15 Poppins;color:#14213d;margin:0;white-space:nowrap}.wht p{margin:0;font-size:calc(15*var(--u));color:#3b5b8f}
.wpin{position:absolute;display:flex;align-items:center;gap:calc(6*var(--u));background:#fff;border:0;border-radius:calc(6*var(--u));padding:calc(5*var(--u)) calc(10*var(--u));font:600 calc(12*var(--u)) Inter,sans-serif;color:#14213d;box-shadow:0 2px 8px rgba(0,0,0,.2)}
.wpin .ico{width:calc(16*var(--u));height:calc(16*var(--u))}.wpd{position:absolute;left:50%;bottom:calc(-24*var(--u));transform:translateX(-50%)}.wpd .ico{width:calc(20*var(--u));height:calc(22*var(--u))}
.wsw{position:absolute;left:calc(150*var(--u));top:calc(506*var(--u));width:calc(240*var(--u));height:calc(54*var(--u));box-sizing:border-box;background:#fff;border-radius:calc(10*var(--u));padding:calc(8*var(--u)) calc(14*var(--u));display:grid;grid-template-columns:auto auto 1fr;gap:0 calc(8*var(--u));align-items:center}
.wsw .ico{width:calc(16*var(--u))}.wsw b{font-size:calc(12*var(--u));color:#14213d}.wsw .lnk{font-size:calc(10*var(--u));justify-self:end}.wsw p{grid-column:1/-1;margin:calc(2*var(--u)) 0 0;font-size:calc(9*var(--u));color:#5a6a8a}
.win{position:absolute;left:calc(709*var(--u));top:calc(402*var(--u));width:calc(300*var(--u));height:calc(160*var(--u));box-sizing:border-box;border:calc(3*var(--u)) solid #fff;border-radius:calc(12*var(--u));overflow:hidden;background:#fff}
.win img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.win b{position:absolute;left:0;top:0;background:#fff;border-radius:0 0 calc(10*var(--u)) 0;padding:calc(6*var(--u)) calc(12*var(--u));font:700 calc(14*var(--u)) Poppins;z-index:1}
.win .nbtn{position:absolute;right:calc(10*var(--u));bottom:calc(10*var(--u));background:#79b8f6;color:#14213d;z-index:1}
.wnext{position:absolute;left:calc(400*var(--u));top:calc(520*var(--u));background:#fff;border-radius:calc(8*var(--u));padding:calc(6*var(--u)) calc(10*var(--u));font-size:calc(10*var(--u));display:flex;gap:6px;align-items:center}
.avs{position:absolute;inset:0;font-size:calc(10*var(--u))}
.avl{position:absolute;left:calc(108*var(--u));top:calc(64*var(--u));width:calc(260*var(--u));height:calc(444*var(--u));box-sizing:border-box;background:#fff;border-radius:calc(12*var(--u));padding:calc(14*var(--u)) calc(18*var(--u));overflow:auto}
.avl h1{font:800 calc(30*var(--u)) Poppins;color:#14213d;margin:0}.avl h1 span{color:#2f89e3}.avl>p{font-size:calc(11*var(--u));margin:calc(2*var(--u)) 0 calc(10*var(--u))}
.avtabs{display:grid;grid-template-columns:repeat(3,1fr);background:#f2efe8;border-radius:calc(8*var(--u));padding:calc(3*var(--u));margin-bottom:calc(8*var(--u))}.avtabs button{border:0;background:none;border-radius:calc(6*var(--u));height:calc(28*var(--u));font-size:calc(11*var(--u))}.avtabs .on{background:#79b8f6;font-weight:600}
.avs h3{font-size:calc(11*var(--u));margin:calc(8*var(--u)) 0 calc(6*var(--u));color:#14213d}
.avdots{display:flex;gap:calc(10*var(--u))}.avd{width:calc(26*var(--u));height:calc(26*var(--u));border-radius:50%;border:calc(2*var(--u)) solid #fff;box-shadow:0 0 0 1px #ddd;padding:0}.avd.on{box-shadow:0 0 0 calc(2*var(--u)) #14213d}
.avg4{display:grid;grid-template-columns:repeat(4,1fr);gap:calc(5*var(--u))}.avg5{display:grid;grid-template-columns:repeat(5,1fr);gap:calc(4*var(--u))}
.avt{border:calc(2*var(--u)) solid transparent;border-radius:calc(6*var(--u));padding:0;background:#f6f4ef;overflow:hidden;aspect-ratio:1}.avt img{width:100%;height:100%;object-fit:cover;display:block}.avt.on{border-color:#79b8f6}
.avr{position:absolute;left:calc(770*var(--u));top:calc(68*var(--u));width:calc(235*var(--u));height:calc(460*var(--u));box-sizing:border-box;background:#fff;border-radius:calc(12*var(--u));padding:calc(10*var(--u)) calc(14*var(--u));display:flex;flex-direction:column}
.avr h3:first-child{margin-top:0}.avstate{font-size:calc(9*var(--u));color:#5a6a8a;margin:calc(6*var(--u)) 0 0;text-align:center}
.avsave{margin-top:auto;height:calc(36*var(--u));border:0;border-radius:calc(18*var(--u));background:#79b8f6;font:700 calc(12.5*var(--u)) Inter,sans-serif;display:flex;align-items:center;justify-content:center;gap:calc(10*var(--u))}.avsave .ico{width:calc(13*var(--u))}
.avback{margin-top:calc(8*var(--u));height:calc(34*var(--u));border:0;border-radius:calc(17*var(--u));background:#efede8;font-size:calc(11.5*var(--u))}
.avhint{position:absolute;left:calc(437*var(--u));top:calc(519*var(--u));width:calc(153*var(--u));height:calc(24*var(--u));box-sizing:border-box;background:#fff;border-radius:999px;text-align:center;line-height:calc(24*var(--u));font-size:calc(9*var(--u));margin:0}.avnote{font-size:calc(9.5*var(--u));color:#5a6a8a}
@media (max-width:600px){
  .pside .pset{margin-top:0}.sav{display:none}
  .wsel,.sts,.avs,.wh{position:relative;left:auto;top:auto;width:auto;bottom:auto;inset:auto;padding:14px;font-size:14px;display:flex;flex-direction:column;gap:10px}
  .wsel h1,.sts h1{font-size:30px}.sts h2{font-size:22px}.ws{font-size:15px}.wcards{grid-template-columns:minmax(0,1fr);gap:12px}.wcard img,.sts .wcard img{height:170px}.wcard b,.sts .wcard b{font-size:18px;padding:10px 0}.wchk{width:32px;height:32px}
  .wnote{font-size:14px}.wsel hr{width:100%}.wfine{font-size:13px}.wenter,.stg,.stsoc,.stsaved,.stav,.wsw,.win,.wnext,.avl,.avr,.avhint{position:relative;left:auto;top:auto;width:auto;height:auto}
  .wenter{height:52px;font-size:16px}.wenter .ico{width:16px}.strow{padding:12px 14px}.strow>.ico{width:26px;height:26px}.strow b{font-size:16px}.strow span{font-size:13px}.tgl{width:52px;height:30px;flex:none}.tgl i{width:24px;height:24px;left:3px;top:3px}.tgl.on i{left:25px}
  .stsoc{padding:14px}.stl{width:50px;height:50px}.stsoc b{font-size:16px}.stsoc span,.stsoc p{font-size:13px}.stsaved{font-size:13px}.stav{font-size:14px;align-self:flex-start}
  .world:has(.wh)>picture>img.pw-bg.full{height:240px}.wh{margin-top:-10px}.wht{position:relative;left:auto!important;top:auto!important}.wht h1{white-space:normal;font-size:24px}.wht p{font-size:15px}
  .wpin{position:relative;left:auto!important;top:auto!important;font-size:15px;padding:12px;justify-content:flex-start}.wpin .ico{width:20px;height:20px}.wpd{display:none}
  .wsw{padding:12px}.wsw b{font-size:15px}.wsw .lnk,.wsw p{font-size:13px}.win{height:170px}.win b{font-size:16px}.wnext{font-size:14px;flex-wrap:wrap}
  .world:has(.avs)>picture>img.pw-bg.full{height:260px;object-position:50% 20%}.avl,.avr{padding:14px;overflow:visible}.avl h1{font-size:30px}.avl>p{font-size:15px}.avtabs button{height:42px;font-size:15px}.avs h3{font-size:15px}
  .avd{width:40px;height:40px}.avdots{gap:12px;flex-wrap:wrap}.avg4,.avg5{gap:8px}.avstate{font-size:13px}.avsave,.avback{height:50px;font-size:16px;margin-top:10px}.avhint{font-size:13px;line-height:30px;height:30px;align-self:center;padding:0 14px}.avnote{font-size:13px}
  .pw .world:has(.wh),.pw .world:has(.avs){display:flex;flex-direction:column}.world:has(.wh)>.ph,.world:has(.avs)>.ph{order:-2}.world:has(.wh)>.pside,.world:has(.avs)>.pside{order:-1}
}
.wht{width:calc(560*var(--u));height:calc(64*var(--u));box-sizing:border-box}.w-clubhouse .wht{width:calc(600*var(--u))}
.wpin{height:calc(30*var(--u));box-sizing:border-box;justify-content:center}.wpd{bottom:calc(-26*var(--u))}
.wh::before{content:"";position:absolute;left:0;top:0;width:calc(140*var(--u));height:calc(576*var(--u));background:#fff}
.stav{min-height:calc(24*var(--u))}
@media (max-width:600px){.wht,.w-clubhouse .wht{width:auto;height:auto}.wpin{width:auto!important;height:auto}.wh::before{display:none}}
.wht{background:#fff}.wpd{display:none}
*{-webkit-tap-highlight-color:transparent}.bld svg:focus,.bld polygon:focus,.bld polygon:focus-visible{outline:none}
@media (max-width:600px){.tuh{gap:10px;padding:10px 12px;flex-wrap:wrap}.tuh span{display:none}.tuh img{height:28px}}
.rv>li.hl{background:#fff6dc;border-radius:8px;outline:2px solid #4ea0f2;outline-offset:4px}
/* ===== V10.8.276 layered avatar rig ===== */
.avsvg{display:block;width:100%;height:100%;overflow:visible}
.avhead{display:inline-block;flex:none;border-radius:50%;overflow:hidden;background:#bedcfa;border:2px solid var(--gold,#79b8f6);box-sizing:border-box;vertical-align:middle}
.me .avhead{width:clamp(36px,3.4vw,48px);height:clamp(36px,3.4vw,48px)}
.ph .me .avhead{width:calc(28*var(--u));height:calc(28*var(--u));border-width:1px}
.bkh .me .avhead{width:calc(32*var(--u));height:calc(32*var(--u));border-width:1px}
.sav .avhead{width:calc(70*var(--u));height:calc(70*var(--u))}
.exp figure .avsvg{width:100%;height:auto;aspect-ratio:1;background:#bedcfa;border-radius:12px}
.mode .mi .avsvg{width:100%;height:100%;background:#bedcfa;border-radius:50%}
#prev .avwrap{position:absolute;inset:0;display:grid;place-items:center;background:radial-gradient(ellipse at 50% 70%,#fff6dc,#c8ddf1)}#prev .avwrap .avsvg{height:92%;width:auto}
.hwav .avsvg{height:100%;width:auto}
.pchild{width:120px;height:170px;flex:none;background:radial-gradient(ellipse at 50% 80%,#fff6dc,#f6efe0);border-radius:14px;padding:6px;box-sizing:border-box}
.avs2{position:absolute;left:calc(121*var(--u));top:calc(45*var(--u));right:0;bottom:0;display:grid;grid-template-columns:minmax(300px,27%) 1fr minmax(230px,19%);gap:clamp(12px,1.6vw,24px);padding:clamp(12px,1.6vw,24px);box-sizing:border-box;z-index:2}
.avbg{filter:none!important;transform:none!important}
.avs2 .avl,.avs2 .avr2{position:relative;left:auto;top:auto;width:auto;height:auto;max-height:100%;overflow:auto;background:rgba(255,255,255,.94);backdrop-filter:blur(8px);border-radius:16px;padding:18px 20px;box-sizing:border-box;box-shadow:0 10px 30px rgba(20,33,61,.12)}
.avs2 .avl h1{font:600 clamp(26px,2.3vw,38px)/1.1 Poppins,sans-serif;margin:0 0 6px}.avs2 .avl h1 span{color:#348be2}.avs2 .avl>p{margin:0 0 12px;font-size:14px;color:#3e4558}
.avs2 .avtabs{grid-template-columns:repeat(4,1fr)}.avs2 .avtabs button{height:36px;font-size:14px}
.avs2 h3{font-size:14px;margin:14px 0 8px}.avs2 .avd{width:32px;height:32px}.avs2 .avdots{gap:10px;flex-wrap:wrap}.avs2 .avg4{gap:8px}
.avr2{display:flex;flex-direction:column;align-self:end;gap:10px}
.avr2 .avsave{height:48px;font-size:16px;margin:0}.avr2 .avback{height:44px;font-size:14px;margin:0}.avr2 .avhint{position:static;width:auto;height:auto;background:none;font-size:13px;line-height:1.4;color:#5a6a8a;margin:0;text-align:center}
.avr2 .avstate{font-size:14px;line-height:1.4;margin:0;padding:10px 12px;border-radius:10px;background:#f4f1ea;color:#3e4558;text-align:left}
.avr2 .avstate.ok{background:#e4f4e8;color:#1d6b3a;font-weight:600}.avr2 .avstate.err{background:#fde8e6;color:#9b2c22;font-weight:600}
.avstage{position:relative;min-height:0;display:flex;align-items:flex-end;justify-content:center;overflow:hidden;touch-action:pan-y}
.avped{position:absolute;bottom:4%;left:50%;width:min(72%,520px);aspect-ratio:5/1;transform:translateX(-50%);border-radius:50%;background:radial-gradient(ellipse at 50% 40%,#fffaf0 0,#c8dcef 60%,#84b0db 61%,#5592ce 66%,rgba(85,146,206,0) 70%);box-shadow:0 18px 40px rgba(10,40,70,.18)}
.avfig{position:relative;height:84%;max-height:560px;aspect-ratio:160/412;margin-bottom:6%;cursor:grab;transition:transform .35s cubic-bezier(.3,1.3,.5,1);filter:drop-shadow(0 10px 12px rgba(20,33,61,.18));touch-action:none;user-select:none}
.avfig.drag{cursor:grabbing;transition:none}
.avfig.p-l{transform:translateX(-28%) scale(var(--z,1))}.avfig.p-c{transform:scale(var(--z,1))}.avfig.p-r{transform:translateX(28%) scale(var(--z,1))}
.avfig.z-s{--z:.82}.avfig.z-m{--z:1}.avfig.z-l{--z:1.14}.avfig{transform-origin:50% 100%}
.avfig.p-l{transform:translateX(-60%) scale(var(--z))}.avfig.p-r{transform:translateX(60%) scale(var(--z))}
.avfaces{position:absolute;top:10px;left:50%;transform:translateX(-50%);display:flex;gap:6px;background:rgba(255,255,255,.92);padding:6px;border-radius:999px;box-shadow:0 4px 14px rgba(20,33,61,.12)}
.avfaces button{width:40px;height:40px;border-radius:50%;border:0;background:none;font-size:20px}.avfaces button.on{background:#bedcfa;box-shadow:0 0 0 2px #79b8f6}
.avmove{position:absolute;bottom:10px;left:50%;transform:translateX(-50%);display:flex;gap:10px}
.avmove button{width:44px;height:44px;border-radius:50%;border:0;background:rgba(255,255,255,.95);box-shadow:0 4px 14px rgba(20,33,61,.15);font-size:16px;color:#14213d}
.avposes{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.avpose{border:2px solid transparent;background:#f6f4ef;border-radius:10px;padding:6px 4px;display:flex;flex-direction:column;align-items:center;gap:4px;font-size:12px}
.avpose .avsvg{height:96px;width:auto}.avpose.on{border-color:#79b8f6;background:#fff8e6}
.avseg{display:grid;grid-template-columns:repeat(3,1fr);background:#f2efe8;border-radius:10px;padding:3px}.avseg button{border:0;background:none;height:38px;border-radius:8px;font-size:14px}.avseg button.on{background:#79b8f6;font-weight:600}
@media (prefers-reduced-motion:reduce){.avfig{transition:none}}.reduce-motion .avfig{transition:none}
@media (max-width:600px){
  .avs2{position:relative;left:auto;top:auto;display:flex;flex-direction:column;padding:0 0 20px;gap:0}
  .avs2 .avstage{order:-1;height:420px;background:linear-gradient(#f7ecd6,#c2d9ef)}
  .world:has(.avs2)>img.pw-bg.avbg{display:none}
  .avs2 .avl,.avs2 .avr2{border-radius:0;box-shadow:none;max-height:none;background:#fff;padding:16px}
  .avs2 .avr2{position:sticky;bottom:0;z-index:5;border-top:1px solid #eee;box-shadow:0 -6px 18px rgba(20,33,61,.08)}
  .avs2 .avd{width:40px;height:40px}.avs2 .avtabs button{height:44px}.avr2 .avstate{font-size:14px}
  .pchild{width:90px;height:128px}
}
/* ===== V10.8.276 Simple view: whole portal ===== */
#notice{position:fixed;left:50%;bottom:calc(18px + env(safe-area-inset-bottom));transform:translate(-50%,20px);background:#14213d;color:#fff;padding:12px 18px;border-radius:12px;font-size:15px;max-width:min(92vw,520px);box-shadow:0 10px 30px rgba(0,0,0,.25);opacity:0;pointer-events:none;transition:opacity .25s,transform .25s;z-index:200}
#notice.on{opacity:1;transform:translate(-50%,0)}
[data-act=simple][aria-pressed=true] .sw{border-color:#348be2;background:#bedcfa}[data-act=simple][aria-pressed=true] .sw:after{left:auto;right:1px;background:#348be2}
[data-act=simple][aria-pressed=true]{font-weight:600}
html.simplev .pw-bg,html.simplev .world>picture,html.simplev .hwveil,html.simplev .hwav,html.simplev .si-art,html.simplev .pw-under,html.simplev .recimg,html.simplev .win img,html.simplev .socard img{display:none!important}
html.simplev .pw .world,html.simplev .pw,html.simplev body{background:#f6f3ec!important}
html.simplev *,html.simplev *:before,html.simplev *:after{animation:none!important;transition:none!important}
html.simplev .pw .world section,html.simplev .pw .world aside{box-shadow:0 1px 0 #e6e1d6!important}
html.simplev .pside button{font-size:max(15px,calc(11*var(--u)))}
/* ===== V10.8.276 edge to edge: blurred scene extension fills the whole viewport (no cream bands) ===== */
.pw .world{isolation:isolate}
@media (min-width:601px){.pw .world::before{content:'';position:absolute;inset:0;background:var(--bgimg,none) center/cover no-repeat;filter:blur(28px) saturate(1.05);transform:scale(1.12);z-index:-1;pointer-events:none}
 .pw{background:#14213d}}
/* Simple view, neutral "medium" style; type scale + density follow the grade band (e=K-5, m=6-8, h=9-12, c=college) */
html.simplev{--sv-fs:15px;--sv-r:12px;--sv-h:22px;--sv-gap:14px}
html.simplev.band-e{--sv-fs:17px;--sv-r:16px;--sv-h:24px;--sv-gap:16px}
html.simplev.band-h,html.simplev.band-c{--sv-fs:14px;--sv-r:10px;--sv-h:20px;--sv-gap:12px}
html.simplev .simple{background:#f4f5f7!important}
html.simplev .simple-grid{gap:var(--sv-gap)}
html.simplev .tile{background:#fff;border:1px solid #dfe3ea;border-radius:var(--sv-r);color:#1d2433;font-size:var(--sv-fs);box-shadow:none;min-height:auto;padding:18px 20px}
html.simplev .tile b{font:600 var(--sv-h)/1.25 Inter,sans-serif;color:#14213d}
html.simplev .tile.gold{background:#14213d;border-color:#14213d;color:#dfe5f2}html.simplev .tile.gold b{color:#fff}
html.simplev .tile.navy{background:#fff;color:#1d2433}html.simplev .tile.navy b{color:#14213d}
html.simplev .tiles5{gap:var(--sv-gap)}html.simplev .tiles5 .tile{flex-direction:row;justify-content:flex-start;gap:10px;font-weight:500;min-height:64px}
html.simplev .tiles5 .tile .ico{width:20px;height:20px;color:#3b4a6b}
html.simplev .tile:hover{border-color:#9aa6bd}html.simplev .tile:focus-visible{outline:2px solid #14213d;outline-offset:2px}
html.simplev .pw .world,html.simplev .pw,html.simplev body{background:#f4f5f7!important}
html.simplev .pside{background:#fff}html.simplev .pside button.on{background:#e9edf5;color:#14213d}
html.simplev .pside button{font-size:var(--sv-fs)}
/* ===== V10.8.276 immersive lobby: full-bleed preview, side panels collapse into a tray ===== */
.ltbtn{position:fixed;left:16px;bottom:16px;z-index:31;border:0;border-radius:999px;background:rgba(20,33,61,.9);color:#fff;padding:12px 18px;min-height:44px;font:600 14px Inter,sans-serif;box-shadow:0 6px 18px rgba(0,0,0,.2)}
.ltray,.ltray2{display:none}
.ltray.open,.ltray2.open{display:block;position:fixed;left:16px;z-index:30;width:min(340px,calc(100vw - 32px))}
.ltray.open{bottom:72px}.ltray2.open{bottom:300px}
.ltray .exp,.ltray2 .req{position:static!important;left:auto!important;top:auto!important;right:auto!important;bottom:auto!important;width:auto!important;height:auto!important;background:rgba(255,255,255,.96)!important;border-radius:14px;padding:14px!important;box-shadow:0 10px 30px rgba(0,0,0,.18);transform:none!important}
@media (min-width:601px){
 .lob .prev{left:0!important;top:0!important;width:100%!important;height:100%!important;border-radius:0!important;box-shadow:none!important}
 .lob .prev video{object-fit:cover}
 .lob .choose{background:rgba(255,255,255,.94)!important;backdrop-filter:blur(10px);box-shadow:0 12px 36px rgba(0,0,0,.18)}
 .lob .cbar{background:rgba(255,255,255,.92)!important;backdrop-filter:blur(8px)}
}
@media (max-width:600px){
 .lob .prev{position:relative!important;height:58vh!important;width:100%!important;margin:0!important;border-radius:0!important}
 .lob .world{padding:0 0 90px!important}.lob .choose,.lob .cbar{margin:0 12px}
 .ltray.open{bottom:72px}.ltray2.open{bottom:auto;top:12px}
}
.campus{isolation:isolate}.campus:before{content:'';position:fixed;inset:0;background:url(/static/student-portal/img/campus.webp) center/cover no-repeat;filter:blur(26px);transform:scale(1.12);z-index:-1}
@media (max-width:600px){
 .avs2 .avr2{position:relative;bottom:auto;box-shadow:none}
 .world>img.pw-bg.pr{aspect-ratio:auto!important;height:260px!important;object-fit:cover;object-position:50% 58%}
 .pw .world>section{margin-left:0!important;margin-right:0!important;border-radius:0!important;max-width:none!important}
}
html.simplev .pw .world::before,html.simplev .campus:before{display:none!important}html.simplev .pw{background:#f4f5f7!important}
@media (min-width:601px){.lob .prev{z-index:0}.lob .lob-logo,.lob .lob-pill,.lob .choose,.lob .cbar{z-index:3}}
/* V10.8.281 FULL PLAN P3/P6: mastery, set size, subjects, celebration */
.rwhy{font-size:13px;color:#5b6475;margin:2px 0 6px}.lnk.hw{font-size:13px;padding:0 4px;text-decoration:underline;background:none;border:0;color:#24365f;cursor:pointer}
.pcount{display:flex;gap:6px;align-items:center;margin:6px 0 8px;flex-wrap:wrap}.pcount span{font-size:13px;color:#5b6475;margin-right:2px}
.pcount button,.gchips button{min-width:44px;height:36px;border-radius:18px;border:1.5px solid #c9cfdb;background:#fff;font-weight:600;cursor:pointer;padding:0 10px}
.pcount button.on,.gchips button.on{background:#24365f;color:#fff;border-color:#24365f}
.gchips{display:flex;gap:6px;overflow-x:auto;padding:4px 0 10px;scrollbar-width:none}
.kx.k4{display:grid;grid-template-columns:1fr 1fr;gap:8px}.kx .sj{display:flex;align-items:center;gap:8px;min-height:48px;border-radius:14px;border:1.5px solid #e2ddd1;background:#fffdf8;padding:6px 10px;font-weight:600;cursor:pointer;text-align:left}
.kx .sj.rv{grid-column:1/-1;background:#fff6dc}.sjic{display:inline-flex;width:30px;height:30px;border-radius:9px;background:#eef2fb;align-items:center;justify-content:center}
.skrow .std{display:block;font-size:11px;color:#8a91a0}.howl{padding-left:18px;line-height:1.5}.howl li{margin:6px 0}.lead{font-size:17px;font-weight:600}
.cele{position:relative;text-align:center;overflow:hidden}.cele b{font-size:28px;display:block;margin:6px 0}
.stars{font-size:46px;letter-spacing:6px}.stars span{color:#d8d3c6;display:inline-block}.stars span.on{color:#4a99e8;animation:starpop .5s calc(var(--i)*.18s) both cubic-bezier(.3,1.6,.5,1)}
.celestats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:10px 0}.celestats div{background:#f6f2e8;border-radius:12px;padding:8px 4px}.celestats strong{display:block;font-size:20px}.celestats span{font-size:12px;color:#5b6475}
.mbar{margin:8px 0;text-align:left}.mbar>div{position:relative;height:12px;border-radius:6px;background:#ece8de;overflow:hidden;margin:4px 0}.mbar i{position:absolute;left:0;top:0;bottom:0;border-radius:6px}
.mbar .was{background:#c9d6ee}.mbar .now{background:#1f6b45;transition:width 1.2s .4s;opacity:.85}.mbar em{font-size:13px;font-style:normal;color:#24365f;font-weight:600}
.confetti{position:absolute;inset:0;pointer-events:none}.confetti i{position:absolute;top:-12px;left:calc(var(--x)*1%);width:8px;height:12px;background:var(--c);border-radius:2px;animation:conf 1.8s var(--d) ease-in both}
@keyframes conf{to{transform:translateY(420px) rotate(540deg);opacity:0}}@keyframes starpop{from{transform:scale(0)}to{transform:scale(1)}}
.cele.rm *{animation:none!important;transition:none!important}@media (prefers-reduced-motion:reduce){.cele *{animation:none!important}}
.skrow .ring{flex:0 0 52px;width:52px!important;height:52px!important;min-width:52px}.gchips button{flex:0 0 auto;white-space:nowrap}
.sub .lnk,.rs .lnk{background:none;border:0;color:#24365f;text-decoration:underline;font:inherit;cursor:pointer;padding:0}
/* V10.8.282 P4 placement */
.plc{position:relative;margin:10px 12px;padding:14px 16px;border-radius:16px;background:#fff6dc;border:1.5px solid #a4c8ec;display:flex;flex-direction:column;gap:6px;z-index:3}
.plc b{font-size:17px}.plc span{font-size:14px;color:#4b5263}
.plx{max-width:760px;margin:0 auto}.plrow{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid #eee7d8}
.plrow b{display:block;font-size:16px}.plrow span{font-size:13px;color:#5b6475}.plbar{height:8px;background:#ece8de;border-radius:4px;margin:6px 0 12px;overflow:hidden}.plbar i{display:block;height:100%;background:#4a99e8}
.emo{font-size:40px;line-height:1.4;letter-spacing:4px;margin:10px 0}
/* V10.8.283 desktop fit: recommended card + 4-subject grid */
.prc .recimg,.prc .recph{height:calc(64*var(--u))}.prc .recph img{width:calc(44*var(--u))}
.prc .rwhy{font-size:calc(9.5*var(--u));margin:0 0 calc(4*var(--u))}.prc .pcount{margin:0 0 calc(6*var(--u));gap:calc(4*var(--u))}
.prc .pcount button{min-width:calc(30*var(--u));height:calc(24*var(--u));font-size:calc(10*var(--u));padding:0 calc(6*var(--u))}.prc .pcount span{font-size:calc(9.5*var(--u))}
.pkx .kx.k4 button.sj{height:calc(38*var(--u));min-height:0;flex-direction:row;justify-content:flex-start;align-items:center;font-size:calc(10*var(--u));padding:0 calc(8*var(--u))}
.pkx .kx.k4 .sjic{width:calc(22*var(--u));height:calc(22*var(--u))}.pkx .kx.k4 .sj.rv{height:calc(34*var(--u))}
@media (max-width:600px){.prc .recimg,.prc .recph{height:120px}.prc .rwhy{font-size:13px}.prc .pcount button{min-width:44px;height:40px;font-size:14px}.prc .pcount span{font-size:13px}
 .pkx .kx.k4 button.sj{height:56px;font-size:15px;padding:0 12px}.pkx .kx.k4 .sjic{width:30px;height:30px}}
/* V10.8.284 Practice room as real UI (no painted background) */
.prwrap{position:relative;min-height:100%;padding:18px 22px 28px;box-sizing:border-box;overflow:auto;height:100%}
.prroom{position:absolute;inset:0;background:radial-gradient(120% 80% at 85% 0%,#d9ebfc 0,#fbf6ec 45%,#f3ede0 100%);overflow:hidden;z-index:0}
.prroom.dim{position:fixed;filter:saturate(.9)}
.prroom i{position:absolute;border-radius:50%;filter:blur(2px);opacity:.55}
.prroom .sh1{width:420px;height:420px;right:-120px;top:-140px;background:radial-gradient(circle,#7bb8f5 0,#f6d27a00 70%)}
.prroom .sh2{width:360px;height:360px;left:-140px;bottom:-160px;background:radial-gradient(circle,#c9d9f3 0,#c9d9f300 70%)}
.prroom .sh3{width:240px;height:240px;left:45%;top:40%;background:radial-gradient(circle,#d8ecdf 0,#d8ecdf00 70%)}
.prwrap>section,.prwrap>div:not(.prroom){position:relative;z-index:1}
.phero{display:flex;align-items:center;gap:18px;background:linear-gradient(120deg,#14213d,#24365f 60%,#33508a);color:#fff;border-radius:22px;padding:14px 22px;box-shadow:0 8px 24px rgba(20,33,61,.18)}
.pav{width:92px;height:110px;flex:none;background:radial-gradient(circle at 50% 60%,#ffffff22,#ffffff00 70%);border-radius:18px;display:grid;place-items:end center;overflow:hidden}.pav svg{width:100%;height:auto}
.pht{flex:1}.pht h1{font-family:Poppins;font-size:26px;margin:0}.pht p{margin:4px 0 0;opacity:.8;font-size:14px}
.pstats{display:flex;gap:10px}.pstats div{background:#ffffff18;border-radius:14px;padding:8px 14px;text-align:center;min-width:70px}.pstats b{display:block;font-size:22px;color:#5da8f3}.pstats span{font-size:12px;opacity:.85}
.pgrid{display:grid;grid-template-columns:1.25fr 1fr;gap:18px;margin-top:18px}
.pcol{display:flex;flex-direction:column;gap:14px}
.pcard{background:#fff;border-radius:20px;padding:18px 20px;box-shadow:0 4px 18px rgba(20,33,61,.07);border:1px solid #efe8da}
.pcard h3,.psh{font-family:Poppins;font-size:16px;margin:0 0 10px;display:flex;align-items:center;gap:8px}
.pch{display:flex;justify-content:space-between;align-items:center}.pill{background:#d2e7fc;color:#12467a;border-radius:999px;padding:4px 12px;font-size:13px;font-weight:600}
.precb{display:flex;gap:18px;align-items:center;margin:14px 0}.precb h2{font-family:Poppins;font-size:24px;margin:0}.precb p{margin:4px 0;color:#4b5263;font-size:14px}.precb .std{font-size:12px;color:#8a91a0}
.mring{--p:0;width:96px;height:96px;flex:none;border-radius:50%;background:conic-gradient(#1f6b45 calc(var(--p)*1%),#ece6d8 0);display:grid;place-items:center;position:relative}
.mring::before{content:'';position:absolute;inset:10px;background:#fff;border-radius:50%}.mring b{position:relative;font-size:22px;font-family:Poppins}.mring span{position:relative;font-size:11px}
.sbtn.big{width:100%;height:54px;font-size:17px;justify-content:center;border-radius:14px}
.plc2{display:flex;justify-content:space-between;align-items:center;gap:12px;background:#fff6dc;border-color:#a4c8ec}.plc2 b{display:block;font-size:17px}.plc2 span{font-size:14px;color:#4b5263}
.revrow{display:flex;width:100%;align-items:center;gap:10px;border:0;background:#f7f3ea;border-radius:12px;padding:12px 14px;margin:6px 0;font-weight:600;cursor:pointer}.revrow span{flex:1;text-align:left}.revrow em{font-style:normal;color:#1f6b45}
.psubs{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.psub{display:flex;flex-direction:column;align-items:flex-start;gap:4px;border:0;border-radius:18px;padding:14px;cursor:pointer;text-align:left;box-shadow:0 3px 12px rgba(20,33,61,.06);transition:transform .15s}
.psub:hover{transform:translateY(-2px)}.psub b{font-family:Poppins;font-size:16px}.psm{font-size:12px;color:#4b5263}
.psi{width:38px;height:38px;border-radius:12px;background:#ffffffaa;display:grid;place-items:center}
.psbar{width:100%;height:7px;border-radius:4px;background:#ffffff99;overflow:hidden}.psbar i{display:block;height:100%;background:#14213d}
.psub.sm{background:#c6e1fb}.psub.se{background:#e6defa}.psub.ss{background:#d9efe3}.psub.so{background:#dce8fb}
.plink{margin-top:4px;align-self:flex-start;background:none;border:0;color:#24365f;font-weight:600;cursor:pointer}
html.simplev .prroom i{display:none}
@media (max-width:600px){.prwrap{padding:12px}.phero{flex-wrap:wrap;padding:14px}.pav{width:64px;height:76px}.pht h1{font-size:20px}.pstats{width:100%}.pstats div{flex:1}
 .pgrid{grid-template-columns:1fr}.precb{gap:12px}.mring{width:76px;height:76px}.precb h2{font-size:20px}.plc2{flex-direction:column;align-items:flex-start}}
.pcard .lnk,.prwrap .lnk{background:none;border:0;color:#24365f;font:inherit;font-weight:600;cursor:pointer;padding:0;text-decoration:underline;text-underline-offset:3px}
.pch .lnk{text-decoration:none;display:inline-flex;align-items:center;gap:4px}
@media (min-width:601px){.prwrap{position:absolute;left:calc(122*var(--u));right:0;top:calc(46*var(--u));bottom:0;height:auto}}
/* V10.8.285 P7/P8 choice + prep */
.tch{position:relative;min-height:100vh;display:grid;place-items:center;padding:24px 14px;box-sizing:border-box}
.tchc{position:relative;z-index:1;max-width:760px;width:100%;background:#fff;border-radius:24px;padding:24px 26px;box-shadow:0 10px 30px rgba(20,33,61,.1)}.tchc.wide{max-width:820px}
.tchc h1{font-family:Poppins;font-size:28px;margin:8px 0 4px}.tchc .lnk{background:none;border:0;color:#24365f;font-weight:600;cursor:pointer;display:inline-flex;gap:4px;align-items:center}
.tchc>.lnk:first-child .ico{transform:rotate(180deg)}
.tgrid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:18px 0}
.topt{display:flex;flex-direction:column;align-items:flex-start;gap:8px;text-align:left;border:2px solid #ece4d3;background:#fffdf8;border-radius:20px;padding:18px;cursor:pointer;min-height:180px;transition:transform .15s,border-color .15s}
.topt:hover{transform:translateY(-2px)}.topt.on{border-color:#14213d;background:#f3f6fc}.topt b{font-family:Poppins;font-size:19px}.topt span{color:#4b5263;font-size:14px;line-height:1.45}
.tico{width:48px;height:48px;border-radius:14px;background:#d2e7fc;display:grid;place-items:center}
.seg{display:inline-flex;background:#f3eee3;border-radius:999px;padding:4px;margin:10px 0}.seg button{border:0;background:none;border-radius:999px;padding:10px 16px;font-weight:600;cursor:pointer;min-height:44px}.seg button.on{background:#14213d;color:#fff}
.fl{display:block;margin:10px 0;font-weight:600;font-size:14px}.fl textarea,.fl input{display:block;width:100%;margin-top:6px;border:1.5px solid #ddd5c4;border-radius:12px;padding:10px;font:inherit;box-sizing:border-box}
.pnotice{background:#eef5f0;color:#1f4b33;border-radius:12px;padding:10px 12px;font-size:13px;display:flex;gap:8px;align-items:flex-start;margin:10px 0}
.pfiles{display:flex;flex-wrap:wrap;gap:10px;margin:12px 0}.pfiles figure{position:relative;margin:0;width:110px;height:140px;border-radius:12px;overflow:hidden;border:1px solid #e6dfcf}.pfiles img{width:100%;height:100%;object-fit:cover}
.pfiles figure button{position:absolute;top:4px;right:4px;width:30px;height:30px;border-radius:50%;border:0;background:#14213dcc;color:#fff;font-size:18px;cursor:pointer}
.padd{width:110px;height:140px;border:2px dashed #8eb6de;border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;cursor:pointer;font-weight:600;color:#24365f}
.pconf{display:flex;gap:8px;font-size:13px;align-items:center}.pconf.hid{display:none}
.trpill{left:calc(400*var(--u));top:calc(14*var(--u));background:#fff;border:1.5px solid #b2cde9;border-radius:999px;padding:calc(6*var(--u)) calc(12*var(--u));font-weight:600;font-size:calc(10*var(--u));cursor:pointer;z-index:5}
@media (max-width:600px){.tgrid{grid-template-columns:1fr}.topt{min-height:0}.tchc{padding:18px}.tchc h1{font-size:22px}.trpill{position:fixed;left:auto;right:10px;top:64px;font-size:13px;padding:8px 12px}}
/* V10.8.285 fix: lobby avatar overflow (pre-existing since V276) + prep buttons */
.mode .mi .avsvg{width:calc(52*var(--u))!important;height:calc(52*var(--u))!important;max-width:100%}
#prev .avwrap .avsvg{position:absolute;left:50%;top:4%;height:92%!important;width:auto!important;max-width:96%;transform:translateX(-50%)}
@media (max-width:600px){.mode .mi .avsvg{width:52px!important;height:52px!important}}
.tchc .rowb{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:14px}
.tchc .nbtn,.tchc .bbtn{min-height:48px;border-radius:14px;padding:0 18px;font-weight:600;font-size:15px;cursor:pointer;display:inline-flex;align-items:center;gap:6px}
.tchc .nbtn{background:#14213d;color:#fff;border:0}.tchc .nbtn[disabled]{opacity:.45;cursor:not-allowed}.tchc .bbtn{background:#fff;border:1.5px solid #cfc6b2;color:#14213d}
.tchc .okbox{background:#e6f3ea;color:#1f6b45;border-radius:12px;padding:12px 14px;font-weight:600}.tchc .jerr{color:#b3261e;min-height:1em}
.mode .mi{overflow:hidden;border-radius:50%;width:calc(52*var(--u));margin:0 auto}.mode .mi .avsvg{overflow:hidden}@media (max-width:600px){.mode .mi{width:52px}}
/* V10.8.286: progress focus row - keep ring inside the card on desktop */
.fq .fqt{min-width:0;flex:1 1 0}.fq .fqt b{overflow-wrap:anywhere}

@media (max-width:600px){.campus .lbl{min-height:44px;min-width:44px;box-sizing:border-box}}
/* V295 STEP 1: sign-in focal point + no empty area under the form */
.si-art{background-position:30% 30%}
@media (min-width:601px){.si{height:100vh;min-height:560px}.si-panel{justify-content:center}.si-top{position:absolute;top:2.4vw;left:3vw;right:3vw}.si h1{margin-top:0}}
@media (max-width:600px){.si-art{background-position:32% 20%}}
/* V10.8.306 fixed character presets */
.chimg{display:block;max-width:100%;max-height:100%;object-fit:contain;object-position:50% 100%;user-select:none;-webkit-user-drag:none}
.avhead .chimg.chhead{width:100%;height:auto;max-height:none;max-width:none;transform:scale(1.7);transform-origin:50% 0;margin-top:2%}
.campch{position:absolute;left:calc(450*var(--u));top:calc(400*var(--u));width:calc(100*var(--u));height:calc(160*var(--u));display:flex;align-items:flex-end;justify-content:center;pointer-events:none;z-index:1}
.campch .chimg{height:100%;width:auto;filter:drop-shadow(0 calc(4*var(--u)) calc(4*var(--u)) rgba(0,0,0,.25))}
.pav .chimg,.hwav .chimg,.pchild .chimg,#prev .avwrap .chimg,.mode .mi .chimg{height:100%;width:auto;margin:0 auto}
.chfig{display:flex;align-items:flex-end;justify-content:center}.chfig .chimg{height:100%;width:auto}
.chtabs{flex-wrap:wrap}
.chgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:12px 0}
.cht{background:#fff;border:2px solid #ece6da;border-radius:14px;padding:8px 6px 6px;display:flex;flex-direction:column;align-items:center;gap:4px;cursor:pointer;min-height:44px;font:inherit;color:#14213d}
.cht img{height:120px;width:100%;object-fit:contain;object-position:50% 100%}
.cht span{font-size:13px;font-weight:600}.cht.on{border-color:var(--gold,#79b8f6);box-shadow:0 0 0 3px #9ac8f6}.cht:focus-visible{outline:3px solid #14213d;outline-offset:2px}
.chnext{width:100%}.chbk{margin:8px 0 0}
@media (max-width:600px){.cht img{height:96px}.chgrid{gap:8px}}
.world>img.campv2{object-fit:cover;object-position:50% 60%}
.campus:before{background-image:url(/static/student-portal/img/campus-v2.webp)!important}
/* V10.8.307 Next-session card over the central tree/lawn so buildings stay visible */
.campus .next{top:calc(244*var(--u))}
@media (max-width:600px){.nextfix{top:calc(var(--hh) + 36vh)}}
/* V10.8.308 student's character beside the tutor initials on the Next-session card */
.next .tavme{overflow:hidden;background:#bedcfa;border:2px solid var(--gold,#79b8f6);box-sizing:border-box;padding:0;margin-right:calc(-14*var(--u));z-index:1;position:relative}
.next .tavme .chimg.chhead{width:100%;height:auto;max-width:none;max-height:none;transform:scale(1.7);transform-origin:50% 0;margin-top:2%}
.nextfix .tavme{margin-right:-12px}
.campus .next{max-width:calc(660*var(--u))}
@media (min-width:601px){.campus .next{width:max-content}.campus .next .next-txt{flex:0 1 auto}}
/* V10.8.309 tutor photo in place of initials (initials stay underneath as fallback) */
.next .tavt{position:relative;overflow:hidden}.next .tavt img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:50%}
/* V10.8.311 picker refinements: separate Creatures tab; quieter background */
.chtabrow{display:flex;flex-direction:column;gap:8px;align-items:stretch;margin-bottom:calc(8*var(--u))}
.avs2 .chtabrow .avtabs{margin-bottom:0}.avs2 .chtabs{flex:1;grid-template-columns:repeat(4,1fr)}.avs2 .chtabc{grid-template-columns:1fr;flex:none;align-self:flex-start;min-width:50%}
.avs2 .chtabs button{font-size:13px;line-height:1.15}

@media (max-width:600px){.chtabrow{flex-direction:column;gap:8px}.avs2 .chtabc{align-self:flex-start;min-width:50%}}
img.pw-bg.avbg{opacity:.3!important;transform:scale(.8)!important;transform-origin:50% 50%}
.world:has(.avs2){background:#f6efe2}
.pw .world:has(.avs2)::before{opacity:.25!important;transform:scale(.9)!important}.pw:has(.avs2) .pw-under{opacity:.25}
/* V10.8.315 parent headings readable on the navy panel; Plan card from actual records */
@media (min-width:601px){.pdm>h1,.pdm>.pdh,.pdm>h2.pdh{color:#fff}.pdm>.sub0{color:#8abff3}.pdm>.kidsel{color:#fff}}
.pplan .pname{margin:calc(4*var(--u)) 0 0;font-size:calc(12*var(--u))}.pplan .pprice{margin:calc(2*var(--u)) 0 calc(6*var(--u));font-size:calc(11*var(--u));color:#2c3348}
.pplan .pinc{list-style:none;padding:0;margin:calc(4*var(--u)) 0 calc(8*var(--u))}.pplan .pinc li{display:flex;gap:6px;align-items:center;font-size:calc(10.5*var(--u));margin:2px 0}.pplan .pinc .ico{width:14px;height:14px;color:#2f8f5b}
.pplan .rowb{display:flex;gap:10px;flex-wrap:wrap;margin-top:calc(8*var(--u))}.pplan .rowb .nbtn,.pplan .rowb .obtn{width:auto;margin:0}
.preq{background:#fff6dc;border:1px solid #6aaae9;border-radius:10px;padding:8px 12px;margin:8px 0;display:flex;flex-direction:column;gap:2px}.preq b{font-size:13px}.preq span{font-size:12px;color:#5f6577}
@media (max-width:600px){.pplan .pname{font-size:16px}.pplan .pprice,.pplan .pinc li{font-size:14px}}
/* V10.8.316 campus: hint bottom-right; world sized by fitCampus() (cover, under the header) */
.campus .world{top:0}
.hint:not(.fb){left:auto;right:16px;transform:none;bottom:16px}
@media (max-width:600px){.hint:not(.fb){right:10px;bottom:max(12px,env(safe-area-inset-bottom))}}
/* V10.8.316 fix: room pages that don't set --u themselves (Find your level / placement) rendered unstyled; default scale for every .pw room */
@media (min-width:601px){.pw .world{--u:min(calc(100vw/1024),calc(100vh/576))}}
.pnew{display:block;margin:8px auto 0;font-size:13px}
.pw:has(.plx),.pw:has(.plx) .world{background:linear-gradient(#fbf6ec,#f1e7d4)!important}.plx .rowb .nbtn{width:auto}
.ngbar{position:fixed;left:50%;transform:translateX(-50%);bottom:14px;z-index:30;background:rgba(255,255,255,.96);color:#14213d;border-radius:12px;padding:8px 36px 8px 14px;font-size:13px;box-shadow:0 4px 16px rgba(0,0,0,.2);max-width:min(92vw,620px)}
.ngbar a{color:#14213d;font-weight:600}.ngbar button{position:absolute;right:6px;top:4px;border:0;background:none;font-size:18px;cursor:pointer}
/* V10.8.321 join screen: preview fills the whole viewport (no cream strip under the 16:9 stage) */
@media (min-width:601px){ .lob .prev{position:fixed!important;inset:0!important;width:100vw!important;height:100vh!important;z-index:0} .lob .world>*:not(.prev):not(.ltbtn):not(.ltray):not(.ltray2){z-index:1} }
/* V10.8.321 QA pass */
/* Settings + Choose your world: light page (no blank navy, headings readable), like placement */
.pw:has(.sts),.pw:has(.sts) .world,.pw:has(.wsel),.pw:has(.wsel) .world{background:linear-gradient(#fbf6ec,#f1e7d4)!important}
.pw:has(.sts) .ws,.pw:has(.wsel) .ws,.pw:has(.sts) .wnote,.pw:has(.wsel) .wnote{color:#5f6577!important}
.pw:has(.sts) h1,.pw:has(.sts) h2,.pw:has(.wsel) h1{color:#14213d!important}
@media (min-width:601px){ .pw:has(.sts) .sav,.pw:has(.wsel) .sav{display:none} }
/* Homework room: the assignments card covers the painted sample row behind it */
@media (min-width:601px){ .prc.hwc{min-height:calc(120*var(--u))} }
/* Homework room on phone: the art already shows the painted title; hide the duplicate card */
@media (max-width:600px){ .ptitle.lib{display:none} }
/* Placement result on phone: content stays inside the card */
@media (max-width:600px){ .plx .done{width:100%;max-width:100%;box-sizing:border-box;padding:0 6px;overflow-wrap:anywhere} .plx .done .rowb{flex-wrap:wrap} .plx .done b{font-size:22px} }
/* V10.8.321 one header everywhere: Book / Join class button in the booking/sessions frame too */
.bkh .bj{background:#14213d;color:#fff;border:0;border-radius:calc(6*var(--u));height:calc(28*var(--u));padding:0 calc(14*var(--u));font-weight:600;font-size:calc(10*var(--u))}
@media (max-width:600px){ .bkh .bj{height:40px;font-size:13px;padding:0 14px;border-radius:8px} .bkh .hdr-r{gap:8px} }

/* V10.8.326 Book a session: 4-step guided flow (reference card 426px). Navy = brand #14213d, gold stepper. */
.bk2{--nv:#14213d;--gd:#3c8bd9;--gl:#fdf4de;--gb:#79b3ec;--ln:#e6e8ee;--mu:#5b6478;position:fixed;inset:0;overflow:auto;background:#eef0f4;display:flex;justify-content:center;align-items:flex-start;padding:40px 16px;font-family:Inter,system-ui,sans-serif;color:var(--nv)}
.bk2:before{content:'';position:fixed;inset:-40px;background:url(img/hall.webp) center bottom/cover;filter:blur(18px);opacity:.55;z-index:0}
.b2card{position:relative;z-index:1;width:426px;max-width:100%;background:#fff;border-radius:22px;box-shadow:0 10px 36px rgba(20,33,61,.16);overflow:hidden;font-size:14px;line-height:1.35}
.b2card svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}
.b2hd{position:relative;height:66px;display:flex;align-items:center;justify-content:center;margin:0 24px;border-bottom:1px solid var(--ln)}
.b2logo{height:27px}
.b2back{position:absolute;left:-2px;top:50%;transform:translateY(-50%);display:flex;align-items:center;gap:4px;background:none;border:0;padding:8px 4px;font:500 13.5px Inter,sans-serif;color:var(--nv);cursor:pointer}
.b2back svg{width:16px;height:16px;stroke-width:2.2}
.b2step{list-style:none;display:flex;align-items:flex-start;margin:0;padding:10px 46px 0}
.b2step .st{display:flex;flex-direction:column;align-items:center;width:44px;margin:0 -11px;font-size:13px;color:var(--mu)}
.b2step .dot{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font:600 12px Inter,sans-serif;background:#eceef2;color:#4a5266;margin-bottom:5px}
.b2step .done .dot,.b2step .cur .dot{background:var(--gd);color:#fff}
.b2step .cur .dot{box-shadow:0 0 0 3px #b2d4f6}
.b2step .done .dot svg{width:15px;height:15px;stroke-width:2.6}
.b2step .cur .lb{color:var(--nv);font-weight:700}
.b2step .ln{flex:1;height:2px;background:#dfe2e8;margin-top:12px}.b2step .ln.on{background:var(--gd)}
.b2body{padding:16px 24px 18px}
.b2body h1{font:700 26px/1.2 Inter,sans-serif;letter-spacing:-.02em;margin:0 0 4px;color:var(--nv)}
.b2sub{margin:0 0 14px;color:#3d465b;font-size:15px}
.b2chip{display:flex;align-items:center;gap:10px;background:#f1f2f5;border-radius:9px;padding:11px 14px;font-size:13.5px;margin-bottom:16px}
.b2chip b{font-weight:500}.b2chip.warn{background:var(--gl)}
.b2lab{display:block;font-weight:700;font-size:15px;margin:0 0 8px}.b2lab em{font-style:normal;font-weight:400;color:var(--mu);font-size:14px}
.b2sel{position:relative;margin-bottom:16px}
.b2sel select{width:100%;height:40px;border:1px solid #d7dbe3;border-radius:8px;padding:0 38px 0 14px;font:400 14.5px Inter,sans-serif;color:var(--nv);background:#fff;appearance:none;-webkit-appearance:none}
.b2sel svg{position:absolute;right:12px;top:11px;pointer-events:none}
.b2radios{display:flex;flex-direction:column;gap:7px;margin-bottom:16px}
.b2rad{display:flex;align-items:center;gap:16px;min-height:52px;padding:6px 14px 6px 12px;border:1px solid #d7dbe3;border-radius:8px;background:#fff;text-align:left;font:400 12.5px Inter,sans-serif;color:#4a5266;cursor:pointer}
.b2rad b{display:block;font-weight:500;font-size:14.5px;color:var(--nv)}
.b2rad i{width:18px;height:18px;border-radius:50%;border:1.5px solid #b9bfcb;flex:none;position:relative}
.b2rad.on{background:var(--gl);border-color:var(--gb)}.b2rad.on i{border-color:var(--gd);background:var(--gd)}.b2rad.on i:after{content:'';position:absolute;inset:4px;border-radius:50%;background:#fff}
.b2in{width:100%;box-sizing:border-box;height:40px;border:1px solid #d7dbe3;border-radius:8px;padding:0 14px;font:400 14px Inter,sans-serif;color:var(--nv);background:#f6f7f9;margin-bottom:16px}
.b2btn{width:100%;height:46px;border:0;border-radius:8px;background:var(--nv);color:#fff;font:600 16px Inter,sans-serif;display:flex;align-items:center;justify-content:center;gap:10px;cursor:pointer;text-decoration:none}
.b2btn:disabled{opacity:.4;cursor:not-allowed}
.b2foot{text-align:center;color:var(--mu);font-size:11.5px;margin:9px 0 0}
.b2tz{display:flex;align-items:center;gap:10px;margin:-2px 0 18px;font-size:14px;color:#3d465b}.b2tz svg{width:20px;height:20px}
.b2mon{display:flex;align-items:center;gap:6px;margin-bottom:9px}.b2mon b{font-size:15px;margin-right:6px}
.b2arr{background:none;border:0;padding:4px;color:var(--nv);cursor:pointer;display:grid}.b2arr:disabled{opacity:.3}.b2arr svg{width:16px;height:16px;stroke-width:2.2}
.b2cal{margin-left:auto;display:flex;align-items:center;gap:6px;background:none;border:0;font:500 14px Inter,sans-serif;color:var(--nv);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.b2days{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:16px}
.b2day{position:relative;height:76px;border:1px solid #d7dbe3;border-radius:6px;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font:400 13px Inter,sans-serif;color:var(--nv);cursor:pointer}
.b2day b{font-size:22px;font-weight:600}.b2day em{font-style:normal;font-size:11px;color:inherit;opacity:.75}
.b2day.on{background:var(--nv);border-color:var(--nv);color:#fff}.b2day i{width:7px;height:7px;border-radius:50%;background:var(--gd);position:absolute;bottom:8px}
.b2times{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:8px}
.b2time{height:48px;border:1px solid #d7dbe3;border-radius:6px;background:#fff;font:400 15px Inter,sans-serif;color:var(--nv);display:flex;align-items:center;justify-content:center;gap:8px;cursor:pointer}
.b2time.on{background:var(--nv);border-color:var(--nv);color:#fff}
.b2more{background:none;border:0;padding:4px 0;font:500 13px Inter,sans-serif;color:var(--nv);text-decoration:underline;cursor:pointer}
.b2tutor{border-top:1px solid var(--ln);margin-top:10px;padding-top:12px}
.b2trow{display:flex;align-items:center;gap:12px}.b2trow>div{flex:1;min-width:0}.b2trow b{font-weight:600;font-size:15px;margin-right:6px}
.b2av{position:relative;width:48px;height:48px;border-radius:50%;background:var(--nv);color:#fff;display:grid;place-items:center;font:600 16px Inter,sans-serif;flex:none;overflow:hidden}
.b2av img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.b2av.sm{width:38px;height:38px;font-size:13px}
.b2tag{display:inline-block;background:var(--gl);border-radius:3px;padding:2px 7px;font-size:11px;font-weight:500;vertical-align:2px}
.b2small{display:block;color:var(--mu);font-size:13px;margin-top:3px}
.b2link{background:none;border:0;padding:4px 0;font:500 13.5px Inter,sans-serif;color:var(--nv);text-decoration:underline;text-underline-offset:3px;cursor:pointer;white-space:nowrap}
.b2sum{border-top:1px solid var(--ln);background:#fff;padding:16px 24px 20px;box-shadow:0 -6px 14px -10px rgba(20,33,61,.18)}
.b2sum p{margin:0 0 12px;font-weight:700;font-size:15px}.b2muted{color:var(--mu);font-weight:400}
.b2rows{border-top:1px solid var(--ln);margin-bottom:12px}
.b2row{display:grid;grid-template-columns:30px 94px 1fr auto;align-items:center;gap:4px;min-height:52px;padding:6px 0;border-bottom:1px solid var(--ln);font-size:13px}
.b2row .ic svg{width:20px;height:20px}.b2row .k{color:#3d465b;font-size:12.5px}.b2row .v{font-size:13px}.b2row .v b{display:block;font-weight:600;font-size:14px}.b2row .v>span{display:block;color:var(--mu);font-size:12px}
.b2tv{display:flex!important;align-items:center;gap:10px;color:var(--nv)!important}.b2tv b{font-size:14px}
.b2note{display:flex;align-items:flex-start;gap:14px;background:var(--gl);border-radius:8px;padding:12px 16px;font-size:12.5px;color:#3d465b;margin-bottom:8px}
.b2note svg{color:var(--gd);width:20px;height:20px;margin-top:1px}.b2note b{display:block;color:var(--nv);font-weight:600;font-size:13.5px}
.b2note.warn{background:#fdeceb}
.b2terms{display:block;margin:2px auto 10px;background:none;border:0;font:400 13px Inter,sans-serif;color:var(--nv);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.b2err{color:#b4232c;font-size:13px;min-height:0;margin:0 0 6px}.b2err:empty{display:none}
.b2ok{text-align:center;padding-top:22px}.b2ok h1{font-size:28px}
.b2tick{width:72px;height:72px;margin:0 auto 14px;border:3px solid var(--gd);border-radius:50%;display:grid;place-items:center;color:var(--gd)}.b2tick svg{width:36px;height:36px;stroke-width:2.4}
.b2dcard{text-align:left;border-top:1px solid var(--ln);padding-top:14px;margin-top:4px}
.b2dcard ul{list-style:none;padding:0;margin:12px 0 10px}.b2dcard li{display:flex;align-items:center;gap:14px;font-size:13.5px;color:#3d465b;padding:5px 0}
.b2ok .b2note{text-align:left;align-items:center}
.b2info{display:flex;align-items:center;justify-content:center;gap:8px;font-size:12px;color:#3d465b;margin:6px 0 14px}.b2info svg{width:16px;height:16px}
.b2grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:10px 0}
.b2empty{background:#f6f7f9;border-radius:8px;padding:12px}
@media (max-width:600px){
 .bk2{padding:0;background:#fff;display:block}.bk2:before{display:none}
 .b2card{width:100%;border-radius:0;box-shadow:none;min-height:100%}
 .b2body{padding:16px 20px 18px}.b2hd{margin:0 20px}.b2step{padding:10px 40px 0}
 .b2sum{position:sticky;bottom:0;padding:14px 20px max(16px,env(safe-area-inset-bottom))}
 .b2btn{height:50px}
 .b2row{grid-template-columns:28px 84px 1fr auto}
}
/* pass 2: closer to reference */
.b2hd{height:54px}.b2step{padding-top:8px}.b2step .dot{width:28px;height:28px;font-size:13px}.b2step .cur .dot{box-shadow:none}.b2step .st{font-size:14px}
.b2body{padding-top:12px}.b2body h1{font-size:27px;font-weight:800}.b2sub{font-size:16px;color:#2f3a55}
.b2chip{font-size:14.5px;padding:12px 14px}.b2lab{font-size:16px}
.b2sel select{height:42px;font-size:16px}
.b2rad{min-height:58px;gap:20px;font-size:14px;padding-left:16px}.b2rad b{font-size:15.5px;font-weight:600}.b2rad i{width:22px;height:22px}.b2rad.on i:after{inset:6px}.b2rad.on{border-color:#3c8bd9}
.b2in{height:42px}.b2btn{height:48px;font-size:17px}
.b2time{font-size:16px}.b2tz{font-size:15px}.b2sub+.b2tz{margin-top:-4px}
.b2row{grid-template-columns:34px 108px 1fr auto;font-size:14px;min-height:50px}.b2row .k{font-size:13.5px}.b2row .v b{font-size:15px}.b2row .v>span{font-size:13px}.b2row .v{font-size:14px}
.b2note{font-size:13.5px}.b2note b{font-size:14.5px}
@media (max-width:600px){.b2row{grid-template-columns:30px 88px 1fr auto}}

/* V10.8.327 Class recordings list (existing card style) */
.recs .reclist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.recs .reclist li{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid #eee7da;border-radius:12px;padding:12px 14px}
.recs .reclist li>div:nth-child(2){flex:1;min-width:0}.recs .reclist b{display:block;font-size:15px}.recs .reclist span{display:block;color:#5f6577;font-size:13px}
.recs .ri{width:40px;height:40px;border-radius:10px;background:#f4ead2;display:grid;place-items:center;flex:none}.recs .ri .ico{width:20px;height:20px}
.recs .reclist .nbtn{width:auto;margin:0;white-space:nowrap;text-decoration:none}
.pw:has(.recs),.pw:has(.recs) .world{background:linear-gradient(#fbf6ec,#f1e7d4)!important}
@media (max-width:600px){.recs .xb{padding:12px!important}.recs .reclist li{flex-wrap:wrap}.recs .reclist li>div:nth-child(2){flex:1 1 calc(100% - 60px)}.recs .reclist .nbtn{flex:1 1 100%;justify-content:center}}

/* V10.8.329 stepper fix (Tamra 8:46 PM): line joins circle centres, gold when complete, labels centred under circles */
.b2step{max-width:340px;margin:0 auto;padding:10px 24px 0;box-sizing:border-box}
.b2step .st{width:76px;margin:0 -24px;position:relative;z-index:1;text-align:center;white-space:nowrap}
.b2step .dot{position:relative;z-index:1;margin-bottom:6px}
.b2step .ln{margin-top:13px;height:2px;position:relative;z-index:0}

/* V10.8.329 Change-tutor and Add-to-calendar sheets */
.b2scrim{position:fixed;inset:0;background:rgba(20,33,61,.42);z-index:40}
.b2sheet{position:fixed;z-index:41;left:50%;top:50%;transform:translate(-50%,-50%);width:min(420px,calc(100vw - 32px));max-height:min(78vh,620px);overflow:auto;background:#fff;border-radius:20px;padding:20px 20px 16px;box-sizing:border-box;box-shadow:0 18px 50px rgba(20,33,61,.3);outline:none}
.b2shh{display:flex;align-items:center;justify-content:space-between;gap:12px}
.b2shh h2{font:700 20px Poppins,Inter,sans-serif;margin:0;color:#14213d}
.b2x{width:40px;height:40px;border-radius:50%;border:0;background:#f1f2f5;color:#14213d;font-size:24px;line-height:1;cursor:pointer;flex:none}
.b2shs{display:block;margin:4px 0 12px}
.b2tl{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.b2tli{width:100%;display:flex;align-items:center;gap:14px;text-align:left;background:#fff;border:1.5px solid #e6e8ee;border-radius:14px;padding:10px 12px;cursor:pointer;color:#14213d;min-height:64px;font:inherit}
.b2tli.on{border-color:#3c8bd9;background:#fdf4de}
.b2tli .b2av{flex:none}
.b2tlt{flex:1;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:3px}
.b2tlt b{font-size:15px}
.b2tli>svg{width:18px;height:18px;flex:none}
.b2sempty{background:#fdf4de;border-radius:14px;padding:14px 16px;color:#14213d}
.b2sempty b{display:block;margin-bottom:4px;font-size:15px}.b2sempty p{margin:0;font-size:14px;line-height:1.45;color:#5b6478}
.b2calo{display:flex;align-items:center;gap:12px;min-height:52px;border:1.5px solid #e6e8ee;border-radius:14px;padding:0 14px;margin-top:10px;color:#14213d;text-decoration:none;font-weight:600}
.b2calo svg{width:20px;height:20px}
@media (max-width:600px){.b2sheet{top:auto;bottom:0;left:0;right:0;transform:none;width:100%;max-height:85vh;border-radius:20px 20px 0 0;padding-bottom:max(16px,env(safe-area-inset-bottom))}}
.b2tln{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px}.b2tln .b2tag{margin:0}

/* V10.8.333 Parent account redesign. Navy sidebar, cream page, serif headings, gold accents. No campus background. */
.p2{--nv:#16243f;--nv2:#1d2d4d;--gd:#3a87d4;--gl:#fbf1dc;--ln:#e7e3da;--mu:#5d6475;min-height:100vh;display:grid;grid-template-columns:248px 1fr;background:#fff;color:var(--nv);font-family:Inter,system-ui,sans-serif;font-size:15px}
.p2 svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}.p2 svg.f{fill:currentColor;stroke:none}
.p2side{position:sticky;top:0;height:100vh;box-sizing:border-box;background:var(--nv);display:flex;flex-direction:column;gap:6px;padding:20px 14px}
.p2logo{display:flex;align-items:center;gap:10px;color:#fff;font:600 23px Poppins,Inter,sans-serif;letter-spacing:-.02em;padding:6px 8px 22px}.p2logo b{color:#4a99e8;font-weight:600}
.p2logo svg{width:34px;height:26px;stroke:#4a99e8;stroke-width:2}
.p2side button{display:flex;align-items:center;gap:16px;height:46px;padding:0 14px;border:0;border-radius:8px;background:none;color:#fff;font:500 15px Inter,sans-serif;text-align:left;cursor:pointer}
.p2side button svg{width:22px;height:22px}.p2side button:hover{background:rgba(255,255,255,.07)}
.p2side button.on{background:#f8edd6;color:var(--nv);font-weight:600}.p2side button.on svg{color:#17599a}
.p2side .p2out{margin-top:auto}
.p2main{position:relative;padding:22px 34px 40px;max-width:1080px;box-sizing:border-box;width:100%}
.p2acct{position:absolute;right:30px;top:16px;display:flex;align-items:center;gap:8px;font-size:13px;color:var(--mu)}.p2acct svg{color:#2c7fd2;width:18px;height:18px}
.p2h1{font:700 34px/1.15 Poppins,Inter,sans-serif;letter-spacing:-.01em;margin:8px 0 4px;color:var(--nv)}
.p2lead{margin:0 0 16px;color:#3c4559;font-size:15px}
.p2ban{height:96px;border-radius:6px;background:linear-gradient(90deg,rgba(253,248,238,.96) 0%,rgba(253,248,238,.8) 42%,rgba(253,248,238,0) 70%),url(img/campus-v2.webp) 60% 38%/cover;display:flex;align-items:center;padding:0 26px;margin-bottom:14px}
.p2ban b{font:700 25px Poppins,Inter,sans-serif;color:var(--nv)}
.p2kids{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}.p2kids.one{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.p2kid{border:1px solid var(--ln);border-radius:8px;padding:18px 18px 18px;display:flex;flex-direction:column;gap:14px;background:#fff}
.p2kt{display:flex;align-items:center;gap:18px;padding-bottom:14px;border-bottom:1px solid var(--ln)}
.p2kt h2{font:700 27px Poppins,Inter,sans-serif;margin:0}.p2kt p{margin:2px 0 8px;font-size:16px}
.p2av{width:104px;height:104px;border-radius:50%;background:radial-gradient(circle at 50% 45%,#b6d8f9,#7cb9f5);overflow:hidden;display:block;flex:none}
.p2av img{width:100%;height:100%;object-fit:cover;object-position:50% 12%;display:block}
.p2av.sm{width:58px;height:58px}.p2av.md{width:76px;height:76px}
.p2chip{display:inline-flex;align-items:center;gap:7px;background:var(--gl);border-radius:5px;padding:6px 10px;font-size:13px;font-weight:500}.p2chip svg{width:15px;height:15px;color:#1c72c7}
.p2kn{display:flex;align-items:flex-start;gap:14px}.p2kn b{display:block;font-weight:600;font-size:14.5px}.p2kn span{font-size:14px;color:#3c4559}
.p2ki{width:32px;height:32px;border-radius:50%;background:var(--gl);display:grid;place-items:center;color:#146cc4;flex:none}.p2ki svg{width:18px;height:18px}
.p2btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;height:44px;padding:0 22px;border:0;border-radius:6px;background:var(--nv);color:#fff;font:600 15px Inter,sans-serif;text-decoration:none;cursor:pointer;white-space:nowrap}
.p2btn:disabled{opacity:.5}.p2btn.ghost{background:#fff;color:var(--nv);border:1.5px solid #cfd3dc}
.p2kid .p2btn{width:100%}
.p2row{width:100%;display:flex;align-items:center;gap:18px;border:1px solid var(--ln);border-radius:8px;padding:16px 20px;background:#fff;text-align:left;cursor:pointer;color:var(--nv)}
.p2row b{display:block;font:700 18px Poppins,Inter,sans-serif}.p2row span{font-size:13.5px;color:#3c4559}.p2row>span:nth-child(2){flex:1}
.p2ri{width:48px;height:48px;border-radius:50%;background:#f0f1f4;display:grid;place-items:center}.p2ri svg{width:26px;height:26px}
.p2back{display:inline-flex;align-items:center;gap:8px;color:#2556b8;text-decoration:none;font-size:14px;margin-top:-4px}.p2back svg{width:17px;height:17px}
.p2who{display:flex;align-items:center;gap:14px;margin:10px 0 4px}.p2who>div{display:flex;flex-direction:column}.p2who span{font-size:13.5px}
.p2kname{font:700 22px Poppins,Inter,sans-serif}
.p2ksel{position:relative;display:inline-flex}.p2ksel select{appearance:none;-webkit-appearance:none;border:1px solid #d8dce3;border-radius:6px;background:#fff;font:700 21px Poppins,Inter,sans-serif;color:var(--nv);padding:2px 38px 2px 10px}
.p2ksel svg{position:absolute;right:10px;top:50%;transform:translateY(-50%);pointer-events:none;width:17px}.p2ksel.box select{font:500 14px Inter,sans-serif;padding:7px 38px 7px 12px;min-width:220px}
.p2link{background:none;border:0;padding:4px 0;color:#2556b8;font:500 14px Inter,sans-serif;text-decoration:none;cursor:pointer;display:inline-flex;align-items:center;gap:6px}.p2link svg{width:16px;height:16px}
.p2who .p2link{margin-left:12px;padding-left:16px;border-left:1px solid #d8dce3;align-self:center}
.p2tabs{display:flex;gap:4px;border-bottom:1px solid var(--ln);margin:10px 0 0}
.p2tabs a{padding:10px 18px;color:var(--nv);text-decoration:none;font-size:15px;border-bottom:3px solid transparent;margin-bottom:-1px}.p2tabs a.on{font-weight:600;border-color:var(--gd)}
.p2note{font-size:13.5px;color:var(--mu);margin:10px 0 12px}
.p2card{border:1px solid var(--ln);border-radius:8px;padding:16px 20px;margin-bottom:14px;background:#fff;box-shadow:0 1px 2px rgba(20,33,61,.03)}
.p2card h3{font:700 21px Poppins,Inter,sans-serif;margin:0 0 10px}.p2card h4{font:600 15px Inter,sans-serif;margin:0 0 12px}
.p2sk table{width:100%;border-collapse:collapse;font-size:14px}.p2sk th{text-align:left;font-weight:500;font-size:13px;padding:8px 10px;border-bottom:1px solid var(--ln)}
.p2sk td{padding:11px 10px;border-bottom:1px solid #f0ede6}.p2sk td:nth-child(2){white-space:nowrap}.p2sk th:nth-child(2){width:36%}.p2sk th:nth-child(3){width:30%}
.p2bar{display:inline-block;vertical-align:middle;width:calc(100% - 70px);max-width:150px;height:7px;border-radius:4px;background:#ecebe7;overflow:hidden}.p2bar i{display:block;height:100%;background:var(--gd);border-radius:4px}
.p2sk em{font-style:normal;margin-left:14px}
.p2dot{display:inline-block;width:12px;height:12px;border-radius:50%;background:#dcdcdc;margin-right:10px;vertical-align:-1px}.p2dot.go{background:var(--gd)}.p2dot.ok{background:#3c9a5f}
.p2fine{font-size:12.5px;color:var(--mu);margin:10px 0 0}
.p2focus{display:flex;align-items:center;gap:18px;background:var(--gl);border-radius:8px;padding:16px 20px;margin-bottom:14px}
.p2focus>div{flex:1}.p2focus b{display:block;font:700 19px Poppins,Inter,sans-serif}.p2focus span{font-size:14px;color:#3c4559}
.p2fi{width:48px;height:48px;border-radius:50%;background:#a8cff6;display:grid;place-items:center;color:#267dd3}.p2fi svg{width:26px;height:26px}
.p2more{display:inline-flex;align-items:center;gap:8px;color:#2556b8;text-decoration:underline;text-underline-offset:3px;font-size:14.5px}.p2more svg{width:17px;height:17px}.p2more.sm{font-size:13.5px;margin-top:10px;float:right}.p2more.right{float:right}
.p2li{display:flex;align-items:center;gap:12px;padding:6px 0}.p2li>div{flex:1;min-width:0}.p2li b{display:block;font-weight:500;font-size:14px}.p2li span{font-size:12.5px;color:var(--mu)}
.p2li .p2ki{background:none;color:var(--nv)}
.p2pill{display:inline-flex!important;align-items:center;gap:6px;border-radius:5px;padding:5px 10px;font-size:12.5px!important;background:#f2f2f2;color:var(--nv)!important;white-space:nowrap}
.p2pill.ok{background:#edf4ee}.p2pill.ok svg{width:16px;height:16px;color:#fff;background:#3c9a5f;border-radius:50%;padding:2px;box-sizing:border-box}.p2pill.todo{background:var(--gl)}
.p2up{display:flex;align-items:center;gap:18px}.p2up>div{flex:1}.p2up h3{margin:0 0 2px;font-size:20px}.p2up b{display:block;font-weight:600}.p2up span{font-size:13px;color:var(--mu)}
.p2ib{width:56px;height:56px;border-radius:50%;background:var(--gl);display:grid;place-items:center;color:#146cc4;flex:none}.p2ib svg{width:28px;height:28px}.p2ib.g{background:#f0f1f4;color:var(--nv);width:44px;height:44px}.p2ib.g svg{width:24px}
.p2two{display:grid;grid-template-columns:1fr 1fr;gap:14px}.p2two .p2card{margin:0 0 14px;overflow:hidden}
.p2foot{display:flex;align-items:center;gap:10px;background:#f4f4f4;border-radius:6px;padding:10px 14px;font-size:13px;color:#3c4559;margin:0}.p2foot svg{width:17px;height:17px}
.p2empty{color:var(--mu);font-size:14px;margin:4px 0}
.p2fam{display:flex;align-items:center;gap:16px}.p2fam>div:nth-child(2){flex:1}.p2fam b{display:block;font-weight:600}.p2fam span{font-size:13px;color:var(--mu)}.p2links{display:flex;gap:24px;flex-wrap:wrap}
.p2safe .p2who{margin:0 0 14px;align-items:flex-start}.p2safe h3{margin:0 0 6px;font-size:20px}.p2kbox{display:inline-block;border:1px solid #d8dce3;border-radius:6px;padding:7px 12px;font-size:14px!important;min-width:200px}
.p2tiny{font-size:12.5px!important;color:var(--mu);margin-top:6px}
.p2tog{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:6px 0 10px}.p2tog b{display:block;font-weight:600;font-size:14.5px}.p2tog span{font-size:12.5px;color:var(--mu)}
.p2sw{position:relative;width:52px;height:30px;flex:none}.p2sw input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer;z-index:1}
.p2sw i{position:absolute;inset:0;border-radius:15px;background:#cfd3dc;transition:.2s}.p2sw i:after{content:'';position:absolute;left:3px;top:3px;width:24px;height:24px;border-radius:50%;background:#fff;transition:.2s;box-shadow:0 1px 3px rgba(0,0,0,.25)}
.p2sw input:checked+i{background:var(--gd)}.p2sw input:checked+i:after{left:25px}.p2sw input:focus-visible+i{outline:2px solid #2556b8;outline-offset:2px}
.p2games{display:flex;flex-wrap:wrap;gap:12px 34px;margin:0 0 16px}
.p2games label{display:flex;align-items:center;gap:10px;font-size:14.5px;cursor:pointer;position:relative}.p2games input{position:absolute;opacity:0;width:22px;height:22px;margin:0;cursor:pointer}
.p2games i{width:22px;height:22px;border:1.5px solid #9aa1ae;border-radius:4px;display:grid;place-items:center;color:transparent}.p2games i svg{width:16px;height:16px;stroke-width:2.6}
.p2games input:checked+i{background:#2556b8;border-color:#2556b8;color:#fff}.p2games input:disabled+i{opacity:.45}.p2games input:focus-visible+i{outline:2px solid #2556b8;outline-offset:2px}
.p2save{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.p2ok{display:flex;align-items:center;gap:12px;flex:1;min-width:220px;background:#eef6ef;border:1px solid #cfe5d3;border-radius:6px;padding:8px 14px;font-size:13.5px}
.p2ok>span{width:24px;height:24px;border-radius:50%;background:#3c9a5f;color:#fff;display:grid;place-items:center}.p2ok>span svg{width:15px;height:15px;stroke-width:2.6}.p2ok em{display:block;font-style:normal;font-size:12px;color:var(--mu)}
.p2kv{margin:0 0 4px}.p2sub{font-size:14px;color:#3c4559;margin:0 0 6px}
.p2tbl{width:100%;border-collapse:collapse;font-size:14px}.p2tbl th,.p2tbl td{text-align:left;padding:8px;border-bottom:1px solid #f0ede6}
.p2 .pplan .nbtn,.p2 .pplan .obtn{display:inline-flex;align-items:center;gap:8px;height:42px;padding:0 18px;border-radius:6px;font-weight:600;cursor:pointer}
.p2 .pplan .nbtn{background:var(--nv);color:#fff;border:0}.p2 .pplan .obtn{background:#fff;color:var(--nv);border:1.5px solid #cfd3dc}
.p2 .pplan .rowb{display:flex;gap:12px;flex-wrap:wrap;margin:12px 0}.p2 .pplan .ico{width:18px;height:18px}
@media (max-width:760px){
 .p2{grid-template-columns:1fr;font-size:15px}
 .p2side{position:sticky;top:0;z-index:5;height:auto;flex-direction:row;align-items:center;gap:2px;padding:8px 10px;overflow-x:auto}
 .p2logo{padding:0 6px 0 2px;font-size:18px;margin-right:auto}.p2logo svg{width:26px;height:20px}
 .p2side button{height:40px;padding:0 10px;gap:0}.p2side button span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.p2side .p2out{margin-top:0}
 .p2main{padding:14px 16px 32px}.p2acct{position:static;justify-content:flex-end;margin-bottom:4px}
 .p2h1{font-size:28px}.p2ban{height:78px;padding:0 16px}.p2ban b{font-size:19px;max-width:60%}
 .p2kids,.p2kids.one,.p2two{grid-template-columns:1fr}
 .p2av{width:84px;height:84px}
 .p2up{flex-wrap:wrap}.p2up .p2btn{width:100%}
 .p2focus{flex-wrap:wrap}.p2focus .p2btn{width:100%}
 .p2fam{flex-wrap:wrap}.p2links{width:100%;gap:18px}
 .p2sk th:nth-child(2){width:auto}.p2sk td,.p2sk th{padding:9px 6px}.p2bar{width:60px}.p2sk em{margin-left:8px}
 .p2tabs a{padding:10px 12px}
 .p2save .p2btn{width:100%}
}
/* pass 2 */
@media (min-width:761px){.p2{grid-template-columns:208px 1fr}.p2logo{font-size:20px;padding:4px 4px 18px}.p2logo svg{width:30px;height:23px}.p2side{padding:16px 10px}.p2side button{gap:14px;height:42px;font-size:14.5px}
 .p2main{padding:16px 22px 32px}.p2acct{right:20px;top:12px}}
.p2chip{white-space:nowrap}.p2av{width:96px;height:96px}
.p2sk th:nth-child(1){width:34%}.p2sk th:nth-child(2){width:31%}.p2sk th:nth-child(3){width:35%}.p2sk td:nth-child(3){white-space:nowrap}.p2bar{max-width:110px}
@media (max-width:760px){.p2sk table{table-layout:fixed}.p2sk td:nth-child(3){white-space:normal}.p2sk th:nth-child(1){width:34%}.p2sk th:nth-child(2){width:30%}.p2sk th:nth-child(3){width:36%}.p2bar{width:44px}.p2sk em{margin-left:6px;font-size:13px}.p2sk td{font-size:13px;vertical-align:middle}.p2dot{margin-right:6px}.p2main{overflow-x:hidden}}
@media (max-width:760px){.p2{grid-template-rows:auto 1fr;align-content:start}}
@media (max-width:760px){.p2ban{background:linear-gradient(90deg,rgba(253,248,238,.97) 0%,rgba(253,248,238,.9) 55%,rgba(253,248,238,.1) 85%),url(img/campus-v2.webp) 60% 38%/cover}.p2ban b{max-width:68%}}
.b2tli.on .b2tag{background:#fff;border:1px solid #79b3ec}
/* ST2CSS:BEGIN */
/* ======================= V10.8.334 Student redesign (owner PDF, 7 pages) =======================
   Sizes are rem: 1rem = 16px on the 1586x992 reference and scales with the window (see html font-size below), so the
   desktop layout keeps the PDF's proportions from 1280 to 1920 wide. Tablets get a rail, phones a bottom tab bar. */
html{font-size:clamp(12px,min(1.0088vw,1.6129vh),17px)}
html[data-text=lg]{font-size:clamp(13.5px,min(1.12vw,1.79vh),19px)}
html[data-text=xl]{font-size:clamp(15px,min(1.24vw,1.98vh),21px)}
:root{--s2-navy:#0c203d;--s2-ink:#10214a;--s2-text:#26324f;--s2-sub:#4a5672;--s2-mut:#6b7389;--s2-bg:#faf9f7;--s2-top:#fdfdfb;--s2-card:#fff;
 --s2-line:#e9e6e0;--s2-line2:#e3e0da;--s2-gold:#79b8f6;--s2-gold1:#66acf1;--s2-gold2:#4292e2;--s2-cream:#d0e6fc;--s2-cream2:#bedcfa;--s2-pill:#0c203d;--s2-side-t:#fff}
html[data-theme=garden]{--s2-navy:#2f4a2c;--s2-pill:#2f4a2c;--s2-bg:#f7f8f2;--s2-top:#fcfdf9}
html[data-theme=night]{--s2-bg:#0f1a2e;--s2-top:#13213a;--s2-card:#17284a;--s2-line:#26375a;--s2-line2:#2b3d63;--s2-ink:#f3f5fa;--s2-text:#e4e8f2;--s2-sub:#b4bdd2;--s2-mut:#98a3bd;--s2-cream:#3a3a3a;--s2-cream2:#1c3f61}
body.s2b{background:var(--s2-bg);font-family:Inter,system-ui,sans-serif;color:var(--s2-ink);overflow-x:hidden}
.s2 svg,.s2l .s2ph svg,.s2l .s2ps svg,#s2dlg svg{width:1.5rem;height:1.5rem;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}
.s2 svg.fi,.s2l svg.fi,#s2dlg svg.fi{fill:currentColor;stroke:none}
:where(.s2) a{color:inherit}:where(.s2) button{font:inherit;color:inherit;cursor:pointer}
.s2 :focus-visible,#s2dlg :focus-visible{outline:3px solid #2f6fd6;outline-offset:2px}

/* top bar */
.s2{display:grid;grid-template-columns:14.875rem minmax(0,1fr);grid-template-rows:auto 1fr;min-height:100vh}
.s2top{position:sticky;top:0;grid-column:1/-1;height:calc(5rem + 1px);box-sizing:border-box;background:var(--s2-top);border-bottom:1px solid var(--s2-line);display:flex;align-items:center;padding:0 1.875rem 0 1.9rem;z-index:20}
.s2logo{display:block;flex:none}.s2logo img{display:block;height:3.25rem;width:auto}
html[data-theme=night] .s2logo img{filter:brightness(0) invert(1)}
.s2tr{margin-left:auto;display:flex;align-items:center;gap:1.45rem}
.s2hb{display:flex;align-items:center;gap:.7rem;background:none;border:0;padding:.4rem 0;font-weight:600;font-size:.875rem;color:var(--s2-ink);min-height:44px}
.s2hb svg{width:1.55rem;height:1.55rem;stroke-width:1.6}
.s2sep{display:block;width:1px;height:1.8rem;background:var(--s2-line2)}
.s2sw{position:relative;display:inline-block;width:2.55rem;height:1.45rem;border-radius:999px;border:1.6px solid #3c4862;background:#fff;box-sizing:border-box}
.s2sw>i{position:absolute;top:50%;left:.16rem;width:1rem;height:1rem;border-radius:50%;background:#3c4862;transform:translateY(-50%);transition:left .15s}
.s2sv.on .s2sw{background:var(--s2-gold);border-color:var(--s2-gold)}.s2sv.on .s2sw>i{left:calc(100% - 1.16rem);background:#fff}
.s2me{display:flex;align-items:center;gap:1rem;background:none;border:0;padding:0;min-height:44px;margin-left:.7rem;text-align:left}
.s2me>svg{width:1.3rem;height:1.3rem;margin-left:1.6rem;stroke-width:2}
.s2av{position:relative;display:block;flex:none;width:3.3rem;height:3.3rem;border-radius:50%;background:#c3dffb;overflow:hidden}
.s2av b{position:absolute;inset:0;display:grid;place-items:center;font-weight:600;font-size:1.25rem;color:var(--s2-ink)}
.s2av .chimg{position:absolute;z-index:1;max-width:none;max-height:none;width:150%;height:auto;left:-25%;top:6%}
.s2av.cr .chimg{width:100%;left:0;top:4%}
.s2who{display:flex;flex-direction:column;line-height:1.2}.s2who b{font-weight:700;font-size:1.1rem;color:var(--s2-ink)}.s2who span{font-size:.875rem;color:var(--s2-sub)}

/* sidebar */
.s2side{grid-row:2;grid-column:1;background:var(--s2-navy);z-index:15}
.s2sidein{position:sticky;top:5rem;height:calc(100vh - 5rem);box-sizing:border-box;display:flex;flex-direction:column;padding:1.95rem .7rem 0;overflow-y:auto;scrollbar-width:none}
.s2nl{display:flex;flex-direction:column;gap:.5rem}
.s2 .s2ni{display:flex;align-items:center;gap:1.6rem;height:3.875rem;padding:0 0 0 1.2rem;border-radius:.65rem;color:var(--s2-side-t);text-decoration:none;font-weight:500;font-size:1.125rem;flex:none}
.s2 .s2ni .s2nic{display:grid;place-items:center;width:1.7rem}.s2 .s2ni svg{width:1.62rem;height:1.62rem}
.s2 .s2ni:hover:not(.on){background:rgba(255,255,255,.07)}
.s2 .s2ni.on{background:linear-gradient(180deg,var(--s2-gold1),var(--s2-gold2));color:var(--s2-pill);font-weight:600;box-shadow:0 2px 8px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.35)}
.s2emb{margin-top:auto;padding:1.5rem 0 1rem;display:flex;justify-content:center}.s2emb img{display:block;width:11.25rem;height:auto}
.s2emb span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.s2emb.low{padding-bottom:2rem;border-bottom:1px solid rgba(255,255,255,.16);margin:auto 1.15rem 5rem}
.s2foot{border-top:1px solid rgba(255,255,255,.18);margin:0 1.15rem;padding:1.3rem 0 .95rem}
.s2foot .s2ni{margin:0 -1.15rem;padding-left:1.15rem;gap:1.05rem;font-size:1rem}
.s2foot .s2ni:not(.on) svg{width:1.5rem}
.s2foot .s2ni.on{margin:0 -.4rem;padding-left:1.4rem;gap:1.6rem}
html[data-theme=garden] .s2emb img{filter:hue-rotate(40deg) saturate(.6)}

/* main column */
.s2m{grid-row:2;grid-column:2;min-width:0;min-height:calc(100vh - 5rem);box-sizing:border-box;background:var(--s2-bg);outline:0}
.s2m>div{padding:1.95rem 1.65rem 1.5rem 2.6rem;box-sizing:border-box}
.s2role{margin:0;padding:.5rem 2.6rem;background:#14213d;color:#fff;font-size:.875rem}
.s2hd{position:relative;margin:0 0 1.6rem}
.s2eb{margin:0 0 .8rem;font-weight:600;font-size:.875rem;line-height:1;letter-spacing:.09em;text-transform:uppercase;color:#3d4a66}
html[data-theme=night] .s2eb{color:var(--s2-sub)}
.s2hd h1{margin:0;font-weight:800;font-size:3rem;line-height:1.1;letter-spacing:-.032em;color:var(--s2-ink)}
.s2sub{margin:.45rem 0 0;font-size:1.3rem;line-height:1.4;color:var(--s2-sub)}
.s2hdr{position:absolute;right:0;top:0}
.s2h2{margin:0;font-weight:800;font-size:1.65rem;letter-spacing:-.025em;color:var(--s2-ink)}
.s2sub2{margin:.15rem 0 0;font-size:.95rem;color:var(--s2-sub)}
.s2card{background:var(--s2-card);border:1px solid var(--s2-line);border-radius:.8rem;box-shadow:0 1px 2px rgba(16,33,74,.04);box-sizing:border-box}
.s2note{margin:.6rem 0 0;font-size:.875rem;color:var(--s2-mut)}
.s2fine{margin:0;font-size:.82rem;color:var(--s2-sub)}
.s2empty{padding:1.6rem 1.8rem;display:flex;flex-direction:column;gap:.35rem;align-items:flex-start}.s2empty b{font-size:1.1rem}.s2empty p{margin:0 0 .6rem;color:var(--s2-sub)}
.s2skel{display:grid;gap:1rem;padding:0 1.65rem 0 2.6rem}.s2skel i{display:block;height:9rem;border-radius:.8rem;background:linear-gradient(90deg,#efede8,#f7f5f1,#efede8);background-size:200% 100%;animation:s2sh 1.2s linear infinite}
.s2skel.sm{padding:0}.s2skel.sm i{height:4rem}
@keyframes s2sh{to{background-position:-200% 0}}
html.reduce-motion .s2skel i{animation:none}

/* buttons, chips, links */
.s2btn{display:inline-flex;align-items:center;justify-content:center;gap:.9rem;min-height:3.25rem;padding:0 1.6rem;border-radius:.45rem;border:1.5px solid #0d223f;background:#0d223f;color:#fff!important;font-weight:600;font-size:1.0625rem;text-decoration:none;white-space:nowrap;box-sizing:border-box}
.s2btn svg{width:1.45rem;height:1.45rem;stroke-width:1.9}
.s2btn:hover{filter:brightness(1.12)}.s2btn[disabled]{opacity:.45;cursor:not-allowed}
.s2btn.ghost{background:transparent;color:var(--s2-ink)!important;border-color:#1b2c55}
html[data-theme=night] .s2btn.ghost{border-color:#9fb0d6}
.s2btn.gold{background:linear-gradient(180deg,#5aa4ed,#4192e3);border-color:#4392e1;color:#0c1b38!important}
.s2btn.sm{min-height:2.75rem;padding:0 1rem;font-size:.95rem;gap:.6rem}.s2btn.sm svg{width:1.2rem;height:1.2rem}
.s2btn.lg{min-height:2.9rem;font-size:1.05rem}
.s2btn.wide{width:100%}.s2btn.pill{border-radius:999px}
.s2link{display:inline-flex;align-items:center;gap:.75rem;background:none;border:0;padding:0;color:var(--s2-ink);font-weight:600;font-size:1rem;text-decoration:none;min-height:44px}
.s2link.u{text-decoration:underline;text-underline-offset:.2em;font-size:.94rem}.s2link svg{width:1.35rem;height:1.35rem}
.s2link.sm{font-size:.82rem;min-height:auto;margin-left:.4rem}
.s2chip{display:inline-flex;align-items:center;gap:.4rem;height:1.95rem;padding:0 .8rem;border-radius:.4rem;font-size:.82rem;font-weight:500;white-space:nowrap;color:#3d5065;background:#eef0f3;box-sizing:border-box}
.s2chip.gold{background:linear-gradient(180deg,#68adf1,#4f9ce8);color:#0a1621;font-weight:700;text-transform:uppercase;letter-spacing:.06em;font-size:.75rem;height:1.55rem;padding:0 .55rem;border-radius:.3rem}
.s2chip.sm{height:1.5rem}
.s2chip.cream{background:var(--s2-cream);color:#3d5065}.s2chip.green{background:#dcefde;color:#1d5a3e;border-radius:999px;padding:0 1.4rem}
.s2chip.grey{background:#ebedf1;color:#28396a;border-radius:999px;padding:0 1.1rem}.s2chip.navy{background:rgba(12,32,61,.92);color:#fff;font-weight:600;letter-spacing:.08em;text-transform:uppercase;border-radius:.6rem}
.s2chip.white{background:rgba(255,255,255,.75);border:1px solid #ece6d8;border-radius:999px;color:var(--s2-ink);font-size:.9rem;height:2.2rem;padding:0 1rem;gap:.7rem}.s2chip svg{width:1.15rem;height:1.15rem}
.s2chip.pill{border-radius:999px;background:#eceef3;border:1px solid #e1e4ea;height:2.15rem;font-size:.86rem;color:#26355e}
.s2ic{display:grid;place-items:center;flex:none;width:3.9rem;height:3.9rem;border-radius:50%;background:var(--s2-cream2);color:#13254d}
.s2ic svg{width:1.9rem;height:1.9rem}.s2ic.sm{width:2.6rem;height:2.6rem}.s2ic.sm svg{width:1.2rem;height:1.2rem}.s2ic.lg{width:5.1rem;height:5.1rem}.s2ic.lg svg{width:2.25rem;height:2.25rem}
.s2tabbar{display:flex;gap:1.25rem;border-bottom:1px solid var(--s2-line2);margin:0 0 2.3rem}
.s2tabbar button{position:relative;background:none;border:0;padding:.55rem 1.2rem 1rem;font-size:1rem;font-weight:500;color:#36425f;min-height:44px}
.s2tabbar button.on{font-weight:700;color:var(--s2-ink)}.s2tabbar button.on:after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:3px;border-radius:2px;background:var(--s2-gold)}
html[data-theme=night] .s2tabbar button{color:var(--s2-sub)}
.s2list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.6rem}
.s2list li{display:flex;align-items:center;gap:1rem;padding:.9rem 1.1rem;background:var(--s2-card);border:1px solid var(--s2-line);border-radius:.8rem}
.s2list li>div{flex:1;min-width:0}.s2list li b{display:block;font-weight:600}.s2list li span:not(.s2chip):not(.s2ic):not(.s2tav){font-size:.9rem;color:var(--s2-sub)}

/* 1 campus */
.s2cam{position:relative;display:flex;flex-direction:column;height:calc(100vh - 5rem);padding:1.15rem 0 2.2rem!important}
.s2cam .s2hd{margin:0 0 .78rem 1.8rem}.s2cam .s2hd h1{font-size:2.55rem;letter-spacing:-.03em}.s2cam .s2sub{font-size:1.42rem;margin-top:.15rem;line-height:1.35}
.s2scene{position:relative;flex:1;min-height:20rem;overflow:hidden;container-type:size;background:#cfe4f4}
/* framing tuned to the PDF: art 108% of the scene width, nudged left, sky at the top */
.s2art{position:absolute;left:50%;top:0;width:max(108.2cqw,152cqh);aspect-ratio:3/2;transform:translateX(-51.7%)}
.s2campus{position:absolute;inset:0;width:100%;height:100%;display:block}
.s2pin{position:absolute;display:flex;flex-direction:column;align-items:center;transform:translate(-50%,calc(-100% - .42rem));text-decoration:none;z-index:2}
.s2pl{position:relative;display:flex;align-items:center;gap:.8rem;height:3.25rem;padding:0 1.15rem;border-radius:.65rem;background:#0f2242;color:#fff;font-weight:500;font-size:1.12rem;box-shadow:0 .2rem .7rem rgba(8,20,45,.35);border:2px solid #fff;white-space:nowrap;box-sizing:border-box}
.s2pl:after{content:"";position:absolute;left:50%;bottom:-.5rem;width:.8rem;height:.8rem;background:#0f2242;border:2px solid #fff;border-top:0;border-left:0;transform:translateX(-50%) rotate(45deg);box-sizing:border-box}
.s2pl svg{width:1.4rem;height:1.4rem}.s2pl b{font-weight:500}
.s2pt{display:block;width:1rem;height:1rem;margin-top:.12rem;border-radius:50%;background:#0f2242;border:2.5px solid #fff;box-sizing:border-box;box-shadow:0 1px 3px rgba(0,0,0,.3)}
.s2dot{position:absolute;right:-.45rem;top:-.45rem;width:1rem;height:1rem;border-radius:50%;background:var(--s2-gold);border:2px solid #fff}
.s2pin:hover .s2pl,.s2pin:focus-visible .s2pl,.s2pin:hover .s2pl:after{background:#1b3563}
@container (max-width:50rem){.s2pin.top{flex-direction:column-reverse;transform:translate(-50%,-.5rem)}.s2pin.top .s2pl:after{bottom:auto;top:-.5rem;transform:translateX(-50%) rotate(225deg)}.s2pin.top .s2pt{margin:0 0 .12rem}}
.s2ch{position:absolute;left:48.5%;top:38.1%;height:33.9%;transform:translateX(-50%);pointer-events:none;z-index:1}
.s2ch .chimg{height:100%;width:auto;filter:drop-shadow(0 .4rem .4rem rgba(0,0,0,.28))}
.s2today{position:absolute;left:1.75rem;bottom:3.8rem;width:25.2rem;background:#fff;border-radius:.85rem;padding:.95rem 1.75rem 1.15rem 1.8rem;box-shadow:0 .5rem 1.6rem rgba(8,20,45,.22);z-index:3;box-sizing:border-box;color:#10214a}
.s2today .s2chip.gold{height:1.7rem;padding:0 .6rem;font-size:.82rem;letter-spacing:.03em}
.s2today h2{margin:.7rem 0 .2rem;font-weight:700;font-size:1.43rem;letter-spacing:-.015em}
.s2today p{margin:0 0 .85rem;font-size:1rem;color:#4a5672}
.s2today .s2btn{width:100%;min-height:2.95rem;font-size:1.06rem;border-radius:.5rem}
.s2camsimple{display:grid;gap:1.25rem;padding:0 1.65rem 0 1.85rem}.s2camsimple .s2today{position:static;width:auto;max-width:34rem;box-shadow:none;border:1px solid var(--s2-line)}
.s2tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(13rem,1fr));gap:1rem}
.s2tile{display:flex;align-items:center;gap:.9rem;padding:1.2rem 1.3rem;background:var(--s2-card);border:1px solid var(--s2-line);border-radius:.8rem;text-decoration:none;font-size:1.1rem;min-height:4.5rem}
.s2tile .s2chip{margin-left:auto}

/* 2 tutoring */
.s2tut{display:grid;grid-template-columns:minmax(0,1fr) 24.4rem;gap:2.3rem;align-items:start}
.s2tm .s2hd{margin-bottom:2rem}.s2tm .s2hdr{top:1.6rem}
.s2sel{display:flex;align-items:center;gap:.7rem;height:2.9rem;padding:0 1rem 0 1.2rem;border:1px solid var(--s2-line2);border-radius:.55rem;background:var(--s2-card);font-size:.98rem;color:var(--s2-ink)}.s2sel svg{width:1.1rem;height:1.1rem;stroke-width:2.2}
.s2gl{margin:0 0 .9rem}
.s2ses{position:relative;padding:1.4rem 1.5rem 1.15rem;margin:0 0 1.2rem}
.s2ses.up{border-top:4px solid var(--s2-gold);padding-top:1.2rem}.s2ses.up .s2chip.gold{margin:0 0 .55rem}
.s2ses:not(.up){padding:1.35rem 1.25rem 1.3rem 1.5rem;margin-bottom:1.9rem}
.s2sr{display:flex;align-items:flex-start;gap:1.7rem}
.s2sr .s2tav{margin-top:-.25rem}.s2sr .s2sti{padding-top:.05rem}.s2sr .s2chip.cream{margin-top:.45rem}.s2ses:not(.up) .s2sr{align-items:center}.s2ses:not(.up) .s2tav{margin-top:0}
.s2time{display:flex;flex-direction:column;min-width:8.35rem;padding-right:1.6rem;border-right:1px solid var(--s2-line2);line-height:1.22}
.s2time b{font-weight:700;font-size:1.6rem;letter-spacing:-.01em}.s2time span{font-size:1.02rem;color:#36425f}.s2time small{font-size:.92rem;color:#36425f;margin-top:.2rem}
.s2tav{position:relative;display:grid;place-items:center;flex:none;width:4.4rem;height:4.4rem;border-radius:50%;background:#e6e9ef;color:#13254d;font-weight:700;font-size:1.25rem;overflow:hidden}
.s2tav img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.s2tav.sm{width:2.75rem;height:2.75rem;font-size:.9rem}
.s2sti{flex:1;min-width:0}.s2sti h3{margin:0 0 .3rem;font-weight:700;font-size:1.3rem;letter-spacing:-.01em}
.s2sti span{display:flex;align-items:center;gap:.7rem;font-size:1rem;color:#3f4b66}.s2sti svg{width:1.3rem;height:1.3rem;color:#13254d}
.s2ses .s2chip.cream{height:1.95rem;padding:0 1.1rem;font-size:.86rem}
.s2ses .s2btn.ghost.sm{min-height:3.35rem;padding:0 .8rem 0 .9rem;font-size:1rem;margin-left:1.3rem;border-radius:.4rem}
.s2sf{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:1.35rem;padding-top:.6rem;border-top:1px solid var(--s2-line2)}
.s2sf p{margin:0;font-size:1rem;color:#3f4b66}.s2sf .s2btn{min-height:3.3rem;padding:0 1.5rem 0 2.1rem;font-size:1.06rem;min-width:15.7rem;gap:1.2rem;border-radius:.4rem}
.s2tm .s2h2{margin:1.75rem 0 .95rem .15rem;font-size:1.5rem}
.s2steps{list-style:none;margin:0;padding:0}.s2steps li{display:flex;align-items:center;gap:2.2rem;padding:.3rem 0 .3rem .1rem;border-bottom:1px solid var(--s2-line2);font-size:1rem;color:#16244d}
.s2steps li:first-child{border-top:1px solid var(--s2-line2)}
.s2steps li>span:first-child{display:grid;place-items:center;width:2.15rem;height:2.15rem;border-radius:50%;background:#e8ebf0;font-size:.75rem;font-weight:600}
.s2steps a{text-decoration:none}.s2steps a:hover{text-decoration:underline}
.s2book{padding:2.15rem 2rem 1.5rem 2.15rem;display:flex;flex-direction:column;background:#fdfcfb;margin-top:0;min-height:calc(100vh - 5rem - 6.05rem)}
.s2book>svg{width:2.4rem;height:2.4rem;color:var(--s2-gold);stroke-width:1.6}
.s2book h2{margin:1.3rem 0 .75rem;font-weight:700;font-size:1.86rem;line-height:1.2;letter-spacing:-.012em}
.s2book>p{margin:0 0 2.3rem;font-size:1.17rem;line-height:1.5;color:#4a5672}
.s2bs{list-style:none;margin:0 0 2.45rem;padding:0;display:flex;flex-direction:column;gap:2.35rem}
.s2bs li{position:relative;display:flex;align-items:center;gap:3.15rem;font-weight:500;font-size:1.09rem}
.s2bs li span{display:grid;place-items:center;width:2.9rem;height:2.9rem;border-radius:50%;background:#d0e6fb;font-size:.86rem;font-weight:600;flex:none}
.s2bs li:not(:last-child):after{content:"";position:absolute;left:1.45rem;top:2.9rem;height:2.35rem;width:1px;background:#e1ddd6}
.s2book .s2btn.gold{min-height:4.3rem;border-radius:.5rem;font-size:1.14rem;gap:1rem}
.s2orn{display:flex;align-items:center;gap:1.1rem;margin:3.25rem .3rem 2.6rem;color:var(--s2-gold)}.s2orn:before,.s2orn:after{content:"";flex:1;height:1px;background:#a6c9ec}
.s2orn svg{width:2.4rem;height:2.4rem;stroke-width:1.5}
.s2book .s2link{border-top:1px solid var(--s2-line2);margin:0 -.85rem;padding:1.6rem .9rem 0;justify-content:flex-start;font-weight:500;font-size:1.14rem}
.s2past li .s2chip{margin-left:auto}

/* 3 practice */
.s2prac .s2hd{margin-bottom:1.55rem}.s2prac .s2sub{font-size:1.4rem;margin-top:.2rem}
.s2pr1{display:grid;grid-template-columns:minmax(0,1fr) 31.65rem;gap:.5rem;margin:0 0 1.9rem}
.s2cont{border-top:4px solid var(--s2-gold);padding:1.3rem 1.1rem 1.5rem 1.6rem;display:flex;flex-direction:column}
.s2cont>.s2chip{align-self:flex-start;height:1.78rem;padding:0 1rem;font-size:.82rem;letter-spacing:.04em}
.s2cont h2{margin:.5rem 0 .4rem;font-weight:800;font-size:2.34rem;line-height:1.2;letter-spacing:-.03em}
.s2meta{display:flex;align-items:center;gap:.75rem;margin:0 0 1.55rem;font-size:1.13rem;color:#4a5672}.s2meta i{font-style:normal}
.s2inl{background:none;border:0;padding:0;color:inherit;font-size:inherit;text-decoration:underline dotted;text-underline-offset:.25em}
.s2cont h3{margin:0 0 .75rem;font-weight:500;font-size:1.28rem}
.s2prog{display:flex;align-items:center;gap:2rem;padding-bottom:1.75rem;border-bottom:1px solid var(--s2-line2);margin-right:.9rem}
.s2dots{list-style:none;margin:0;padding:0;display:flex;align-items:center}
.s2dots li{position:relative;display:grid;place-items:center;width:2.3rem;height:2.3rem;border-radius:50%;border:1.6px solid #c9ccd6;background:#fff;box-sizing:border-box;flex:none}
.s2dots li+li{margin-left:2.9rem}.s2dots li+li:before{content:"";position:absolute;right:100%;width:2.9rem;height:2px;background:#d9dce4}
.s2dots li.on{background:#4698e9;border-color:#4698e9}.s2dots li.on+li:before{background:#4698e9}
.s2dots svg{width:1.25rem;height:1.25rem;color:#0a1621;stroke-width:2.4}
.s2bar{display:block;flex:1;max-width:18rem;height:.7rem;border-radius:999px;background:#ebe7de;overflow:hidden}.s2bar i{display:block;height:100%;background:linear-gradient(90deg,#5aa4ed,#3b8fe3);border-radius:999px}
.s2pt2{display:flex;flex-direction:column;padding:.2rem 0 .2rem 1.9rem;border-left:1px solid var(--s2-line2);line-height:1.5}.s2pt2 b{font-weight:600;font-size:1.16rem}.s2pt2 span{font-size:.93rem;color:#4a5672}
.s2cf{display:flex;align-items:center;gap:1.75rem;margin-top:1.25rem}.s2cf .s2btn{min-width:20.8rem;min-height:3.875rem;font-size:1.25rem;border-radius:.45rem;gap:1.1rem}.s2cf .s2btn svg{width:1.6rem;height:1.6rem}
.s2cf .s2link.u{font-size:.95rem;font-weight:500}
.s2space{position:relative;margin:0;border-radius:.6rem;overflow:hidden;border:1px solid var(--s2-line);aspect-ratio:504/383;align-self:start}
.s2space img{display:block;width:100%;height:100%;object-fit:cover}
.s2space figcaption{position:absolute;left:1.6rem;top:1.6rem;color:#10214a}.s2space b{display:block;font-weight:800;font-size:1.9rem;letter-spacing:-.03em;line-height:1.2}.s2space span{display:block;margin-top:.2rem;font-size:1.18rem;color:#4a5672}
.s2rowh{display:flex;align-items:flex-end;justify-content:space-between;margin:-.4rem 0 .85rem}
.s2rowh .s2h2{font-size:2rem}.s2rowh .s2link.u{font-size:.98rem;font-weight:500;margin-bottom:-.3rem}
.s2subs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin-bottom:1rem}
.s2subj{display:flex;align-items:center;gap:1.3rem;padding:1rem 1rem 1rem 1.05rem;text-align:left;min-height:7.4rem}
.s2subj .s2ic{width:4.2rem;height:4.2rem}.s2subj .s2ic svg{width:2rem;height:2rem}
.s2subj>span:nth-child(2){flex:1;min-width:0}.s2subj b{display:block;font-weight:600;font-size:1.1rem;margin-bottom:.4rem}.s2subj span span{display:block;font-size:.96rem;color:#4a5672;line-height:1.4}
.s2subj>svg{width:1.3rem;height:1.3rem;stroke-width:2}
.s2subj:hover,.s2res:hover,.s2row:hover{border-color:#d8d2c5}
.s2pr3{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1.05rem}
.s2row{display:flex;align-items:center;gap:1.75rem;padding:.9rem 1rem .9rem 1.35rem;min-height:6.1rem}.s2row>div{flex:1;min-width:0}.s2row b{display:block;font-weight:600;font-size:1.15rem;margin-bottom:.15rem}.s2row span:not(.s2ic){font-size:.93rem;color:#4a5672}
.s2row .s2ic{width:4rem;height:4rem}
.s2row .s2link.u{font-size:.95rem;font-weight:500;margin-right:1.5rem}
.s2row .s2btn.ghost{min-height:3.35rem;font-size:1.04rem;padding:0 1.5rem;border-radius:.45rem}

/* 4 homework */
.s2hw{padding-top:1.65rem!important}.s2hw .s2eb{margin-bottom:.55rem}.s2hw .s2hd{margin-bottom:1.5rem}.s2hw .s2hdr{top:.35rem}.s2hw .s2hd h1{font-size:3.03rem}.s2hw .s2sub{font-size:1.24rem;margin-top:.15rem}
.s2hw .s2btn.ghost.lg{min-height:3.65rem;padding:0 1.4rem;gap:1rem;border-radius:.4rem;font-size:1.06rem}.s2hw .s2btn.lg svg{width:1.6rem;height:1.6rem}
.s2asg{position:relative;display:flex;align-items:center;gap:1.8rem;padding:1.15rem 1.6rem 1.4rem;min-height:8.1rem;overflow:hidden;margin-bottom:.9rem}
.s2asgt{flex:1;min-width:0;z-index:1}.s2asgt h2{margin:0 0 .35rem;font-weight:700;font-size:1.36rem;letter-spacing:-.01em}.s2asgt>p{margin:0 0 .2rem;font-size:1.13rem;color:#36425f}.s2asgt>small{font-size:.97rem;color:#4a5672}
.s2desk{position:absolute;right:0;bottom:0;height:100%;width:auto;max-width:42%;object-fit:cover;object-position:right bottom}
.s2alist{list-style:none;margin:.3rem 0 0;padding:0;display:flex;flex-direction:column;gap:.4rem}
.s2asg:has(.s2alist) .s2asgt{max-width:calc(58% - 6rem)}
.s2alist li{display:flex;align-items:center;gap:.9rem}.s2alist li>div{flex:1;min-width:0}.s2alist b{display:block;font-weight:600}.s2alist span:not(.s2chip){font-size:.9rem;color:var(--s2-sub)}
.s2hw .s2tabbar{margin-bottom:.55rem}.s2hw .s2tabbar button{padding:.45rem 1.05rem .9rem}
.s2filt{display:grid;grid-template-columns:minmax(0,1fr) 13.4rem 15.2rem;gap:1.2rem;align-items:end;margin-bottom:1.7rem}
.s2srch{display:flex;align-items:center;gap:1.1rem;height:3.45rem;margin-bottom:-.1rem;padding:0 1.2rem;border:1px solid #d9d6cf;border-radius:.5rem;background:var(--s2-card)}
.s2srch svg{width:1.45rem;height:1.45rem}.s2srch input{flex:1;min-width:0;border:0;outline:0;background:none;font:inherit;font-size:1.04rem;color:var(--s2-ink)}
.s2srch input::placeholder{color:#6b7389}
.s2fl{display:flex;flex-direction:column;gap:.5rem}.s2fl>span:first-child{font-size:.83rem;color:#36425f}
.s2dd{position:relative;display:block}.s2dd select{appearance:none;-webkit-appearance:none;width:100%;height:3.05rem;padding:0 2.6rem 0 1.15rem;border:1px solid #d9d6cf;border-radius:.5rem;background:var(--s2-card);font:inherit;font-size:1.05rem;color:var(--s2-ink)}
.s2dd svg{position:absolute;right:1rem;top:50%;width:1.2rem;height:1.2rem;transform:translateY(-50%);pointer-events:none;stroke-width:2}
.s2rh{font-size:1.7rem}.s2hw .s2sub2{margin:.1rem 0 1.1rem;font-size:1.02rem}
.s2resg{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;margin-bottom:.45rem}
.s2res{padding:.5rem .5rem .7rem;display:flex;flex-direction:column}
.s2rb{border-radius:.35rem;overflow:hidden;aspect-ratio:397/89;background:#fdf3de;display:grid;place-items:center}.s2rb img{display:block;width:100%;height:100%;object-fit:cover}
.s2rbi svg{width:2.6rem;height:2.6rem;color:#13254d}
.s2res .s2eb{margin:1rem .75rem .45rem;font-size:.7rem}.s2res h3{margin:0 .75rem .3rem;font-weight:700;font-size:1.17rem;letter-spacing:-.01em}
.s2res p{margin:0 .75rem .25rem;font-size:.95rem;color:#3f4b66}.s2res small{margin:0 .75rem;font-size:.85rem;color:#4a5672}
.s2rf{display:flex;align-items:center;justify-content:space-between;margin:.6rem .75rem 0;padding-top:.1rem;border-top:1px solid var(--s2-line2)}
.s2rf .s2link{font-size:.95rem}.s2bm{display:grid;place-items:center;width:44px;height:44px;margin-right:-.6rem;background:none;border:0;color:var(--s2-ink)}
.s2bm svg{width:1.45rem;height:1.45rem}.s2bm.on svg{fill:var(--s2-gold);stroke:#226eb9}
.s2school{display:flex;align-items:center;gap:1.7rem;padding:.75rem 1.3rem .75rem 1.3rem;background:#fdf8ef;border-color:#f6ead2}
.s2school .s2ic{width:3.5rem;height:3.5rem;background:#c4e0fb}.s2school .s2ic svg{width:1.6rem;height:1.6rem}
.s2school>div{flex:1}.s2school b{display:block;font-weight:600;font-size:1.06rem}.s2school span{font-size:.93rem;color:#3f4b66}
.s2school .s2btn{min-height:2.75rem;font-size:.97rem;padding:0 1.6rem;gap:.9rem;border-radius:.4rem}
.s2up{margin-bottom:1rem}

/* 5 social */
.s2soc{display:grid;grid-template-columns:minmax(0,1fr) 26.1rem;gap:1.45rem;align-items:start}
.s2sm .s2hd{margin-bottom:1.2rem}.s2sm .s2sub{font-size:1.4rem;margin-top:.12rem}
.s2club{position:relative;margin:0 0 1rem -.8rem;border-radius:.7rem;overflow:hidden;aspect-ratio:851/461}
.s2club img{display:block;width:100%;height:100%;object-fit:cover}
.s2club .s2chip.navy{position:absolute;left:1.15rem;top:1.15rem;height:2.1rem;padding:0 1rem;font-size:.86rem}
.s2club figcaption{position:absolute;left:1rem;bottom:1rem;width:min(28.3rem,calc(100% - 2rem));padding:.9rem 1.6rem 1rem;border-radius:.6rem;background:rgba(14,30,62,.86);color:#fff;box-sizing:border-box;backdrop-filter:blur(2px)}
.s2club b{display:block;font-weight:600;font-size:1.3rem;margin-bottom:.25rem}.s2club figcaption span{font-size:1rem;color:#e9edf6}
.s2sup{display:flex;align-items:center;gap:1rem;padding:.6rem 1.4rem .6rem 1.6rem;margin:0 0 1.1rem -.8rem;min-height:5.65rem}
.s2sup>div{flex:1;min-width:0}.s2sup h2{margin:0;font-weight:800;font-size:1.48rem;letter-spacing:-.02em}.s2sup p{margin:.1rem 0 0;font-size:1.02rem;color:#3f4b66}
.s2sup .s2chip.grey{height:2.25rem;font-size:.9rem;padding:0 1.35rem;margin-right:1.5rem}.s2sup .s2btn{min-height:3.35rem;padding:0 1.4rem;gap:1rem;font-size:1.08rem;border-radius:.45rem}
.s2safe{display:flex;align-items:center;gap:2rem;padding:1.1rem 1.6rem 1.15rem 1.65rem;margin-left:-.8rem;background:#fdf8ed;border-color:#f5ebd5}
.s2shield svg{width:3.3rem;height:3.3rem;color:var(--s2-gold);stroke-width:1.5}
.s2safe>div{flex:1}.s2safe b{display:block;font-weight:700;font-size:1.1rem;margin-bottom:.15rem}.s2safe span{font-size:.94rem;line-height:1.5;color:#3f4b66}
.s2safe .s2link{font-size:.98rem}
.s2solo{padding:1.75rem 2.1rem 2rem 1.55rem;display:flex;flex-direction:column;margin-top:0}
.s2wy{display:flex;align-items:center;gap:1.4rem}.s2kn svg{width:2.4rem;height:2.65rem;color:var(--s2-gold)}.s2wy .s2eb{margin:0;font-size:.86rem}
.s2solo h2{margin:.7rem 0 .45rem;font-weight:800;font-size:2.07rem;letter-spacing:-.03em}
.s2sub3{margin:0 0 1.35rem;font-size:1.13rem;color:#4a5672;min-height:1.5em}
.s2board{display:grid;grid-template-columns:.95rem 1fr;grid-template-rows:auto auto;gap:0;margin-left:-.1rem}
.s2rk{display:grid;grid-template-rows:repeat(8,1fr);font-size:.78rem;color:#4a5672;text-align:left}.s2rk span{display:flex;align-items:center}
.s2fl2{grid-column:2;display:grid;grid-template-columns:repeat(8,1fr);font-size:.78rem;color:#4a5672;text-align:center;padding-top:.55rem}
.s2sqs{display:grid;grid-template-columns:repeat(8,1fr);aspect-ratio:1;border:1.5px solid #224b74;overflow:hidden}
.s2sqs button{position:relative;border:0;padding:0;display:grid;place-items:center;min-width:0;min-height:0}
.s2sqs .lt{background:linear-gradient(135deg,#bfdbf6,#a8ccef)}.s2sqs .dk{background:linear-gradient(135deg,#4788c9,#3679bc)}
.s2sqs button svg{width:68%;height:68%;color:#0d1c3b}
.s2sqs .ok{box-shadow:inset 0 0 0 .2rem #2e9c5e;background-image:radial-gradient(circle,#2e9c5e 22%,transparent 24%)}
.s2sqs .no{animation:s2no .3s}.s2sqs .tg:after{content:"";position:absolute;width:28%;height:28%;border-radius:50%;background:rgba(121,184,246,.85)}
.s2star svg{color:var(--s2-gold);width:60%;height:60%}
@keyframes s2no{0%,100%{transform:none}30%{transform:translateX(-3px);box-shadow:inset 0 0 0 .2rem #c0392b}70%{transform:translateX(3px)}}
.s2pzc{align-self:center;margin:1.55rem 0 1.25rem;border-radius:999px;height:1.85rem;padding:0 1.1rem;font-size:.92rem;color:#3d4a66}
.s2pzs{margin:1.55rem 0 1.25rem;text-align:center;font-weight:600;font-size:.95rem;color:#3d4a66}.s2pzs.ok{color:#1d6a43}
.s2solo .s2btn.gold{min-height:3.65rem;font-size:1.2rem;gap:1.1rem;border-radius:.45rem;margin-left:-.1rem}
.s2new{display:flex;flex-direction:column;align-items:flex-start;gap:.35rem;margin:2.2rem 0 0 -.1rem;padding:1.85rem 0 0;background:none;border:0;border-top:1px solid var(--s2-line2);text-align:left}
.s2new b{font-weight:700;font-size:1.25rem;letter-spacing:-.01em}.s2new span{display:flex;align-items:center;gap:.9rem;font-size:1.12rem;color:#4a5672}.s2new svg{width:1.45rem;height:1.45rem;color:var(--s2-ink)}

/* 6 progress */
.s2pg{padding-top:1.85rem!important}.s2pg .s2eb{margin-bottom:.45rem}.s2pg .s2hd{margin-bottom:1.25rem}.s2pg .s2hdr{top:-.25rem}.s2pg .s2hd h1{font-size:3.02rem}.s2pg .s2sub{font-size:1.33rem;margin-top:.1rem}
.s2pg .s2chip.pill{height:2.2rem;padding:0 1.4rem;font-size:.9rem}
.s2pgg{display:grid;grid-template-columns:minmax(0,1fr) 29.75rem;gap:1.2rem;margin-left:-.85rem}
.s2pgl,.s2pgr{display:flex;flex-direction:column;gap:.8rem}
.s2pg .s2card{padding:1.2rem 1.45rem 1rem 1.45rem}.s2pg .s2card h2{margin:0;font-weight:700;font-size:1.43rem;line-height:1.25;letter-spacing:-.015em}.s2pg .s2sub2{font-size:1.02rem;margin-top:.15rem}
.s2act{min-height:14.7rem}
.s2stats{display:grid;grid-template-columns:repeat(3,1fr);margin:1.2rem 0 1.3rem}
.s2stats div{display:grid;grid-template-columns:auto auto;justify-content:center;align-items:center;column-gap:1.5rem;border-left:1px solid var(--s2-line2)}
.s2stats div:first-child{border-left:0}.s2stats svg{width:2.65rem;height:2.65rem;color:var(--s2-gold);stroke-width:1.6}
.s2stats b{font-weight:800;font-size:3.6rem;line-height:1;letter-spacing:-.035em}.s2stats span{grid-column:1/3;text-align:center;font-size:1.06rem;color:#3f4b66;margin-top:.45rem}
.s2act .s2fine{border-top:1px solid var(--s2-line2);padding-top:.75rem;font-size:.86rem}
.s2dem{min-height:18rem}
.s2dem ul{list-style:none;margin:.75rem 0 0;padding:0}
.s2dem li{display:grid;grid-template-columns:3.6rem minmax(0,1fr) 10rem minmax(0,15.5rem);align-items:center;gap:.6rem;min-height:3.6rem;border-bottom:1px solid var(--s2-line2)}
.s2dem li b{font-weight:600;font-size:1.03rem}.s2dem .s2chip{justify-self:center;width:9.4rem;height:2.1rem;justify-content:center;padding:0;font-size:.92rem}
.s2gi{color:var(--s2-gold)}.s2gi svg{width:1.7rem;height:1.7rem;stroke-width:1.7}.s2gl2{font-style:normal;font-weight:600;font-size:1.3rem;letter-spacing:.06em}
.s2dr{font-size:.92rem;color:#3f4b66;text-align:right}
.s2dem .s2fine{padding-top:1.05rem;font-size:.86rem}
.s2grow{min-height:9.1rem}.s2grow .s2sub2{margin-bottom:.3rem}
.s2gr{display:grid;grid-template-columns:auto auto auto minmax(0,1fr);align-items:center;gap:0 3.6rem;padding:0 0 0 2.6rem}
.s2gr div{display:flex;flex-direction:column;align-items:center}.s2gr b{font-weight:700;font-size:1.72rem;line-height:1.15}.s2gr div span{font-size:.97rem;color:#3f4b66}
.s2gr>svg{width:1.9rem;height:1.9rem}.s2gr p{margin:0;padding-left:2.6rem;border-left:1px solid var(--s2-line2);font-size:.94rem;color:#3f4b66;line-height:1.45}
.s2pg .s2next{display:flex;flex-direction:column;align-items:flex-start;background:#fdf7ec;border-color:#bbd9f6;padding:1.3rem 1.4rem 1.2rem 1.5rem;min-height:19.6rem}.s2next .s2btn{align-self:stretch;margin-top:auto!important}
.s2nh{display:flex;align-items:center;gap:1.75rem}.s2nh .s2eb{margin:0;font-size:.82rem}.s2cmp svg{width:2.75rem;height:2.75rem;color:var(--s2-gold);stroke-width:1.5}
.s2pg .s2next h2{margin:.95rem 0 .35rem;font-weight:800;font-size:1.9rem;letter-spacing:-.03em;line-height:1.2}
.s2next p{margin:0 0 .85rem;font-size:1.13rem;line-height:1.45;color:#3f4b66}
.s2next .s2chip.white{height:2.25rem;font-size:.92rem}
.s2next .s2btn{margin-top:1rem;min-height:3.4rem;font-size:1.13rem;gap:1rem;border-radius:.45rem}
.s2plc{display:flex;flex-direction:column;align-items:flex-start;gap:0;min-height:14rem}.s2big{font-weight:800;font-size:2.27rem;line-height:1.15;letter-spacing:-.03em;margin-top:.15rem}.s2big.sm{font-size:1.6rem}
.s2plc span{font-size:.92rem;color:#3f4b66}.s2plc small{font-size:.9rem;color:#3f4b66;margin-top:.5rem}
.s2plc hr{width:100%;border:0;border-top:1px solid var(--s2-line2);margin:.6rem 0 .6rem}.s2plc p{margin:0;font-size:.9rem;color:#3f4b66;line-height:1.5}.s2plc .s2link{font-size:1rem;font-weight:700;min-height:2.3rem}
.s2goal{display:flex;flex-direction:column;align-items:stretch;text-align:left;gap:.1rem;min-height:8rem}
.s2goal b{font-weight:700;font-size:1.17rem}.s2goal>span:not(.s2bar){font-size:1rem;color:#26324f;margin-bottom:.3rem}
.s2goal .s2bar{max-width:none;flex:none;height:.85rem}.s2goal small{margin-top:.45rem;font-size:.82rem}.s2goal em{font-style:normal;font-size:.8rem;color:#4a5672}

/* 7 settings */
.s2set .s2hd{margin-bottom:1.2rem}.s2set .s2sub{font-size:1.32rem;margin-top:.2rem}
.s2setg{display:grid;grid-template-columns:minmax(0,1fr) 44.45rem;gap:1.6rem;margin-left:-.5rem}
.s2look{position:relative;padding:1.45rem 1.45rem 1.4rem;display:flex;flex-direction:column;background:linear-gradient(180deg,#fdfaf5 0%,#f8f1e6 62%,#fbf6ee 100%)}
.s2lt{display:flex;align-items:center;gap:0;align-self:stretch}
.s2lt button{position:relative;width:10rem;height:2.7rem;border:0;border-radius:.45rem;background:#f4f0ea;font-size:1.07rem;font-weight:500}
.s2lt button+button{border-radius:0 .45rem .45rem 0}.s2lt button.on{background:#83bdf6;font-weight:600;border-radius:.45rem}
.s2lt button.on:after{content:"";position:absolute;left:0;right:0;bottom:-.4rem;height:3px;background:var(--s2-gold);border-radius:2px}
.s2more{margin-left:auto;font-size:.9rem;font-weight:600;color:var(--s2-ink);text-decoration:underline;text-underline-offset:.2em;min-height:44px;display:flex;align-items:center}
.s2stage{position:relative;height:27.2rem;margin:1.1rem 0 0;display:flex;justify-content:center;background:radial-gradient(ellipse 60% 55% at 50% 48%,rgba(255,255,255,.95),rgba(255,255,255,0))}
.s2fig{position:relative;z-index:1;height:26.3rem;margin-top:1.05rem}.s2fig .chimg{height:100%;width:auto;filter:drop-shadow(0 .5rem .6rem rgba(10,35,60,.18))}
.s2ped{position:absolute;left:50%;bottom:.15rem;width:19.5rem;height:3.75rem;transform:translateX(-50%);border-radius:50%;background:radial-gradient(ellipse at 50% 46%,#fffdf8 0 56%,#bdd6ef 63%,#73a9df 69%,#aecfef 76%,rgba(181,211,240,0) 79%);box-shadow:0 .7rem 1.2rem -.4rem rgba(30,75,120,.18)}
.s2ths{display:flex;justify-content:space-between;gap:.5rem;margin:.6rem .8rem 1.2rem}
.s2th{position:relative;display:grid;place-items:center;flex:none;width:6.15rem;height:6.15rem;border-radius:50%;border:2px solid #ebe6dc;background:#fff;overflow:hidden;padding:0;text-decoration:none;color:var(--s2-ink)}
.s2th img{position:absolute;max-width:none;width:150%;left:-25%;top:5%}.s2th.cr img{width:100%;left:0;top:4%}
.s2th.on{border:3px solid var(--s2-gold)}
.s2th span{position:absolute;bottom:.25rem;left:0;right:0;font-size:.68rem;font-weight:600;text-align:center;background:rgba(255,255,255,.85)}
.s2look .s2btn.gold{min-height:3.45rem;font-size:1.13rem;gap:1rem;margin:0 .5rem;width:auto}.s2look .s2note{text-align:center;margin:.5rem 0 -.6rem}
.s2setr{display:flex;flex-direction:column;gap:.9rem}
.s2app{padding:.95rem 1.5rem .5rem 1.6rem}.s2app h2{margin:0;font-weight:700;font-size:1.73rem;line-height:1.35;letter-spacing:-.02em}.s2app .s2sub2{font-size:1.07rem;margin:.1rem 0 1.3rem}
.s2thm{display:grid;grid-template-columns:repeat(3,1fr);gap:.9rem}
.s2tc{position:relative;display:flex;flex-direction:column;align-items:center;gap:.85rem;padding:1rem 1.2rem 1.1rem;border:1.5px solid var(--s2-line);border-radius:.6rem;background:var(--s2-card)}
.s2tc.on{border:2px solid var(--s2-gold)}.s2tc b{font-weight:500;font-size:1.09rem}
.s2mini{position:relative;display:block;width:100%;aspect-ratio:174/91;border-radius:.2rem;overflow:hidden;background:#f5f3ef;box-shadow:0 0 0 1px #e8e4dc}
.s2mini:before{content:"";position:absolute;left:0;top:0;bottom:0;width:17%;background:#14284b}
.s2mini i{position:absolute;left:30%;height:7%;border-radius:2px;background:#e6e3de}.s2mini i:nth-child(1){top:30%;width:35%}.s2mini i:nth-child(2){top:48%;width:45%}.s2mini i:nth-child(3){top:66%;width:38%}
.s2tc.classic .s2mini{background:linear-gradient(#f7f3ec 0 20%,#fff 20%)}
.s2tc.garden .s2mini{background:linear-gradient(90deg,transparent 30%,#eef2e1 30% 82%,#e3ebd0 82%)}.s2tc.garden .s2mini:before{background:#3d5e34}.s2tc.garden .s2mini i{background:#e2e7d4}
.s2tc.night .s2mini{background:linear-gradient(160deg,#1e3563,#162a51)}.s2tc.night .s2mini:before{background:#0e1c38}.s2tc.night .s2mini i{background:#3a4f7d}
.s2tc.night .s2mini:after{content:"";position:absolute;right:12%;top:14%;width:.7rem;height:.7rem;border-radius:50%;box-shadow:-.18rem .1rem 0 0 #72b2f2}
.s2tick{position:absolute;right:.75rem;top:.75rem;display:grid;place-items:center;width:1.95rem;height:1.95rem;border-radius:50%;background:var(--s2-gold);color:#0a1621}.s2tick svg{width:1.15rem;height:1.15rem;stroke-width:2.6}
.s2app hr{border:0;border-top:1px solid var(--s2-line2);margin:1.75rem 0 .95rem}
.s2app h2+.s2pref{margin-top:.1rem}
.s2pref{display:flex;align-items:center;gap:1rem;min-height:4.6rem;padding:0 0 0 .2rem;border-bottom:1px solid var(--s2-line2);box-sizing:border-box}.s2pref:last-child{border-bottom:0}
.s2pref>div:first-child{flex:1;min-width:0}.s2pref b{display:block;font-weight:600;font-size:1.1rem;margin-bottom:.1rem}.s2pref span{font-size:.98rem;color:#4a5672}
.s2pref em{font-style:normal;font-size:1rem;color:#3f4b66;width:1.6rem;margin:0 1.25rem 0 -.2rem}
.s2tg{position:relative;width:3.75rem;height:2.1rem;border-radius:999px;border:1.6px solid #4a5672;background:#fff;padding:0;flex:none}
.s2tg i{position:absolute;top:50%;left:.25rem;width:1.45rem;height:1.45rem;border-radius:50%;background:#4a5672;transform:translateY(-50%);transition:left .15s}
.s2tg.on{background:#4a99e8;border-color:#4a99e8}.s2tg.on i{left:calc(100% - 1.7rem);background:#fff}
.s2seg{display:flex;gap:1.2rem;margin-right:0}.s2seg button{min-height:2.7rem;padding:0 1.2rem;border:1.5px solid transparent;border-radius:.45rem;background:#f4f3f0;font-size:1.02rem}
.s2seg button.on{background:#c8e2fb;border-color:#6aacee}
.s2fam{display:flex;align-items:center;gap:1.1rem;padding:1.15rem 1.5rem 1.15rem 1.2rem;min-height:6.1rem}.s2fam .s2ic{width:3.25rem;height:3.25rem}.s2fam .s2ic svg{width:1.5rem;height:1.5rem}
.s2fam>div{flex:1}.s2fam b{display:block;font-weight:600;font-size:1.2rem}.s2fam span{font-size:1rem;color:#3f4b66}.s2fam .s2btn{min-height:2.85rem;font-size:.98rem;padding:0 1.6rem;border-radius:.45rem}

/* session-choice pop-up */
#s2dlg[hidden]{display:none}
.s2scrim{position:fixed;inset:0;z-index:60;background:rgba(10,18,36,.5);backdrop-filter:blur(3px)}
.s2dlg{position:fixed;z-index:61;left:50%;top:50%;transform:translate(-50%,-50%);width:min(44rem,calc(100vw - 2rem));max-height:calc(100vh - 2rem);overflow:auto;box-sizing:border-box;background:#fff;border-radius:1rem;padding:1.8rem 2rem 1.6rem;box-shadow:0 1.5rem 4rem rgba(0,0,0,.3);color:#10214a;font-family:Inter,system-ui,sans-serif;outline:0}
.s2dlg h2{margin:1rem 0 .4rem;font-weight:800;font-size:1.9rem;letter-spacing:-.025em}.s2dlg>p{margin:0 0 1.3rem;color:#4a5672;font-size:1.02rem;line-height:1.5}
.s2x{position:absolute;right:.9rem;top:.8rem;width:44px;height:44px;border:0;border-radius:50%;background:#f3f1ec;font-size:1.5rem;line-height:1;color:#10214a;cursor:pointer}
.s2opts{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.s2opt{display:flex;flex-direction:column;align-items:flex-start;gap:.5rem;padding:1.2rem;border:1.5px solid #e6e2da;border-radius:.8rem;background:#fff;text-align:left;font:inherit;color:inherit;cursor:pointer}
.s2opt.on{border:2px solid var(--s2-gold);background:#fffaf0}.s2opt b{font-size:1.08rem}.s2opt span:not(.s2ic){font-size:.92rem;color:#4a5672;line-height:1.45}.s2opt .s2ic{width:3rem;height:3rem}.s2opt .s2ic svg{width:1.4rem;height:1.4rem}
.s2opt[disabled]{opacity:.6;cursor:not-allowed}
.s2dlgf{display:flex;align-items:center;gap:1rem;margin-top:1.4rem}
.s2cnt{display:flex;gap:.6rem}.s2cnt button{min-width:3.4rem;height:3rem;border-radius:.6rem;border:1.5px solid #e1ddd5;background:#fff;font:600 1rem Inter,sans-serif}.s2cnt button.on{background:#c8e2fb;border-color:#6aacee}

/* account menu */
.s2menu{right:1.9rem;top:calc(5rem + 6px)}

/* legacy sub-views (pframe) wear the new chrome; their content keeps its --u layout */
.s2l .s2ph{display:flex;align-items:center;background:var(--s2-top);padding:0 calc(16*var(--u)) 0 calc(16*var(--u))}
.s2l .s2ph .s2logo img{height:calc(30*var(--u));width:auto}
.s2l .s2ph .s2tr{gap:calc(14*var(--u))}.s2l .s2ph .s2hb{font-size:calc(9.5*var(--u));min-height:0;gap:calc(6*var(--u))}.s2l .s2ph .s2hb svg{width:calc(15*var(--u));height:calc(15*var(--u))}
.s2l .s2ph .s2sep{height:calc(18*var(--u))}.s2l .s2ph .s2sw{width:calc(26*var(--u));height:calc(15*var(--u))}.s2l .s2ph .s2sw>i{width:calc(10*var(--u));height:calc(10*var(--u))}
.s2l .s2ph .s2sv.on .s2sw>i{left:calc(100% - calc(12*var(--u)))}
.s2l .s2ph .s2me{gap:calc(8*var(--u));min-height:0;margin-left:0}.s2l .s2ph .s2av{width:calc(32*var(--u));height:calc(32*var(--u))}.s2l .s2ph .s2av b{font-size:calc(12*var(--u))}
.s2l .s2ph .s2who b{font-size:calc(11*var(--u))}.s2l .s2ph .s2who span{font-size:calc(8.5*var(--u))}.s2l .s2ph .s2me>svg{width:calc(13*var(--u));height:calc(13*var(--u));margin-left:calc(8*var(--u))}
.s2l .s2ps{background:var(--s2-navy);padding:calc(16*var(--u)) calc(7*var(--u))}
.s2l .s2ps a{display:flex;align-items:center;gap:calc(14*var(--u));height:calc(38*var(--u));padding:0 calc(11*var(--u));border-radius:calc(7*var(--u));color:#fff;text-decoration:none;font-size:calc(11*var(--u));font-weight:500}
.s2l .s2ps a svg{width:calc(16*var(--u));height:calc(16*var(--u))}
.s2l .s2ps a.on{background:linear-gradient(180deg,var(--s2-gold1),var(--s2-gold2));color:var(--s2-pill);font-weight:600}
.s2l .s2ps a:hover:not(.on){background:rgba(255,255,255,.08)}.s2l .s2ps .pset{margin-top:auto}

/* tablet: icon rail */
@media (max-width:1180px) and (min-width:761px){
 html{font-size:14px}html[data-text=lg]{font-size:15.5px}html[data-text=xl]{font-size:17px}
 .s2{grid-template-columns:6.5rem minmax(0,1fr)}.s2sidein{padding:1rem .5rem 0}.s2nl{gap:.35rem}
 .s2 .s2ni{flex-direction:column;justify-content:center;gap:.3rem;height:4.4rem;padding:0;font-size:.78rem;text-align:center}.s2 .s2ni svg{width:1.5rem;height:1.5rem}
 .s2emb{padding:1rem 0}.s2emb img{width:5rem}.s2emb.low{margin:auto .4rem 2rem}
 .s2foot{margin:0 .4rem}.s2foot .s2ni,.s2foot .s2ni.on{margin:0;padding:0;gap:.3rem;font-size:.72rem}
 .s2m>div{padding:1.6rem 1.4rem 2rem}
 .s2ses:not(.up) .s2sr{flex-wrap:wrap}.s2ses:not(.up) .s2sti{min-width:12rem}.s2ses .s2btn.ghost.sm{margin-left:auto}.s2pt2 b,.s2pt2 span{white-space:nowrap}
 .s2hd h1{font-size:2.4rem}.s2sub{font-size:1.1rem}
 .s2tut,.s2soc{grid-template-columns:1fr}.s2book{min-height:0}.s2solo{max-width:30rem}
 .s2pgg,.s2setg{grid-template-columns:1fr;margin-left:0}.s2ths{justify-content:center;gap:2.2rem}
 .s2pr1{grid-template-columns:1fr 1fr}.s2subs{grid-template-columns:1fr 1fr}
 .s2club,.s2sup,.s2safe{margin-left:0}
 .s2cam{height:calc(100vh - 5rem)}.s2cam .s2hd{margin-left:1.4rem}
 .s2filt{grid-template-columns:1fr 1fr}.s2srch{grid-column:1/3}
 .s2resg{grid-template-columns:repeat(auto-fill,minmax(15rem,1fr))}
 .s2dem li{grid-template-columns:2.6rem minmax(0,1fr) 9.4rem minmax(0,11rem)}
}
@media (max-width:1180px) and (min-width:761px) and (orientation:portrait){
 .s2cam{height:auto}.s2scene{flex:none;aspect-ratio:3/2;height:auto;min-height:0}.s2art{width:100cqw;transform:translateX(-50%)}
 .s2today{position:relative;left:auto;bottom:auto;width:auto;max-width:34rem;margin:1.2rem 1.4rem 0;box-shadow:none;border:1px solid var(--s2-line)}
 .s2pr1{grid-template-columns:1fr}.s2space{max-height:22rem;width:100%}
}
/* phone: bottom tab bar */
.s2tabs{display:none}
@media (max-width:760px){
 html,html[data-text]{font-size:15px}html[data-text=lg]{font-size:16.5px}html[data-text=xl]{font-size:18px}
 .s2{grid-template-columns:minmax(0,1fr)}.s2top{height:3.75rem;padding:0 .9rem}.s2logo img{height:2.15rem}
 .s2top .s2hb span,.s2top .s2sep,.s2top .s2sv,.s2who,.s2me>svg{display:none}
 .s2tr{gap:.4rem}.s2me{margin-left:0}.s2av{width:2.6rem;height:2.6rem}
 .s2side{display:none}
 .s2m{grid-column:1;min-height:calc(100vh - 3.75rem);padding-bottom:calc(4.6rem + env(safe-area-inset-bottom))}
 .s2m>div{padding:1.2rem 1rem 1.5rem}
 .s2tabs{position:fixed;left:0;right:0;bottom:0;z-index:25;display:grid;grid-template-columns:repeat(6,1fr);background:var(--s2-navy);padding:.3rem .2rem calc(.3rem + env(safe-area-inset-bottom));box-shadow:0 -2px 10px rgba(0,0,0,.15)}
 .s2tabs a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.2rem;min-height:3.6rem;border-radius:.6rem;color:#fff;text-decoration:none;font-size:.66rem;font-weight:500}
 .s2tabs a svg{width:1.4rem;height:1.4rem}.s2tabs a.on{background:linear-gradient(180deg,var(--s2-gold1),var(--s2-gold2));color:var(--s2-pill);font-weight:600}
 .s2hd{margin-bottom:1.1rem}.s2hd h1,.s2hw .s2hd h1,.s2pg .s2hd h1{font-size:1.95rem}.s2sub,.s2sm .s2sub,.s2hw .s2sub,.s2pg .s2sub,.s2set .s2sub{font-size:1rem}
 .s2hdr{position:static;margin-top:.9rem}
 .s2cam{height:auto;padding:1rem 0 1rem!important}.s2cam .s2hd{margin:0 1rem 1rem}.s2cam .s2hd h1{font-size:1.85rem}.s2cam .s2sub{font-size:1rem}
 .s2scene{flex:none;aspect-ratio:4/3;min-height:0}.s2art{width:max(100cqw,150cqh)}
 .s2pl{height:2rem;padding:0 .55rem;gap:.35rem;font-size:.72rem;border-width:1px}.s2pl svg{width:.95rem;height:.95rem}.s2pt{height:.35rem}.s2pt:after{width:.55rem;height:.55rem;margin-left:-.24rem;border-width:2px}
 .s2today{position:relative;left:auto;bottom:auto;width:auto;margin:1rem 1rem 0;box-shadow:none;border:1px solid var(--s2-line)}
 .s2camsimple{padding:0 1rem}.s2tiles{grid-template-columns:1fr 1fr}
 .s2tut,.s2soc{grid-template-columns:1fr;gap:1.2rem}.s2book{min-height:0;padding:1.4rem}.s2bs{gap:1.2rem;margin-bottom:1.4rem}.s2bs li:not(:last-child):after{height:1.2rem}.s2orn{margin:1.5rem 0 1.2rem}
 .s2sr{flex-wrap:wrap;gap:.9rem 1rem}.s2time{min-width:0;padding-right:1rem}.s2sti{flex-basis:calc(100% - 9rem)}.s2ses .s2chip.cream{order:5}
 .s2ses .s2btn.ghost.sm{margin-left:auto}.s2sf{flex-direction:column;align-items:stretch}.s2sf .s2btn{min-width:0}
 .s2tabbar{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:.2rem}.s2tabbar button{padding:.45rem .3rem .75rem;font-size:.9rem;line-height:1.25}
 .s2pr1{grid-template-columns:1fr}.s2cont>.s2chip{align-self:flex-start}
.s2cont h2{font-size:1.6rem}.s2meta{flex-wrap:wrap;font-size:.95rem}
 .s2prog{flex-wrap:wrap;gap:1rem}.s2dots li{width:1.9rem;height:1.9rem}.s2dots li+li{margin-left:.85rem}.s2dots li+li:before{width:.85rem}.s2pt2{border-left:0;padding-left:0}
 .s2cf{flex-direction:column;align-items:stretch}.s2cf .s2btn{min-width:0}
 .s2subs,.s2pr3,.s2resg{grid-template-columns:1fr}.s2subj{min-height:0}.s2row{flex-wrap:wrap;gap:1rem}.s2row .s2btn,.s2row .s2link{margin-left:4.9rem}
 .s2filt{grid-template-columns:1fr 1fr;gap:.8rem}.s2srch{grid-column:1/3}
 .s2asg{flex-direction:column;align-items:flex-start;padding-bottom:6.5rem}.s2asg:has(.s2alist) .s2asgt{max-width:none;width:100%}.s2desk{max-width:80%;height:5.5rem}.s2alist{max-width:none}.s2asg .s2ic.lg{width:3.6rem;height:3.6rem}
 .s2school{flex-wrap:wrap}.s2school .s2btn{width:100%}
 .s2club,.s2sup,.s2safe{margin-left:0}.s2club figcaption{padding:.6rem .9rem}.s2club b{font-size:1.05rem}.s2club figcaption span{font-size:.85rem}.s2club .s2chip.navy{height:1.7rem;font-size:.72rem}
 .s2sup{flex-wrap:wrap;padding:1rem}.s2sup .s2btn{width:100%}.s2safe{flex-wrap:wrap;gap:1rem;padding:1rem}
 .s2pgg,.s2setg{grid-template-columns:1fr;margin-left:0}.s2stats b{font-size:2.2rem}.s2stats svg{width:1.8rem;height:1.8rem}.s2stats div{column-gap:.6rem}.s2stats span{font-size:.85rem}
 .s2dem li{grid-template-columns:2.4rem minmax(0,1fr) auto;padding:.5rem 0}.s2dem .s2chip{width:auto;padding:0 .8rem}.s2dr{grid-column:2/4;text-align:left}
 .s2gr{grid-template-columns:auto auto auto;gap:.4rem 1.6rem;padding-left:0;justify-content:start}.s2gr p{grid-column:1/4;border-left:0;padding-left:0}
 .s2stage{height:20rem;margin-top:.6rem}.s2fig{height:18rem;margin-top:.6rem}.s2ped{width:14rem;height:3rem}.s2th{width:4.2rem;height:4.2rem}.s2ths{margin:.4rem 0 1rem}
 .s2look{padding:1rem}.s2lt{flex-wrap:wrap;row-gap:.2rem}.s2lt button{flex:1;width:auto;min-width:0}.s2more{margin:0;width:100%;justify-content:flex-end}.s2look .s2btn.gold{margin:0}
 .s2thm{gap:.5rem}.s2tc{padding:.6rem}.s2tc b{font-size:.9rem}.s2pref{flex-wrap:wrap}.s2pref em{margin-right:0}.s2seg{margin:0;gap:.5rem;flex-wrap:wrap}.s2seg button{padding:0 .8rem}
 .s2fam{flex-wrap:wrap}.s2fam .s2btn{width:100%}
 .s2opts{grid-template-columns:1fr}.s2dlg{padding:1.4rem 1.2rem}.s2dlg h2{font-size:1.45rem}
 .s2menu{right:.6rem;top:calc(3.75rem + 6px)}
}
@media (max-width:380px){.s2tabs a{font-size:.6rem}.s2dots li{width:1.7rem;height:1.7rem}.s2dots li+li{margin-left:.6rem}.s2dots li+li:before{width:.6rem}}

/* Night theme */
html[data-theme=night] .s2m :is(p,span,small,em,label,li){color:var(--s2-sub)}
html[data-theme=night] .s2m :is(h1,h2,h3,b,strong,.s2link,.s2new b,.s2sel,.s2stats b){color:var(--s2-ink)}
html[data-theme=night] :is(.s2look,.s2next,.s2school,.s2safe,.s2book,.s2pg .s2next){background:var(--s2-card)!important;border-color:var(--s2-line)!important}
html[data-theme=night] .s2m :is(.s2chip,.s2chip *,.s2steps li>span:first-child,.s2bs li span,.s2tav,.s2ic,.s2tick,.s2dots li){color:#13254d}
html[data-theme=night] .s2m .s2chip.navy,html[data-theme=night] .s2club figcaption *{color:#fff}
html[data-theme=night] .s2today :is(h2,p),html[data-theme=night] .s2space figcaption *{color:#10214a}
html[data-theme=night] .s2btn:not(.ghost):not(.gold){background:#79b8f6;border-color:#79b8f6;color:#10203f!important}
html[data-theme=night] :is(.s2lt button,.s2seg button){background:#22355e;color:var(--s2-ink)}
html[data-theme=night] :is(.s2lt button.on,.s2seg button.on){background:#68adf1;color:#10203f}
html[data-theme=night] .s2stage{background:radial-gradient(ellipse 60% 55% at 50% 48%,rgba(255,255,255,.1),rgba(255,255,255,0))}
html[data-theme=night] .s2tabbar button{color:var(--s2-sub)}html[data-theme=night] .s2tabbar button.on{color:var(--s2-ink)}
html[data-theme=night] .s2pref em{color:var(--s2-sub)}
html[data-theme=night] .s2sqs button svg{color:#0d1c3b}
@media (min-width:761px){.s2menu .show-ph{display:none}}

/* Simple View: same pages, quieter */
html.simplev .s2space img,html.simplev .s2club img,html.simplev .s2desk,html.simplev .s2rb img{display:none}
html.simplev .s2space{aspect-ratio:auto;min-height:7rem;background:#f6f3ec}html.simplev .s2club{aspect-ratio:auto;min-height:9rem;background:#e9edf5}
html.simplev .s2club figcaption{position:static;width:auto;margin:3.4rem 1rem 1rem;background:#14213d}
html.simplev .s2 .s2ni.on,html.simplev .s2tabs a.on{box-shadow:none}
html.reduce-motion .s2 *,html.reduce-motion #s2dlg *{transition:none!important;animation:none!important}
/* ST2CSS:END */

/* ===== V10.8.351 gate fixes ===== */
/* Parent Billing: "Plan details & requests" sits inside its card, right-aligned */
.p2card .p2more.sm,.p2card .p2more.right{float:none;display:flex;width:max-content;max-width:100%;margin:12px 0 0 auto}
/* Parent overview: status chip wraps inside the child card */
.p2chip{white-space:normal;max-width:100%;box-sizing:border-box}
/* Placement / exercise card grows with its rows on tablets instead of spilling */
@media (min-width:601px){
  .xc{height:auto!important;min-height:calc(490*var(--u));padding-bottom:calc(16*var(--u))}
  .xb{overflow:visible}
  .pw:has(.xc){overflow-y:auto}
}
/* V10.8.359 practice homework */
.prhw li .nbtn{margin-top:8px;align-self:flex-start;width:auto}
.tpr{display:grid;gap:6px;margin:8px 0}.tpr .tur{text-align:left;border:1px solid #e6dfcf;background:#fff;cursor:pointer;width:100%}
.tpk{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0 10px}.tpk .chip{display:inline-flex;align-items:center;gap:4px}

/* V10.8.360 picture questions */
.qpic{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;margin:6px auto 10px}
.qsvg{display:block;max-width:min(100%,440px);max-height:230px;width:auto;height:auto}
.qplus{font-size:34px;font-weight:700;color:#14213d}
.chs.pics{grid-template-columns:repeat(auto-fit,minmax(110px,1fr));max-width:560px}
.chs.pics button{text-align:center;padding:8px}
.chs.pics button .qsvg{max-height:130px;margin:0 auto}
.chs.pics .qcap{display:block;font-size:13px;color:#5b6070;margin-top:4px}
@media (max-width:600px){.qsvg{max-height:190px}.chs.pics{grid-template-columns:repeat(2,1fr)}.chs.pics button .qsvg{max-height:110px}}

/* V10.8.361 homework screens gate: no avatar on homework pages (it sat behind the side nav on desktop and filled the first phone screen, shoes over the breadcrumb) */
.s2l .hwav{display:none!important}
/* V10.8.366: the .s2tabs rules above are the ONE shared bottom-bar implementation (campus .s2 pages and BOLT .s2l pages) */
/* V10.8.361 phones: the BOLT inner pages use the campus bottom tab bar instead of the clipped top strip */
@media (max-width:760px){
 .s2l .s2ps{display:none!important}
 .s2l .world{padding-bottom:calc(4.8rem + env(safe-area-inset-bottom))}
 .pw.s2l .world>section.hwm{margin:0 12px 10px!important;padding:18px 0 0!important}.s2l .hwm .crumb{padding-left:2px}.s2l .hwm h1{margin-left:0!important}.s2l .hwb{margin:12px 0 0!important}.s2l .hwside{margin:10px 12px!important}
}
/* V10.8.361: 10/15/20-question sets (V10.8.360) made the completion dots overflow the Practice card; tighten when > 5 dots */
.s2dots{min-width:0;max-width:100%;flex-wrap:wrap;row-gap:.5rem}
.s2dots:has(li:nth-child(6)) li+li{margin-left:.9rem}.s2dots:has(li:nth-child(6)) li+li:before{width:.9rem}
.s2dots:has(li:nth-child(11)) li{width:1.8rem;height:1.8rem}.s2dots:has(li:nth-child(11)) li+li{margin-left:.45rem}.s2dots:has(li:nth-child(11)) li+li:before{width:.45rem}
@media (max-width:1180px){.s2dots:has(li:nth-child(6)) li{width:1.8rem;height:1.8rem}.s2dots:has(li:nth-child(6)) li+li{margin-left:.5rem}.s2dots:has(li:nth-child(6)) li+li:before{width:.5rem}}
@media (max-width:420px){.s2dots:has(li:nth-child(6)) li{width:1.45rem;height:1.45rem}.s2dots:has(li:nth-child(6)) li+li{margin-left:.3rem}.s2dots:has(li:nth-child(6)) li+li:before{width:.3rem}.s2dots svg{width:.9rem;height:.9rem}}
/* V10.8.361 next-step tags */
.sktag{display:inline-block;vertical-align:middle;margin-left:6px;padding:2px 8px;border-radius:999px;background:#d7eafc;color:#10457a;font:600 11px/1.5 Inter,system-ui,sans-serif;letter-spacing:0;text-transform:none}
.s2why{margin:.25rem 0 0;color:#10457a;font-weight:600;font-size:.95rem}
html[data-theme=night] .sktag{background:#142d46;color:#68adf1}
@media (min-width:1181px){.s2dots:has(li:nth-child(8)) li+li{margin-left:.55rem}.s2dots:has(li:nth-child(8)) li+li:before{width:.55rem}}

/* V10.8.362 math text */
.m{font-variant-numeric:lining-nums}
.m sup{font-size:.68em;line-height:0;vertical-align:.62em;margin-left:.04em}
.m sub{font-size:.68em;line-height:0;vertical-align:-.25em}
.m-v{font-family:"Times New Roman",Georgia,serif;font-style:italic;font-size:1.08em;padding:0 .03em}
.m-fr{display:inline-flex;flex-direction:column;align-items:center;vertical-align:middle;margin:0 .12em;line-height:1.05;font-size:.92em}
.m-fr .m-n{border-bottom:.08em solid currentColor;padding:0 .18em .06em}
.m-fr .m-d{padding:.06em .18em 0}
.m-rt{white-space:nowrap}
.m-rad{border-top:.08em solid currentColor;padding:0 .1em;margin-left:.02em}
.m-abs{padding:0 .08em}
.mprev{min-height:1.4em;margin-top:6px;font-size:18px;color:#3a4256;text-align:center}
/* V10.8.364: the practice feedback box uses class "fb hint" for the revealed answer, which also matched the campus
   toast ".hint" (position:fixed, centred pill, nowrap). That pulled "Here's the answer" out of the card and over the
   Helpful tools card / tab bar on phones. Put it back in the card's normal flow at every size. */
.fb.hint,.xb .fb.hint{position:static;z-index:auto;left:auto;right:auto;bottom:auto;transform:none;border-radius:calc(8*var(--u));box-shadow:none;white-space:normal;font-weight:inherit;align-items:flex-start;max-width:100%;box-sizing:border-box}
@media (max-width:820px){.fb.hint,.xb .fb.hint{position:static;bottom:auto}}
/* V10.8.366 scratchpad: transparent drawing layer over the question card */
.xc .xb{position:relative}
.ink-cv{position:absolute;left:0;top:0;z-index:6;pointer-events:none;touch-action:auto}
.ink-cv.drawing{pointer-events:auto;touch-action:none;cursor:crosshair;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
html.ink-open .xc .xb{-webkit-user-select:none;user-select:none}
.ink-bar{position:sticky;top:0;z-index:8;display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 8px;padding:8px 10px;background:#fff;border:1px solid #ece6da;border-radius:14px;box-shadow:0 4px 14px rgba(20,33,61,.08)}
.ink-bar button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:40px;height:40px;padding:0 8px;border:1px solid #e5dfd2;border-radius:10px;background:#faf8f3;color:#14213d;font:inherit;font-size:14px;font-weight:500;cursor:pointer}
.ink-bar button svg{width:20px;height:20px}
.ink-bar button.on{background:#14213d;color:#fff;border-color:#14213d}
.ink-bar .ink-tog{padding:0 12px;background:#fff6e1;border-color:#6aa9e8}.ink-bar .ink-tog.on{background:linear-gradient(180deg,#6eb1f3,#3a8fe3);color:#14213d;border-color:#3b8ad9}
.ink-grp{display:inline-flex;gap:6px}
.ink-bar .ink-sw{min-width:30px;width:30px;height:30px;padding:0;border-radius:50%;background:var(--c);border:3px solid #fff;box-shadow:0 0 0 1px #d8d2c4}
.ink-bar .ink-sw.on{box-shadow:0 0 0 2px #14213d}
.ink-space{position:relative;height:min(60vh,420px);margin-top:14px;border:2px dashed #e1d9c7;border-radius:12px;background:repeating-linear-gradient(#fff 0 31px,#f1ece1 31px 32px)}
.ink-space span{position:absolute;top:8px;left:12px;font-size:12px;color:#3980c6}
.tools button.on{border-color:#14213d;box-shadow:0 0 0 1px #14213d inset}
@media (max-width:760px){.ink-bar{top:calc(3.75rem + 4px);gap:6px;padding:6px}.ink-bar button{min-width:38px;height:38px}.ink-lbl{display:none}}
/* V10.8.366 easier hints and breakdowns: steps, one idea per line, then a bold Answer line */
.fb .steps3{margin:10px 0 0;padding:0;list-style:none;counter-reset:s;display:flex;flex-direction:column;gap:12px}
.fb .steps3 li{counter-increment:s;position:relative;padding-left:38px;line-height:1.55;font-size:1.06em}
.fb .steps3 li:before{content:counter(s);position:absolute;left:0;top:-1px;width:26px;height:26px;border-radius:50%;background:#fff;border:1.5px solid currentColor;display:grid;place-items:center;font-size:.8em;font-weight:700}
.fb .fans{margin:14px 0 0;font-weight:700;font-size:1.12em}
.fb .fhint{line-height:1.55;font-size:1.06em}
/* V10.8.366 bottom tab bar flush to the true bottom on every student page (shared by .s2 and .s2l pages).
   No shadow strip, no margin, no extra block under it: height = buttons + env(safe-area-inset-bottom) only;
   pages get matching bottom padding so the last card stays visible. */
@media (max-width:760px){
 .s2tabs{position:fixed!important;left:0!important;right:0!important;bottom:0!important;top:auto!important;margin:0!important;
  box-shadow:none!important;border:0!important;border-radius:0!important;transform:translate3d(0,0,0);-webkit-backface-visibility:hidden;
  padding:.3rem .2rem calc(.3rem + env(safe-area-inset-bottom,0px))!important;box-sizing:border-box}
 .s2tabs::after,.s2tabs::before{content:none!important;display:none!important}
 .s2tabs{height:auto!important;min-height:0!important;max-height:none!important}
 .s2m,.s2l .world,.pw.s2l .world{padding-bottom:calc(4.6rem + env(safe-area-inset-bottom,0px) + 12px)!important}
 .pw .world:has(.s2tabs){padding-bottom:calc(4.6rem + env(safe-area-inset-bottom,0px) + 12px)!important}
}
/* V10.8.361: tab bar icons on BOLT inner pages use the outline style (Tutoring icon rendered as a filled square) */
.s2l .s2tabs svg{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}
/* V10.8.366 breakdown alignment: steps left-aligned in one column, math variables without a background chip */
.fb .steps3{align-items:stretch;text-align:left;width:100%}
.fb .steps3 li{display:block;width:auto;margin:0;min-height:26px}
.fb .steps3 li:before{width:24px;height:24px;top:0;font-size:12px;border-width:1.5px}
.fb .steps3 i.m-v,.fb .fhint i.m-v,.fb .fans i.m-v{background:none!important;padding:0;border-radius:0;box-shadow:none}
.fb>div{text-align:left}
/* ---------- V10.8.369 Practice room alive (calm: one-shot feedback only, faint slow backdrop, nothing moves near the question) ---------- */
.prx{position:relative;max-width:1180px;margin:0 auto;padding:1.1rem 1.75rem 2rem;box-sizing:border-box;isolation:isolate}
.prx-bg{position:absolute;inset:0;z-index:-1;overflow:hidden;pointer-events:none}
.prx-bg img{position:absolute;right:-2rem;bottom:-1rem;width:30rem;max-width:60%;height:auto;opacity:.13;filter:saturate(.7)}
.prx-bg i{position:absolute;border-radius:50%;opacity:.22}
.prx-bg .d1{width:10px;height:10px;background:#79b8f6;left:6%;top:18%}.prx-bg .d2{width:7px;height:7px;background:#9fbfa8;right:9%;top:12%}.prx-bg .d3{width:8px;height:8px;background:#b7a2e4;left:44%;bottom:6%}
.prx.kid .prx-bg i,.prx.mid .prx-bg i{animation:prxDrift 40s ease-in-out infinite alternate}
.prx.calm .prx-bg i{display:none}.prx.calm .prx-bg img{opacity:.08}
@keyframes prxDrift{to{transform:translate(18px,-14px)}}
.prx-crumb{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;font-size:.95rem;color:var(--s2-sub);margin:0 0 .9rem}
.prx-crumb a{color:var(--s2-sub);text-decoration:underline;text-underline-offset:.18em}.prx-crumb i{font-style:normal;color:#a3a9b8}.prx-crumb b{color:var(--s2-ink);font-weight:700}
.prx-std{margin-left:.35rem;padding:.12rem .55rem;border-radius:.35rem;background:#eef0f3;color:#3d5065;font-size:.8rem;font-weight:600;letter-spacing:.02em}
.prx-grid{display:grid;grid-template-columns:minmax(0,1fr) 15.5rem;gap:1.25rem;align-items:start}
/* question card (keeps .xc/.xb for the scratchpad ink layer) */
.prx .xc{position:relative;left:auto;top:auto;width:auto;height:auto;min-height:0;margin:0;padding:0;display:block;background:var(--s2-card);border:1px solid var(--s2-line);border-radius:1rem;box-shadow:0 2px 10px rgba(16,33,74,.05);overflow:visible}
.prx-qh{display:flex;align-items:center;gap:1rem;padding:1rem 1.4rem;border-bottom:1px solid var(--s2-line)}
.prx-qn{font-weight:700;font-size:1rem;color:var(--s2-ink);white-space:nowrap}.prx-qn small{font-weight:500;color:var(--s2-mut);font-size:.92rem}
.prx-pbar{flex:1;height:.5rem;border-radius:99px;background:#eeebe4;overflow:hidden;min-width:3rem}.prx-pbar i{display:block;height:100%;background:var(--s2-gold);border-radius:99px;transition:width .6s ease}
.prx-exb{display:inline-flex;align-items:center;gap:.5rem;min-height:2.6rem;padding:0 1rem;border:1.5px solid #d9d3c6;border-radius:.55rem;background:#fff;color:var(--s2-ink);font:600 .92rem Inter,system-ui,sans-serif;white-space:nowrap;cursor:pointer}
.prx-exb svg{width:1.15rem;height:1.15rem;fill:none;stroke:currentColor;stroke-width:1.8}.prx-exb:hover{border-color:var(--s2-ink)}
.prx .xb{background:none;border-radius:0;padding:1.6rem 1.8rem 1.3rem;overflow:visible;min-height:22rem;display:flex;flex-direction:column}
.prx .xb h2.prx-prompt{font:700 1.45rem/1.3 Poppins,Inter,sans-serif;color:var(--s2-ink);margin:0 0 1rem;letter-spacing:-.01em}
.prx .qtxt{font-size:1.15rem;margin:.2rem 0 1.1rem;text-align:left;color:var(--s2-text)}
.prx .eqtxt{font-size:2rem;margin:1rem 0}
.prx .qpic{justify-content:flex-start;margin:.2rem 0 1.2rem}
/* listen */
.prx-listen{display:flex;align-items:center;gap:1rem;margin:.2rem 0 1.4rem}.prx-listen span{font-weight:600;color:var(--s2-sub)}
.prx-play{width:4.5rem;height:4.5rem;border-radius:50%;border:0;background:var(--s2-navy);color:#fff;display:grid;place-items:center;cursor:pointer;box-shadow:0 4px 12px rgba(12,32,61,.22);transition:transform .12s}
.prx-play svg{width:2rem;height:2rem;margin-left:.2rem;fill:currentColor;stroke:none}.prx-play:active{transform:scale(.94)}
.prx-rule{font:600 1.7rem Poppins,Inter,sans-serif;color:var(--s2-ink);padding:.9rem 1.2rem;margin:.2rem 0 1.2rem;background:#faf8f3;border-left:4px solid var(--s2-gold);border-radius:.4rem;width:fit-content;max-width:100%;box-sizing:border-box}
/* answers */
.prx .chs{margin:0;max-width:none;gap:.8rem}
.prx .chs button{cursor:pointer;transition:transform .1s,border-color .15s,background .15s;font-family:Inter,system-ui,sans-serif;color:var(--s2-ink)}
.prx .chs button:active:not([disabled]){transform:scale(.97)}
.prx .chs.prx-cards{grid-template-columns:1fr;max-width:36rem}
.prx .chs.prx-cards button{min-height:3.6rem;padding:.8rem 1.2rem;border:1.5px solid #e1dccf;border-radius:.7rem;background:#fff;font-size:1.1rem;text-align:left}
.prx .chs.prx-short{grid-template-columns:repeat(auto-fill,minmax(6.5rem,1fr));max-width:36rem}
.prx .chs.prx-short button{min-height:4rem;border:1.5px solid #e1dccf;border-radius:.7rem;background:#fff;font:600 1.4rem Poppins,Inter,sans-serif;text-align:center}
.prx .chs button.on{border-color:var(--s2-navy);background:#f2f4fa;box-shadow:0 0 0 2px var(--s2-navy) inset;font-weight:600}
.prx .chs button.right{border-color:#2e8540;background:#eef8f0;box-shadow:0 0 0 2px #2e8540 inset}
.prx .chs.prx-tiles{display:flex;flex-wrap:wrap;gap:1rem}
.prx .chs.prx-tiles button{width:6.5rem;height:6.5rem;border-radius:1rem;border:0;font:700 3rem Poppins,Inter,sans-serif;color:#fff;text-align:center;box-shadow:0 4px 0 rgba(0,0,0,.14)}
.prx .chs.prx-tiles .t0{background:#2f6fb5}.prx .chs.prx-tiles .t1{background:#d9663f}.prx .chs.prx-tiles .t2{background:#2e8a5a}.prx .chs.prx-tiles .t3{background:#8a62c9}.prx .chs.prx-tiles .t4{background:#1970c7}
.prx .chs.prx-tiles button:active:not([disabled]){transform:translateY(3px);box-shadow:0 1px 0 rgba(0,0,0,.14)}
.prx .chs.prx-tiles button.on{box-shadow:0 0 0 4px #fff,0 0 0 7px var(--s2-navy)}
.prx .chs.prx-tiles button.right{box-shadow:0 0 0 4px #fff,0 0 0 7px #2e8540}
.prx .chs.prx-tiles button[disabled]:not(.right){opacity:.45}
.prx .chs.prx-pics{grid-template-columns:repeat(auto-fill,minmax(9rem,1fr));max-width:40rem}
.prx .chs.prx-pics button{border:1.5px solid #e1dccf;border-radius:.9rem;background:#fff;padding:.8rem}
.prx .ans{align-self:flex-start;border:0;padding:0;background:none;min-height:0;gap:1rem}
.prx .ans input.num{width:11rem;height:3.4rem;font:600 1.5rem Poppins,Inter,sans-serif;border:1.5px solid #d9d3c6;border-radius:.6rem}
.prx .ans .fin input{width:4rem;height:2.8rem;font-size:1.4rem}.prx .ans .fin i{width:3rem}
.prx .ans .ok,.prx .fb .ok{width:2rem;height:2rem}
.prx-eqline{flex-wrap:wrap}
.prx-eq{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;font:600 2rem Poppins,Inter,sans-serif;color:var(--s2-ink)}
.prx-box{width:5.5rem;height:3.4rem;padding:0 .4rem;box-sizing:border-box;border:2px solid #b9b3a5;border-radius:.55rem;background:#fff;font:600 1.7rem Poppins,Inter,sans-serif;text-align:center;color:var(--s2-ink)}
.prx-box:focus{outline:0;border-color:var(--s2-navy);box-shadow:0 0 0 3px rgba(121,184,246,.45)}
.prx-box.filled{display:inline-grid;place-items:center;background:#eef8f0;border-color:#2e8540;width:auto;min-width:4rem}
.prx .ans .mprev{flex-basis:100%;text-align:left;margin:0}
.prx input.num:focus{outline:0;border-color:var(--s2-navy);box-shadow:0 0 0 3px rgba(121,184,246,.45)}
.prx .fb{font-size:1rem;margin-top:1.2rem;border-radius:.8rem;padding:1rem 1.2rem}.prx .fb b{font-size:1.15rem}
.prx .fb.good{animation:prxIn .35s ease-out}
@keyframes prxIn{from{opacity:0;transform:translateY(6px)}}
.prx .xf{margin-top:auto;padding-top:1.4rem}.prx .xf .lnk{font-size:1rem;gap:.4rem;color:var(--s2-ink)}.prx .xf .lnk .ico{width:1rem;height:1rem}
.prx .xf .nbtn{min-height:3.25rem;padding:0 1.7rem;border-radius:.55rem;font-size:1.06rem;width:auto}
/* one-shot sparkle on a correct answer (0.6s, never loops) */
.prx-spark{position:relative;display:block;height:0;width:0;margin:-2.2rem 0 0 2.4rem;pointer-events:none}
.prx-spark i{position:absolute;width:6px;height:6px;border-radius:50%;background:var(--s2-gold);opacity:0;animation:prxSp .6s ease-out var(--d) 1 both}
.prx-spark i:nth-child(even){background:#2e8540}
@keyframes prxSp{0%{opacity:1;transform:rotate(var(--a)) translateX(0)}100%{opacity:0;transform:rotate(var(--a)) translateX(30px)}}
/* stats rail */
.prx-rail{display:flex;flex-direction:column;gap:.9rem}
.prx-stats{display:flex;flex-direction:column;gap:.7rem}
.prx-stat{background:var(--s2-card);border:1px solid var(--s2-line);border-radius:.9rem;padding:.85rem 1rem;display:flex;align-items:center;justify-content:space-between;gap:.6rem;box-shadow:0 1px 3px rgba(16,33,74,.04)}
.prx-sl{font-size:.82rem;font-weight:600;color:var(--s2-sub);text-transform:uppercase;letter-spacing:.05em;line-height:1.25}
.prx-stat>b{font:700 1.7rem Poppins,Inter,sans-serif;color:var(--s2-ink)}
.prx-mono{font-variant-numeric:tabular-nums;font-size:1.3rem!important}
.prx-ms{flex-direction:column;align-items:center;padding:1rem}
.prx-ring{position:relative;width:7.5rem;height:7.5rem}
.prx-ring svg{width:100%;height:100%;transform:rotate(-90deg)}
.prx-ring circle{fill:none;stroke-width:9}.prx-ring .bg{stroke:#eeebe4}.prx-ring .fg{stroke:var(--s2-gold);stroke-linecap:round;transition:stroke-dashoffset .9s ease-out}
.prx-ring b{position:absolute;inset:0;display:grid;place-items:center;font:700 1.9rem Poppins,Inter,sans-serif;color:var(--s2-ink);grid-auto-flow:column;align-content:center;justify-content:center}
.prx-ring b small{font-size:.9rem;margin-top:.5rem}
.prx-ms em{font-style:normal;font-size:.9rem;color:var(--s2-sub)}
.prx .prx-tools{position:static;width:auto;padding:.5rem;border:1px solid var(--s2-line);border-radius:.9rem;background:var(--s2-card)}
.prx .prx-tools button{height:2.9rem;margin:0;border:0;border-radius:.55rem;background:none;font-size:.98rem;font-weight:500;color:var(--s2-ink);gap:.75rem;padding:0 .7rem}
.prx .prx-tools button:hover{background:#f6f3ec}.prx .prx-tools button .ico{width:1.2rem;height:1.2rem;margin:0}
/* Not Ready Yet strip */
.prx-ready{margin-top:1.25rem}.prx-ready h3{margin:0 0 .6rem;font-size:1rem;font-weight:700;color:var(--s2-ink)}
.prx-rl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;max-width:calc(100% - 16.75rem)}
.prx-rc{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:.25rem;padding:.8rem 1rem 1.05rem;border:1px solid var(--s2-line);border-radius:.8rem;background:var(--s2-card);text-align:left;cursor:pointer;font-family:Inter,system-ui,sans-serif;overflow:hidden}
.prx-rc b{font-size:.98rem;color:var(--s2-ink);font-weight:600}.prx-rc:hover{border-color:#c9c2b2}
.prx-rc i{position:absolute;left:0;bottom:0;height:4px;width:calc(var(--p)*1%);background:var(--s2-gold)}
.prx-code{font-size:.75rem;font-weight:600;color:#5b6680;letter-spacing:.03em}
/* worked example sheet */
.prx-exs .prx-eb{display:inline-flex;align-items:center;gap:.45rem;font-size:.8rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#12467a;background:var(--s2-cream);padding:.3rem .65rem;border-radius:.35rem}
.prx-exs .prx-eb svg{width:1rem;height:1rem;fill:none;stroke:currentColor;stroke-width:1.8}
.prx-exs h2{margin:.7rem 0}.prx-exs .prx-eq{font-size:1.6rem;margin:.6rem 0}.prx-exs .prx-rule{font-size:1.35rem}.prx-exs .qsvg{max-height:160px}
.prx-exs .steps3{display:block;margin:1rem 0 0;padding-left:1.3rem;line-height:1.6}.prx-exs .fans{font-weight:700;font-size:1.1rem}.prx-exs .s2btn{margin-top:.6rem}
/* calm (grade 6+) */
.prx.calm .xb h2.prx-prompt{font-size:1.3rem;font-weight:600}
.prx.calm .prx-eq{font-size:1.75rem;font-weight:500}.prx.calm .prx-rule{font-weight:500;font-size:1.6rem}
.prx.calm .prx-box{font-weight:500}
/* skill browser */
.prx-br{max-width:1180px;margin:0 auto;padding:1.1rem 1.75rem 2rem;box-sizing:border-box}
.prx-br .s2hd{padding:0;margin-bottom:1rem}.prx-br .s2hd h1{font-size:2.3rem}
.prx-tabs{display:flex;gap:.4rem;flex-wrap:wrap;border-bottom:1px solid var(--s2-line);margin-bottom:.9rem}
.prx-tabs a{padding:.7rem 1rem;color:var(--s2-sub);text-decoration:none;font-weight:600;border-bottom:3px solid transparent;margin-bottom:-1px}
.prx-tabs a.on{color:var(--s2-ink);border-color:var(--s2-gold)}
.prx-gr{display:flex;flex-wrap:wrap;gap:.45rem;margin-bottom:1.2rem}
.prx-gr a{min-width:2.75rem;height:2.5rem;padding:0 .8rem;box-sizing:border-box;display:inline-grid;place-items:center;border:1px solid var(--s2-line);border-radius:99px;background:var(--s2-card);color:var(--s2-ink);text-decoration:none;font-weight:600;font-size:.92rem}
.prx-gr a.on{background:var(--s2-navy);border-color:var(--s2-navy);color:#fff}
.prx-strands{columns:2 26rem;column-gap:1rem}
.prx-strand{break-inside:avoid;margin:0 0 1rem;padding:1rem 1.1rem}
.prx-strand h2{margin:0 0 .5rem;font-size:1.15rem;font-weight:800}
.prx-strand ul{list-style:none;margin:0;padding:0}
.prx-strand li{display:flex;align-items:center;gap:.8rem;padding:.35rem 0;border-top:1px solid var(--s2-line)}.prx-strand li:first-child{border-top:0}
.prx-strand .prx-code{flex:none;width:5.4rem}
.prx-sk{flex:1;min-width:0;min-height:44px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;background:none;border:0;padding:0;text-align:left;cursor:pointer;font-family:Inter,system-ui,sans-serif}
.prx-sk b{font-size:.98rem;font-weight:600;color:var(--s2-ink);text-decoration:underline;text-decoration-color:transparent;text-underline-offset:.2em}.prx-sk:hover b{text-decoration-color:currentColor}
.prx-sk span{font-size:.8rem;color:var(--s2-mut)}
.prx-mini{flex:none;display:flex;align-items:center;gap:.4rem}.prx-mini i{width:3rem;height:.4rem;border-radius:99px;background:linear-gradient(90deg,var(--s2-gold) calc(var(--p)*1%),#eeebe4 0)}
.prx-mini.on i{background:#2e8540}.prx-mini em{font-style:normal;font-size:.8rem;color:var(--s2-sub);width:2.4rem;text-align:right}
/* iPad portrait and phones: rail becomes a compact top strip */
@media (max-width:900px){
 .prx,.prx-br{padding:.8rem .8rem 1.4rem}
 .prx-grid{grid-template-columns:1fr;gap:.8rem}
 .prx-rail{order:-1}
 .prx-stats{flex-direction:row;gap:.5rem}
 .prx-stat{flex:1;flex-direction:column;align-items:flex-start;padding:.55rem .75rem;gap:.15rem}
 .prx-sl{font-size:.68rem}.prx-sl br{display:none}.prx-stat>b{font-size:1.25rem}.prx-mono{font-size:1.05rem!important}
 .prx-ms{flex-direction:row;align-items:center;gap:.5rem}.prx-ms .prx-sl{display:none}.prx-ms em{display:none}
 .prx-ring{width:3.1rem;height:3.1rem}.prx-ring b{font-size:.95rem}.prx-ring b small{font-size:.6rem;margin-top:.2rem}.prx-ring circle{stroke-width:11}
 .prx .prx-tools{display:flex;padding:.3rem;order:2}.prx .prx-tools button{flex:1;justify-content:center;font-size:.85rem;gap:.4rem;padding:0 .3rem}
 .prx-rl{max-width:none;grid-template-columns:1fr}
 .prx .xb{padding:1.1rem 1rem 1rem;min-height:0}
 .prx-qh{padding:.75rem 1rem;gap:.7rem;flex-wrap:wrap}
 .prx-exb span{display:none}.prx-exb{padding:0 .7rem}
 .prx .xb h2.prx-prompt{font-size:1.2rem}
 .prx-eq{font-size:1.6rem}.prx-rule{font-size:1.35rem}
 .prx .chs.prx-tiles button{width:5.2rem;height:5.2rem;font-size:2.4rem}
 .prx-play{width:3.8rem;height:3.8rem}
 .prx-bg img{display:none}
 .prx-strand .prx-code{width:4.6rem}.prx-br .s2hd h1{font-size:1.8rem}
}
@media (max-width:420px){ .prx .prx-tools button span{display:none} .prx-crumb{font-size:.85rem} }
@media (prefers-reduced-motion:reduce){ .prx *,.prx-exs *{animation:none!important;transition:none!important} }
.prx.rm *{animation:none!important;transition:none!important}
html[data-theme=night] .prx .chs.prx-cards button,html[data-theme=night] .prx .chs.prx-short button,html[data-theme=night] .prx-box,html[data-theme=night] .prx-exb{background:var(--s2-card);color:var(--s2-ink);border-color:var(--s2-line2)}
html[data-theme=night] .prx-rule{background:#1d2f52}
/* V10.8.369b gate fixes: scratchpad bar floats at the bottom of the card (never over the question), steps aligned */
.prx .xc{display:flex;flex-direction:column}
.prx .xc>.ink-bar{order:5;position:sticky;top:auto;bottom:12px;margin:0 .8rem .8rem;align-self:center;max-width:calc(100% - 1.6rem);box-sizing:border-box}
@media (max-width:900px){ .prx .xc>.ink-bar{bottom:calc(4.6rem + env(safe-area-inset-bottom,0px) + 10px);gap:4px;padding:5px} .prx .xc>.ink-bar button{min-width:36px;height:36px} }
.fb .steps3 li,.prx-exs .steps3 li{display:block;margin:0;text-indent:0;text-align:left}
.steps3 li i,.steps3 li em{flex:none;height:auto;background:none;display:inline}
.prx-hd{margin:0 0 1rem}.prx-hd h1{margin:0;font:800 2rem/1.15 Inter,system-ui,sans-serif;letter-spacing:-.025em;color:var(--s2-ink)}
.prx-hd p{margin:.3rem 0 0;font-size:1rem;color:var(--s2-sub);font-weight:500}
@media (max-width:900px){.prx-hd{margin:0 0 .6rem}.prx-hd h1{font-size:1.45rem}.prx-hd p{font-size:.9rem}}
.prx-main{min-width:0}.prx-rl{max-width:none}
.prx .xf .nbtn .ico{width:1.05rem;height:1.05rem;margin-left:.2rem}
@media (max-width:900px){
 .prx-rail{display:contents}.prx-stats{order:-1}.prx-main{order:1}.prx .prx-tools{order:2}
 .prx-crumb b,.prx-crumb b+span{display:none}.prx-crumb>i:last-of-type{display:none}
 .prx-hd h1{font-size:1.3rem}.prx-stat{padding:.45rem .65rem}.prx-sl{font-size:.62rem}
}
@media (max-width:900px){
 .prx .prx-tools{order:0}
 .prx .xc>.ink-bar{flex-wrap:nowrap;overflow-x:auto;justify-content:flex-start;-webkit-overflow-scrolling:touch;scrollbar-width:none}
 .prx .xc>.ink-bar .ink-tog span{display:none}.prx .xc>.ink-bar .ink-grp{flex:none}
 .prx .xc>.ink-bar .ink-sw{min-width:28px;width:28px;height:28px}
 .prx-rl{display:flex;overflow-x:auto;gap:.6rem;scrollbar-width:none}.prx-rc{flex:0 0 72%}
}
@media (max-width:900px){ .prx-rl{display:grid;grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));overflow:visible}.prx-rc{flex:none;padding:.6rem .9rem .8rem} }
/* V10.8.378 drawing bar docked in the action row; Check always reachable while drawing */
.prx .ink-dock{display:none}
html.ink-open .prx .ink-dock{display:flex;flex:1;min-width:0;justify-content:center}
html.ink-open .prx .ink-dock .ink-bar{position:static;margin:0;max-width:100%;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;box-shadow:none;padding:4px 6px;gap:4px;border-radius:12px}
html.ink-open .prx .ink-dock .ink-bar::-webkit-scrollbar{display:none}
html.ink-open .prx .ink-dock .ink-bar button{min-width:34px;height:34px;padding:0 6px;flex:none}
html.ink-open .prx .ink-dock .ink-tog span{display:none}
html.ink-open .prx .ink-dock .ink-sw:not(.on){display:none}
html.ink-open .prx .ink-dock .ink-sw{min-width:26px;width:26px;height:26px}
html.ink-open .prx .xf{position:sticky;bottom:0;z-index:9;background:var(--s2-card);margin:0 -1.8rem -1.3rem;padding:.7rem 1.8rem .9rem;border-top:1px solid var(--s2-line);border-radius:0 0 1rem 1rem;gap:.6rem}
@media (max-width:900px){
 html.ink-open .prx .xf{bottom:calc(4.6rem + env(safe-area-inset-bottom,0px));margin:0 -1rem -1rem;padding:.55rem .8rem .7rem;flex-wrap:wrap;border-radius:0}
 html.ink-open .prx .ink-dock{order:-1;flex:1 1 100%}
 html.ink-open .prx .xf .nbtn{min-height:2.9rem}
 .prx .xb h2.prx-prompt.dup{display:none}
}
@media (max-width:900px){ html.ink-open .prx-stats,html.ink-open .prx .prx-tools,html.ink-open .prx-crumb,html.ink-open .prx-hd p,html.ink-open .prx-ready{display:none}
 html.ink-open .prx-hd{margin-bottom:.4rem}html.ink-open .prx-hd h1{font-size:1.1rem}html.ink-open .prx-qh{padding:.5rem .9rem} }
/* V10.8.381 phones: the drawing action row floats above the tab bar; the card gets bottom padding = row height + gap,
   so long prompts scroll clear of it and the drawing layer reaches the very bottom of the question */
@media (max-width:900px){
 html.ink-open .prx .xf{position:fixed;left:.6rem;right:.6rem;bottom:calc(4.6rem + env(safe-area-inset-bottom,0px) + 6px);margin:0;border:1px solid var(--s2-line);border-radius:14px;box-shadow:0 6px 20px rgba(16,33,74,.14);z-index:30}
 html.ink-open .prx .xb{padding-bottom:calc(var(--xfh,7.5rem) + 1.25rem)}
}
.prx-strand li{min-height:44px}
/* V10.8.385 profile-first tour, time zone, parent tip prompt */
.pfcard .pfh{margin:0 0 .2rem;font:700 1.5rem Poppins,Inter,sans-serif;color:#14213d}.pfcard .pfsub{margin:0 0 1rem;color:#4a5672;font-size:.95rem}
.pfsec{margin:0 0 1rem}.pfsec>b{display:block;font-size:.95rem;margin-bottom:.5rem;color:#14213d}
.pfavs{display:flex;flex-wrap:wrap;gap:.5rem}
.pfav{width:64px;height:64px;padding:0;border:2px solid #e3ded4;border-radius:14px;background:#fbf8f2;overflow:hidden;cursor:pointer}
.pfav img{width:100%;height:100%;object-fit:cover;object-position:top}.pfav.on{border-color:#14213d;box-shadow:0 0 0 2px #79b8f6}
.pfnote{display:block;font-size:.8rem;color:#6b7389;margin-top:.4rem}
.pftz{margin:.2rem 0 .5rem;font-size:.9rem;color:#4a5672}
.pfok{display:flex;align-items:center;gap:.6rem;min-height:44px;font-weight:600;color:#14213d;margin-bottom:.6rem}.pfok input{width:22px;height:22px;accent-color:#14213d}
.s2tzc h2{margin:0}.s2tzr{display:flex;gap:.6rem;margin-top:.8rem;flex-wrap:wrap}
.s2tzs{flex:1;min-width:12rem;min-height:2.75rem;border:1.5px solid #d9d3c6;border-radius:.5rem;padding:0 .7rem;font:500 .95rem Inter,system-ui,sans-serif;background:#fff;color:#14213d}
.tipbox{margin-top:.9rem;padding-top:.9rem;border-top:1px solid #ece6da}
.tipc h4{margin:0 0 .2rem;font-size:1.05rem;color:#14213d}.tips{margin:0 0 .7rem;font-size:.9rem;color:#4a5672}
.tipp{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.7rem}
.tipp button{min-width:3.6rem;min-height:44px;padding:0 .9rem;border:1.5px solid #d9d3c6;border-radius:.6rem;background:#fff;font:700 1rem Inter,system-ui,sans-serif;color:#14213d;cursor:pointer}
.tipp button.on{border-color:#14213d;background:#14213d;color:#fff}
.tipl{display:flex;flex-direction:column;gap:.3rem;font-size:.88rem;font-weight:600;color:#14213d;margin-bottom:.7rem}
.tipl textarea,.tipin input{border:1.5px solid #d9d3c6;border-radius:.5rem;padding:.55rem .7rem;font:500 .95rem Inter,system-ui,sans-serif;resize:vertical;box-sizing:border-box;width:100%}
.tipin{display:flex;align-items:center;gap:.4rem;max-width:10rem}
.tipbig{font:800 1.8rem Poppins,Inter,sans-serif;color:#14213d;margin:.2rem 0}.tipbig span{font:500 1rem Inter,sans-serif;color:#4a5672}
.tipr{display:flex;justify-content:space-between;align-items:center;gap:.6rem}
.tiperr{color:#a3261b;font-size:.88rem;margin:0 0 .6rem}.tipdone{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap;font-size:.9rem;margin:0}
.tipok h4{display:flex;align-items:center;gap:.4rem;color:#1d5a3e}
.pfcard .row.pftzr{grid-template-columns:2.4em 1fr}.pfcard .row.pftzr select{grid-column:1/-1}
@media(max-width:640px){.pfcard .row.pftzr{grid-template-columns:1.8em 1fr}}
body:has(.pfcard) .si-tabs{display:none}
.s2card.s2tzc{padding:.95rem 1.5rem 1rem 1.6rem}.s2tzc h2{margin:0;font-weight:700;font-size:1.73rem;line-height:1.35;letter-spacing:-.02em}.s2tzc .s2sub2{font-size:1.07rem;margin:.1rem 0 .2rem}
@media(max-width:640px){.s2card.s2tzc{padding:1.1rem 1.1rem 1rem}.s2tzc h2{font-size:1.35rem}.s2tzc .s2sub2{font-size:.95rem}}

/* V10.8.587 new iTutor wordmark keeps its own shape everywhere (old CSS cropped/squashed a square book icon) */
.si-logo,.hdr-logo,.b2logo,.lob-logo img,.s2logo img,.tuh>img,.pgate .ph .hdr-logo{width:auto!important;max-width:min(60vw,240px)!important;object-fit:contain!important;object-position:left center!important;aspect-ratio:842/291}
@media (max-width:600px){.si-logo,.hdr-logo,.b2logo,.lob-logo img,.s2logo img,.tuh>img{height:30px!important;max-height:30px!important}}
.p2logo .itl{height:30px;width:auto;aspect-ratio:842/291}

/* V10.8.681: Your Campus (simple view / viewing as parent) never slides sideways on phones */
.s2camsimple{min-width:0;max-width:100%;box-sizing:border-box}.s2camsimple>*{min-width:0;max-width:100%;box-sizing:border-box}
.s2tiles{grid-template-columns:repeat(auto-fill,minmax(min(13rem,100%),1fr))}
@media (max-width:560px){.s2camsimple{padding:0 1rem}.s2tiles{grid-template-columns:1fr 1fr;gap:.6rem}.s2tiles>*{min-width:0}.s2tiles *{overflow-wrap:anywhere}}
/* V10.8.700: Enter Campus is brand blue, not gold */
.wenter{background:#79B8F6!important;color:#0d2747!important}

/* V10.8.702b: family bell and lock/emblem art in logo blue instead of gold */
#an483Bell{color:transparent!important;text-shadow:0 0 0 #4a90d9!important}#an483Bell .an-n{text-shadow:none!important;color:#fff!important}
img[src*="lock-icon"],img[src*="emblem"]{filter:hue-rotate(165deg) saturate(.85)}

/* V10.8.784 (pro audit): first-time profile page - a tall form no longer slides up under the logo at 1440 */
@media (min-width:601px){.si-panel{justify-content:safe center;padding-top:calc(2.4vw + 84px);overflow-y:auto}}

/* V10.8.790 (pro audit H7 leftovers): cream/yellow tints on the family home -> pastel lavender */
.s2rb{background:#f3f0ff}.s2school{background:#f7f5ff;border-color:#e6e0fb}

/* ======================= V10.8.1622: Add Another Child ======================= */
.acB{border:1px solid #cfe0f5;border-radius:8px;padding:18px;display:flex;flex-direction:column;justify-content:space-between;gap:16px;background:linear-gradient(145deg,#eaf3fd 0%,#f4f8fd 45%,#fbf1dc 100%)}
.acBt{display:flex;flex-direction:column;gap:16px;padding-bottom:6px}.acBt b{display:block;font:700 24px Poppins,Inter,sans-serif;margin-bottom:6px}.acBt span{font-size:15px;color:#3c4559;line-height:1.45}
.acg{display:flex}.acg i{width:64px;height:64px;border-radius:50%;background:radial-gradient(circle at 50% 45%,#d6e8fb,#a9cdf3);border:3px solid #fff;display:grid;place-items:center;color:#fff;margin-right:-12px;box-shadow:0 1px 3px rgba(20,33,61,.12)}
.acg i svg{width:34px;height:34px}.acg i.plus{background:#fff;border:2px dashed #3a87d4;color:#1f74c9;margin-left:0}.acg i.plus svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:2.2}
.acB .p2btn{width:100%}
/* the step prompt */
.mscrim{position:fixed;inset:0;background:rgba(20,33,61,.55);display:flex;align-items:center;justify-content:center;z-index:200;font-family:Inter,sans-serif;color:var(--nv)}
.msheet{width:520px;max-width:calc(100vw - 32px);background:#fff;border-radius:12px;box-shadow:0 20px 60px rgba(20,33,61,.35);padding:22px 26px 22px;max-height:calc(100vh - 32px);overflow:auto}
.msheet header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:14px}.msheet header small{font:600 12px Inter;letter-spacing:.08em;text-transform:uppercase;color:#1f74c9;display:block;margin-bottom:8px}
.mdots{display:flex;align-items:center;gap:6px}.mdots i{width:34px;height:5px;border-radius:3px;background:#e2e6ee}.mdots i.on{background:var(--gd)}.mdots em{font-style:normal;font-size:13px;color:var(--mu);margin-left:8px}
.mx{border:0;background:#f0f1f4;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;color:var(--nv);cursor:pointer}.mx svg{width:18px;height:18px}
.msheet h2{font:700 26px Poppins,Inter,sans-serif;margin:0 0 4px}.msub{margin:0 0 16px;color:#3c4559;font-size:15px}
.mfl{display:block;margin-bottom:14px}.mfl>span:first-child{display:block;font-weight:600;font-size:14px;margin-bottom:6px}.mfl small{display:block;font-size:12.5px;color:var(--mu);margin-top:5px}
.mfl input,.mfl textarea,.msel,.acsel{width:100%;box-sizing:border-box;height:46px;border:1.5px solid #cfd3dc;border-radius:6px;padding:0 14px;font:500 15px Inter,sans-serif;color:var(--nv);background:#fff;display:flex;align-items:center;justify-content:space-between}
.msel{color:#5d6475}.msel svg{width:18px;height:18px}.mrow2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.msheet footer{display:flex;justify-content:space-between;align-items:center;margin-top:8px;padding-top:16px;border-top:1px solid var(--ln)}
.mchips{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:18px}.mchips span{display:inline-flex;align-items:center;gap:6px;border:1.5px solid #cfd3dc;border-radius:999px;padding:9px 16px;font-size:14.5px;font-weight:500}.mchips span.on{background:var(--gl);border-color:#e0b95c;font-weight:600}.mchips svg{width:16px;height:16px;stroke-width:2.6}
.msum{border:1px solid var(--ln);border-radius:8px;margin-bottom:14px}.msum div{display:flex;justify-content:space-between;gap:16px;padding:12px 16px;border-bottom:1px solid #f0ede6;font-size:14.5px}.msum div:last-child{border:0}.msum span{color:var(--mu)}.msum b{text-align:right}
.mfine{font-size:13px;color:var(--mu);margin:0 0 6px}
@media (max-width:760px){
 .mscrim{align-items:flex-end}.msheet{width:100%;max-width:none;border-radius:16px 16px 0 0;padding:18px 18px 22px;max-height:92vh}
 .msheet h2{font-size:23px}.mrow2{grid-template-columns:1fr}.msheet footer{flex-direction:column-reverse;gap:10px}.msheet footer .p2btn{width:100%}
}
.mscrim{--nv:#16243f;--nv2:#1d2d4d;--gd:#3a87d4;--gl:#fbf1dc;--ln:#e7e3da;--mu:#5d6475;font-size:15px}
.mscrim svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}.mscrim svg.f{fill:currentColor;stroke:none}
.mscrim .p2link svg{width:16px;height:16px}

.p2kids{align-items:stretch}.acpend .p2chip{background:#fff4d6;color:#7a5200}
body.acopen{overflow:hidden}
.acsel{appearance:auto;background:#fff}
.acchips{display:flex;flex-wrap:wrap;gap:10px}.acchip{display:inline-flex;align-items:center;gap:6px;border:1.5px solid #cfd3dc;border-radius:999px;padding:9px 16px;font:500 14.5px Inter,sans-serif;color:var(--nv);background:#fff;cursor:pointer}.acchip.on{background:var(--gl);border-color:#e0b95c;font-weight:600}.acchip svg{width:16px;height:16px;stroke-width:2.6}
.acwin{margin-bottom:6px}.acwin .sw-hint{font-family:Inter,sans-serif}
.acerr{margin:8px 0 0;padding:10px 14px;border-radius:6px;background:#fdecec;color:#a02424;font-size:14px}.acerr[hidden]{display:none}
.msheet .p2btn.dis{opacity:.45}.msheet .p2btn.ghost{background:#fff;color:var(--nv);border:1.5px solid #cfd3dc}
.acdone{text-align:center}.acdone .msum{text-align:left}.acdone footer{justify-content:center;gap:12px}.acok{width:64px;height:64px;border-radius:50%;background:#e4f4ea;color:#1f7a4d;display:grid;place-items:center;margin:6px auto 12px}.acok svg{width:32px;height:32px;stroke-width:2.4}
.msheet svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round}.acg svg{stroke-width:2}
.p2kid>.p2btn{margin-top:auto}.acwait{display:flex;gap:14px;align-items:flex-start;padding:18px}.acwait h3{margin:0 0 4px}.acwait span{color:#3c4559;font-size:15px;line-height:1.45}
/* ======================= /V10.8.1622 ======================= */

/* V10.8.1631: Add Another Child v2 (tutor matches, plan, payment) */
.acav{position:relative;flex:0 0 auto;width:56px;height:56px;border-radius:50%;background:#e8eefb;color:#1f74c9;display:grid;place-items:center;font:700 22px Poppins,Inter,sans-serif;overflow:hidden}.acav img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.actl{display:grid;gap:12px;margin-bottom:6px}.actc{border:1.5px solid #cfd3dc;border-radius:12px;background:#fff;overflow:hidden}.actc.on{border-color:#1f74c9;box-shadow:0 0 0 3px rgba(31,116,201,.12)}
.actop{display:flex;align-items:center;gap:14px;width:100%;padding:14px;background:none;border:0;text-align:left;cursor:pointer;font:inherit;color:var(--nv)}
.actx{flex:1;min-width:0;display:block}.actx b{display:block;font:700 17px Poppins,Inter,sans-serif}.actx small{display:block;color:#3c4559;font-size:13.5px;margin-top:2px}.acsj{display:block;font-size:12.5px;color:var(--mu);margin-top:4px}
.acpick{font:600 12.5px Inter,sans-serif;font-style:normal;color:#1f74c9;border:1.5px solid #1f74c9;border-radius:999px;padding:6px 12px;white-space:nowrap}.actc.on .acpick{background:#1f74c9;color:#fff}
.acfr{display:flex;flex-wrap:wrap;gap:6px;padding:0 14px 14px}.acfree{font-size:12.5px;background:#f3f5fa;color:#3c4559;border-radius:999px;padding:4px 10px}
.acdays{display:grid;gap:8px;padding:0 14px 6px}.acday{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #e4e7ee;border-radius:10px;padding:8px 10px}.acday.on{background:#f5f9ff;border-color:#bcd6f3}
.accb{display:flex;align-items:center;gap:10px;font-size:15px;cursor:pointer;min-height:40px}.accb input{width:20px;height:20px;accent-color:#1f74c9}.acday .acsel{width:150px;height:42px}
.actc .mfl{padding:6px 14px 14px;margin:0}
.acgh{font:600 12px Inter,sans-serif;letter-spacing:.08em;text-transform:uppercase;color:#1f74c9;margin:14px 0 8px}.acpls,.acpend{display:grid;gap:10px;margin-bottom:6px}
.acpl{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;text-align:left;border:1.5px solid #cfd3dc;border-radius:12px;background:#fff;padding:14px;cursor:pointer;font:inherit;color:var(--nv)}
.acpl b{display:block;font:600 15.5px Inter,sans-serif}.acpl small{display:block;color:var(--mu);font-size:12.5px;margin-top:2px}.acpl em{font:700 19px Poppins,Inter,sans-serif;font-style:normal;text-align:right;white-space:nowrap}.acpl em small{font:500 12px Inter,sans-serif}
.acpl.on{border-color:#1f74c9;background:#f5f9ff;box-shadow:0 0 0 3px rgba(31,116,201,.12)}.acpl.off{opacity:.55;cursor:not-allowed;background:#f7f7f9}
.acsum{margin-top:14px}.acsum div:last-child{background:#f5f9ff;border-radius:0 0 8px 8px}
.acpaybtn{display:flex;justify-content:center;align-items:center;gap:8px;text-decoration:none;margin:4px 0 12px}
.acwait{display:flex;align-items:center;justify-content:center;gap:10px;color:#3c4559;font-size:14px;margin:6px 0 0}.acspin{width:16px;height:16px;border-radius:50%;border:2.5px solid #cfd3dc;border-top-color:#1f74c9;animation:acspin 1s linear infinite}@keyframes acspin{to{transform:rotate(360deg)}}
@media (max-width:640px){.acday .acsel{width:130px}.actop{padding:12px}.acav{width:48px;height:48px;font-size:19px}.acpl em{font-size:17px}}
@media (prefers-reduced-motion:reduce){.acspin{animation:none}}
/* /V10.8.1631 */
/* V10.8.1646 flicker fix 2: parent page settle gate (see paHold in sw.js) */
.p2main.pa-hold>*:not(.p2acct):not(#an483Bell){opacity:0!important}
.p2main.pa-in>*:not(.p2acct):not(#an483Bell){animation:paIn1646 .16s ease-out both}
@keyframes paIn1646{from{opacity:0}to{opacity:1}}
@media (prefers-reduced-motion:reduce){.p2main.pa-in>*{animation:none}}
