/* Atlantic School of Insurance · online course · "Gold Standard" theme */
:root{
  --bg:#17181B; --bg-deep:#0C0C0E; --panel:#23252A; --panel2:#2F3238; --row:#1C1D21; --acc:#D9B44A;
  --gold:#D9B44A; --gold-soft:rgba(217,180,74,.22); --gold-line:rgba(217,180,74,.38);
  --ink:#F2F1EE; --mut:#B9BBC0; --dim:#898C93; --ok:#5CC9A7; --bad:#F29090; --warn:#F0C46A; --violet:#BDAEE6; --sky:#DDA877;
  --serif:'Fraunces',Georgia,serif; --sans:'Manrope',system-ui,-apple-system,'Segoe UI',sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);line-height:1.55;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{font-family:var(--serif);font-weight:500;letter-spacing:-.01em;margin:0}
p{margin:0}
button{font:inherit;color:inherit;cursor:pointer;border:0;background:none;text-align:left}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
a{color:var(--gold)}
.ic{width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.hidden{display:none!important}
.mut{color:var(--mut)}
.eyebrow{font-size:12px;letter-spacing:.18em;font-weight:700;color:var(--gold);text-transform:uppercase}
.serif{font-family:var(--serif)}

/* ---------- header ---------- */
.top{position:sticky;top:0;z-index:30;background:rgba(10,10,12,.94);backdrop-filter:blur(10px);border-bottom:1px solid var(--gold-soft)}
.top-in{max-width:1240px;margin:0 auto;padding:12px 28px;display:flex;flex-wrap:wrap;gap:14px;align-items:center;justify-content:space-between}
.brand{display:flex;align-items:center;gap:12px;cursor:pointer}
.brand .ic{width:36px;height:36px;color:var(--gold)}
.brand b{font-family:var(--serif);font-weight:500;font-size:19px;letter-spacing:.02em;display:block;line-height:1.15}
.brand small{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--mut);font-weight:700}
.top-r{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.chip{display:inline-flex;align-items:center;gap:8px;padding:6px 14px;border-radius:999px;border:1px solid var(--gold-line);font-size:13px;font-weight:600;white-space:nowrap;background:transparent}
.chip.paused{border-color:var(--warn);color:var(--warn)}
.avatar{width:38px;height:38px;border-radius:50%;background:var(--gold);color:#111113;display:flex;align-items:center;justify-content:center;font-weight:800;cursor:pointer}
.menu{position:fixed;z-index:60;right:28px;top:68px;background:var(--panel);border:1px solid var(--gold-line);border-radius:16px;padding:8px;min-width:220px;box-shadow:0 20px 50px rgba(0,0,0,.45)}
.menu button{display:flex;gap:10px;align-items:center;width:100%;padding:10px 12px;border-radius:10px;font-weight:600;font-size:14px}
.menu button:hover{background:var(--panel2)}
.menu .who{padding:10px 12px;border-bottom:1px solid var(--gold-soft);margin-bottom:6px}

/* ---------- layout ---------- */
.wrap{max-width:1240px;margin:0 auto;padding:40px 28px 110px}
.narrow{max-width:980px;margin:0 auto;padding:44px 24px 110px}
.panel{background:var(--panel);border:1px solid var(--gold-soft);border-radius:22px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:0 26px;border-radius:999px;font-weight:700;font-size:15px;text-align:center;transition:transform .15s,filter .15s,background .15s}
.btn.gold{background:var(--gold);color:#111113}
.btn.gold:hover{filter:brightness(1.1);transform:translateY(-1px)}
.btn.line{border:1px solid var(--gold-line)}
.btn.line:hover{background:var(--gold-soft)}
.btn.sm{min-height:40px;padding:0 18px;font-size:14px}
.btn:disabled,.btn.off{opacity:.45;cursor:not-allowed;transform:none;filter:none}
.btn.danger{border:1px solid rgba(242,144,144,.6);color:var(--bad)}
.btn.danger:hover{background:rgba(242,144,144,.12)}
.back{display:inline-flex;gap:8px;align-items:center;font-weight:700;font-size:14px;color:var(--mut);padding:6px 0}
.back:hover{color:var(--ink)}
.back .ic{transform:rotate(180deg);width:18px;height:18px}

/* ---------- dashboard ---------- */
.hero{display:flex;flex-wrap:wrap;gap:44px;align-items:center;justify-content:space-between}
.hero h1{font-size:clamp(40px,6vw,66px);line-height:1.04;margin:14px 0 16px}
.ringbox{position:relative;width:190px;height:190px;flex:none}
.ringbox svg{width:100%;height:100%;transform:rotate(-90deg)}
.ringbox .mid{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}
.ringbox .mid b{font-family:var(--serif);font-weight:500;font-size:48px;line-height:1}
.ringbg{fill:none;stroke:rgba(255,255,255,.1);stroke-width:7}
.ringfg{fill:none;stroke:var(--gold);stroke-width:7;stroke-linecap:round;transition:stroke-dasharray .9s cubic-bezier(.2,.8,.2,1)}
.ringfg.ok{stroke:var(--ok)}.ringfg.bad{stroke:var(--bad)}
.stats{display:flex;flex-wrap:wrap;gap:18px;margin:36px 0 10px}
.stat{flex:1 1 230px;padding:20px 24px}
.stat b{display:block;font-family:var(--serif);font-weight:500;font-size:32px;line-height:1.1;margin-top:6px}
.bar{height:6px;border-radius:6px;background:rgba(255,255,255,.1);overflow:hidden;margin-top:12px}
.bar i{display:block;height:100%;background:var(--gold);transition:width .8s}
.cols{display:flex;flex-wrap:wrap;gap:32px;align-items:flex-start;margin-top:18px}
.cols>.main{flex:999 1 620px;min-width:0}.cols>.side{flex:1 1 300px;display:flex;flex-direction:column;gap:20px}
.sechead{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;justify-content:space-between;padding:30px 4px 12px}
.sechead h2{font-size:26px;margin-top:6px}
.row{display:flex;flex-wrap:wrap;align-items:center;gap:16px;padding:16px 20px;border-radius:16px;border:1px solid rgba(255,255,255,.07);background:var(--row);margin-bottom:10px;transition:border-color .2s,transform .2s}
.row.clickable{cursor:pointer}
.row.clickable:hover{border-color:var(--gold-line);transform:translateX(3px)}
.row.cur{border-color:var(--gold);background:var(--panel2)}
.row.lock{opacity:.6}
.rn{font-family:var(--serif);font-size:30px;width:44px;color:var(--gold)}
.row.lock .rn{color:var(--dim)}
.rt{flex:1 1 240px;min-width:0}.rt b{display:block;font-weight:700;font-size:16px}.rt small{color:var(--mut);font-size:13px}
.st{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:700}
.row.done .st{color:var(--ok)}.row.cur .st{color:var(--gold)}.row.lock .st{color:var(--dim)}
.minibar{width:120px;height:5px;border-radius:5px;background:rgba(255,255,255,.1);overflow:hidden}.minibar i{display:block;height:100%;background:var(--gold)}
.tool{display:flex;gap:14px;align-items:center;padding:16px 18px;border-radius:16px;background:var(--row);border:1px solid rgba(255,255,255,.07);width:100%}
.tool:hover{border-color:var(--gold-line)}
.tool .ic{width:24px;height:24px;color:var(--gold)}
.tool b{display:block}.tool small{color:var(--mut)}

/* ---------- chapter page ---------- */
.chead{margin:26px 0 8px}
.chead h1{font-size:clamp(34px,5vw,56px);line-height:1.06;margin-top:10px}
.chead h1 span{color:var(--gold);margin-right:10px}
.lesson{display:flex;flex-wrap:wrap;gap:40px;margin-top:34px;align-items:flex-start}
.rail{flex:0 0 240px;position:sticky;top:96px;max-height:calc(100vh - 120px);overflow:auto;padding-right:6px}
.rs{display:flex;gap:12px;align-items:flex-start;padding:9px 0;font-weight:600;font-size:14px;color:var(--mut);width:100%;line-height:1.35}
.rs .dc{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.25);flex:none;font-size:12px}
.rs .dc .ic{width:15px;height:15px;stroke-width:3}
.rs.done .dc{background:var(--ok);color:#111113;border-color:var(--ok)}
.rs.cur{color:var(--ink)}.rs.cur .dc{border-color:var(--gold);color:var(--gold)}
.rs.lock{opacity:.55;cursor:not-allowed}
.rs:not(.lock):hover{color:var(--ink)}
.content{flex:999 1 560px;min-width:0}
.prose p{font-size:17.5px;line-height:1.78;margin:0 0 18px;max-width:72ch}
.prose h3{font-size:24px;margin:34px 0 12px}
.prose ul{margin:0 0 20px;padding-left:22px;line-height:1.8;font-size:17px;max-width:72ch}
.prose li{margin-bottom:6px}
.prose strong{color:#fff}
.partttl{font-size:clamp(28px,4vw,40px);line-height:1.12;margin:0 0 22px}
.tw{overflow-x:auto;border-radius:16px;border:1px solid var(--gold-soft);margin:6px 0 26px;background:var(--row)}
.tw table{border-collapse:collapse;width:100%;min-width:520px;font-size:15px}
.tw th{background:var(--panel2);text-align:left;padding:12px 16px;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--gold);font-weight:700;white-space:nowrap}
.tw td{padding:12px 16px;vertical-align:top;border-top:1px solid rgba(255,255,255,.07);line-height:1.55}
.tw tr:nth-child(even) td{background:rgba(255,255,255,.025)}
.tw td:first-child{font-weight:700;color:#fff;min-width:150px}
.callout{margin:8px 0 26px;padding:22px 26px;border-radius:18px;border:1px solid var(--gold-line);background:rgba(217,180,74,.07)}
.callout .ct{display:flex;gap:10px;align-items:center;font-size:12px;letter-spacing:.16em;font-weight:800;text-transform:uppercase;color:var(--gold)}
.callout .ct .ic{width:18px;height:18px}
.callout .cs{font-size:12px;letter-spacing:.08em;color:var(--mut);margin-left:4px;font-weight:700;text-transform:uppercase}
.callout .cb{margin-top:10px}
.callout .cb p{font-size:16.5px;line-height:1.65;margin:0 0 10px;max-width:none}
.callout .cb ul{font-size:16.5px;margin:0 0 6px;padding-left:20px}
.callout.key{border-color:rgba(92,201,167,.6);background:rgba(92,201,167,.09)}.callout.key .ct{color:var(--ok)}
.callout.important{border-color:rgba(242,144,144,.55);background:rgba(242,144,144,.08)}.callout.important .ct{color:var(--bad)}
.callout.trap{border-color:rgba(242,144,144,.75);background:rgba(242,144,144,.12)}.callout.trap .ct{color:var(--bad)}
.callout.tip{border-color:var(--gold-line);background:rgba(217,180,74,.09)}
.callout.check{border-color:rgba(167,155,255,.6);background:rgba(167,155,255,.09)}.callout.check .ct{color:var(--violet)}
.callout.example{border-color:rgba(127,178,255,.55);background:rgba(127,178,255,.08)}.callout.example .ct{color:var(--sky)}
.callout.summary{border-color:rgba(255,255,255,.28);background:var(--panel)}.callout.summary .ct{color:#fff}
.callout.note{border-color:rgba(255,255,255,.2);background:rgba(255,255,255,.04)}.callout.note .ct{color:var(--mut)}
.callout .rv{margin-top:12px}
.callout.folded .cb{display:none}.callout.folded.open .cb{display:block}
.callout .fold{margin-left:auto;font-size:12px;letter-spacing:.1em;border:1px solid currentColor;border-radius:999px;padding:4px 12px;font-weight:700}
.pager{display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between;align-items:center;margin-top:40px;padding-top:26px;border-top:1px solid var(--gold-soft)}

/* ---------- activity ---------- */
.act{padding:30px}
.act h2{font-size:30px;margin:6px 0 6px}
.match{display:flex;flex-wrap:wrap;gap:22px;margin-top:18px}
.match>div{flex:1 1 280px;display:flex;flex-direction:column;gap:10px}
.mt{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:58px;padding:14px 18px;border-radius:14px;border:1px solid rgba(255,255,255,.18);background:var(--row);font-weight:600;font-size:15px;line-height:1.4}
.mt:hover{border-color:var(--gold)}
.mt.sel{border-color:var(--gold);background:rgba(217,180,74,.18)}
.mt.done{border-color:var(--ok);background:rgba(92,201,167,.12);cursor:default}
.mt.wrong{border-color:var(--bad);background:rgba(242,144,144,.12);animation:shake .35s}
@keyframes shake{20%,60%{transform:translateX(-5px)}40%,80%{transform:translateX(5px)}}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;margin-top:18px}
.fc{perspective:900px;height:200px;cursor:pointer;width:100%}
.fc .in{position:relative;width:100%;height:100%;transition:transform .55s;transform-style:preserve-3d}
.fc.flip .in{transform:rotateY(180deg)}
.fc .f,.fc .b{position:absolute;inset:0;backface-visibility:hidden;border-radius:18px;padding:20px;display:flex;flex-direction:column;justify-content:center;overflow:auto}
.fc .f{background:var(--row);border:1px solid var(--gold-line);font-family:var(--serif);font-size:21px;line-height:1.25;text-align:center;align-items:center}
.fc .f small{font-family:var(--sans);font-size:11px;letter-spacing:.14em;color:var(--gold);text-transform:uppercase;font-weight:700;margin-top:10px}
.fc .b{transform:rotateY(180deg);background:var(--panel2);border:1px solid var(--gold);font-size:14.5px;line-height:1.5}
.fc.seen .f{border-color:var(--ok)}
.progline{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;margin-top:16px;color:var(--mut);font-size:14px;font-weight:600}
.fb{margin-top:20px;padding:16px 20px;border-radius:14px;font-size:15px}
.fb.ok{background:rgba(92,201,167,.12);border:1px solid var(--ok)}
.fb.bad{background:rgba(242,144,144,.12);border:1px solid var(--bad)}

/* ---------- quiz ---------- */
.qtop{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px}
.dots{display:flex;gap:6px;margin:16px 0 22px;flex-wrap:wrap}
.dot{flex:1;min-width:10px;height:6px;border-radius:6px;background:rgba(255,255,255,.14)}
.dot.cur{background:rgba(217,180,74,.7)}.dot.ok{background:var(--ok)}.dot.bad{background:var(--bad)}
.qcard{padding:34px}
.qcard h2{font-size:clamp(22px,3vw,29px);line-height:1.3}
.opt{display:flex;gap:16px;align-items:flex-start;width:100%;padding:15px 18px;border-radius:14px;border:1px solid rgba(255,255,255,.18);background:var(--row);margin-top:12px;font-size:16px;line-height:1.5}
.opt:not(:disabled):hover{border-color:var(--gold);background:var(--panel2)}
.opt:disabled{cursor:default;color:var(--ink)}
.opt .ol{display:flex;width:32px;height:32px;border-radius:50%;flex:none;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.3);font-weight:800;font-size:13px}
.opt.sel{border-color:var(--gold);background:rgba(217,180,74,.14)}.opt.sel .ol{background:var(--gold);color:#111113;border-color:var(--gold)}
.opt.ok{border-color:var(--ok);background:rgba(92,201,167,.14)}.opt.ok .ol{background:var(--ok);color:#111113;border-color:var(--ok)}
.opt.bad{border-color:var(--bad);background:rgba(242,144,144,.14)}.opt.bad .ol{background:var(--bad);color:#111113;border-color:var(--bad)}
.opt.dim{opacity:.55}
.result{text-align:center}
.result .ringbox{width:230px;height:230px;margin:0 auto}
.result .ringbox .mid b{font-size:62px}
.result h1{font-size:clamp(40px,6vw,58px);line-height:1.06;margin:12px 0 14px}
.rvdots{display:flex;gap:10px;justify-content:center;margin:26px 0;flex-wrap:wrap}
.rvd{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;font-weight:800;font-size:14px;color:#111113}
.rvd.ok{background:var(--ok)}.rvd.bad{background:var(--bad)}
.revlist{text-align:left;margin-top:34px;display:flex;flex-direction:column;gap:12px}
.revitem{padding:18px 20px;border-radius:16px;background:var(--row);border:1px solid rgba(255,255,255,.08)}
.revitem.ok{border-color:rgba(92,201,167,.5)}.revitem.bad{border-color:rgba(242,144,144,.5)}
.revitem b{display:block;margin-bottom:6px}
.confetti i{position:absolute;display:block;border-radius:3px;animation:fall 3.2s ease-in forwards}
@keyframes fall{from{transform:translateY(-30px) rotate(0);opacity:1}to{transform:translateY(520px) rotate(420deg);opacity:0}}
.pal{display:flex;flex-wrap:wrap;gap:6px;margin-top:20px}
.pal button{width:34px;height:34px;border-radius:8px;border:1px solid rgba(255,255,255,.2);font-size:12px;font-weight:700;text-align:center;background:var(--row)}
.pal button.ans{background:rgba(217,180,74,.25);border-color:var(--gold)}
.pal button.cur{outline:2px solid #fff}
.pal button.flag{box-shadow:inset 0 -4px 0 var(--warn)}

/* ---------- glossary / review ---------- */
.search{width:100%;max-width:520px;min-height:50px;padding:0 20px;border-radius:999px;border:1px solid var(--gold-line);background:var(--row);color:var(--ink);font:inherit;font-size:16px}
.gl{display:flex;flex-direction:column}
.gl .g{padding:16px 4px;border-bottom:1px solid rgba(255,255,255,.08);display:flex;flex-wrap:wrap;gap:6px 24px}
.gl .g b{flex:0 0 260px;font-family:var(--serif);font-weight:500;font-size:19px;color:var(--gold)}
.gl .g span{flex:1 1 320px}
.tabs{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0 26px}
.tabs button{padding:9px 18px;border-radius:999px;border:1px solid rgba(255,255,255,.2);font-weight:700;font-size:14px;color:var(--mut)}
.tabs button.on{background:var(--gold);color:#111113;border-color:var(--gold)}
.chk{display:flex;gap:14px;align-items:flex-start;padding:14px 4px;border-bottom:1px solid rgba(255,255,255,.08);cursor:pointer}
.chk .bx{width:24px;height:24px;border-radius:7px;border:2px solid var(--gold-line);flex:none;display:flex;align-items:center;justify-content:center;margin-top:2px}
.chk.on .bx{background:var(--ok);border-color:var(--ok);color:#111113}
.chk .bx .ic{width:14px;height:14px;stroke-width:3.5;opacity:0}.chk.on .bx .ic{opacity:1}
.scn{padding:30px}
.scn h3{font-size:28px;margin:8px 0 12px}

/* ---------- login / splash / modal ---------- */
.login{min-height:100vh;display:flex;flex-wrap:wrap;background:var(--bg-deep)}
.login .l{flex:1 1 520px;padding:64px;display:flex;flex-direction:column;justify-content:space-between;background:radial-gradient(circle at 20% 15%,rgba(217,180,74,.13),transparent 52%),var(--bg);border-right:1px solid var(--gold-soft);min-height:420px}
.login .l h1{font-size:clamp(40px,5.2vw,68px);line-height:1.04;margin:20px 0}
.login .l h1 em{color:var(--gold);font-style:normal}
.login .r{flex:1 1 440px;display:flex;align-items:center;justify-content:center;padding:44px 28px}
.login form{width:100%;max-width:400px}
.fld{display:block;margin-bottom:18px}
.fld span{display:block;font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--mut);margin-bottom:8px}
.fld input,.fld select{width:100%;min-height:52px;padding:0 18px;border-radius:14px;border:1px solid var(--gold-line);background:var(--row);color:var(--ink);font:inherit;font-size:16px}
.err{color:var(--bad);font-size:14px;font-weight:600;margin:0 0 14px;min-height:20px}
.seal{width:110px;height:110px;color:var(--gold)}
.seal path{stroke-dasharray:200;stroke-dashoffset:200;animation:draw 2s .2s forwards}
@keyframes draw{to{stroke-dashoffset:0}}
.splash{position:fixed;inset:0;z-index:100;background:var(--bg-deep);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;animation:fadeout .6s 1.9s forwards}
.splash h1{font-size:clamp(34px,6vw,60px);margin-top:20px;opacity:0;animation:fadein .8s .5s forwards}
.splash p{opacity:0;animation:fadein .8s .9s forwards;color:var(--mut)}
@keyframes fadein{to{opacity:1}}@keyframes fadeout{to{opacity:0;visibility:hidden}}
.modalbg{position:fixed;inset:0;background:rgba(3,9,24,.78);z-index:80;display:flex;align-items:center;justify-content:center;padding:20px;overflow:auto}
.modal{background:var(--panel);border:1px solid var(--gold-line);border-radius:24px;padding:34px;max-width:480px;width:100%;box-shadow:0 30px 80px rgba(0,0,0,.5)}
.modal h2{font-size:30px;margin:6px 0 10px}
.toast{position:fixed;left:50%;bottom:28px;transform:translateX(-50%);background:var(--panel2);border:1px solid var(--gold-line);padding:12px 22px;border-radius:999px;font-weight:700;z-index:90;box-shadow:0 14px 40px rgba(0,0,0,.4)}
.boot{min-height:100vh;display:flex;align-items:center;justify-content:center;color:var(--mut)}
.fade{animation:rise .45s both}
@keyframes rise{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}

/* ---------- admin ---------- */
.atable{width:100%;border-collapse:collapse;font-size:14.5px}
.atable th{text-align:left;font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);padding:12px 14px;white-space:nowrap}
.atable td{padding:14px;border-top:1px solid rgba(255,255,255,.08);vertical-align:middle}
.atable tr.clk{cursor:pointer}.atable tr.clk:hover td{background:rgba(255,255,255,.04)}
.badge{display:inline-flex;align-items:center;gap:6px;padding:3px 11px;border-radius:999px;font-size:12px;font-weight:700;border:1px solid}
.badge.ok{color:var(--ok);border-color:var(--ok)}.badge.warn{color:var(--warn);border-color:var(--warn)}.badge.bad{color:var(--bad);border-color:var(--bad)}.badge.dim{color:var(--mut);border-color:rgba(255,255,255,.25)}
.drawerbg{position:fixed;inset:0;background:rgba(3,9,24,.6);z-index:70;display:flex;justify-content:flex-end}
.drawer{width:min(620px,100%);height:100%;overflow:auto;background:var(--bg);border-left:1px solid var(--gold-line);padding:30px}
.kv{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin:18px 0}
.kv div{padding:14px 16px;border-radius:14px;background:var(--row);border:1px solid rgba(255,255,255,.08)}
.kv small{display:block;color:var(--mut);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.kv b{font-family:var(--serif);font-weight:500;font-size:22px}
.cred{font-family:ui-monospace,Menlo,Consolas,monospace;background:var(--row);border:1px dashed var(--gold);border-radius:12px;padding:14px 16px;font-size:15px;line-height:1.8;word-break:break-all}

@media (max-width:760px){
  .wrap{padding:28px 18px 90px}.narrow{padding:28px 16px 90px}.top-in{padding:10px 16px}
  .rail{position:static;flex:1 1 100%;max-height:none}
  .login .l{padding:36px 24px}.qcard{padding:22px}.act{padding:20px}
  .menu{right:12px}
}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.splash{display:none}.seal path{stroke-dashoffset:0}}
@media print{.top,.rail,.pager,.btn{display:none!important}body{background:#fff;color:#000}}

/* ---------- v2: graphite + ivory, stronger separation ---------- */
body{background:radial-gradient(1200px 520px at 80% -120px,rgba(255,255,255,.05),transparent 70%),var(--bg)}
.panel{background:linear-gradient(180deg,#272A2F,#202226);border:1px solid rgba(255,255,255,.07);box-shadow:0 1px 0 rgba(255,255,255,.04) inset,0 18px 40px rgba(0,0,0,.35)}
/* data tables: ivory "paper" cards */
.tw{background:#ECEAE5;border:0;border-radius:14px;box-shadow:0 18px 44px rgba(0,0,0,.45),0 0 0 1px rgba(217,180,74,.35)}
.tw th{background:#23252A;color:var(--gold);border-bottom:3px solid var(--gold)}
.tw td{color:#26282C;border-top:1px solid rgba(17,17,19,.12)}
.tw tr:nth-child(even) td{background:rgba(17,17,19,.05)}
.tw td:first-child{color:#111113;font-weight:800}
.tw td strong,.tw td b{color:#111113}.tw td a{color:#8A6A12}
/* callouts: accent-bar notes, no outline boxes */
.callout{border:0;border-left:5px solid var(--gold);border-radius:4px 16px 16px 4px;background:linear-gradient(90deg,rgba(217,180,74,.10),rgba(217,180,74,.02) 70%),#1F2125;box-shadow:0 10px 26px rgba(0,0,0,.28);padding:20px 26px 20px 28px}
.callout.key{border-left-color:var(--ok);background:linear-gradient(90deg,rgba(92,201,167,.11),rgba(92,201,167,.02) 70%),#1F2125}
.callout.important,.callout.trap{border-left-color:var(--bad);background:linear-gradient(90deg,rgba(242,144,144,.11),rgba(242,144,144,.02) 70%),#1F2125}
.callout.check{border-left-color:var(--violet);background:linear-gradient(90deg,rgba(189,174,230,.11),rgba(189,174,230,.02) 70%),#1F2125}
.callout.example{border-left-color:var(--sky);background:linear-gradient(90deg,rgba(221,168,119,.12),rgba(221,168,119,.02) 70%),#1F2125}
/* summary + exam-weighting notes: ivory-edged serif card, clearly different from the rest */
.callout.summary,.callout.note{border:1px solid rgba(217,180,74,.35);border-top:3px solid var(--gold);border-radius:14px;background:#24272C;box-shadow:0 12px 30px rgba(0,0,0,.3)}
.callout.summary .ct,.callout.note .ct{color:var(--gold);font-family:var(--serif);font-size:15px;letter-spacing:.12em;font-weight:600}
.callout.note .cb li::marker,.callout.summary .cb li::marker{color:var(--gold)}
.callout .cb li{margin-bottom:6px}
.top{border-bottom:1px solid rgba(255,255,255,.08)}
.menu,.modal{background:#23252A}
.opt{background:#23252A}
.atable th{color:var(--gold)}

/* ---------- v3: black + graphite grays, one metallic accent per section ---------- */
body[data-sec="o"]{--acc:#C9CDD3}      /* orientation: platinum */
body[data-sec="1"]{--acc:#D9B44A}      /* section 1.0: gold */
body[data-sec="2"]{--acc:#D58E62}      /* section 2.0: copper */
body[data-sec="f"]{--acc:#F2EBDB}      /* final: pearl */
.top{border-bottom:2px solid var(--acc)}
.lesson .eyebrow,.narrow>.eyebrow,.act .eyebrow{color:var(--acc)}
.tw th{color:var(--acc);border-bottom-color:var(--acc)}
.tw{box-shadow:0 18px 44px rgba(0,0,0,.5),0 0 0 1px color-mix(in srgb,var(--acc) 40%,transparent)}
.callout.tip,.callout.summary,.callout.note{--c:var(--acc)}
.callout.tip{border-left-color:var(--acc);background:linear-gradient(90deg,color-mix(in srgb,var(--acc) 13%,transparent),transparent 70%),#1F2125}
.callout.tip .ct{color:var(--acc)}
.callout.summary,.callout.note{border-color:color-mix(in srgb,var(--acc) 40%,transparent);border-top-color:var(--acc)}
.callout.summary .ct,.callout.note .ct{color:var(--acc)}
.callout.note .cb li::marker,.callout.summary .cb li::marker{color:var(--acc)}
.panel .eyebrow{color:inherit}
/* dashboard section groups */
.grp{--g:#D9B44A;margin:0 0 26px;padding:6px 22px 14px;border-radius:22px;border:1px solid rgba(255,255,255,.07);border-top:3px solid var(--g);box-shadow:0 18px 40px rgba(0,0,0,.35);background:linear-gradient(180deg,color-mix(in srgb,var(--g) 9%,#1D1F23),#1A1B1F 220px)}
.grp.g-o{--g:#C9CDD3}.grp.g-1{--g:#D9B44A}.grp.g-2{--g:#D58E62}.grp.g-f{--g:#F2EBDB}
.grp .sechead{padding:22px 2px 14px}
.grp .sechead .eyebrow{color:var(--g)}
.grp .row{background:rgba(0,0,0,.28);border-color:rgba(255,255,255,.06)}
.grp .row.clickable:hover,.grp .row.cur{border-color:var(--g)}
.grp .row.cur{background:color-mix(in srgb,var(--g) 10%,#202226)}
.grp .row .rn{color:var(--g)}.grp .row.cur .st{color:var(--g)}.grp .minibar i{background:var(--g)}
.grp .row.lock .rn{color:var(--dim)}
.eyebrow{color:var(--acc)}
.chnum,.chead h1 .n,.chead h1 span{color:var(--acc)}
.step.cur .ic,.stepnav .cur,.steps .cur{border-color:var(--acc);color:var(--acc)}
/* v4: larger header */
.top-in{padding:18px 28px}
.brand{gap:16px}
.brand .ic{width:54px;height:54px}
.brand b{font-size:32px;font-weight:600;letter-spacing:.01em;line-height:1.1}
.brand small{font-size:13px;letter-spacing:.17em;margin-top:5px;display:block}
.top .chip{font-size:15px;padding:9px 18px}
.avatar{width:46px;height:46px;font-size:16px}
.menu{top:92px}
.login .brand b{font-size:30px}
@media (max-width:760px){.top-in{padding:12px 16px}.brand .ic{width:40px;height:40px}.brand b{font-size:21px}.brand small{font-size:10.5px;letter-spacing:.12em}.top .chip{font-size:13px;padding:6px 12px}.avatar{width:40px;height:40px}.menu{top:70px}}
/* v5: prominent Dashboard button, chapter-topic panels & separators, dark tables */
.back{display:inline-flex;align-items:center;gap:10px;padding:11px 22px 11px 16px;border-radius:999px;font-weight:800;font-size:15px;letter-spacing:.02em;color:var(--ink);text-decoration:none;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.22);transition:transform .15s,background .15s,box-shadow .15s}
.back .ic{transform:rotate(180deg);width:20px;height:20px}
.back:hover{transform:translateX(-3px);background:rgba(255,255,255,.1)}
.back[href="#/"]{background:linear-gradient(180deg,#E6C25C,#C9A23C);color:#111113;border-color:#F0D27A;font-size:16px;padding:13px 26px 13px 18px;box-shadow:0 8px 22px rgba(217,180,74,.28),0 0 0 4px rgba(217,180,74,.10)}
.back[href="#/"]:hover{background:linear-gradient(180deg,#F0CE68,#D4AC44);box-shadow:0 10px 28px rgba(217,180,74,.4),0 0 0 5px rgba(217,180,74,.14)}
/* data tables: dark slate cards (no white) */
.tw{background:#262930;border:0;box-shadow:0 16px 40px rgba(0,0,0,.45),0 0 0 1px color-mix(in srgb,var(--acc) 38%,transparent)}
.tw th{background:#14151A;color:var(--acc);border-bottom:3px solid var(--acc)}
.tw td{color:#E4E2DC;border-top:1px solid rgba(255,255,255,.08)}
.tw tr:nth-child(even) td{background:rgba(255,255,255,.04)}
.tw td:first-child{color:#fff}
.tw td strong,.tw td b{color:#fff}.tw td a{color:var(--acc)}
/* chapter rail: each topic is its own card */
.rail{flex:0 0 270px}
.rs{padding:13px 14px;margin-bottom:9px;border-radius:14px;background:linear-gradient(180deg,#25282D,#1E2024);border:1px solid rgba(255,255,255,.07);border-left:4px solid rgba(255,255,255,.14);box-shadow:0 6px 16px rgba(0,0,0,.28)}
.rs.done{border-left-color:var(--ok)}
.rs.cur{border-left-color:var(--acc);background:linear-gradient(90deg,color-mix(in srgb,var(--acc) 16%,#25282D),#1E2024);border-color:color-mix(in srgb,var(--acc) 45%,transparent)}
.rs:not(.lock):hover{background:linear-gradient(180deg,#2C3036,#23262B)}
/* lesson content sits on its own panel */
.lesson .content{padding:38px 42px 34px;border-radius:22px;background:linear-gradient(180deg,#22252A,#1B1D21 320px);border:1px solid rgba(255,255,255,.07);border-top:3px solid var(--acc);box-shadow:0 20px 48px rgba(0,0,0,.4)}
.lesson .partttl{padding-bottom:18px;margin-bottom:26px;border-bottom:0;background:linear-gradient(90deg,transparent,var(--acc) 12%,rgba(255,255,255,.12) 50%,transparent) bottom/100% 1px no-repeat}
/* topic headings inside a lesson: ornament divider + banded background */
.prose h3{position:relative;margin:50px 0 18px;padding:14px 20px 14px 22px;border-radius:0 14px 14px 0;border-left:4px solid var(--acc);background:linear-gradient(90deg,color-mix(in srgb,var(--acc) 15%,transparent),rgba(255,255,255,.02) 75%)}
.prose h3::before{content:"";position:absolute;left:-4px;right:0;top:-27px;height:9px;background:linear-gradient(90deg,var(--acc),rgba(255,255,255,.14) 45%,transparent) center/100% 1px no-repeat}
.prose h3::after{content:"";position:absolute;left:22px;top:-31px;width:9px;height:9px;transform:rotate(45deg);background:var(--acc);box-shadow:0 0 0 5px #1E2024}
.prose>h3:first-child{margin-top:8px}.prose>h3:first-child::before,.prose>h3:first-child::after{display:none}
@media (max-width:760px){.lesson .content{padding:24px 18px}.rail{flex-basis:100%}.back[href="#/"]{font-size:15px}}
.chead .back{margin-bottom:20px}.chead>.eyebrow{margin-top:6px!important}
/* footer (shared with the Study Lab page) */
.ftr{margin-top:60px;border-top:1px solid rgba(255,255,255,.08);background:var(--bg-deep);padding:26px 28px;text-align:center;color:var(--dim);font-size:13.5px}
.ftr b{color:var(--mut);font-family:var(--serif);font-weight:500;font-size:17px;display:block;margin-bottom:6px}
/* v6: chapters as premium tiles; only the open chapter expands */
.cgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;padding-bottom:6px;align-items:start}
.ctile{border-radius:18px;background:linear-gradient(180deg,#25282D,#1C1E22);border:1px solid rgba(255,255,255,.08);border-top:3px solid color-mix(in srgb,var(--g) 55%,transparent);box-shadow:0 10px 24px rgba(0,0,0,.32);overflow:hidden;transition:border-color .2s,box-shadow .2s}
.ctile.open{grid-column:1/-1;border-color:color-mix(in srgb,var(--g) 55%,transparent);border-top-color:var(--g);box-shadow:0 16px 38px rgba(0,0,0,.45)}
.ctile.done{border-top-color:var(--ok)}
.ctile.lock{opacity:.82}.ctile.lock .chd .ct2 b{color:var(--mut)}
.chd{display:flex;align-items:center;gap:16px;width:100%;padding:20px 20px;text-align:left}
.chd:hover{background:rgba(255,255,255,.03)}
.cn{font:500 40px/1 var(--serif);color:var(--g);width:52px;flex:none;text-align:center}
.ctile.lock .cn{color:var(--dim)}
.ct2{flex:1;min-width:0}.ct2 b{display:block;font:600 19px/1.25 var(--serif);color:var(--ink)}
.ct2 small{display:block;margin-top:6px;font-size:13.5px;color:var(--mut)}
.cst{display:flex;gap:6px;align-items:center;font-size:12.5px;font-weight:800;letter-spacing:.05em;color:var(--dim);white-space:nowrap}
.ctile.done .cst{color:var(--ok)}.ctile.open .cst{color:var(--g)}
.cst .ic{width:16px;height:16px}
.chev{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:rgba(255,255,255,.06);flex:none;transition:transform .25s}
.chev .ic{width:16px;height:16px;transform:rotate(90deg)}
.ctile.open .chev{transform:rotate(180deg);background:color-mix(in srgb,var(--g) 25%,transparent)}
.cbody{display:none;padding:4px 22px 24px;border-top:1px solid rgba(255,255,255,.07);background:rgba(0,0,0,.18)}
.ctile.open .cbody{display:block;animation:vin .35s both}
.cbody .eyebrow{padding-top:16px;color:var(--g)}
.tp{display:flex;gap:14px;align-items:center;padding:12px 14px;margin-bottom:8px;border-radius:12px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.06);text-decoration:none;color:var(--ink);font-weight:600;font-size:15px}
a.tp:hover{border-color:var(--g);background:rgba(255,255,255,.06)}
.tp.lk{opacity:.6;cursor:not-allowed}
.tpi{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;flex:none;border:1px solid rgba(255,255,255,.25)}
.tp.done .tpi{background:var(--ok);border-color:var(--ok);color:#111113}.tp.next .tpi{border-color:var(--g);color:var(--g)}
.tpt small{display:block;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--dim);font-weight:700;margin-bottom:1px}

@media(max-width:900px){.cgrid{grid-template-columns:1fr}.chd{padding:16px}.cst{display:none}.cn{font-size:32px;width:40px}}
@keyframes vin{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
/* v6b: premium card layout for chapter tiles */
.cgrid{align-items:stretch;gap:16px}
.ctile{position:relative;display:flex;flex-direction:column;border-top-width:1px;border-radius:20px;background:linear-gradient(90deg,transparent 25%,color-mix(in srgb,var(--g) 7%,transparent) 40%,color-mix(in srgb,var(--g) 24%,transparent) 100%),linear-gradient(180deg,#272A2F,#1B1D21);transition:transform .2s,box-shadow .2s,border-color .2s}
.ctile::before{content:"";position:absolute;left:20px;right:20px;top:0;height:3px;border-radius:0 0 4px 4px;background:linear-gradient(90deg,var(--g),transparent)}
.ctile.done::before{background:linear-gradient(90deg,var(--ok),transparent)}
.ctile.lock::before{background:linear-gradient(90deg,rgba(255,255,255,.25),transparent)}
.ctile:not(.open):hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--g) 55%,transparent);box-shadow:0 18px 36px rgba(0,0,0,.5)}
.chd{display:flex;flex-direction:column;align-items:stretch;gap:12px;padding:22px 22px 24px;min-height:178px;position:relative}
.ctile.open .chd{min-height:0;padding-bottom:20px}
.ctop{display:flex;align-items:center;justify-content:space-between}
.cn{font:500 46px/1 var(--serif);width:auto;text-align:left;background:linear-gradient(180deg,#fff0c0,var(--g));-webkit-background-clip:text;background-clip:text;color:transparent;letter-spacing:-.02em}
.ctile.lock .cn{background:none;color:rgba(255,255,255,.28)}
.ctile.done .cn{background:linear-gradient(180deg,#d6fff0,var(--ok));-webkit-background-clip:text;background-clip:text}
.cst{padding:5px 12px;border-radius:999px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);font-size:11.5px;letter-spacing:.08em;text-transform:uppercase}
.ctile.done .cst{background:rgba(92,201,167,.12);border-color:rgba(92,201,167,.4)}
.ctile.open .cst{background:color-mix(in srgb,var(--g) 14%,transparent);border-color:color-mix(in srgb,var(--g) 45%,transparent)}
.ct2 b{font-size:20px;padding-right:34px}
.ct2 small{margin-top:8px}
.chev{position:absolute;right:18px;bottom:20px;width:34px;height:34px;border:1px solid rgba(255,255,255,.14)}
.ctile.open .chev{bottom:auto;top:auto;right:22px;bottom:22px}
@media(max-width:900px){.cst{display:inline-flex}.chd{min-height:0}.cn{font-size:38px;width:auto}}
/* v7: premium hover + entrance animation for every box */
:root{--glow:0 24px 48px rgba(0,0,0,.55),0 0 0 1px rgba(217,180,74,.45),0 0 36px rgba(217,180,74,.14)}
.ctile,.stat,.tool,.row,.tp,.rs,.callout,.tw,.opt,.panel.act,.btn,.chev,.fc .f,.fc .b{transition:transform .28s cubic-bezier(.2,.7,.2,1),box-shadow .28s,border-color .28s,background .28s,filter .28s}
/* lift + gold glow */
.ctile:not(.open):hover,.stat:hover,.tool:hover,.row.clickable:hover{transform:translateY(-5px);box-shadow:var(--glow);border-color:rgba(217,180,74,.55)}
.ctile.lock:not(.open):hover{box-shadow:0 18px 36px rgba(0,0,0,.5),0 0 0 1px rgba(255,255,255,.18)}
.row.clickable:hover{transform:translateY(-3px)}
.callout:hover,.tw:hover{transform:translateY(-3px);box-shadow:0 22px 44px rgba(0,0,0,.5),0 0 28px color-mix(in srgb,var(--acc) 16%,transparent)}
a.tp:hover{transform:translateX(6px);box-shadow:0 10px 22px rgba(0,0,0,.35)}
.rs:not(.lock):hover{transform:translateX(5px);box-shadow:0 10px 24px rgba(0,0,0,.4)}
.opt:not(:disabled):hover{transform:translateX(6px);border-color:var(--gold);box-shadow:0 10px 24px rgba(0,0,0,.35),0 0 0 3px rgba(217,180,74,.14)}
.panel.act:hover{box-shadow:0 22px 48px rgba(0,0,0,.5),0 0 0 1px rgba(217,180,74,.3)}
.ctile:hover .chev{border-color:var(--gold);background:rgba(217,180,74,.16)}
.ctile:not(.open):hover .chev{transform:translateY(3px)}
.btn.gold:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(217,180,74,.42),0 0 0 4px rgba(217,180,74,.16)}
.btn.line:hover{transform:translateY(-2px);border-color:var(--gold);box-shadow:0 10px 22px rgba(0,0,0,.4)}
/* light sweep across the card */
.stat,.tool,.row{position:relative;overflow:hidden}
.ctile::after,.stat::after,.tool::after,.row::after,.btn.gold::after{content:"";position:absolute;top:0;bottom:0;left:-60%;width:40%;pointer-events:none;background:linear-gradient(105deg,transparent,rgba(255,255,255,.13),transparent);transform:skewX(-18deg);transition:none;opacity:0}
.ctile:hover::after,.stat:hover::after,.tool:hover::after,.row.clickable:hover::after,.btn.gold:hover::after{animation:sweep .9s ease-out}
.btn.gold{position:relative;overflow:hidden}
@keyframes sweep{0%{left:-60%;opacity:1}100%{left:130%;opacity:1}}
/* entrance */
@keyframes rise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
.ctile,.stats .stat,.side .tool,.grp,.hero>*,.callout,.tw,.rs{animation:rise .6s cubic-bezier(.2,.7,.2,1) both}
.cgrid>.ctile:nth-child(1){animation-delay:.05s}.cgrid>.ctile:nth-child(2){animation-delay:.12s}.cgrid>.ctile:nth-child(3){animation-delay:.19s}.cgrid>.ctile:nth-child(4){animation-delay:.26s}.cgrid>.ctile:nth-child(n+5){animation-delay:.32s}
.stats>.stat:nth-child(2){animation-delay:.1s}.stats>.stat:nth-child(3){animation-delay:.2s}.stats>.stat:nth-child(4){animation-delay:.3s}
.side .tool:nth-child(2){animation-delay:.1s}.side .tool:nth-child(3){animation-delay:.2s}
.rs:nth-child(2){animation-delay:.05s}.rs:nth-child(3){animation-delay:.1s}.rs:nth-child(4){animation-delay:.15s}.rs:nth-child(n+5){animation-delay:.2s}
/* completed chapters get a soft pulse on the badge */
.ctile.done .cst{animation:glowok 3.2s ease-in-out infinite}
@keyframes glowok{0%,100%{box-shadow:0 0 0 rgba(92,201,167,0)}50%{box-shadow:0 0 14px rgba(92,201,167,.35)}}
.ctile.open .cst{animation:glowg 2.6s ease-in-out infinite}
@keyframes glowg{0%,100%{box-shadow:0 0 0 rgba(217,180,74,0)}50%{box-shadow:0 0 16px rgba(217,180,74,.4)}}
@media(hover:none){.ctile:not(.open):hover,.stat:hover,.tool:hover,.row.clickable:hover,.callout:hover,.tw:hover{transform:none}}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
/* always-visible Dashboard button in the header */
.on-dash .hdash{display:none}
.top .hdash{padding:10px 22px 10px 15px;font-size:15px;margin-right:4px}
@media(max-width:760px){.top .hdash{padding:8px 14px 8px 10px;font-size:13px}}

/* dark scrollbars */
html{color-scheme:dark;scrollbar-color:#4A4D55 #17181B;scrollbar-width:thin}
*{scrollbar-color:#4A4D55 #17181B}
::-webkit-scrollbar{width:11px;height:11px}
::-webkit-scrollbar-track{background:#17181B}
::-webkit-scrollbar-thumb{background:#4A4D55;border-radius:8px;border:2px solid #17181B}
::-webkit-scrollbar-thumb:hover{background:#D9B44A}
::-webkit-scrollbar-corner{background:#17181B}

/* lab page: tight spacing above the footer */
body.on-lab .wrap{padding-bottom:20px}
body.on-lab .ftr{margin-top:20px}

/* chapter heading: "Chapter N" line, then title */
.chead h1 .chn{display:block;margin:0 0 12px;font:800 clamp(13px,1.3vw,16px)/1 Manrope,system-ui,sans-serif;letter-spacing:.26em;text-transform:uppercase;color:var(--acc)}
.chead h1 .cht{display:block;margin:0;color:var(--tx,#F2F0EA)}
/* step list: more room and a premium divider between steps */
.rail{display:flex;flex-direction:column}
.rail .rs{margin:0}
.rdiv{position:relative;flex:none;height:30px;display:flex;align-items:center;justify-content:center}
.rdiv::before{content:"";position:absolute;left:8%;right:8%;top:50%;height:1px;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--acc) 62%,transparent) 22%,color-mix(in srgb,var(--acc) 62%,transparent) 78%,transparent)}
.rdiv::after{content:"";position:relative;width:7px;height:7px;transform:rotate(45deg);background:var(--bg);border:1px solid var(--acc);box-shadow:0 0 10px color-mix(in srgb,var(--acc) 45%,transparent)}

/* premium chapter-head distinction: quiet section line, bold gold chapter line with rule */
.chead>.eyebrow{display:flex;align-items:center;gap:10px;color:var(--mut,#9b9a94)!important;font-weight:600;font-size:12.9px;letter-spacing:.2em}
.chead>.eyebrow::before{content:"";width:6px;height:6px;transform:rotate(45deg);border:1px solid var(--acc);flex:none}
.chead h1 .chn{display:flex;align-items:center;gap:16px;margin:14px 0 14px;font-weight:800;font-size:clamp(16.3px,1.7vw,21.3px);letter-spacing:.34em;color:var(--acc);text-shadow:0 0 18px color-mix(in srgb,var(--acc) 35%,transparent)}
.chead h1 .chn::after{content:"";height:1px;width:clamp(80px,18vw,220px);background:linear-gradient(90deg,var(--acc),color-mix(in srgb,var(--acc) 0%,transparent))}

/* numbered sub-sections inside an Overview (e.g. 5.1, 5.2) */
.prose h3.secsub{margin:34px 0 12px;padding-top:22px;border-top:1px solid color-mix(in srgb,var(--acc) 40%,transparent);color:var(--acc);font-size:clamp(19px,2vw,23px)}

.examfacts{display:flex;flex-wrap:wrap;gap:12px;margin:14px 0 8px}
.examfacts span{padding:10px 18px;border:1px solid color-mix(in srgb,var(--acc) 45%,transparent);border-radius:999px;color:var(--mut);font-size:15px}
.examfacts b{color:var(--acc);font-weight:800;margin-right:2px}
.qtop .eyebrow{font-size:14.7px;letter-spacing:.18em}
.callout .fold{flex:none;white-space:nowrap;min-height:30px}
.pal button{width:40px;height:40px}
@media(pointer:coarse){.pal button{width:44px;height:44px}.callout .fold{min-height:36px;padding:6px 14px}}
@media(max-width:640px){.tw table{min-width:440px}.tw td:first-child{min-width:120px}}
.eyebrow.heroeb{font-size:16px;letter-spacing:.18em}

@media(max-width:760px){.rail{max-height:210px;overflow-y:auto;position:relative;top:auto;-webkit-overflow-scrolling:touch;border:1px solid rgba(128,128,128,.25);border-radius:12px;padding:6px}.rail .rs{min-height:40px}}

@media(max-width:400px){.match>div{flex:1 1 100%;min-width:0}.mt{min-width:0;overflow-wrap:anywhere}}

@media(max-width:400px){h1,h2{overflow-wrap:anywhere}.cards{grid-template-columns:minmax(0,1fr)}.fc{min-width:0;max-width:100%}}

/* Premium exam intro */
.xringbox{display:flex;gap:34px;align-items:center;margin:24px 0 0;padding:26px 30px;border-radius:20px;background:rgba(255,255,255,.02);border:1px solid var(--gold-soft)}
.xring{flex:none;width:230px;height:230px}.xring svg{width:100%;height:100%;display:block}
.xring .rn{font-family:'Fraunces',Georgia,serif;font-size:52px;font-weight:600;fill:#F3F1EA}.xring .rl{font-size:11px;letter-spacing:2.4px;fill:#9a9aa2;font-weight:700}
.xleg{flex:1;display:grid;gap:3px;min-width:0}
.xleg>div{display:grid;grid-template-columns:14px 44px 1fr;gap:12px;align-items:center;padding:9px 0;border-bottom:1px solid rgba(255,255,255,.06)}
.xleg>div:last-child{border-bottom:0}.xleg i{width:12px;height:12px;border-radius:4px}
.xleg b{font-family:'Fraunces',Georgia,serif;font-size:24px;font-weight:600;color:#F3F1EA}.xleg span{font-size:15.5px;font-weight:600;line-height:1.3}
.xframe{position:relative;margin:26px 0 0;padding:26px 30px;border-radius:16px;background:rgba(217,180,74,.05)}
.xframe:before,.xframe:after{content:"";position:absolute;width:26px;height:26px;border:2px solid var(--gold)}
.xframe:before{left:-1px;top:-1px;border-right:0;border-bottom:0;border-radius:16px 0 0 0}
.xframe:after{right:-1px;bottom:-1px;border-left:0;border-top:0;border-radius:0 0 16px 0}
.xframe h4{margin:0 0 8px;font-size:12.5px;letter-spacing:.18em;color:var(--gold);text-transform:uppercase}
.xframe .prose p{margin:0 0 8px;line-height:1.7;font-size:16px}.xframe .prose p:last-child{margin-bottom:0}
.xstats{display:flex;margin:26px 0 8px;border:1px solid var(--gold-soft);border-radius:18px;overflow:hidden;background:rgba(255,255,255,.015)}
.xstats>div{flex:1;padding:18px 22px;border-right:1px solid var(--gold-soft)}.xstats>div:last-child{border-right:0}
.xstats b{display:block;font-family:'Fraunces',Georgia,serif;font-size:34px;color:var(--gold);line-height:1.05;font-weight:600}
.xstats span{font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--dim);font-weight:600}
@media (max-width:720px){.xringbox{flex-direction:column;gap:18px;padding:22px 18px}.xring{width:200px;height:200px}.xleg{width:100%}.xstats>div{padding:14px 12px}.xstats b{font-size:24px}.xframe{padding:22px 20px}}

/* ---- Orientation pages: premium treatment (all courses) ---- */
.orient .ostats{margin:22px 0 30px}
.orient .prose>p:first-child{font-size:17.5px;line-height:1.78;max-width:none}
.orient .prose>p:first-child::first-letter{font-family:'Fraunces',Georgia,serif;font-size:3.4em;float:left;line-height:.82;padding:6px 8px 0 0;color:var(--gold);font-weight:600}
.orient .prose>p{max-width:none}
.orient .prose>ul{list-style:none;padding:0;margin:6px 0 26px;max-width:none;counter-reset:ol;display:grid;gap:12px}
.orient .prose>ul>li{counter-increment:ol;position:relative;margin:0;padding:16px 20px 16px 72px;border:1px solid var(--gold-soft);border-radius:14px;background:linear-gradient(90deg,rgba(217,180,74,.07),rgba(255,255,255,.015) 60%);line-height:1.65;font-size:16.5px}
.orient .prose>ul>li::before{content:counter(ol);position:absolute;left:18px;top:50%;transform:translateY(-50%);width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:'Fraunces',Georgia,serif;font-size:19px;font-weight:600;color:#1a1a1a;background:linear-gradient(145deg,#F0D27A,#C79B2E);box-shadow:0 0 0 4px rgba(217,180,74,.14)}
.orient .prose>ul+p{margin-top:8px;padding:18px 22px 18px 24px;border-left:3px solid var(--gold);border-radius:0 14px 14px 0;background:rgba(217,180,74,.07);font-family:'Fraunces',Georgia,serif;font-size:18px;font-style:italic;color:#F2EEE3}
@media (max-width:720px){.orient .prose>ul>li{padding:14px 14px 14px 58px;font-size:15.5px}.orient .prose>ul>li::before{left:12px;width:32px;height:32px;font-size:16px}}

/* ---- Premium tables (all courses) ---- */
.ptable{border-radius:18px;border:1px solid var(--gold-line);background:linear-gradient(180deg,#25272C,#1C1D21);box-shadow:0 10px 30px rgba(0,0,0,.28)}
.ptable table{font-size:15.5px}
.ptable th{background:linear-gradient(180deg,rgba(217,180,74,.20),rgba(217,180,74,.07));border-bottom:2px solid var(--gold);padding:15px 20px;font-size:11.5px;letter-spacing:.16em}
.ptable td{padding:16px 20px;border-top:1px solid rgba(255,255,255,.06);line-height:1.65;color:#E6E3DA}
.ptable tr:nth-child(even) td{background:rgba(255,255,255,.022)}
.ptable tbody tr{transition:background .15s}.ptable tbody tr:hover td{background:rgba(217,180,74,.06)}
.ptable td.key{position:relative;font-family:'Fraunces',Georgia,serif;font-size:16.5px;font-weight:600;color:#fff;padding-left:26px;box-shadow:inset 3px 0 0 rgba(217,180,74,.55)}
.ptable th.num,.ptable td.num{text-align:center;width:1%;white-space:nowrap}
.ptable td.num{font-family:'Fraunces',Georgia,serif;font-size:21px;font-weight:600;color:var(--gold)}
@media(max-width:640px){
 .ptable{background:none;border:0;box-shadow:none;overflow:visible}
 .ptable table,.ptable tbody,.ptable tr,.ptable td{display:block;min-width:0;width:100%}
 .ptable thead{display:none}
 .ptable tr{margin:0 0 14px;border:1px solid var(--gold-line);border-radius:16px;overflow:hidden;background:linear-gradient(180deg,#25272C,#1C1D21)}
 .ptable td{padding:11px 18px;border-top:1px solid rgba(255,255,255,.06);background:none!important}
 .ptable td::before{font-family:'Inter',system-ui,sans-serif;content:attr(data-label);display:block;font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);font-weight:700;margin-bottom:3px}
 .ptable td.key{border-top:0;background:linear-gradient(180deg,rgba(217,180,74,.18),rgba(217,180,74,.06))!important;box-shadow:none;padding:14px 18px;font-size:17.5px}
 .ptable td.key::before{display:none}
 .ptable td.num{text-align:left;font-size:19px}
}

/* ---- Rule-by-rule cards for long paragraphs (all courses) ---- */
.rcards{display:grid;gap:11px;margin:4px 0 26px;max-width:none}
.rc{position:relative;padding:15px 20px 15px 50px;border:1px solid var(--gold-soft);border-radius:14px;background:linear-gradient(90deg,rgba(217,180,74,.07),rgba(255,255,255,.015) 65%);font-size:16.8px;line-height:1.7;color:#E6E3DA}
.rc::before{content:"";position:absolute;left:21px;top:23px;width:9px;height:9px;transform:rotate(45deg);background:linear-gradient(145deg,#F0D27A,#C79B2E);box-shadow:0 0 0 4px rgba(217,180,74,.14)}
.rc .rl{color:#F4DD92;font-weight:700}
.rc strong{color:#fff}
@media(max-width:720px){.rc{padding:13px 14px 13px 40px;font-size:15.8px}.rc::before{left:16px;top:20px}}

/* ---- Glossary: A-Z index + two-column term cards (all courses) ---- */
.azbar{position:sticky;top:64px;z-index:20;display:flex;flex-wrap:wrap;gap:6px;margin:18px 0 6px;padding:10px 12px;border:1px solid var(--gold-line);border-radius:16px;background:rgba(18,19,22,.94);backdrop-filter:blur(10px)}
.azbar button{width:34px;height:34px;border-radius:10px;border:1px solid transparent;background:transparent;color:#6f727a;font:700 14px 'Inter',system-ui,sans-serif;cursor:default}
.azbar button.on{color:var(--gold);background:rgba(217,180,74,.10);border-color:var(--gold-soft);cursor:pointer}
.azbar button.on:hover{background:var(--gold);color:#17181B}
.glh{display:flex;align-items:baseline;gap:14px;margin:30px 0 12px;padding-bottom:8px;border-bottom:1px solid var(--gold-line);scroll-margin-top:140px}
.glh span{font-family:'Fraunces',Georgia,serif;font-size:42px;line-height:1;color:var(--gold);font-weight:600}
.glh i{font-style:normal;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--dim);font-weight:600}
.glg{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.gc{padding:16px 18px 18px;border:1px solid var(--gold-soft);border-radius:14px;background:linear-gradient(180deg,rgba(217,180,74,.07),rgba(255,255,255,.015) 70%);display:flex;flex-direction:column;gap:6px}
.gc b{font-family:'Fraunces',Georgia,serif;font-weight:600;font-size:18.5px;color:var(--gold);line-height:1.25}
.gc span{font-size:15.5px;line-height:1.62;color:#E6E3DA}
@media(max-width:760px){.glg{grid-template-columns:1fr}.azbar{top:56px;gap:3px;padding:8px}.azbar button{width:27px;height:30px;font-size:12.5px}.glh span{font-size:34px}}

/* ---- Exam Review Center: crosswalk cards, checklist, tabs (all courses) ---- */
.cwgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:8px 0 28px}
.cwgrid.compact{margin:12px 0 6px;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.cwcard{padding:18px 20px 20px;border:1px solid var(--gold-soft);border-radius:16px;background:linear-gradient(180deg,rgba(217,180,74,.08),rgba(255,255,255,.015) 75%);display:flex;flex-direction:column;gap:12px}
.cwtitle{display:flex;gap:12px;align-items:baseline}
.cwcode{flex:none;padding:3px 10px;border-radius:999px;font:700 12.5px 'Inter',system-ui,sans-serif;letter-spacing:.06em;color:#1a1a1a;background:linear-gradient(145deg,#F0D27A,#C79B2E)}
.cwtitle b{font-family:'Fraunces',Georgia,serif;font-size:19px;line-height:1.28;font-weight:600;color:#fff}
.cwchips{display:flex;flex-wrap:wrap;gap:8px}
.cwchip{display:inline-flex;flex-direction:column;gap:1px;padding:7px 12px;border-radius:12px;border:1px solid var(--gold-soft);background:rgba(0,0,0,.22)}
.cwchip i,.cwbody i{font-style:normal;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);font-weight:700}
.cwchip b{font-size:15px;color:#F4DD92;font-weight:600}
.cwbody{font-size:15.5px;line-height:1.62;color:#E6E3DA}.cwbody i{display:block;margin-bottom:4px}
.cwacc{display:grid;gap:12px;margin:8px 0 28px}
.cwsec{border:1px solid var(--gold-line);border-radius:18px;background:linear-gradient(180deg,#25272C,#1C1D21);overflow:hidden}
.cwsec summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:16px;padding:16px 20px}
.cwsec summary::-webkit-details-marker{display:none}
.cwsec summary::after{content:"+";margin-left:auto;font-size:24px;color:var(--gold);line-height:1}
.cwsec[open] summary::after{content:"–"}
.cwsec[open] summary{border-bottom:1px solid var(--gold-soft);background:rgba(217,180,74,.07)}
.cwn{font-family:'Fraunces',Georgia,serif;font-size:30px;font-weight:600;color:var(--gold);min-width:58px}
.cwsec summary b{font-family:'Fraunces',Georgia,serif;font-size:19px;font-weight:600;color:#fff}
.cwsec summary i{font-style:normal;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--dim);font-weight:600}
.cwsec .cwgrid{padding:0 16px 14px}
.mprog{display:flex;align-items:center;gap:20px;margin:20px 0 18px;padding:16px 22px;border:1px solid var(--gold-line);border-radius:16px;background:rgba(217,180,74,.07)}
.mnum{display:flex;align-items:baseline;gap:10px;white-space:nowrap}.mnum b{font-family:'Fraunces',Georgia,serif;font-size:38px;color:var(--gold);line-height:1;font-weight:600}.mnum span{font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--dim);font-weight:600}
.mbar{flex:1;height:10px;border-radius:99px;background:rgba(255,255,255,.08);overflow:hidden}.mbar>div{height:100%;border-radius:99px;background:linear-gradient(90deg,#C79B2E,#F0D27A);transition:width .3s}
.mpct{font-weight:700;color:var(--gold);min-width:44px;text-align:right}
.mgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:28px}
.chk.mcard{padding:16px 18px;border:1px solid var(--gold-soft);border-radius:14px;background:linear-gradient(180deg,rgba(217,180,74,.06),rgba(255,255,255,.015));align-items:flex-start;transition:border-color .15s,background .15s}
.chk.mcard:hover{border-color:var(--gold-line)}
.chk.mcard.on{border-color:rgba(98,201,160,.55);background:linear-gradient(180deg,rgba(98,201,160,.10),rgba(255,255,255,.015))}
.chk.mcard b{font-family:'Fraunces',Georgia,serif;font-size:17.5px;font-weight:600;color:var(--gold);display:block;margin-bottom:5px}
.chk.mcard.on b{color:#9be3c3}
.chk.mcard .mut{font-size:15px;line-height:1.6;color:#D9D6CC}
@media(max-width:760px){.cwgrid,.cwgrid.compact,.mgrid{grid-template-columns:1fr}.cwsec summary{padding:14px 14px;gap:10px}.cwn{font-size:24px;min-width:46px}.mprog{flex-wrap:wrap;gap:12px}.mbar{flex-basis:100%;order:3}}
.cwchip{max-width:100%}.cwgrid.compact .cwcard{gap:10px;padding:14px 16px 16px}.cwgrid.compact .cwchips{flex-direction:column;gap:6px}.cwgrid.compact .cwchip{flex-direction:row;gap:10px;align-items:baseline;border:0;background:none;padding:0}.cwgrid.compact .cwchip i{min-width:128px;font-size:9.5px}
.cwgrid.compact .cwchip{align-items:flex-start}.cwgrid.compact .cwchip i{flex:0 0 150px;line-height:1.5;padding-top:3px}.cwgrid.compact .cwchip b{font-size:15px;color:#F4DD92;line-height:1.45}@media(max-width:760px){.cwgrid.compact .cwchip{flex-direction:column;gap:2px}.cwgrid.compact .cwchip i{flex:none}}

/* ---- Required-knowledge style lists ---- */
.rkhead{display:flex;align-items:baseline;gap:14px;margin:30px 0 14px;padding:14px 20px;border-left:4px solid var(--acc);border-radius:0 14px 14px 0;background:linear-gradient(90deg,color-mix(in srgb,var(--acc) 15%,transparent),rgba(255,255,255,.02) 75%)}
.rkt{font-family:'Fraunces',Georgia,serif;font-size:24px;font-weight:600;color:#fff}
.rkhead i{font-style:normal;margin-left:auto;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--dim);font-weight:600}
.rkgrid{display:grid;gap:11px;margin:0 0 26px}
.rk{position:relative;padding:16px 20px 16px 64px;border:1px solid var(--gold-soft);border-radius:14px;background:linear-gradient(90deg,rgba(217,180,74,.07),rgba(255,255,255,.015) 65%);font-size:16.5px;line-height:1.7;color:#E6E3DA}
.rk::before{content:"\2713";position:absolute;left:18px;top:15px;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font:700 16px 'Inter',system-ui,sans-serif;color:#1a1a1a;background:linear-gradient(145deg,#F0D27A,#C79B2E);box-shadow:0 0 0 4px rgba(217,180,74,.14)}
.rk .rl{color:#F4DD92;font-weight:700}
@media(max-width:720px){.rk{padding:14px 14px 14px 54px;font-size:15.8px}.rk::before{left:12px;width:30px;height:30px}.rkhead{padding:12px 14px}.rkt{font-size:21px}}

/* ---- Premium numbered step flow (all courses) ---- */
.sfwrap{margin:8px 0 24px}.sfintro{font-size:16px;color:#F4DD92;margin:0 0 12px}
.sflow{display:grid;gap:0}
.sf{position:relative;display:flex;gap:16px;align-items:flex-start;padding-bottom:14px}
.sf:not(:last-child)::before{content:"";position:absolute;left:19px;top:42px;bottom:-2px;width:2px;background:linear-gradient(180deg,var(--gold-line),rgba(217,180,74,.06))}
.sf .sn{flex:none;position:relative;z-index:1;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:'Fraunces',Georgia,serif;font-size:19px;font-weight:600;color:#1a1a1a;background:linear-gradient(145deg,#F0D27A,#C79B2E);box-shadow:0 0 0 5px rgba(217,180,74,.14)}
.sf .sb{flex:1;min-width:0;padding:10px 18px;border:1px solid var(--gold-soft);border-radius:12px;background:linear-gradient(90deg,rgba(217,180,74,.07),rgba(255,255,255,.015) 70%);font-size:16.3px;line-height:1.6;color:#EDEAE0;min-height:40px;display:flex;align-items:center}
.sf .sb>*{margin:0}
.sftail{margin:6px 0 0!important;padding:12px 18px;border-left:3px solid var(--gold);border-radius:0 12px 12px 0;background:rgba(217,180,74,.07);font-style:italic}
@media(max-width:720px){.sf{gap:12px}.sf .sn{width:34px;height:34px;font-size:16px}.sf:not(:last-child)::before{left:16px;top:36px}.sf .sb{padding:9px 14px;font-size:15.5px}}

/* ---- Tabbed orientation ---- */
.tabbar{display:flex;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;gap:7px;padding:4px 2px 10px;margin:6px 0 4px;-webkit-overflow-scrolling:touch}
.tabbar button{flex:1 0 auto;padding:10px 14px;text-align:center;border-radius:999px;border:1px solid var(--gold-soft);background:rgba(255,255,255,.03);color:#D9D6CC;font:600 13.5px 'Inter',system-ui,sans-serif;cursor:pointer;white-space:nowrap}
.tabbar button:hover{border-color:var(--gold-line)}
.tabbar button.on{background:linear-gradient(145deg,#F0D27A,#C79B2E);color:#17181B;border-color:transparent}
.tabpane{padding:22px 24px 20px;border:1px solid var(--gold-line);border-radius:20px;background:linear-gradient(180deg,#25272C,#1C1D21);margin:6px 0 24px;animation:tabin .25s ease}
@keyframes tabin{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.tabh{margin:0 0 16px!important;padding:0!important;border:0!important;background:none!important;font-size:26px;color:#fff}
.tabh::before,.tabh::after{display:none!important}
.tabpane .rcards,.tabpane .sfwrap{margin-top:0}
.tabtrio{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:16px}
.tabtrio .tt{padding:14px 16px;border:1px solid var(--gold-soft);border-radius:14px;background:rgba(0,0,0,.2);font-size:15px;line-height:1.6;color:#E6E3DA}
.tabtrio .tt i{display:block;font-style:normal;font-family:'Fraunces',Georgia,serif;font-size:18px;color:var(--gold);font-weight:600;margin-bottom:6px}
.tabnav{display:flex;justify-content:space-between;margin-top:18px;padding-top:14px;border-top:1px solid var(--gold-soft)}
@media(max-width:760px){.tabtrio{grid-template-columns:1fr}.tabpane{padding:16px 14px}.tabh{font-size:22px}}

@media(max-width:760px){.tabbar{flex-wrap:nowrap;overflow-x:auto}}

.tabbar::-webkit-scrollbar{display:none}

/* ---- Yellow lead fades to white; lists never sit outside a box ---- */
.rc .fd,.rk .fd{background:linear-gradient(90deg,#F4DD92 0%,#EDEAE0 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}
.rcards.plainlist .rc{padding-left:46px}

/* ---- Large crosswalks (Casualty): premium row cards with one header row ---- */
.cwrows{padding:12px 16px 16px;display:grid;gap:8px}
.cwrow{display:grid;grid-template-columns:var(--cols);gap:16px;align-items:center;padding:12px 18px;border:1px solid var(--gold-soft);border-radius:12px;background:linear-gradient(90deg,rgba(217,180,74,.07),rgba(255,255,255,.015) 70%)}
.cwrow:hover{border-color:var(--gold-line)}
.cwhead{background:none;border:0;padding:4px 18px 2px}
.cwhead:hover{border:0}
.cwhead>div{font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);font-weight:700}
.cwr0{display:flex;align-items:center;gap:12px;min-width:0}
.cwr0 b{font-family:'Fraunces',Georgia,serif;font-size:16.5px;font-weight:600;color:#fff;line-height:1.3}
.cwr0 .cwcode{flex:none;min-width:42px;text-align:center}.cwr0 .cwcode.dim{opacity:.35}
.cwrc{font-size:14.5px;line-height:1.45;color:#EDEAE0;min-width:0}
.cwrc.c1,.cwrc.c2{color:#F4DD92;font-weight:600}
@media(max-width:860px){.cwhead{display:none}.cwrow{grid-template-columns:1fr;gap:6px;padding:14px 16px}.cwrc::before{content:attr(data-label);display:block;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);font-weight:700;margin-bottom:1px}}

.passban{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin:0 0 22px;padding:16px 20px;border:1px solid rgba(217,180,74,.55);border-radius:14px;background:linear-gradient(90deg,rgba(217,180,74,.2),rgba(217,180,74,.05))}
.passban .pb-ic{flex:none;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#F0D98A,#D9B44A);color:#1a1405}
.passban div{flex:1;min-width:180px;display:grid;gap:2px}.passban b{font-size:18px;color:#F0D98A}.passban span{font-size:14px;color:#cfcabd}

/* ===== Design audit fixes ===== */
h1,h2,.eyebrow{position:relative;z-index:2}
.confetti{z-index:1;pointer-events:none}
.ptable th{font-size:12.5px}
.avatar{width:44px;height:44px}
.top .hdash{min-height:44px}
.top-in{flex-wrap:nowrap}
.top-r{flex-wrap:nowrap}
@media(max-width:1000px){.brand small{display:none}}
.azbar{display:grid;grid-template-columns:repeat(26,minmax(0,1fr));gap:2px}
.azbar button{width:auto;min-width:0;height:38px;padding:0}
@media(max-width:860px){
  .rail{display:flex;flex-direction:row;flex:1 1 100%;max-height:none;overflow-x:auto;overflow-y:hidden;gap:8px;padding:2px 2px 8px;border:0;position:static;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity}
  .rail .rs{flex:0 0 auto;max-width:240px;min-height:48px;scroll-snap-align:start}
  .rail>.eyebrow,.rail>.rh{flex:0 0 auto;align-self:center}
}
@media(max-width:760px){
  .top-in{padding:8px 14px;gap:8px}
  .brand{min-width:0;gap:10px}.brand .ic{width:34px;height:34px}
  .brand{flex:1 1 auto}.brand b{font-size:15px;line-height:1.15;white-space:normal}.top-r{flex:none}
  .top .hdash{display:none}
  .top .chip{padding:6px 10px}.top .chip .lbl{display:none}
  .avatar{width:44px;height:44px;flex:none}
  .menu{top:62px}
  .azbar{display:flex;flex-wrap:nowrap;overflow-x:auto;gap:4px;top:60px}
  .azbar button{flex:0 0 44px;width:44px;height:44px}
  .tabbar,.tabs{flex-wrap:nowrap;overflow-x:auto}
  .tabbar button,.tabs button{flex:0 0 auto;min-height:44px}
}
.nf{max-width:560px;margin:12vh auto;text-align:center;padding:40px 28px}

.cwbar{display:flex;gap:10px;justify-content:flex-end}.cwbar .btn{min-height:44px}

/* Key-terms mode (Casualty): all body text white, glossary terms yellow on first use per page */
.kt-mode .rc .rl,.kt-mode .rk .rl{color:inherit;font-weight:700}
.kt-mode .rc .fd,.kt-mode .rk .fd{background:none;-webkit-background-clip:border-box;background-clip:border-box;-webkit-text-fill-color:currentColor;color:inherit}
.kt-mode .rc,.kt-mode .rk{color:#F1EEE6}
.kt-mode .kt{color:#fff;font-weight:700;background:rgba(217,180,74,.14);padding:1px 5px;margin:0 -1px;border-radius:5px;-webkit-box-decoration-break:clone;box-decoration-break:clone;transition:background .15s}

.kt-mode .kt{cursor:default;border-bottom:1px dotted rgba(217,180,74,.75);outline:none}.kt-mode .kt:hover,.kt-mode .kt:focus-visible{background:rgba(217,180,74,.26)}
.kt-mode .kt:focus-visible{border-bottom-style:solid}
.kttip{position:fixed;z-index:9999;max-width:300px;padding:12px 14px;border-radius:12px;background:#111214;border:1px solid var(--gold-line,#D9B44A);box-shadow:0 12px 32px rgba(0,0,0,.5);display:grid;gap:4px;opacity:0;pointer-events:none;transform:translateY(4px);transition:opacity .14s,transform .14s}
.kttip.on{opacity:1;transform:none}
.kttip b{color:#F4DD92;font-size:13px;letter-spacing:.04em}
.kttip span{color:#EDEAE0;font-size:14px;line-height:1.5;font-weight:400}

/* Lede paragraph + block rhythm */
.prose p.lede{font-size:17.5px;line-height:1.78;color:#fff;margin:2px 0 28px;padding:2px 0 2px 20px;border-left:3px solid var(--gold);max-width:none}
.lesson .content .prose>.rcards,.lesson .content .prose>.tw,.lesson .content .prose>.ptable{margin-top:6px;margin-bottom:28px}

.prose .sp{margin:0 0 6px}.prose .sp p{margin:0 0 16px}

/* ===== Audit round 2 (Casualty) ===== */
/* C-006 breadcrumb replaces the second Dashboard button */
.crumb{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;font-size:14px;font-weight:700;margin:2px 0 6px;color:var(--mut)}
.crumb a{display:inline-flex;align-items:center;min-height:44px;color:var(--gold);text-decoration:none;padding-right:2px}
.crumb a:hover{text-decoration:underline;text-underline-offset:4px}
.crumb span{opacity:.8}.crumb .cur{color:var(--ink);opacity:1}
.chead .crumb{margin-bottom:6px}
/* C-058 buttons that are links never show an underline */
a.btn,a.btn:hover,.nf .btn{text-decoration:none}
/* C-018 / C-024 tap targets: Review Center tabs, Glossary tabs and A-Z bar */
.tabs button,.tabbar button{min-height:44px}
.azbar{grid-template-columns:repeat(13,minmax(0,1fr));gap:4px}
.azbar button{height:44px;font-size:15px}
@media(max-height:760px){.azbar{position:static}}
/* C-007 tablet header: one-line name, about 72px tall */
@media(min-width:761px) and (max-width:1000px){
  .top-in{padding:14px 24px}.brand{gap:12px}.brand .ic{width:44px;height:44px}
  .brand b{font-size:24px;white-space:nowrap;line-height:1.1}
}
/* C-041 phone lessons: wider text column */
@media(max-width:760px){
  .wrap{padding:22px 12px 90px}.narrow{padding:22px 12px 90px}
  .lesson{gap:22px;margin-top:22px}
  .lesson .content{padding:20px 14px 22px}
  .prose p.lede{padding-left:14px;font-size:17.5px;line-height:1.78;margin-bottom:22px}
  .chead h1 .chn,.chead h1 .cht{overflow-wrap:break-word}
}
/* C-043 tables become cards up to 900px */
@media(max-width:900px){
  .ptable{background:none;border:0;box-shadow:none;overflow:visible}
  .ptable table,.ptable tbody,.ptable tr,.ptable td{display:block;min-width:0;width:100%}
  .ptable thead{display:none}
  .ptable tr{margin:0 0 14px;border:1px solid var(--gold-line);border-radius:16px;overflow:hidden;background:linear-gradient(180deg,#25272C,#1C1D21)}
  .ptable td{padding:11px 18px;border-top:1px solid rgba(255,255,255,.06);background:none!important}
  .ptable td::before{font-family:'Inter',system-ui,sans-serif;content:attr(data-label);display:block;font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);font-weight:700;margin-bottom:3px}
  .ptable td.key{border-top:0;background:linear-gradient(180deg,rgba(217,180,74,.18),rgba(217,180,74,.06))!important;box-shadow:none;padding:14px 18px;font-size:17.5px}
  .ptable td.key::before{display:none}
  .ptable td.num{text-align:left;font-size:19px}
}
/* C-013 crosswalk rows: one badge style */
.cwr0 .cwcode.dim{opacity:1}
.ptable th{white-space:normal}
/* C-028 phone Study Lab: let the frame use the full screen width */
@media(max-width:760px){.on-lab iframe{width:calc(100% + 24px)!important;margin:0 -12px;border-radius:0!important}}
.azbar button{display:flex;align-items:center;justify-content:center;text-align:center}
/* ===== Deferred findings (Casualty) ===== */
/* C-022 Start Here crosswalk summary */
.xws{padding:26px 26px 28px;margin:10px 0 26px}
.xws h3{font-size:26px;margin:6px 0 8px}
.xwl{display:grid;gap:8px;margin-top:16px}
.xwr{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;padding:12px 16px;border:1px solid var(--gold-soft);border-radius:12px;background:linear-gradient(90deg,rgba(217,180,74,.07),rgba(255,255,255,.015) 70%)}
.xwn{font-family:'Fraunces',Georgia,serif;font-size:22px;color:var(--gold);min-width:44px}
.xwr b{font-weight:600;color:#fff;line-height:1.35}
.xwr i{font-style:normal;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--mut);font-weight:700;white-space:nowrap}
@media(max-width:640px){.xwr{grid-template-columns:auto 1fr}.xwr i{grid-column:2}}
/* C-019 Start Here: questions by exam area */
.astrip{margin:8px 0 26px}
.astrip .ag{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-top:10px}
.astrip .ag>div{padding:16px 12px;border:1px solid var(--gold-soft);border-radius:14px;background:linear-gradient(180deg,rgba(217,180,74,.10),rgba(255,255,255,.02));text-align:center;display:flex;flex-direction:column;gap:6px}
.astrip .ag b{font-family:'Fraunces',Georgia,serif;font-size:34px;color:var(--gold);line-height:1}
.astrip .ag span{font-size:12.5px;line-height:1.35;color:#EDEAE0}
@media(max-width:900px){.astrip .ag{grid-template-columns:repeat(2,minmax(0,1fr))}.astrip .ag>div:last-child{grid-column:1/-1}}
/* C-048 chapter quiz intro */
.qrules{display:grid;gap:12px;max-width:560px;margin:6px auto 18px;text-align:left}
.qrules>div{display:flex;gap:14px;align-items:flex-start;padding:14px 16px;border:1px solid var(--gold-soft);border-radius:14px;background:linear-gradient(90deg,rgba(217,180,74,.08),rgba(255,255,255,.015) 75%)}
.qrules .qi{flex:none;width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:var(--gold);color:#17181B}
.qrules b{display:block;font-size:17px;color:#fff}
.qrules small{display:block;margin-top:2px;color:var(--mut);font-size:14px;line-height:1.5}
.qwarn{display:flex;gap:10px;align-items:flex-start;max-width:560px;margin:0 auto 22px;text-align:left;padding:12px 16px;border-radius:12px;border:1px solid rgba(217,180,74,.35);background:rgba(217,180,74,.07);font-size:14px;line-height:1.5;color:#EDEAE0}
.qwarn .ic{flex:none;width:18px;height:18px;color:var(--gold);margin-top:2px}
/* C-040 example callouts: short paragraphs */
.callout.example .sp p{margin:0 0 12px}
.xws .xwe{font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);font-weight:800}
.xws .xwt{font-family:'Fraunces',Georgia,serif;font-size:27px;color:#fff;margin:6px 0 10px;line-height:1.2}
.xws .mut{margin:0}
/* Final Examination intro: two-tile strip, time on one line */
.xstats.xs2>div:first-child{flex:.7}.xstats.xs2>div:last-child{flex:1.6}
.xstats.xs2 b{white-space:nowrap}
@media (max-width:720px){.xstats.xs2 b{font-size:21px}.xstats.xs2>div{padding:14px 14px}}
@media (max-width:420px){.xstats.xs2 b{font-size:18px}.xstats.xs2>div{padding:14px 10px}.xstats.xs2 span{letter-spacing:.1em;font-size:11.5px}}

/* Tablet header: never wider than the screen (768-900 px) */
@media (min-width:761px) and (max-width:900px){
  .top-in{padding:12px 18px;gap:10px}
  .brand{min-width:0;gap:10px}
  .brand b{font-size:21px}
  .brand small{font-size:9.5px;letter-spacing:.07em;white-space:nowrap}
  .top-r{gap:8px;flex:none}
  .top .chip{padding:6px 10px;font-size:13px}
}

.heroL{container-type:inline-size}.heroacts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;width:100%;max-width:960px}.heroacts .btn{width:100%;justify-content:center;white-space:nowrap}@container (min-width:900px){.heroacts{grid-template-columns:repeat(4,minmax(0,1fr))}}@container (min-width:640px){.heroacts:has(> :nth-child(3):last-child){grid-template-columns:repeat(3,minmax(0,1fr))}}@container (max-width:440px){.heroacts{grid-template-columns:1fr !important}}

.orient .prose>.sp:first-child>p:first-child{font-size:17.5px;line-height:1.78;max-width:none}.orient .prose>.sp:first-child>p:first-child::first-letter{font-family:'Fraunces',Georgia,serif;font-size:3.4em;float:left;line-height:.82;padding:6px 8px 0 0;color:var(--gold);font-weight:600}

.tabbar.eq{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));overflow:visible}.tabbar.eq button{flex:none;white-space:normal;line-height:1.25;padding:12px 10px;min-height:52px}.tabpane .prose{margin:0}.cogrid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:18px}.cogrid .callout{margin:0;height:100%}@media (max-width:760px){.tabbar.eq{grid-template-columns:repeat(2,minmax(0,1fr))}.cogrid{grid-template-columns:1fr}}
.cogrid{grid-template-columns:1.25fr .75fr}.cogrid .callout.tip{display:flex;flex-direction:column;justify-content:center}.cogrid .callout.tip p{font-size:17px;line-height:1.7}@media (max-width:760px){.cogrid{grid-template-columns:1fr}}

.cogrid .callout.tip{justify-content:flex-start;padding-top:26px}.cogrid .callout.tip p{margin-bottom:0}
.tipflow{margin-top:22px;padding-top:20px;border-top:1px solid transparent;border-image:linear-gradient(90deg,rgba(217,180,74,.7),rgba(217,180,74,0)) 1;display:grid;gap:10px}
.tipflow .tfh{font:700 11.5px 'Inter',system-ui,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin-bottom:2px}
.tipflow .tfs{display:flex;align-items:center;gap:12px;padding:10px 14px;border:1px solid var(--gold-soft);border-radius:12px;background:rgba(217,180,74,.06);font-weight:600;font-size:15px;color:#F2EEE3}
.tipflow .tfs i{flex:none;width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;font:600 13px 'Fraunces',Georgia,serif;font-style:normal;color:#17181B;background:linear-gradient(145deg,#F0D27A,#C79B2E)}
.cogrid .callout .ct{display:flex;flex-wrap:wrap;align-items:center;column-gap:8px;row-gap:2px;letter-spacing:.1em}.cogrid .callout .ct .cs{letter-spacing:.08em;white-space:nowrap}
.cogrid .callout .ct::after{content:'';flex:0 0 100%;height:2px;margin:14px 0 16px;border-radius:2px;background:linear-gradient(90deg,#E6C25B,#C79B2E) left/44px 2px no-repeat,linear-gradient(90deg,rgba(217,180,74,.38),rgba(217,180,74,0)) left/100% 2px no-repeat}
.cogrid .callout .ct::after{background:linear-gradient(90deg,rgba(217,180,74,.8) 0,rgba(217,180,74,.8) 75%,rgba(217,180,74,0) 100%)}
.tipflow{border-image:linear-gradient(90deg,rgba(217,180,74,.8) 0,rgba(217,180,74,.8) 75%,rgba(217,180,74,0) 100%) 1}
.cogrid .callout .ct::after{background:rgba(217,180,74,.8)}
.tipflow{border-image:linear-gradient(rgba(217,180,74,.8),rgba(217,180,74,.8)) 1}
.tool b::after{content:'';display:block;height:2px;margin:8px 0 7px;border-radius:2px;background:rgba(217,180,74,.8)}
.cgrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.cgrid .chd{min-height:164px;padding:18px 18px 20px;gap:10px}
.cgrid .cn{font-size:38px}
.cgrid .ct2 b{font-size:17.5px;line-height:1.3;padding-right:30px}
.cgrid .ct2 small{margin-top:6px}
.cgrid .chev{right:14px;bottom:16px;width:30px;height:30px}
@media (max-width:1100px){.cgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.cgrid{grid-template-columns:1fr}.cgrid .chd{min-height:0}}
/* subtle gold tint on hover for link boxes (all existing hover effects are kept) */
.ctile:not(.open):hover,.tool:hover,.row.clickable:hover{box-shadow:var(--glow),inset 0 0 0 999px rgba(217,180,74,.075)}

/* dashboard: Final Examination card + section badges (option B) */
.grp.g-f{--g:#E6C25B;position:relative;overflow:hidden;border:1px solid rgba(230,194,91,.4);border-top:3px solid #E6C25B;background:linear-gradient(90deg,transparent 25%,rgba(217,180,74,.07) 40%,rgba(217,180,74,.27) 100%),repeating-linear-gradient(135deg,rgba(230,194,91,.045) 0 1px,transparent 1px 14px),linear-gradient(180deg,#26231A,#17171A 260px);box-shadow:0 22px 50px rgba(0,0,0,.5),0 0 0 1px rgba(255,236,170,.06) inset,0 0 38px rgba(217,180,74,.10)}
.grp.g-f .sechead h2{background:linear-gradient(180deg,#FFF3C9,#E6C25B);-webkit-background-clip:text;background-clip:text;color:transparent}
.grp.g-f .sechead .eyebrow{letter-spacing:.2em}
.grp.g-f .chip{border-color:rgba(230,194,91,.6);background:rgba(230,194,91,.10);color:#FFF1C2}
.grp.g-f .row{background:rgba(10,10,12,.55);border-color:rgba(230,194,91,.28)}
.grp.g-f .row .rn{width:46px;height:46px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:20px;color:#17181B;background:linear-gradient(145deg,#F6DB86,#C79B2E);box-shadow:0 0 18px rgba(230,194,91,.35)}
.grp.g-1 .sechead .eyebrow,.grp.g-2 .sechead .eyebrow{display:inline-flex;align-items:center;padding:8px 18px;border-radius:999px;font-size:14px;font-weight:800;letter-spacing:.2em;color:#17181B;background:linear-gradient(145deg,color-mix(in srgb,var(--g) 60%,#fff),var(--g));box-shadow:0 6px 18px color-mix(in srgb,var(--g) 40%,transparent)}
.grp.g-f .row.done .st{padding:5px 12px;border-radius:999px;gap:6px;background:rgba(92,201,167,.12);border:1px solid rgba(92,201,167,.4);font-size:11.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--ok);animation:glowok 3.2s ease-in-out infinite}
.grp.g-f .row.done .st .ic{width:16px;height:16px}
/* score box border (option B) */
.scorebox{position:relative;border:1.5px solid transparent!important;background:linear-gradient(180deg,#27292E,#1C1D21) padding-box,linear-gradient(135deg,#F6DB86 0%,#9A7420 38%,#E6C25B 62%,#8A6A1C 100%) border-box!important;box-shadow:0 18px 44px rgba(0,0,0,.45),0 0 34px rgba(217,180,74,.12)}
.scorebox::before{content:'';position:absolute;left:28px;right:28px;top:-1.5px;height:3px;border-radius:0 0 4px 4px;background:linear-gradient(90deg,#F6DB86,#C79B2E)}
/* link buttons (a.btn): same premium hover as the chapter boxes (lift, gold glow, light sweep, soft gold tint) */
a.btn{position:relative;overflow:hidden;transition:transform .28s cubic-bezier(.2,.7,.2,1),box-shadow .28s,border-color .28s,background .28s,filter .28s}
a.btn.line::after{content:"";position:absolute;top:0;bottom:0;left:-60%;width:40%;pointer-events:none;background:linear-gradient(105deg,transparent,rgba(255,255,255,.14),transparent);transform:skewX(-18deg);opacity:0}
a.btn:hover{transform:translateY(-3px);box-shadow:var(--glow)}
a.btn.line:hover{border-color:rgba(217,180,74,.55);box-shadow:var(--glow),inset 0 0 0 999px rgba(217,180,74,.075)}
a.btn.line:hover::after{animation:sweep .9s ease-out}
@media(hover:none){a.btn:hover{transform:none}}

/* pill tab buttons: premium hover (lift, gold glow, soft gold tint, light sweep) */
.tabbar button,.tabs button{position:relative;overflow:hidden;transition:transform .28s cubic-bezier(.2,.7,.2,1),box-shadow .28s,border-color .28s,background .28s,filter .28s}
.tabbar button::after,.tabs button::after{content:"";position:absolute;top:0;bottom:0;left:-60%;width:40%;pointer-events:none;background:linear-gradient(105deg,transparent,rgba(255,255,255,.16),transparent);transform:skewX(-18deg);opacity:0}
.tabbar button:hover,.tabs button:hover{transform:translateY(-3px);border-color:rgba(217,180,74,.55);box-shadow:var(--glow),inset 0 0 0 999px rgba(217,180,74,.075)}
.tabbar button.on:hover,.tabs button.on:hover{box-shadow:var(--glow);filter:brightness(1.05)}
.tabbar button:hover::after,.tabs button:hover::after{animation:sweep .9s ease-out}
@media(hover:none){.tabbar button:hover,.tabs button:hover{transform:none}}

/* sidebar steps, topic links, crosswalk rows, checklist cards: same premium hover as the chapter boxes */
.rs:not(.lock),a.tp,.cwrow,.chk.mcard{position:relative;overflow:hidden;transition:transform .28s cubic-bezier(.2,.7,.2,1),box-shadow .28s,border-color .28s,background .28s}
.rs:not(.lock)::after,a.tp::after,.cwrow::after,.chk.mcard::after{content:"";position:absolute;top:0;bottom:0;left:-60%;width:40%;pointer-events:none;background:linear-gradient(105deg,transparent,rgba(255,255,255,.13),transparent);transform:skewX(-18deg);opacity:0}
.rs:not(.lock):hover::after,a.tp:hover::after,.cwrow:hover::after,.chk.mcard:hover::after{animation:sweep .9s ease-out}
.rs:not(.lock):hover{border-top-color:rgba(217,180,74,.55);border-right-color:rgba(217,180,74,.55);border-bottom-color:rgba(217,180,74,.55);box-shadow:0 10px 24px rgba(0,0,0,.4),0 0 0 1px rgba(217,180,74,.35),inset 0 0 0 999px rgba(217,180,74,.075)}
a.tp:hover{border-color:rgba(217,180,74,.55);box-shadow:0 10px 22px rgba(0,0,0,.35),0 0 0 1px rgba(217,180,74,.35),inset 0 0 0 999px rgba(217,180,74,.075)}
.cwrow:hover,.chk.mcard:hover{transform:translateY(-3px);border-color:rgba(217,180,74,.55);box-shadow:var(--glow),inset 0 0 0 999px rgba(217,180,74,.075)}
@media(hover:none){.cwrow:hover,.chk.mcard:hover{transform:none}}

.rail .rs{flex-shrink:0}

/* answer options: gold fade starting at 40% (default state only) */
.opt{position:relative;isolation:isolate}
.opt::before{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(90deg,transparent 25%,rgba(217,180,74,.07) 40%,rgba(217,180,74,.27) 100%);z-index:-1;pointer-events:none}
.opt.ok::before,.opt.bad::before,.opt.sel::before{display:none}

/* non-link buttons (Continue, Previous, Download Your Certificate...): same premium hover as link buttons */
button.btn:not(.danger){position:relative;overflow:hidden;transition:transform .28s cubic-bezier(.2,.7,.2,1),box-shadow .28s,border-color .28s,background .28s,filter .28s}
button.btn.line::after{content:"";position:absolute;top:0;bottom:0;left:-60%;width:40%;pointer-events:none;background:linear-gradient(105deg,transparent,rgba(255,255,255,.14),transparent);transform:skewX(-18deg);opacity:0}
button.btn:not(.danger):hover:not(:disabled){transform:translateY(-3px);box-shadow:var(--glow)}
button.btn.line:hover:not(:disabled){border-color:rgba(217,180,74,.55);box-shadow:var(--glow),inset 0 0 0 999px rgba(217,180,74,.075)}
button.btn.line:hover:not(:disabled)::after{animation:sweep .9s ease-out}
@media(hover:none){button.btn:hover{transform:none}}
/* back / dashboard links: same premium hover (lift, glow, light sweep) */
a.back{position:relative;overflow:hidden}
a.back::after{content:"";position:absolute;top:0;bottom:0;left:-60%;width:40%;pointer-events:none;background:linear-gradient(105deg,transparent,rgba(255,255,255,.18),transparent);transform:skewX(-18deg);opacity:0}
a.back:hover::after{animation:sweep .9s ease-out}
a.back:hover{transform:translateY(-3px);box-shadow:var(--glow)}
@media(hover:none){a.back:hover{transform:none}}

/* real-life example boxes: gold fade starting at 40% */
.callout.example,.panel.scn{position:relative;isolation:isolate}
.callout.example::before,.panel.scn::before{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(90deg,transparent 25%,rgba(217,180,74,.07) 40%,rgba(217,180,74,.27) 100%);z-index:-1;pointer-events:none}
/* outline crosswalk accordion headers: gold fade + premium hover */
.cwsec{position:relative;transition:transform .28s cubic-bezier(.2,.7,.2,1),box-shadow .28s,border-color .28s}
.cwsec>summary{position:relative;isolation:isolate;transition:background .28s}
.cwsec>summary::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 25%,rgba(217,180,74,.07) 40%,rgba(217,180,74,.27) 100%);z-index:-1;pointer-events:none}
.cwsec::after{content:"";position:absolute;top:0;bottom:0;left:-60%;width:40%;pointer-events:none;background:linear-gradient(105deg,transparent,rgba(255,255,255,.13),transparent);transform:skewX(-18deg);opacity:0}
.cwsec:has(>summary:hover){transform:translateY(-3px);border-color:rgba(217,180,74,.55);box-shadow:var(--glow),inset 0 0 0 999px rgba(217,180,74,.075)}
.cwsec:has(>summary:hover)::after{animation:sweep .9s ease-out}
@media(hover:none){.cwsec:has(>summary:hover){transform:none}}

/* lesson sidebar: same height as the lesson content beside it, steps stay in view while scrolling */
@media(min-width:861px){
  .lesson{align-items:stretch}
  .rail{position:static;max-height:none;overflow:visible;align-self:stretch;padding:14px 8px 14px 14px;border-radius:20px;background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.015));border:1px solid rgba(217,180,74,.28)}
  .rail .railin{position:sticky;top:96px;max-height:calc(100vh - 140px);overflow:auto;display:flex;flex-direction:column;padding-right:6px}
}
@media(max-width:860px){.rail .railin{display:contents}}

/* tab rows on phones: one even line, labels wrap inside equal buttons */
@media(max-width:700px){
  .tabs{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:8px;width:100%}
  .tabs button{white-space:normal;line-height:1.2;padding:10px 8px;text-align:center;min-height:50px;display:flex;align-items:center;justify-content:center}
}

/* orientation panel: premium platinum treatment that pairs with Section 1.0 (gold) and 2.0 (copper) */
.grp.g-o{--g:#D6DAE1;position:relative;overflow:hidden;border:1px solid rgba(214,218,225,.26);border-top:3px solid #D6DAE1;
  background:linear-gradient(90deg,transparent 25%,rgba(214,218,225,.06) 40%,rgba(214,218,225,.2) 100%),
  repeating-linear-gradient(135deg,rgba(255,255,255,.022) 0 2px,transparent 2px 14px),linear-gradient(180deg,#25282D,#17181B 240px);
  box-shadow:0 18px 40px rgba(0,0,0,.4),inset 0 1px 0 rgba(255,255,255,.08)}
.grp.g-o::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:linear-gradient(90deg,#fff,#D6DAE1 35%,rgba(214,218,225,0) 100%);pointer-events:none}
.grp.g-o .sechead h2{background:linear-gradient(180deg,#FFFFFF,#C4C9D2);-webkit-background-clip:text;background-clip:text;color:transparent}
.grp.g-o .sechead .eyebrow{letter-spacing:.2em}
.grp.g-o .chip{border-color:rgba(214,218,225,.5);background:rgba(214,218,225,.08);color:#F1F3F6}
.grp.g-o .row{background:rgba(10,10,12,.5);border-color:rgba(214,218,225,.26)}
.grp.g-o .row .rn{color:#E8EBF0}
/* chapter boxes: arrow always bottom right, text never runs under it */
.ctile .chd{flex:1}
.ctile .ct2 small{padding-right:52px}
.ctile .chev{right:18px;bottom:18px;top:auto}

/* navigation: premium Dashboard pill + larger current-page crumb (every page) */
.crumb{gap:8px 12px;margin:6px 0 14px;font-size:19px;font-weight:800}
.crumb a{position:relative;overflow:hidden;gap:10px;min-height:46px;padding:0 20px 0 16px;border-radius:999px;font-size:17px;font-weight:800;letter-spacing:.01em;color:#F3D77A;
  border:1px solid rgba(217,180,74,.6);background:linear-gradient(180deg,rgba(217,180,74,.24),rgba(217,180,74,.08));box-shadow:0 6px 16px rgba(0,0,0,.35),inset 0 1px 0 rgba(255,255,255,.12);
  transition:transform .28s cubic-bezier(.2,.7,.2,1),box-shadow .28s,border-color .28s,background .28s}
.crumb a::before{content:"";width:20px;height:20px;flex:none;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 11l9-8 9 8'/%3E%3Cpath d='M5 10v10h5v-6h4v6h5V10'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 11l9-8 9 8'/%3E%3Cpath d='M5 10v10h5v-6h4v6h5V10'/%3E%3C/svg%3E") center/contain no-repeat}
.crumb a::after{content:"";position:absolute;top:0;bottom:0;left:-60%;width:40%;pointer-events:none;background:linear-gradient(105deg,transparent,rgba(255,255,255,.2),transparent);transform:skewX(-18deg);opacity:0}
.crumb a:hover{text-decoration:none;transform:translateY(-3px);border-color:#E6C25B;background:linear-gradient(180deg,rgba(217,180,74,.34),rgba(217,180,74,.14));box-shadow:var(--glow),inset 0 0 0 999px rgba(217,180,74,.075)}
.crumb a:hover::after{animation:sweep .9s ease-out;opacity:1}
.crumb>span[aria-hidden]{font-size:26px;line-height:1;color:#D9B44A;opacity:.9;font-weight:600}
.crumb .cur{font-size:21px;font-weight:800;color:#fff;letter-spacing:.005em}
@media(max-width:560px){.crumb{font-size:17px}.crumb a{font-size:16px;min-height:44px}.crumb .cur{font-size:18px}}
/* "Study Tool" label: gold diamond + fading rule, same family as the Chapter label */
.eyebrow.stool{display:flex;align-items:center;gap:14px;font-size:16px;font-weight:800;letter-spacing:.26em;color:#E6C25B}
.eyebrow.stool::before{content:"";width:11px;height:11px;flex:none;transform:rotate(45deg);background:linear-gradient(135deg,#FFF1C2,#D9B44A);box-shadow:0 0 12px rgba(217,180,74,.6)}
.eyebrow.stool::after{content:"";flex:0 1 clamp(90px,24vw,280px);height:2px;border-radius:2px;background:linear-gradient(90deg,rgba(217,180,74,.9),rgba(217,180,74,0))}

/* glossary flashcard drill: premium 3D card */
.gstage{max-width:720px;margin:26px auto 10px}
.gfc{--rx:0deg;--ry:0deg;--mx:50%;--my:40%;display:block;width:100%;height:340px;padding:0;border:0;background:none;cursor:pointer;perspective:1100px;color:inherit;text-align:center;font:inherit;animation:gin .5s cubic-bezier(.2,.7,.2,1) both}
@keyframes gin{from{opacity:0;transform:translateY(14px) scale(.985)}to{opacity:1;transform:none}}
.gfc .in{position:relative;width:100%;height:100%;transform-style:preserve-3d;transition:transform .7s cubic-bezier(.3,.8,.2,1),box-shadow .3s;transform:rotateX(var(--rx)) rotateY(var(--ry))}
.gfc.flip .in{transform:rotateX(var(--rx)) rotateY(calc(180deg + var(--ry)))}
.gfc:not(:hover) .in{transition:transform .7s cubic-bezier(.3,.8,.2,1),box-shadow .3s}
.gfc:hover .in{transition:transform .12s ease-out}
.gfc.flip:hover .in{transition:transform .12s ease-out}
.gf,.gb{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;border-radius:26px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:34px 44px;overflow:hidden;
  border:1px solid rgba(217,180,74,.5);box-shadow:0 22px 50px rgba(0,0,0,.5),0 0 0 1px rgba(0,0,0,.4);transition:box-shadow .3s,border-color .3s}
.gf{background:radial-gradient(circle at var(--mx) var(--my),rgba(255,236,170,.13),transparent 42%),radial-gradient(520px 260px at 100% 0,rgba(217,180,74,.22),transparent 65%),radial-gradient(380px 200px at 0 110%,rgba(213,142,98,.14),transparent 70%),repeating-linear-gradient(135deg,rgba(255,255,255,.022) 0 2px,transparent 2px 14px),linear-gradient(180deg,#2A2C31,#18191C)}
.gb{transform:rotateY(180deg);background:radial-gradient(circle at var(--mx) var(--my),rgba(255,236,170,.16),transparent 45%),radial-gradient(520px 280px at 0 0,rgba(217,180,74,.34),transparent 65%),linear-gradient(180deg,#36301E,#1B1A16);border-color:rgba(230,194,91,.75)}
.gf::before,.gb::before{content:"";position:absolute;inset:12px;border-radius:18px;border:1px solid rgba(217,180,74,.28);pointer-events:none}
.gf::after,.gb::after{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:linear-gradient(90deg,#fff3c4,#D9B44A 40%,rgba(217,180,74,0));pointer-events:none}
.gtag{font:800 12px/1 var(--sans);letter-spacing:.26em;text-transform:uppercase;color:#E6C25B;display:inline-flex;align-items:center;gap:10px}
.gtag::before,.gtag::after{content:"";width:26px;height:1px;background:linear-gradient(90deg,transparent,rgba(217,180,74,.8))}
.gtag::after{transform:scaleX(-1)}
.gf b{font:600 clamp(32px,6vw,46px)/1.12 var(--serif);color:#fff;text-shadow:0 2px 18px rgba(217,180,74,.25)}
.grule{display:block;width:86px;height:3px;border-radius:3px;background:linear-gradient(90deg,transparent,#E6C25B,transparent);box-shadow:0 0 14px rgba(217,180,74,.6)}
.ghint{display:inline-flex;align-items:center;gap:10px;margin-top:6px;padding:9px 18px;border-radius:999px;border:1px solid rgba(217,180,74,.5);background:rgba(217,180,74,.1);color:#F3D77A;font:800 12px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;transition:background .3s,border-color .3s}
.gring{position:relative;width:9px;height:9px;border-radius:50%;background:#E6C25B}
.gring::after{content:"";position:absolute;inset:-6px;border-radius:50%;border:1.5px solid rgba(230,194,91,.75);animation:gpulse 1.8s ease-out infinite}
@keyframes gpulse{0%{transform:scale(.4);opacity:1}100%{transform:scale(1.6);opacity:0}}
.gb em{font:italic 600 21px/1.2 var(--serif);color:#F3D77A}
.gb p{margin:0;max-width:540px;font-size:clamp(18px,2.6vw,22px);line-height:1.55;color:#F6F1E3;font-weight:500}
.gfc:hover .gf,.gfc:hover .gb{border-color:#E6C25B;box-shadow:0 28px 60px rgba(0,0,0,.55),0 0 34px rgba(217,180,74,.28)}
.gfc:hover .ghint{background:rgba(217,180,74,.2);border-color:#E6C25B}
.gfc:focus-visible{outline:2px solid #E6C25B;outline-offset:6px;border-radius:28px}
.gprog{margin-top:22px}
.gbar{height:6px;border-radius:6px;background:rgba(255,255,255,.08);overflow:hidden}
.gbar i{display:block;height:100%;border-radius:6px;background:linear-gradient(90deg,#B9922F,#F3D77A);box-shadow:0 0 12px rgba(217,180,74,.6);transition:width .5s cubic-bezier(.3,.8,.2,1)}
.gctl{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;margin-top:16px}
.gcount{color:var(--mut);font-weight:700;font-size:15px}.gcount b{color:#F3D77A;font:700 26px/1 var(--serif);margin-right:4px}
.gbtns{display:flex;gap:10px}
.ghelp{margin:14px 0 0;text-align:center;font-size:13px;color:var(--dim)}
@media(max-width:560px){.gfc{height:360px}.gf,.gb{padding:30px 26px}.gctl{justify-content:center}.ghelp{display:none}}
@media(prefers-reduced-motion:reduce){.gfc,.gring::after{animation:none}.gfc .in{transition:none}}

/* glossary A–Z bar: always pinned under the header, solid so text never shows through */
.azbar{position:sticky!important;top:calc(var(--topH,64px) + 10px);z-index:25;margin:16px 0 10px;padding:10px 12px;border-radius:18px;border:1px solid rgba(217,180,74,.55);
  background:linear-gradient(180deg,#24262B,#17181B);backdrop-filter:none;box-shadow:0 14px 30px rgba(0,0,0,.55),inset 0 1px 0 rgba(255,255,255,.07)}
.azbar::before{content:"";position:absolute;left:18px;right:18px;top:-1px;height:2px;border-radius:2px;background:linear-gradient(90deg,#E6C25B,transparent)}
.azbar button{height:36px}
.azbar button.on{background:rgba(217,180,74,.14);border-color:rgba(217,180,74,.4);color:#F3D77A;transition:transform .2s,background .2s,box-shadow .2s,color .2s}
.azbar button.on:hover{transform:translateY(-2px);background:linear-gradient(180deg,#F3D77A,#D9B44A);color:#17181B;box-shadow:0 0 16px rgba(217,180,74,.5)}
.azbar button.cur{background:linear-gradient(180deg,#F3D77A,#D9B44A);color:#17181B;border-color:#F3D77A;box-shadow:0 0 14px rgba(217,180,74,.45)}
@media(max-width:760px){.azbar{top:calc(var(--topH,56px) + 6px);border-radius:14px}.azbar button{height:44px}}
.glh{scroll-margin-top:calc(var(--topH,64px) + 130px)}

/* one hover for everything clickable: the same lift, gold glow, soft tint and sweep as the tab buttons */
.ctile,.stats .stat,.side .tool,.grp,.hero>*,.callout,.tw,.rs{animation-fill-mode:backwards}
.btn,.avatar,.mt,.fc,.rs,.tool{position:relative;overflow:hidden;transition:transform .28s cubic-bezier(.2,.7,.2,1),box-shadow .28s,border-color .28s,background .28s,filter .28s}
.btn::after,.avatar::after,.mt::after,.fc::after,.rs::after,.tool::after{content:"";position:absolute;top:0;bottom:0;left:-60%;width:40%;pointer-events:none;background:linear-gradient(105deg,transparent,rgba(255,255,255,.16),transparent);transform:skewX(-18deg);opacity:0}
.btn:not(:disabled):not(.off):hover,.avatar:hover,.mt:not(.done):hover,.fc:hover,.rs:hover,.tool:hover{transform:translateY(-3px);border-color:rgba(217,180,74,.55);box-shadow:var(--glow),inset 0 0 0 999px rgba(217,180,74,.075)}
.btn.gold:not(:disabled):not(.off):hover{border-color:#F3D77A;box-shadow:0 14px 30px rgba(217,180,74,.42),0 0 0 4px rgba(217,180,74,.16),inset 0 0 0 999px rgba(255,255,255,.06);filter:none}
.btn:not(:disabled):not(.off):hover::after,.avatar:hover::after,.mt:not(.done):hover::after,.fc:hover::after,.rs:hover::after,.tool:hover::after{animation:sweep .9s ease-out}
.fc .in{position:relative}
@media(hover:none){.btn:hover,.avatar:hover,.mt:hover,.fc:hover,.rs:hover,.tool:hover{transform:none}}

/* crosswalk table headers: premium gold header bar */
.cwrows .cwhead{position:relative;overflow:hidden;padding:15px 18px 17px;margin-bottom:2px;border:1px solid rgba(217,180,74,.55);border-radius:14px;
  background:radial-gradient(380px 120px at 100% 0,rgba(240,210,122,.22),transparent 70%),linear-gradient(180deg,rgba(217,180,74,.26),rgba(217,180,74,.08));
  box-shadow:0 10px 22px rgba(0,0,0,.4),inset 0 1px 0 rgba(255,255,255,.14)}
.cwrows .cwhead:hover{border:1px solid rgba(217,180,74,.55);transform:none;box-shadow:0 10px 22px rgba(0,0,0,.4),inset 0 1px 0 rgba(255,255,255,.14)}
.cwrows .cwhead::before{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:linear-gradient(90deg,#FFF3C4,#E6C25B 45%,rgba(230,194,91,0))}
.cwrows .cwhead::after{content:"";position:absolute;left:18px;right:18px;bottom:0;height:3px;border-radius:3px 3px 0 0;background:linear-gradient(90deg,#E6C25B,rgba(230,194,91,.25))}
.cwrows .cwhead>div{display:flex;align-items:center;gap:9px;font-size:12.5px;line-height:1.3;letter-spacing:.17em;font-weight:800;color:#FBE7A1;text-shadow:0 1px 10px rgba(217,180,74,.35)}
.cwrows .cwhead>div:first-child::before{content:"";width:9px;height:9px;flex:none;transform:rotate(45deg);background:linear-gradient(135deg,#FFF1C2,#D9B44A);box-shadow:0 0 10px rgba(217,180,74,.7)}

/* A to Z letters: same sweep as the tab buttons */
.azbar button.on{position:relative;overflow:hidden}
.azbar button.on::after{content:"";position:absolute;top:0;bottom:0;left:-60%;width:40%;pointer-events:none;background:linear-gradient(105deg,transparent,rgba(255,255,255,.35),transparent);transform:skewX(-18deg);opacity:0}
.azbar button.on:hover::after{animation:sweep .9s ease-out}

/* glossary flashcard: same 40% gold fade as every other box */
.gf{background:linear-gradient(90deg,transparent 25%,rgba(217,180,74,.07) 40%,rgba(217,180,74,.27) 100%),radial-gradient(circle at var(--mx) var(--my),rgba(255,236,170,.10),transparent 40%),repeating-linear-gradient(135deg,rgba(255,255,255,.022) 0 2px,transparent 2px 14px),linear-gradient(180deg,#2A2C31,#18191C)}
.gb{background:linear-gradient(90deg,transparent 25%,rgba(217,180,74,.10) 40%,rgba(217,180,74,.36) 100%),radial-gradient(circle at var(--mx) var(--my),rgba(255,236,170,.10),transparent 40%),linear-gradient(180deg,#36301E,#1B1A16)}

/* selected match term / answer: unmistakable solid gold so students always see what they clicked */
.mt.sel{background:linear-gradient(135deg,#F3D77A,#D9B44A)!important;color:#17181B!important;border-color:#FFF1C2!important;font-weight:800;box-shadow:0 0 0 3px rgba(243,215,122,.35),0 12px 26px rgba(217,180,74,.4)!important;transform:translateY(-2px)}

/* phone and tablet: nothing to swipe. Lesson steps become a stepper card that opens into a full list */
.rail .railhd{display:none}
@media(max-width:860px){
  .rail{display:block!important;overflow:visible!important;padding:0!important;border:0!important;background:none!important;box-shadow:none!important;max-height:none!important;flex:1 1 100%!important;align-self:stretch}
  .rail .railin{display:none!important}
  .rail.open .railin{display:flex!important;flex-direction:column;gap:8px;margin-top:10px;position:static;max-height:none;overflow:visible;padding:12px;border-radius:18px;border:1px solid rgba(217,180,74,.35);background:linear-gradient(180deg,#26282D,#1B1C20)}
  .rail .railin .rs{max-width:none;width:100%;flex:none}.rail .rdiv{display:none}
  .rail .railhd{display:flex;align-items:center;gap:14px;width:100%;text-align:left;padding:14px 16px;border-radius:20px;border:1px solid rgba(217,180,74,.55);color:inherit;
    background:linear-gradient(90deg,transparent 25%,rgba(217,180,74,.07) 40%,rgba(217,180,74,.27) 100%),linear-gradient(180deg,#2A2C31,#1B1C20);box-shadow:0 12px 26px rgba(0,0,0,.4),inset 0 1px 0 rgba(255,255,255,.08)}
  .rail .rhn{flex:none;display:grid;place-items:center;width:54px;height:54px;border-radius:16px;background:linear-gradient(135deg,#F3D77A,#D9B44A);color:#17181B;font:800 24px/1 var(--serif)}
  .rail .rhn small{display:block;margin-top:2px;font:800 13px/1 var(--sans);letter-spacing:.04em;text-transform:uppercase}
  .rail .rht{flex:1;min-width:0}.rail .rht small{display:block;font:800 13px/1.2 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:#E6C25B}
  .rail .rht b{display:block;margin:4px 0 8px;font:600 18px/1.25 var(--serif);color:#fff}
  .rail .rhb{display:block;height:5px;border-radius:5px;background:rgba(255,255,255,.1);overflow:hidden}.rail .rhb i{display:block;height:100%;border-radius:5px;background:linear-gradient(90deg,#B9922F,#F3D77A)}
  .rail .rhc{flex:none;display:grid;place-items:center;width:38px;height:38px;border-radius:50%;border:1px solid rgba(217,180,74,.5);transition:transform .25s}.rail .rhc .ic{width:18px;height:18px;transform:rotate(90deg)}
  .rail.open .rhc{transform:rotate(180deg);background:rgba(217,180,74,.2)}
}
/* glossary letters on phone: one pinned "Jump to Letter" bar that opens a 7-column grid */
.azbar .azt{display:none}
@media(max-width:760px){
  .azbar{display:grid!important;grid-template-columns:repeat(7,minmax(0,1fr))!important;overflow:visible!important;gap:6px!important;padding:8px!important}
  .azbar .azt{display:flex;grid-column:1/-1;align-items:center;gap:12px;min-height:46px;padding:0 14px;border-radius:12px;border:1px solid rgba(217,180,74,.5);background:linear-gradient(90deg,transparent 25%,rgba(217,180,74,.07) 40%,rgba(217,180,74,.25) 100%),#1B1C20;color:#F3D77A;font:800 13px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;width:100%;height:auto}
  .azbar .azt b{margin-left:auto;display:grid;place-items:center;min-width:34px;height:34px;border-radius:10px;background:linear-gradient(135deg,#F3D77A,#D9B44A);color:#17181B;font:800 18px/1 var(--serif)}
  .azbar .azt .azc{display:grid;place-items:center;width:30px;height:30px}.azbar .azt .azc .ic{width:16px;height:16px;transform:rotate(90deg);transition:transform .25s}.azbar.az-open .azt .azc .ic{transform:rotate(-90deg)}
  .azbar button:not(.azt){display:none!important;width:auto!important;flex:none!important}
  .azbar.az-open button:not(.azt){display:flex!important;height:44px}
}

/* chapter activity matching: left and right buttons share row heights so every row lines up */
.match>div{display:grid;grid-auto-rows:1fr;align-content:stretch}
.match>div .mt{height:100%}

/* ===== audit fixes ===== */
.top{background:var(--bg);backdrop-filter:none}
.azbar{top:calc(var(--topH,98px) - 1px)!important}
.rail .railin{top:calc(var(--topH,98px) + 14px);max-height:calc(100vh - var(--topH,98px) - 34px)}
@media(max-height:700px){.azbar{padding:5px 8px!important;margin:8px 0 6px!important}.azbar button{height:28px!important}}
.shrow{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.shrow .chip{font-size:12.5px;padding:4px 12px}
/* readable text floor */
.eyebrow,.callout .ct,.callout .cs,.callout .fold,.fc .f small,.fld span,.badge,.kv small,.tpt small,.cst,.xframe h4,.xstats span,.glh i,.cwsec summary i,.mnum span,.rkhead i,.xwr i,.xws .xwe,.cwchip i,.cwbody i,.cwgrid.compact .cwchip i,.cwhead>div,.cwrc::before,.ptable td::before,.xstats.xs2 span,.grp.g-f .row.done .st,.chead>.eyebrow,.astrip .ag span,.azbar button,.pal button{font-size:13px}
.atable th,.tw th,.ptable th,.cwrows .cwhead>div{font-size:13.5px}
.brand small{font-size:12px}
.xring .rl{font-size:12.5px}
/* focus ring everywhere */
a:focus-visible,button:focus-visible,[tabindex]:focus-visible,summary:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible,.term:focus-visible,.cwchip:focus-visible{outline:3px solid #F0D98A!important;outline-offset:3px;box-shadow:0 0 0 7px rgba(217,180,74,.22)!important}
/* equal button widths in groups */
.btnrow>.btn,.btnrow>span .btn,.btnrow>span>.btn,.tabnav .btn,.gbtns .btn,.pager .btn{min-width:190px;justify-content:center;text-align:center}
.btnrow>.btn,.btnrow>span .btn{min-width:260px}
@media(max-width:560px){.btnrow>.btn,.btnrow>span,.btnrow>span .btn{flex:1 1 100%;min-width:0;width:100%}.tabnav .btn,.gbtns .btn,.pager .btn{min-width:0}}
/* logo hover */
.brand{transition:transform .2s,filter .2s}.brand:hover{transform:translateY(-2px);filter:drop-shadow(0 0 14px rgba(217,180,74,.5))}
/* glossary term cards */
.gc{position:relative;padding-left:70px;border-left:3px solid #D9B44A;transition:transform .22s,box-shadow .22s,border-color .22s;overflow:hidden}
.gc::before{content:attr(data-l);position:absolute;left:16px;top:16px;width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;font:800 19px var(--serif,Georgia,serif);color:#17181B;background:linear-gradient(145deg,#F0D98A,#C9A23C);box-shadow:0 4px 12px rgba(0,0,0,.4)}
.gc::after{content:"";position:absolute;top:0;bottom:0;width:60%;left:-80%;background:linear-gradient(100deg,transparent,rgba(255,236,170,.14),transparent);transform:skewX(-18deg);pointer-events:none}
.gc:hover{transform:translateY(-3px);box-shadow:var(--glow),inset 0 0 0 999px rgba(217,180,74,.075);border-color:rgba(217,180,74,.55)}
.gc:hover::after{left:130%;transition:left .7s}
/* results: review cards */
.revitem{position:relative;padding:20px 22px 20px 26px;overflow:hidden;margin-top:12px}
.revitem::before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px}
.revitem.bad::before{background:linear-gradient(180deg,#F29090,#C65A5A)}
.revitem.ok::before{background:linear-gradient(180deg,#5CC9A7,#2E9A7C)}
.revitem.bad{background:linear-gradient(90deg,transparent 25%,rgba(242,144,144,.05) 40%,rgba(242,144,144,.14) 100%),var(--row)}
.revitem.ok{background:linear-gradient(90deg,transparent 25%,rgba(92,201,167,.05) 40%,rgba(92,201,167,.14) 100%),var(--row)}
.revitem b{font-size:17px;line-height:1.4}
.revitem p strong{display:inline-block;padding:3px 11px;margin-right:6px;border-radius:99px;background:rgba(92,201,167,.15);border:1px solid rgba(92,201,167,.5);color:#8FE3C6;font-size:13px;letter-spacing:.04em}

/* ===== audit round 3 ===== */
.tabs{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));overflow:visible!important;gap:10px}
.tabs button{display:flex;align-items:center;justify-content:center;text-align:center;line-height:1.3;border-radius:16px;min-height:50px;flex:none!important}
.fc .f{background:linear-gradient(90deg,transparent 25%,rgba(217,180,74,.07) 40%,rgba(217,180,74,.27) 100%),var(--row)}
.fc .b{background:linear-gradient(90deg,transparent 25%,rgba(217,180,74,.10) 40%,rgba(217,180,74,.34) 100%),var(--panel2)}
.fc.seen .f{border-color:var(--gold-line)}
.kt-mode .kt{padding:1px 2px;margin:0}
.orient .prose>p:first-child::first-letter,.orient .prose>.sp:first-child>p:first-child::first-letter{padding:4px 3px 0 0!important;margin-right:0}
.brand{position:relative;overflow:hidden;border-radius:14px}
.brand:hover{transform:translateY(-3px);filter:none;box-shadow:var(--glow),inset 0 0 0 999px rgba(217,180,74,.075)}
.brand::after{content:"";position:absolute;top:0;bottom:0;left:-60%;width:40%;pointer-events:none;background:linear-gradient(105deg,transparent,rgba(255,255,255,.16),transparent);transform:skewX(-18deg)}
.brand:hover::after{animation:sweep .9s ease-out}
.gtag,.ghint,.gcount span,.xring text,.xring .rl{font-size:13px}
.pager .btn,.tabnav .btn{min-width:260px}
@media(max-width:560px){.pager>.btn,.pager>div,.tabnav>.btn{flex:1 1 0;min-width:0}.pager>div .btn{flex:1 1 0;min-width:0}.pager .btn,.tabnav .btn{min-width:0;width:100%}}
.phero{position:relative;margin:14px 0 20px;padding:24px 28px 20px;border-radius:24px;border:1px solid rgba(217,180,74,.4);border-top:3px solid #D9B44A;background:linear-gradient(90deg,transparent 25%,rgba(217,180,74,.07) 40%,rgba(217,180,74,.24) 100%),linear-gradient(180deg,#25272B,#18191C);box-shadow:0 18px 40px rgba(0,0,0,.4),inset 0 1px 0 rgba(255,255,255,.07)}
.phero .eyebrow{margin-top:0}
.phero h1{margin-top:6px}
.phero p{margin:0}
.cwn,.xwn{white-space:nowrap}
.cwn{font-size:22px;min-width:0}.xwn{font-size:17px;min-width:0}
@media(max-width:760px){.cwn{font-size:19px;min-width:0}}
.tabs{grid-auto-flow:row!important;grid-auto-columns:auto!important}
@media(max-width:560px){.tabs{grid-template-columns:1fr!important}}
@media(min-width:561px) and (max-width:860px){.tabs{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))!important}}
.tabbar.eq{grid-auto-rows:1fr}

/* ===== audit round 4 ===== */
.kt-mode .kt{padding:0 1px;margin:0;box-shadow:0 0 0 1px rgba(217,180,74,.14)}
.btnrow{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));justify-content:stretch}
.btnrow>.btn,.btnrow>span,.btnrow>span .btn{width:100%;min-width:0}
.pager:has(>.btn:nth-child(2):last-child){display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
.pager:has(>.btn:nth-child(2):last-child)>.btn{width:100%;min-width:0;justify-content:center;text-align:center;white-space:normal;line-height:1.25}
.brand small{font-size:13px;letter-spacing:.1em}
.cst,.shrow .chip,.chip{font-size:13px}
.ghint,.gtag{font-size:13px}
.row .hint,.tp small,.row small,.tpt small{font-size:14px}
.tabbar button,.tabs button,.tabnav .btn{font-size:14.5px}
.rs{font-size:15px}
@media(max-width:980px){.azbar button{height:44px!important}}
.revitem p,.fc .b{font-size:15px}
.btnrow:not(:has(>:nth-child(2))){grid-template-columns:minmax(0,360px)}
.pager:has(>.btn:nth-child(2):last-child)>.btn{height:auto;min-height:48px;align-self:stretch}
@media(max-width:560px){.pager:has(>.btn:nth-child(2):last-child){grid-template-columns:1fr}}

/* audit49: text floor */
.rt small,.st,.chip,.shrow .chip,.cst,.ghint,.gtag,.gcount span,.xring text,.xring .rl,.ct2 small,.ftr,.ghelp,.revitem p strong,.rs .dc,.astrip .ag span{font-size:14px}
.top .chip{font-size:13px}

.tool small,.tool .sub,.ct2 small{font-size:14px!important}

/* final examination: Previous / Flag / Next as three equal buttons in one premium bar */
.pager.examnav{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:14px;margin-top:22px;padding:14px;border:1px solid rgba(217,180,74,.28)!important;border-radius:20px;background:linear-gradient(180deg,rgba(217,180,74,.10),rgba(255,255,255,.03));box-shadow:inset 0 1px 0 rgba(255,255,255,.08)}
.pager.examnav>div{display:contents!important}
.pager.examnav .btn{width:100%!important;min-width:0!important;height:52px;justify-content:center;text-align:center;white-space:nowrap}
@media(max-width:560px){.pager.examnav{gap:8px;padding:10px}.pager.examnav .btn{height:56px;white-space:normal;line-height:1.2;padding:6px 8px;font-size:14px}}

/* audit56 question map */
.qmap{margin-top:22px;padding:18px 20px;border-radius:16px;border:1px solid rgba(217,180,74,.35);background:rgba(255,255,255,.03)}
.qmap h3{margin:0 0 10px;font-size:18px}
.qleg{display:flex;flex-wrap:wrap;gap:8px 18px;font-size:14px;font-weight:600;color:var(--mut)}
.qleg span{display:inline-flex;align-items:center;gap:8px}
.qleg i{display:inline-block;width:18px;height:18px;border-radius:5px;border:1px solid rgba(255,255,255,.25);background:var(--row)}
.qleg i.lg-ans{background:rgba(217,180,74,.25);border-color:var(--gold)}
.qleg i.lg-fl{box-shadow:inset 0 -4px 0 var(--warn)}
.qleg i.lg-cur{outline:2px solid #fff;outline-offset:1px}
.qmap .pal{margin-top:14px}
.cwcode{font-size:14px!important}
.cwcode,.cwr0 .cwcode{min-width:44px}
.cwbar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-width:420px;margin-left:auto}
/* audit56 fixes */
.azbar button.on.cur,.azbar button.on[aria-pressed="true"],.azbar button.sel{background:var(--gold);color:#17181B}
.tabnav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.tabnav .btn{width:100%;justify-content:center}
.cwsec summary,.rail .rh,.rail button.rh,.azbar~* .azt,.azt{transition:transform .25s,box-shadow .25s,background .25s,border-color .25s}
.cwsec summary:hover,.rail .rh:hover,.azt:hover{transform:translateY(-2px);border-color:var(--gold);box-shadow:0 8px 22px rgba(217,180,74,.22);background:rgba(217,180,74,.07)}
.tfh{font-size:14px!important}

@media(max-width:760px){.cgrid{grid-template-columns:1fr}.cgrid .chd{min-height:0}}
.azbar.az-open,.azbar{background:rgb(18,19,22)!important}
.azbar button.on:focus,.azbar button.on:active,.azbar button.on.sel,.azbar button.on[aria-current]{background:var(--gold);color:#17181B}
.result .crumb{justify-content:flex-start}
/* audit57: phone exam nav = Previous + Next on one line, Mark for Follow Up full width beneath; 44px map buttons */
@media(max-width:560px){
.pager.examnav{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.pager.examnav .btn{height:52px;white-space:nowrap;font-size:15px}
.pager.examnav>div>.btn:first-child{order:1}
.pager.examnav>.btn{order:2}
.pager.examnav>div>.btn:last-child{order:3;grid-column:1/-1}
.qmap .pal button{width:44px;height:44px}
.qmap{padding:16px 14px}
}
.hero h1{overflow-wrap:anywhere}
/* audit59: chapter details open in a full-width panel under the row, tiles stay equal */
.ctile.open{grid-column:auto!important}
.ctile .cbody{display:none!important}
.cpanel{grid-column:1/-1;border-radius:20px;border:1px solid color-mix(in srgb,var(--g) 55%,transparent);background:linear-gradient(90deg,transparent 25%,color-mix(in srgb,var(--g) 7%,transparent) 40%,color-mix(in srgb,var(--g) 20%,transparent) 100%),linear-gradient(180deg,#25282D,#1C1E22);box-shadow:0 16px 38px rgba(0,0,0,.45);padding:20px 22px 24px;animation:vin .35s both}
.cpanel .cbody{display:block!important}
.ctile:not(.open) .chd,.ctile .chd{min-height:200px}
.ctile .chd{position:static}
.ctile.open{border-color:color-mix(in srgb,var(--g) 70%,transparent);box-shadow:0 0 0 1px color-mix(in srgb,var(--g) 55%,transparent),0 16px 38px rgba(0,0,0,.45)}
.ctile .chev{right:18px;bottom:18px}
@media(min-width:761px) and (max-width:1100px){.cgrid{grid-template-columns:repeat(2,minmax(0,1fr))}.cgrid>.ctile.lonely{grid-column:1/-1}}
@media(max-width:760px){.ctile .chd{min-height:0}}
.btn.off,.btn.gold.off{opacity:1;background:#3a3d45!important;color:#E8E5DD!important;border:1px solid rgba(217,180,74,.45)!important;box-shadow:none!important}
.stat:hover,.panel.stat:hover{transform:none!important;box-shadow:inherit!important}
/* audit59: tab nav buttons */
.tabnav .btn{min-height:46px}
.tabnav:has(>span:empty) .btn{grid-column:1/-1}
.lesson>main,.lesson>.box,.lesson>div:last-child{min-height:calc(100vh - var(--topH,98px) - 20px)}
@media(max-width:560px){.rail .rht small{font-size:13px;letter-spacing:.08em;white-space:nowrap}}
.confetti{z-index:0}.result>*:not(.confetti){position:relative;z-index:1}
.modal .confetti{z-index:0}.modal .confetti~*{position:relative;z-index:1}
.modal h2,.result h1,.hero h1{text-wrap:balance}
.cpanel .cbody{background:none!important;border:0!important;box-shadow:none!important;padding:0!important}
.cph{display:flex;align-items:baseline;gap:14px;margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid color-mix(in srgb,var(--g) 40%,transparent)}
.cph b{font:600 34px/1 'Fraunces',Georgia,serif;color:var(--g)}
.cph span{font:600 19px/1.3 'Fraunces',Georgia,serif;color:#fff}
/* audit60 */
.tabnav:has(>span:empty) .btn{grid-column:auto}
.tabnav:has(>span:empty:last-child) .btn{grid-column:1/-1}
.tabnav:has(>span:empty:first-child) .btn{grid-column:1/-1}
.tabnav:has(>span:empty:only-child){display:none}
.gbtns .btn{min-height:48px}
@media(min-width:1000px){.cols>.side{position:sticky;top:calc(var(--topH,98px) + 14px);align-self:flex-start}}
.ctile.lock:hover,.row.lock:hover{transform:translateY(-3px);border-color:rgba(217,180,74,.5);box-shadow:0 14px 28px rgba(0,0,0,.4),0 0 22px rgba(217,180,74,.12)}
.hero .btn:hover,.btn.line:hover{transform:translateY(-3px);box-shadow:0 12px 26px rgba(0,0,0,.4),0 0 24px rgba(217,180,74,.2)}
.azbar button.on:hover{transform:translateY(-2px);box-shadow:0 8px 18px rgba(217,180,74,.3)}
.cpanel .tp.lk{color:#E8E5DD}.cpanel .tp.lk .tpt{opacity:1}.cpanel .tp small{color:#B9BBC0}
.eyebrow{opacity:1}
footer,.foot{color:#B9BBC0}
/* audit62: hover glow */
.mt:not(.done):hover{transform:translateY(-3px);border-color:var(--gold);box-shadow:0 12px 24px rgba(0,0,0,.4),0 0 22px rgba(217,180,74,.22);background:rgba(217,180,74,.10)}
.ctile:not(.lock):hover{transform:translateY(-4px);box-shadow:0 18px 38px rgba(0,0,0,.5),0 0 28px rgba(217,180,74,.16)}
.ctile.open:hover{transform:none}
/* audit63: dimmed answers lose the gold fade; term chips glow on hover */
.opt.dim::before,.opt:disabled::before{display:none}
.kt-mode .kt:hover,.kt-mode .kt:focus-visible{background:rgba(217,180,74,.32);box-shadow:0 0 0 1px rgba(217,180,74,.55),0 0 14px rgba(217,180,74,.4)}
/* audit64: phone breadcrumb is a clean two-row stack, no orphaned separator */
@media(max-width:560px){.crumb>span[aria-hidden]{display:none}.crumb .cur{flex:1 1 100%;min-width:0;overflow-wrap:anywhere}}
/* audit65: crosswalk topic labels never shrink or overlap */
.cwn,.xwn{flex:none}
@media(max-width:760px){.cwsec summary{flex-wrap:wrap}.cwsec summary b{flex:1 1 150px;min-width:0}.cwsec summary i{flex:1 1 100%;order:5}.cwsec summary::after{order:4}}
/* audit67: phone rail header never wider than the screen */
@media(max-width:560px){.rail .rht small{white-space:normal;letter-spacing:.06em;overflow-wrap:anywhere}.rail .railhd{min-width:0;max-width:100%;box-sizing:border-box}.rail .rht b{overflow-wrap:anywhere}}
/* audit67: locked lesson rows stay calm on hover; drop cap sits tight to its word */
a.tp.lk:hover{transform:none;box-shadow:none;border-color:rgba(255,255,255,.06);background:rgba(255,255,255,.035)}
a.tp.lk:hover::after{animation:none}
.orient .prose>p:first-child::first-letter,.orient .prose>.sp:first-child>p:first-child::first-letter{padding:4px 3px 0 0!important}

/* sweep: final start stats on very narrow phones */
@media(max-width:360px){.xstats.xs2 b{white-space:normal;font-size:17px}}

/* Phone: step header title keeps long words whole at 320px */
@media(max-width:380px){.railhd .rht b{font-size:16px;overflow-wrap:break-word;word-break:normal}}

/* Sign-in screen: two-line intro and centered "forgot password" lines */
.login .l .sub2{max-width:none;line-height:1.55;margin:0}
.login .l .sub2 span{display:block}
.login .l .sub2 .s1{color:#E8E6E1}
.login .l .sub2 .s2{display:block;color:#E8CD78}
.login .l .sub2 .dv{display:flex;align-items:center;gap:14px;margin:16px 0 14px;max-width:440px}
.login .l .sub2 .dv i{flex:1;height:1px;background:linear-gradient(90deg,transparent,rgba(217,180,74,.75))}
.login .l .sub2 .dv i:last-child{background:linear-gradient(90deg,rgba(217,180,74,.75),transparent)}
.login .l .sub2 .dv b{flex:none;width:9px;height:9px;transform:rotate(45deg);background:linear-gradient(135deg,#F0D98A,#B8922F);box-shadow:0 0 14px rgba(217,180,74,.55),0 0 0 3px rgba(217,180,74,.14)}
.login .forgot span:first-child{font-weight:600;color:#D8D6D0;margin-bottom:3px}

/* Sign-in headline: each of the three lines always stays on its own line */
.login .l h1 .ln1,.login .l h1 .ln2,.login .l h1 .ln3{white-space:nowrap}
@media(max-width:380px){.login .l h1{font-size:34px}}

/*terms-a*/
.kt-mode .kt{background:none!important;box-shadow:none!important;padding:0!important;margin:0!important;border-radius:0!important;color:#fff;font-weight:700;border-bottom:1px dotted rgba(217,180,74,.8)!important}
.kt-mode .kt:hover,.kt-mode .kt:focus-visible{background:none!important;box-shadow:none!important;color:#F4DD92;border-bottom:1px solid #D9B44A!important}

/*fold-wrap*/
.callout.folded .ct{flex-wrap:wrap;row-gap:8px}
.callout.folded .ct .cs{white-space:normal;min-width:0}
/*sb-block*/
.sf .sb{display:block}
/*ct-wrap*/
.callout .ct{flex-wrap:wrap;row-gap:4px}

/* Login headline: on phones the lines may wrap instead of running off screen */
@media(max-width:700px){
  .login .l h1 .ln1,.login .l h1 .ln2,.login .l h1 .ln3,.login .l h1 em{white-space:normal!important;max-width:100%;overflow-wrap:break-word}
  .login .l{min-width:0;max-width:100vw;overflow-x:clip}
  .login{overflow-x:clip}
}
