/* ===== StudyVerse engine styles (on top of base.css) ===== */
body{font-family:Nunito,'Noto Sans Devanagari',system-ui,sans-serif}
.map{height:calc(100vh - 250px)}
#cmap{height:calc(100vh - 200px)}
.node{cursor:pointer}
.hello{color:#fff;font-family:'Baloo 2';font-weight:800;font-size:19px;margin:2px 4px 8px;line-height:1.15}
.hello small{display:block;font-family:Nunito;font-weight:700;font-size:12px;color:#c9d1ff}
.back{background:rgba(255,255,255,.12);color:#fff;border:none;border-radius:12px;padding:8px 12px;font-family:inherit;font-weight:800;font-size:13px;margin-bottom:8px;cursor:pointer}
.empty{color:#fff;padding:40px 20px;text-align:center}
.note{color:rgba(255,255,255,.6);font-size:12px;text-align:center;margin:4px 0 10px}
/* onboarding */
.ob{padding-top:24px;text-align:center;color:#fff}
.ob h1{font-family:'Baloo 2';font-size:28px;line-height:1.1;margin:6px 0}
.ob h1 span{color:var(--sun)}
.ob p{color:#c9d1ff;margin-bottom:16px;font-weight:600}
.ob .card{text-align:left;color:var(--ink)}
.ob-hero{font-size:64px}
.ob input{width:100%;margin-top:14px;border:2px solid #dfe2f5;border-radius:14px;padding:12px;font-family:inherit;font-size:16px;font-weight:700}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}
.grid5{display:grid;grid-template-columns:repeat(5,1fr);gap:7px;margin-top:8px}
.grid6{display:grid;grid-template-columns:repeat(6,1fr);gap:7px}
.choice{border:2px solid #e3e6f6;background:#fff;border-radius:14px;padding:12px 6px;font-family:'Baloo 2';font-weight:800;font-size:16px;cursor:pointer;color:var(--ink);display:flex;flex-direction:column;align-items:center;gap:2px}
.choice small{font-family:Nunito;font-size:9.5px;color:var(--muted);font-weight:700;line-height:1.1;text-align:center}
.choice.big b{font-size:22px}
.choice.off{opacity:.5}
.choice.sel,.choice:active{border-color:var(--violet);background:#f1efff}
.choice.av{font-size:26px;padding:8px 0}
/* chapter screen */
.chead{display:flex;gap:12px;align-items:center}
.cemoji{font-size:44px}
.tcard{display:flex;align-items:center;gap:12px;width:100%;text-align:left;background:#fff;border:none;border-radius:18px;padding:12px;margin-bottom:10px;cursor:pointer;box-shadow:0 6px 18px rgba(0,0,0,.18);font-family:inherit;color:var(--ink)}
.tcard .tnum{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#f1efff;color:var(--violet);font-family:'Baloo 2';font-weight:800;font-size:17px;flex-shrink:0}
.tcard.done .tnum{background:var(--mint);color:#fff}
.tcard .tbody{flex:1;min-width:0}.tcard b{display:block;font-size:15px}.tcard span{display:block;font-size:12.5px;color:var(--muted);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tstars{font-size:12px;letter-spacing:-1px;color:#c9cde6}
/* topic player */
.tbar{display:flex;align-items:center;gap:10px;margin:4px 0 12px;color:#fff}
.tbar .x{background:rgba(255,255,255,.14);border:none;color:#fff;width:34px;height:34px;border-radius:50%;font-size:15px;cursor:pointer}
.pills{flex:1;display:flex;gap:4px}
.pills i{flex:1;height:8px;border-radius:9px;background:rgba(255,255,255,.18)}
.pills i.done{background:var(--mint)}.pills i.on{background:var(--sun);box-shadow:0 0 10px var(--sun)}
.stepname{font-family:'Baloo 2';font-weight:800;font-size:14px;min-width:42px;text-align:right}
.point{display:flex;gap:10px;align-items:flex-start;background:#f7f8ff;border-radius:14px;padding:10px 12px;margin-top:8px;font-weight:700;font-size:15px;line-height:1.35}
.point span{width:24px;height:24px;border-radius:50%;background:var(--violet);color:#fff;display:grid;place-items:center;font-size:12px;flex-shrink:0;margin-top:1px}
.exq{background:#fff8e1;border-radius:14px;padding:12px;font-weight:800;font-size:15.5px;margin-bottom:8px}
.exstep{background:#f1efff;border-radius:12px;padding:9px 12px;margin-top:6px;font-weight:700;font-size:14.5px}
.exans{background:#e3fbf3;border-radius:12px;padding:10px 12px;margin:8px 0;font-weight:800;color:#0f7a5c;font-size:16px}
.card .reallife,.reallife.card{background:#fff8e1;font-size:14.5px;font-weight:600}
.qtext{font-size:20px;margin:8px 0 4px}
.explain{margin-top:12px;border-radius:18px;padding:12px;animation:pop .35s ease}
.explain.good{background:linear-gradient(#ecfdf6,#e0f8ef)}.explain.bad{background:linear-gradient(#fff5f5,#ffeaea)}
.verdict{font-family:'Baloo 2';font-weight:800;font-size:18px;margin-bottom:6px}
.vis{background:#fff;border-radius:14px;padding:6px;margin:6px 0}
.vis svg{width:100%;height:auto;display:block}
.bigans{font-family:'Baloo 2';font-weight:800;font-size:30px;text-align:center;background:#fff;border-radius:14px;padding:12px;color:var(--violet);margin:6px 0}
.why{font-weight:700;font-size:15px;line-height:1.4;margin:6px 2px}
/* games */
.game h3{margin:4px 0 8px}
.ghead{display:flex;justify-content:space-between;align-items:center}
.gtype{font-weight:800;font-size:12px;color:var(--violet);background:#f1efff;border-radius:999px;padding:3px 10px}
.timer{font-family:'Baloo 2';font-weight:800;background:#eef0fb;border-radius:10px;padding:3px 10px}
.timer.hot{background:var(--coral);color:#fff;animation:pl .5s infinite}
.mgrid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.mbtn{display:block;width:100%;min-height:52px;margin-bottom:8px;border:2px solid #e3e6f6;background:#fff;border-radius:14px;padding:8px;font-family:inherit;font-weight:800;font-size:14px;cursor:pointer;color:var(--ink)}
.mbtn.sel{border-color:var(--violet);background:#f1efff;transform:scale(1.03)}
.mbtn.ok{border-color:var(--mint);background:#e3fbf3;opacity:.65}
.shake{animation:shk .4s}@keyframes shk{25%{transform:translateX(-6px)}75%{transform:translateX(6px)}}
.scard,.tfcard,.spq{font-family:'Baloo 2';font-weight:800;font-size:22px;text-align:center;background:linear-gradient(135deg,#f1efff,#e8f4ff);border-radius:20px;padding:26px 14px;margin:10px 0;line-height:1.25}
.tfcard{font-size:19px}.tfcard.good{background:#e3fbf3}.tfcard.bad{background:#ffecec}
.sbuckets{display:flex;gap:8px}
.sbk{flex:1;border:none;border-radius:16px;padding:16px 6px;font-family:'Baloo 2';font-weight:800;font-size:16px;color:#fff;background:var(--blue);box-shadow:0 4px 0 #2563c9;cursor:pointer}
.sbk:nth-child(2){background:var(--coral);box-shadow:0 4px 0 #c94f4f}.sbk:nth-child(3){background:var(--mint);box-shadow:0 4px 0 #1a9c78}
.sbk.flash-ok{filter:brightness(1.25);transform:scale(1.05)}.sbk.flash-no{animation:shk .4s}
.sfb{text-align:center;color:var(--muted);font-weight:700;margin-top:10px;font-size:14px}
.otrack{min-height:46px;display:flex;flex-wrap:wrap;gap:6px;background:#f7f8ff;border-radius:14px;padding:8px;margin-bottom:10px}
.ostep{background:var(--mint);color:#fff;border-radius:10px;padding:6px 10px;font-weight:800;font-size:13px}
.oarrow{color:var(--muted);font-weight:800;align-self:center}
.otrack{align-items:center}
.opool{display:flex;flex-wrap:wrap;gap:8px}
.ochip{border:2px solid #e3e6f6;background:#fff;border-radius:12px;padding:10px 12px;font-family:inherit;font-weight:800;font-size:14px;cursor:pointer;color:var(--ink)}
.ochip.used{opacity:.25}
.tfbtns{display:flex;gap:8px}.tfbtns .btn{flex:1}.tfbtns .no{background:var(--coral);box-shadow:0 4px 0 #c94f4f}
.tfwhy{font-weight:700;font-size:14.5px;line-height:1.4}.tfwhy .btn{margin-top:10px}
.fsent{font-weight:800;font-size:19px;text-align:center;background:#f7f8ff;border-radius:16px;padding:18px 12px;margin:10px 0;line-height:1.5}
.blank{display:inline-block;min-width:54px;border-bottom:3px dashed var(--violet);color:var(--violet);padding:0 6px}
.blank.ok{color:#0f7a5c;border-color:var(--mint)}.blank.no{color:#c94f4f;border-color:var(--coral)}
.gdone{font-family:'Baloo 2';font-weight:800;font-size:22px;text-align:center;margin:16px 0 12px}
/* done */
.done-card{text-align:center;position:relative;overflow:hidden}
.bigstars{font-size:44px;margin:6px 0}
.bigstars span{display:inline-block;filter:grayscale(1) opacity(.3);transform:scale(.5)}
.bigstars span.on{animation:starin .5s cubic-bezier(.2,1.8,.4,1) forwards}
@keyframes starin{to{filter:none;transform:scale(1)}}
.confetti{position:absolute;inset:0;pointer-events:none}
.confetti span{position:absolute;top:-30px;font-size:20px;animation:conf 2.2s ease-in forwards}
@keyframes conf{to{transform:translateY(520px) rotate(360deg);opacity:0}}
.done-card .dna{text-align:left}
/* me */
.mecard{display:flex;gap:14px;align-items:center}.meav{font-size:52px}
.statrow{display:flex;justify-content:space-around;text-align:center}.statrow b{font-family:'Baloo 2';font-size:24px;display:block}.statrow span{font-size:12px;color:var(--muted);font-weight:800}
.row .av{background:#f1efff}
/* labs */
.labsvg{width:100%;height:auto;touch-action:none;background:linear-gradient(#f7f8ff,#eef1ff);border-radius:18px;display:block}
.readout{display:flex;justify-content:space-between;align-items:center;margin-top:10px}
/* map animations */
.rise{animation:rise 8s linear infinite}@keyframes rise{to{transform:translateY(-900px);opacity:0}}
.fall{animation:fall 10s linear infinite}@keyframes fall{from{transform:translateY(-200px)}to{transform:translateY(900px)}}
.swim{animation:swim 14s linear infinite}@keyframes swim{from{transform:translateX(-260px)}to{transform:translateX(260px)}}
.sway{animation:sway 3.5s ease-in-out infinite;transform-box:fill-box;transform-origin:bottom}@keyframes sway{50%{transform:rotate(8deg)}}
.drift{animation:cl 50s linear infinite}
.popin{animation:popin .45s cubic-bezier(.2,1.6,.4,1) both;transform-box:fill-box;transform-origin:center}
@keyframes popin{from{opacity:0;transform:scale(.3)}to{opacity:1;transform:scale(1)}}
.grow{animation:grow .8s cubic-bezier(.2,1.2,.4,1) both;transform-box:view-box}@keyframes grow{from{transform:scaleY(0)}}
.growx{animation:growx 1s ease both;transform-box:fill-box;transform-origin:left}@keyframes growx{from{transform:scaleX(0)}}
.drawall *{stroke-dasharray:900;stroke-dashoffset:900;animation:drw 1.8s ease forwards}@keyframes drw{to{stroke-dashoffset:0}}
.bob{transform-box:fill-box}

/* 3D concept studio */
.s3dhost{width:100%}
.s3d{position:relative;width:100%;height:330px;border-radius:18px;overflow:hidden;background:radial-gradient(circle at 50% 40%,#2b3a7a,#0d1433);touch-action:none}
.s3d canvas{width:100%;height:100%;display:block;touch-action:none}
.s3d.full{position:fixed;inset:0;height:100%;border-radius:0;z-index:50}
.s3d-cap{position:absolute;left:10px;top:8px;color:#fff;font-size:11.5px;font-weight:800;background:rgba(0,0,0,.35);padding:4px 9px;border-radius:999px;pointer-events:none}
.s3d-full{position:absolute;right:8px;top:6px;background:rgba(255,255,255,.18);color:#fff;border:none;border-radius:10px;width:32px;height:30px;font-size:16px;cursor:pointer}
.s3d-btns{position:absolute;left:8px;right:8px;bottom:8px;display:flex;gap:6px;flex-wrap:wrap;justify-content:center}
.s3d-btns button{background:rgba(255,255,255,.92);border:none;border-radius:12px;padding:7px 11px;font-family:inherit;font-weight:800;font-size:12.5px;color:#1b1f3a;cursor:pointer}
.s3d-info{position:absolute;left:10px;right:10px;bottom:52px;background:rgba(255,255,255,.96);border-radius:14px;padding:9px 12px;font-weight:700;font-size:13.5px;opacity:0;transform:translateY(8px);transition:.25s;pointer-events:none}
.s3d-info.show{opacity:1;transform:none}
.spk{border:none;background:#eef0fb;border-radius:50%;width:30px;height:30px;font-size:14px;cursor:pointer;vertical-align:middle;flex-shrink:0;margin-left:4px}
.point{align-items:center}.point div{flex:1}
#sheet3d .sheet-in{max-height:92vh;overflow:auto}
/* Concept Labs host */
.lab-box{width:100%}
.lab-loading{color:var(--muted);font-weight:700;padding:20px;text-align:center}
.lab-win{display:none;margin-top:10px;background:#e3fbf3;color:#0f7a5c;border-radius:14px;padding:10px 12px;font-weight:800;animation:pop .35s ease}
.lab-win.show{display:block}
select{border:2px solid #e3e6f6;border-radius:10px;padding:6px;font-family:inherit;font-weight:700;max-width:58%}

.lb3d-ch{font-weight:800;font-size:14px;margin-bottom:8px;color:#1b1f3a}
/* read-along */
.ra-w{border-radius:6px;transition:background .12s,box-shadow .12s,color .12s}
.ra-w.on{background:#ffd84d;box-shadow:0 0 0 3px #ffd84d;color:#1b1f3b}
.ra-reading{box-shadow:0 0 0 3px #8b7bff66 !important;border-color:#8b7bff !important}
.spk.ra-play{background:#8b7bff;color:#fff;animation:raPulse 1s ease-in-out infinite}
@keyframes raPulse{50%{transform:scale(1.12)}}
.spq .spk,.fsent .spk,.tfcard .spk{width:36px;height:36px;font-size:16px;margin-left:8px}
/* memory garden, goal, badges, duels */
.gplant{position:relative;font-size:18px;margin-right:4px}.gplant i{position:absolute;right:-6px;top:-6px;font-size:11px;font-style:normal;animation:bob 1.4s ease-in-out infinite}
.gplant.wilt{filter:saturate(.5)}
.goalmini{display:inline-block;vertical-align:middle;margin-left:8px;color:#fff}
.q3bar{display:flex;align-items:center;justify-content:space-between;gap:8px;background:linear-gradient(90deg,#2ed3a5,#3bb3f6);color:#fff;border-radius:16px;padding:9px 10px 9px 14px;margin:0 0 12px;font-size:14px;box-shadow:0 6px 18px rgba(0,0,0,.18)}
.q3bar button{border:none;background:#fff;color:#0f6d58;font-weight:800;border-radius:12px;padding:8px 12px;font-family:'Baloo 2';font-size:15px;cursor:pointer;white-space:nowrap}
.goalcard{display:flex;gap:14px;align-items:center}.goalcard h2{margin:0}.goalcard .gring{color:var(--ink)}.goalcard .gring .goalring circle:first-child{stroke:#eef0fb}
.sub.small{font-size:12.5px;opacity:.8}
.garden{margin-top:12px}.gsub{margin-top:10px}.gsub>b{font-size:14px}
.gbed{display:grid;grid-template-columns:repeat(auto-fill,minmax(74px,1fr));gap:8px;margin-top:6px}
.gcell{background:#f1fbf5;border-radius:14px;padding:8px 6px 6px;text-align:center;position:relative;overflow:hidden}
.gcell span{font-size:26px;display:block}.gcell small{display:block;font-size:10.5px;line-height:1.2;margin-top:3px;color:#4b5175;max-height:2.4em;overflow:hidden}
.gcell i{display:block;height:4px;border-radius:4px;background:#2ed3a5;margin:4px auto 0}
.gcell.thirsty{background:#eaf6ff}.gcell.thirsty i{background:#3bb3f6}.gcell.wilt{background:#fff4ec}.gcell.wilt i{background:#ff9f43}
.gbig{font-size:54px;text-align:center}
.bgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:8px}
.bdg{background:#f4f5fb;border-radius:14px;padding:8px 4px;text-align:center;opacity:.45;filter:grayscale(1)}
.bdg.on{opacity:1;filter:none;background:#fff7e0;box-shadow:0 0 0 2px #ffc93c inset}.bdg b{font-size:24px;display:block}.bdg span{font-size:11px;line-height:1.2;display:block}
.vsrow{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:12px 0}.vsrow>div{flex:1;background:#f4f5fb;border-radius:14px;padding:10px;text-align:center}
.vsrow b{display:block}.vsrow span{font-size:13px;color:#4b5175}.vsrow .vsx{flex:0;background:none;font-weight:900;color:var(--violet)}
.duelcard input,#dName{width:100%;padding:12px;border-radius:14px;border:2px solid #e3e6f5;font-size:16px;margin:8px 0 10px;font-family:inherit}
.btn:disabled{opacity:.5;cursor:default}
.choice.stream,.choice.subj{width:100%;text-align:left;margin-bottom:8px;display:block}
.choice.stream small,.choice.subj small{display:block;font-weight:600;opacity:.75;margin-top:2px}
/* ask gappu */
.askfab{position:fixed;right:max(10px,calc(50% - 210px));bottom:calc(86px + env(safe-area-inset-bottom));z-index:6;border:3px solid #fff;border-radius:999px;background:linear-gradient(135deg,#ffc93c,#ff8a3c);color:#2b1a00;font-family:'Baloo 2';font-weight:800;font-size:12px;padding:4px 10px 4px 6px;opacity:.95;display:flex;align-items:center;gap:6px;box-shadow:0 8px 20px rgba(0,0,0,.3);cursor:pointer;animation:askBob 3s ease-in-out infinite}
.askfab span{font-size:18px}@keyframes askBob{50%{transform:translateY(-4px)}}
.asksheet{position:fixed;inset:0;background:rgba(10,14,40,.55);z-index:50;display:none;align-items:flex-end;justify-content:center}
.asksheet.show{display:flex}
.ask-in{background:#f6f7fd;width:100%;max-width:440px;height:88vh;border-radius:24px 24px 0 0;display:flex;flex-direction:column;overflow:hidden;animation:askUp .25s ease-out}
@keyframes askUp{from{transform:translateY(40px);opacity:.4}}
.ask-head{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;background:#fff;box-shadow:0 2px 10px rgba(0,0,0,.06)}
.ask-head b{font-size:17px;display:block}.ask-head small{color:#5f6485;font-size:12px}
.ask-x{border:none;background:#eef0fb;border-radius:50%;width:34px;height:34px;font-size:16px;cursor:pointer}
.ask-log{flex:1;overflow-y:auto;padding:12px}
.ask-msg{display:flex;margin-bottom:10px}.ask-msg.me{justify-content:flex-end}
.ask-bubble{max-width:85%;padding:10px 13px;border-radius:16px;background:#fff;font-size:14.5px;line-height:1.45;box-shadow:0 2px 6px rgba(0,0,0,.06)}
.ask-msg.me .ask-bubble{background:var(--violet,#8b5cf6);color:#fff;border-bottom-right-radius:4px}
.ask-think span{animation:blink 1s infinite}.ask-think span:nth-child(2){animation-delay:.2s}.ask-think span:nth-child(3){animation-delay:.4s}@keyframes blink{50%{opacity:.2}}
.ask-card{background:#fff;border-radius:18px;padding:13px 14px;box-shadow:0 4px 14px rgba(0,0,0,.08);width:100%;font-size:14.5px;line-height:1.5}
.ask-card h3{margin:2px 0 8px;font-size:17px}.ask-src{font-size:11.5px;color:#5f6485;font-weight:700}
.ask-sec{margin:8px 0;padding:8px 10px;background:#f6f7fd;border-radius:12px}.ask-sec b{display:block;font-size:13px;margin-bottom:2px}
.ask-sec p{margin:2px 0}.ask-sec ul,.ask-sec ol{margin:2px 0;padding-left:20px}.ask-sec.rem{background:#effaf5}.ask-sec.trap{background:#fff3ef}
.ask-acts{margin-top:8px}.ask-alts{margin-top:10px;display:flex;flex-wrap:wrap;gap:6px}.ask-alts small{width:100%;color:#5f6485}
.ask-alt{border:1.5px solid #e3e6f5;background:#fff;border-radius:999px;padding:6px 11px;font-size:12.5px;cursor:pointer;font-family:inherit}.ask-alt i{color:#8b8fb0;font-style:normal;font-size:11px}
.ask-trust{margin-top:8px;font-size:11.5px;color:#0f7a5c;font-weight:700}
.ask-bar{display:flex;gap:6px;padding:10px;background:#fff;padding-bottom:calc(10px + env(safe-area-inset-bottom))}
.ask-bar input{flex:1;border:2px solid #e3e6f5;border-radius:14px;padding:11px 12px;font-size:15px;font-family:inherit;min-width:0}
.ask-bar button{border:none;border-radius:12px;min-width:42px;font-size:17px;cursor:pointer;background:#eef0fb}
.ask-go{background:var(--violet,#8b5cf6)!important;color:#fff}.ask-mic.on{background:#ff6b6b!important;color:#fff;animation:raPulse 1s infinite}.ask-lang{font-weight:800;font-size:13px!important}
/* revision cards, tests */
.rvcard{background:#fff;border-radius:18px;padding:13px 14px;margin-bottom:12px;box-shadow:0 4px 14px rgba(0,0,0,.08);color:var(--ink,#1b1f3a)}
.rv-top{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.rv-top h3{margin:0;font-size:16px}
.rv-n{display:inline-flex;width:24px;height:24px;border-radius:50%;background:var(--violet,#8b5cf6);color:#fff;font-size:13px;align-items:center;justify-content:center;margin-right:4px}
.rv-lv{color:#fff;font-size:10.5px;font-weight:800;border-radius:999px;padding:3px 8px;white-space:nowrap}
.rv-sum{font-size:15px;line-height:1.45;margin:8px 0;font-weight:600}
.rv-sec{margin:7px 0;padding:8px 10px;background:#f6f7fd;border-radius:12px;font-size:14px}.rv-sec b{font-size:12.5px}.rv-sec ul{margin:3px 0;padding-left:20px}
.rv-sec.rem{background:#effaf5}.rv-sec.trap{background:#fff3ef}
.rv-acts{display:flex;gap:8px;align-items:center;margin-top:6px}.rv-acts .btn{width:auto;flex:1;padding:9px 12px;font-size:15px}
.rv-st{font-size:12.5px;font-weight:800;margin-top:6px}
.rv-filter{display:flex;gap:6px;overflow-x:auto;padding:2px 0 10px}.rv-filter button,.ch-btns button{border:none;background:#fff;border-radius:999px;padding:8px 13px;font-weight:800;font-family:inherit;font-size:13px;white-space:nowrap;cursor:pointer;box-shadow:0 3px 8px rgba(0,0,0,.12)}
.rv-filter button.on{background:var(--violet,#8b5cf6);color:#fff}
.ch-tools{margin:0 0 12px}.ch-btns{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0}.sub-btns{margin:4px 12px 10px}
.ch-ready{display:flex;align-items:center;gap:8px;background:#fff;border-radius:14px;padding:8px 12px;margin-bottom:6px;font-size:13px;font-weight:700}
.ready-bar{flex:1;height:10px;background:#eef0fb;border-radius:999px;overflow:hidden}.ready-bar i{display:block;height:100%;background:linear-gradient(90deg,#ff9f43,#2ed3a5);border-radius:999px}
.ready{margin:12px 0}.ready b{display:block;margin-top:6px}.ready small{color:#5f6485;font-size:12px}
.tst-top{display:flex;justify-content:space-between;align-items:center}.tst-time{font-weight:800;color:#5f6485;font-size:13px}
.opt.sel{border-color:var(--violet,#8b5cf6)!important;background:#f1ecff!important}
.tst-conf{margin-top:10px;display:none;text-align:center}.tst-conf.show{display:block;animation:askUp .2s}
.tst-conf>div{display:flex;gap:8px;margin-top:6px}.tst-conf button{flex:1;border:2px solid #e3e6f5;background:#fff;border-radius:14px;padding:8px 4px;font-weight:800;font-family:inherit;font-size:13px;cursor:pointer}
.tst-conf button span{display:block;font-size:24px}
.tst-how{background:#f6f7fd;border-radius:14px;padding:10px 12px;margin:10px 0;text-align:left;font-size:14px}
.tst-mix{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:8px}.tst-mix div{border-radius:12px;padding:8px 2px;text-align:center;background:#f6f7fd}.tst-mix b{display:block;font-size:20px}.tst-mix span{font-size:10.5px;font-weight:700}
.tst-mix .solid{background:#e7f8f1}.tst-mix .luck{background:#fff8dc}.tst-mix .gap{background:#fff1e3}.tst-mix .mis{background:#ffe9e9}
.tst-row{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:9px 10px;border-radius:12px;margin-top:6px;background:#f6f7fd}
.tst-row small{display:block;color:#5f6485;font-size:12px}.tst-row.mis{background:#ffe9e9}.tst-row.gap{background:#fff1e3}.tst-row.luck{background:#fff8dc}
.tst-acts{display:flex;flex-direction:column;gap:4px}.tst-acts button{border:none;background:#fff;border-radius:10px;padding:6px 8px;font-weight:800;font-size:12px;cursor:pointer;white-space:nowrap}
.tst-rev{padding:9px 0;border-bottom:1px solid #eef0fb;font-size:14px}.tst-rev p{margin:4px 0}.tst-rev .why{color:#4b5175;font-size:13px}.tst-rev.no b:first-child{color:#c0392b}
@media print{nav,.askfab,.back,.rv-filter,.rv-acts,header,.hdr{display:none!important}.rvcard{box-shadow:none;border:1px solid #ddd;break-inside:avoid}body{background:#fff}}
.screen.active{padding-bottom:70px}
/* text size (zoom keeps every layout in proportion) */
:root{--z:1.08}
.app{zoom:var(--z);width:calc(100vw / var(--z));max-width:calc(440px / var(--z))}
.sheet-in,.ask-in{zoom:var(--z)}
.sheet-in,.ask-in{max-width:calc(min(100vw,440px) / var(--z))}
.ask-in{height:calc(88vh / var(--z))}
.uxbtn{border:none;color:#fff;font-family:'Baloo 2';font-weight:800;cursor:pointer;font-size:14px}
.ux-sizes{display:flex;gap:6px}.ux-sizes button{flex:1;border:2px solid #e3e6f5;background:#fff;border-radius:14px;padding:8px 2px;cursor:pointer;font-family:inherit}
.ux-sizes button span{display:block;font-weight:800}.ux-sizes button small{font-size:10px;color:#5f6485}.ux-sizes button.on{border-color:var(--violet);background:#f1ecff}
.ux-prev{margin-top:10px;background:#f6f7fd;border-radius:12px;padding:10px;font-size:15px}
.ux-row{display:flex;gap:10px;align-items:center;justify-content:space-between;padding:10px 0;border-bottom:1px solid #eef0fb}
.ux-row span b{display:block}.ux-row small{color:#5f6485;font-size:12.5px}.ux-row input{width:24px;height:24px;flex:none}
.lab-box{position:relative}.lab-spk{position:absolute;top:6px;right:6px;z-index:3}
.optn{display:inline-flex;width:22px;height:22px;border-radius:50%;background:#eef0fb;font-size:12px;font-weight:800;align-items:center;justify-content:center;margin-right:8px}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
/* slightly larger base reading text */
p.sub{font-size:15px}.opt{font-size:16.5px}.bubble{font-size:16.5px}
.tst-ic{border:none;background:#eef0fb;border-radius:10px;width:34px;height:30px;cursor:pointer;font-size:15px}.tst-ic.on{background:#ffe9a8}
.tst-top{gap:6px}.tst-top .tag{margin-right:auto}
.tst-conf button.on{border-color:var(--violet);background:#f1ecff}
.tst-nav{display:flex;gap:6px;margin-top:12px}.tst-nav .btn{padding:11px 6px;font-size:15px}.tst-nav .btn:disabled{opacity:.4}.tst-mark.on{background:#fff1d6}
.tst-pal{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.tst-pal button{width:38px;height:38px;border-radius:10px;border:2px solid #e3e6f5;background:#fff;font-weight:800;cursor:pointer}
.tst-pal button.done{background:#ede6ff;border-color:#c9b6ff}.tst-pal button.mark{background:#fff1d6;border-color:#ffb84d}.tst-pal button.cur{outline:3px solid var(--violet)}
.tst-pal small{width:100%;color:#5f6485}.tst-sol{margin:4px 0 0 18px;font-size:13px;color:#2f3456}
/* navigation */
.gsearch{display:flex;align-items:center;gap:8px;background:#fff;border-radius:16px;padding:4px 12px;margin:0 0 10px;box-shadow:0 6px 18px rgba(0,0,0,.2)}
.gsearch input{flex:1;border:none;outline:none;font-size:15px;padding:9px 0;font-family:inherit;min-width:0}
.gs-res{margin-bottom:8px}.gs-hit{display:block;width:100%;text-align:left;background:#fff;border:none;border-radius:14px;padding:10px 12px;margin-bottom:6px;cursor:pointer;font-family:inherit}
.gs-hit b{display:block;font-size:15px}.gs-hit small{color:#5f6485;font-size:12px}.gs-none{color:#fff!important}
.viewtgl{display:flex;background:rgba(255,255,255,.14);border-radius:14px;padding:4px;margin:0 0 10px}.viewtgl button{flex:1;border:none;background:none;color:#fff;font-weight:800;font-family:inherit;font-size:14px;padding:8px;border-radius:10px;cursor:pointer}
.viewtgl button.on{background:#fff;color:var(--ink)}
.chfilter{display:flex;gap:6px;overflow-x:auto;padding-bottom:8px}.chfilter button{border:none;background:rgba(255,255,255,.16);color:#fff;border-radius:999px;padding:7px 12px;font-weight:800;font-family:inherit;font-size:12.5px;white-space:nowrap;cursor:pointer}.chfilter button.on{background:#fff;color:var(--ink)}
.chrow{display:flex;align-items:center;gap:10px;width:100%;text-align:left;background:#fff;border:none;border-radius:16px;padding:11px 12px;margin-bottom:8px;cursor:pointer;font-family:inherit;box-shadow:0 4px 12px rgba(0,0,0,.15)}
.chn{width:30px;height:30px;border-radius:50%;background:#eef0fb;display:flex;align-items:center;justify-content:center;font-weight:800;flex:none}
.chm{flex:1;min-width:0}.chm b{display:block;font-size:15px}.chm small{color:#5f6485;font-size:12px}.chgo{font-size:22px;color:#b6b9d4}
.chbar{display:block;height:6px;background:#eef0fb;border-radius:9px;margin-top:5px;overflow:hidden}.chbar>i{display:block;height:100%;background:var(--mint);border-radius:9px}
.anrow{padding:9px 0;border-bottom:1px solid #eef0fb}.anrow small{display:block;color:#5f6485;font-size:12.5px}.anrow .anweak{color:#c0392b}

nav{left:0;right:0;margin:0 auto;transform:none}
header{gap:6px;flex-wrap:nowrap}header .stats{gap:5px;flex-wrap:nowrap}header .pill{padding:5px 8px}
[data-ts=XL] header .brand,[data-ts=XXL] header .brand{display:none}
[data-ts=XL] header,[data-ts=XXL] header{justify-content:flex-end}
nav{zoom:var(--znav);width:calc(100vw / var(--zn));max-width:calc(440px / var(--zn))}
:root{--zn:1.08;--znav:1}
nav button{flex:1;min-width:0;padding:4px 2px}

/* arcade */
.arc-menu{animation:pop .3s ease}
.arc-hdr{display:flex;gap:12px;align-items:center}
.arc-hdr-e{font-size:42px;line-height:1;animation:arcBob 2.4s ease-in-out infinite}
.arc-hdr .sub{margin:2px 0 0}
.arc-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px}
.arc-card{border:none;border-radius:20px;padding:14px 12px 12px;text-align:left;color:#fff;font-family:inherit;cursor:pointer;display:flex;flex-direction:column;gap:4px;min-height:156px;background:linear-gradient(150deg,var(--c1),var(--c2));box-shadow:0 5px 0 rgba(0,0,0,.28),0 10px 20px rgba(0,0,0,.2);animation:popin .4s both;position:relative;overflow:hidden;transition:transform .1s}
.arc-card::after{content:'';position:absolute;top:-40%;right:-30%;width:70%;height:90%;border-radius:50%;background:rgba(255,255,255,.12);pointer-events:none}
.arc-card:active{transform:translateY(3px) scale(.98)}
.arc-ce{font-size:34px;line-height:1.1}
.arc-card b{font-family:'Baloo 2',inherit;font-size:17px;line-height:1.1}
.arc-cd{font-size:12.5px;font-weight:600;line-height:1.3;flex:1}
.arc-cc{font-size:11px;font-weight:800;background:rgba(0,0,0,.25);border-radius:999px;padding:3px 9px;align-self:flex-start}
.arc-c-boss{--c1:#ef4444;--c2:#991b1b}.arc-c-lightning{--c1:#ea580c;--c2:#9a3412}.arc-c-memory{--c1:#8b5cf6;--c2:#5b21b6}.arc-c-storm{--c1:#0284c7;--c2:#1e3a8a}
.arc-c-odd{--c1:#059669;--c2:#064e3b}.arc-c-chain{--c1:#db2777;--c2:#831843}.arc-c-quizshow{--c1:#6366f1;--c2:#312e81}.arc-c-snakes{--c1:#16a34a;--c2:#14532d}
.arc-bar{display:flex;align-items:center;gap:10px;color:#fff;margin:2px 0 10px}
.arc-bar b{font-family:'Baloo 2',inherit;font-size:20px}
.arc-quit{border:none;background:rgba(255,255,255,.16);color:#fff;border-radius:999px;padding:8px 13px;min-height:40px;font-family:inherit;font-weight:800;font-size:13px;cursor:pointer}
.arc-src{display:inline-block;font-size:11.5px;font-weight:800;color:#4c3aa8;background:#f1ecff;border-radius:999px;padding:3px 10px;margin-bottom:8px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:top}
.arc-qt{font-weight:800;font-size:17px;line-height:1.38;margin-bottom:4px}
.arc-opt{display:flex;align-items:center;gap:10px;min-height:52px;transition:opacity .3s,transform .3s}
.arc-l{flex:none;width:28px;height:28px;border-radius:50%;background:#eef0fb;color:var(--violet);display:grid;place-items:center;font-size:13px;font-weight:800}
.arc-ot{flex:1}
.arc-opt.right .arc-l{background:var(--mint);color:#fff}.arc-opt.wrong .arc-l{background:var(--coral);color:#fff}
.arc-opt.arc-gone{opacity:.22;transform:scale(.96)}
.arc-in{animation:arcIn .35s ease both}
@keyframes arcIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.arc-exp{border-radius:14px;padding:10px 12px;margin-top:10px;font-size:14px;animation:arcIn .3s ease both;text-align:left}
.arc-exp.good{background:#e3fbf3}.arc-exp.bad{background:#fff1ec}
.arc-exp p{margin-top:4px;color:#3b4064}
.arc-x .btn{margin-top:10px}
.arc-float{position:absolute;left:50%;top:6%;font-family:'Baloo 2',inherit;font-weight:800;font-size:28px;color:#fff;text-shadow:0 2px 0 #b91c1c;pointer-events:none;animation:arcFloat .9s ease-out forwards;z-index:4;white-space:nowrap}
.arc-float.big{font-size:36px;color:#ffe066}
.arc-float.pts{left:auto;right:18px;top:44px;color:#ffe066;text-shadow:0 2px 0 #7c2d12}
@keyframes arcFloat{0%{opacity:0;transform:translate(-50%,10px) scale(.6)}20%{opacity:1;transform:translate(-50%,0) scale(1.15)}100%{opacity:0;transform:translate(-50%,-50px) scale(1)}}
.arc-float.pts{animation-name:arcFloatR}
@keyframes arcFloatR{0%{opacity:0;transform:translateY(10px) scale(.6)}20%{opacity:1;transform:scale(1.2)}100%{opacity:0;transform:translateY(-40px)}}
.arc-pop{animation:arcPop .4s cubic-bezier(.2,1.8,.4,1)}
@keyframes arcPop{0%{transform:scale(.6)}100%{transform:scale(1)}}
@keyframes arcBob{50%{transform:translateY(-8px)}}
.arc-quake{animation:arcQuake .4s}
@keyframes arcQuake{20%{transform:translate(-6px,2px)}40%{transform:translate(5px,-3px)}60%{transform:translate(-4px,1px)}80%{transform:translate(3px,0)}}
/* arcade: boss */
.arc-arena{position:relative;border-radius:22px;padding:14px;margin-bottom:12px;overflow:hidden;color:#fff;box-shadow:0 8px 24px rgba(0,0,0,.25)}
.arc-bossar{background:radial-gradient(circle at 50% 38%,#6d2f9c,#1c1240 72%);text-align:center;min-height:236px}
.arc-bossar::after{content:'';position:absolute;inset:0;background:#ff3b3b;opacity:0;pointer-events:none}
.arc-bossar.arc-atk::after{animation:arcFlash .55s}
@keyframes arcFlash{0%{opacity:.5}100%{opacity:0}}
.arc-bstats{display:flex;justify-content:space-between;align-items:center;min-height:28px}
.arc-hearts{font-size:20px;letter-spacing:2px}
.arc-combo{font-weight:800;font-size:14px;color:#ffe066}
.arc-bossface{position:relative;display:inline-block}
.arc-bemoji{display:inline-block;font-size:84px;line-height:1.05;animation:arcBob 2s ease-in-out infinite;filter:drop-shadow(0 8px 10px rgba(0,0,0,.45))}
.arc-bossface.arc-hit .arc-bemoji{animation:arcHit .45s}
@keyframes arcHit{20%{transform:translateX(-10px) rotate(-8deg);filter:brightness(2.2)}50%{transform:translateX(9px) rotate(6deg)}80%{transform:translateX(-4px)}}
.arc-bossar.arc-atk .arc-bemoji{animation:arcLunge .5s}
@keyframes arcLunge{40%{transform:scale(1.35) translateY(16px)}}
.arc-bossface.arc-ko .arc-bemoji{animation:arcKo 1s forwards}
@keyframes arcKo{30%{transform:scale(1.25) rotate(-10deg)}100%{transform:scale(0) rotate(200deg);opacity:0}}
.arc-bname{font-family:'Baloo 2',inherit;font-weight:800;font-size:18px}
.arc-hp{height:14px;border-radius:999px;background:rgba(255,255,255,.18);overflow:hidden;margin:6px 18px 2px}
.arc-hp i{display:block;height:100%;background:linear-gradient(90deg,#2ed3a5,#a3e635);transform-origin:left;transition:transform .5s cubic-bezier(.3,1.4,.5,1)}
.arc-hp i.low{background:linear-gradient(90deg,#ff6b6b,#ffb347)}
.arc-hpt{font-size:12px;font-weight:800;opacity:.9}
.arc-hero{position:absolute;left:14px;bottom:10px;font-size:34px}
.arc-shot{position:absolute;left:calc(50% - 18px);top:64px;font-size:34px;opacity:0;pointer-events:none}
.arc-shot.go{animation:arcShot .42s ease-in}
@keyframes arcShot{0%{opacity:1;transform:translate(-140px,120px) scale(.5)}90%{opacity:1}100%{opacity:0;transform:translate(0,0) scale(1.6)}}
/* arcade: lightning */
.arc-light{background:linear-gradient(160deg,#1e1b4b,#4c1d95);min-height:430px;display:flex;flex-direction:column;gap:10px;--spd:1.5s;transition:box-shadow .3s}
.arc-light.arc-lv2{--spd:.8s;box-shadow:0 0 0 3px #ffb347,0 8px 24px rgba(0,0,0,.25)}
.arc-light.arc-lv3{--spd:.35s;box-shadow:0 0 0 4px #ff6b6b,0 0 24px #ff6b6b}
.arc-lines{position:absolute;inset:0;overflow:hidden;pointer-events:none;opacity:.55}
.arc-lines::before{content:'';position:absolute;top:-20%;bottom:-20%;left:-100px;right:-100px;background:repeating-linear-gradient(90deg,transparent 0 46px,rgba(255,255,255,.14) 46px 50px);animation:arcLines var(--spd) linear infinite;will-change:transform}
@keyframes arcLines{from{transform:skewX(-20deg) translateX(0)}to{transform:skewX(-20deg) translateX(-50px)}}
.arc-lhud{position:relative;display:flex;justify-content:space-between;align-items:center;font-weight:800;font-size:15px}
.arc-lhud b{font-family:'Baloo 2',inherit;font-size:24px}
.arc-lvl{background:rgba(255,255,255,.16);border-radius:999px;padding:3px 10px;font-size:12px}
.arc-tbar{position:relative;height:10px;border-radius:999px;background:rgba(255,255,255,.18);overflow:hidden}
.arc-tbar i{display:block;height:100%;background:linear-gradient(90deg,#ffe066,#ff9f43);transform-origin:left;transition:transform .1s linear}
.arc-light.hot .arc-tbar i{background:#ff6b6b}.arc-light.hot .arc-time{color:#ffb4b4}
.arc-lcard{position:relative;background:#fff;color:var(--ink);border-radius:18px;padding:14px;min-height:160px;display:flex;flex-direction:column;justify-content:center}
.arc-lcard .arc-src{align-self:flex-start}
.arc-lq{font-weight:800;font-size:18px;line-height:1.38}
.arc-zoom{animation:arcZoom .3s cubic-bezier(.2,1.4,.4,1)}
.arc-lv2 .arc-zoom{animation-duration:.22s}.arc-lv3 .arc-zoom{animation-duration:.15s}
@keyframes arcZoom{from{opacity:0;transform:translateX(60px) scale(.92)}to{opacity:1;transform:none}}
.arc-lbtns{position:relative;display:grid;gap:10px}
.arc-lbtns.tf{grid-template-columns:1fr 1fr}
.arc-lb{border:none;border-radius:16px;min-height:60px;padding:10px;font-family:inherit;font-weight:800;font-size:17px;cursor:pointer;background:#fff;color:var(--ink);box-shadow:0 4px 0 rgba(0,0,0,.3);transition:transform .08s,opacity .2s}
.arc-lb:active{transform:translateY(3px)}
.arc-lb.yes{background:#2ed3a5;color:#053b2d}.arc-lb.no{background:#ff7b7b;color:#4a0d0d}
.arc-lb.ok{box-shadow:0 0 0 4px #a3e635,0 4px 0 rgba(0,0,0,.3)}
.arc-lb.bad{opacity:.5}
.arc-lwhy{font-size:13.5px;margin-top:8px;color:#3b4064;background:#fff1ec;border-radius:10px;padding:8px}
.arc-count{position:absolute;inset:0;display:grid;place-items:center;font-family:'Baloo 2',inherit;font-size:90px;font-weight:800;color:#ffe066;background:rgba(20,10,60,.8);z-index:3;text-shadow:0 6px 0 rgba(0,0,0,.3)}
/* arcade: memory */
.arc-memhd{display:flex;justify-content:space-around;font-weight:800;padding:10px;margin-bottom:8px}
.arc-hint{color:#e7e9ff;font-size:13px;text-align:center;margin:0 0 10px;font-weight:700}
.arc-cL{color:#c4b5fd}.arc-cR{color:#6ee7b7}
.arc-mgrid{display:grid;grid-template-columns:repeat(var(--cols),1fr);gap:8px}
.arc-mc{border:none;background:none;padding:0;aspect-ratio:3/4;perspective:700px;cursor:pointer;font-family:inherit;color:inherit}
.arc-mgrid.c3 .arc-mc{aspect-ratio:1/1}
.arc-mgrid.c3.small .arc-mc{aspect-ratio:4/5}
.arc-mi{position:relative;display:block;width:100%;height:100%;transform-style:preserve-3d;transition:transform .45s cubic-bezier(.3,1.3,.5,1)}
.arc-mc.flip .arc-mi,.arc-mc.done .arc-mi{transform:rotateY(180deg)}
.arc-mf,.arc-mb{position:absolute;inset:0;border-radius:14px;backface-visibility:hidden;-webkit-backface-visibility:hidden;display:flex;align-items:center;justify-content:center;text-align:center}
.arc-mf{font-size:26px;box-shadow:0 4px 0 rgba(0,0,0,.28)}
.arc-side-L .arc-mf{background:linear-gradient(150deg,#a78bfa,#6d28d9)}.arc-side-R .arc-mf{background:linear-gradient(150deg,#34d399,#047857)}
.arc-mb{transform:rotateY(180deg);background:#fff;color:var(--ink);font-weight:800;padding:5px;line-height:1.2;overflow-wrap:anywhere;border:3px solid #c4b5fd}
.arc-side-R .arc-mb{border-color:#6ee7b7}
.arc-fs-l{font-size:16px}.arc-fs-m{font-size:13.5px}.arc-fs-s{font-size:12px}.arc-fs-xs{font-size:10.5px}
.arc-mc.done .arc-mb{background:#e3fbf3;border-color:var(--mint)}
.arc-mc.done{animation:arcPop .4s cubic-bezier(.2,1.8,.4,1);cursor:default}
.arc-mc.arc-no{animation:shk .4s}.arc-mc.arc-no .arc-mb{border-color:var(--coral);background:#ffecec}
.arc-mlog{min-height:56px;margin-top:10px}
.arc-mline{background:#fff;border-radius:14px;padding:8px 12px;font-size:14px}.arc-mline small{display:block;color:var(--muted);font-size:11.5px;margin-top:2px}
/* arcade: sort storm */
.arc-round{padding:10px 14px;margin-bottom:10px}.arc-round b{display:block;font-size:15px}
.arc-sky{position:relative;height:clamp(250px,42vh,370px);border-radius:22px;background:linear-gradient(180deg,#38bdf8,#bae6fd 85%);overflow:hidden;margin-bottom:10px}
.arc-cl{position:absolute;left:-70px;font-size:44px;opacity:.85;animation:arcCloud 16s linear infinite;pointer-events:none}.arc-cl.c1{top:10px}.arc-cl.c2{top:96px;font-size:32px;animation-duration:22s;animation-delay:-9s}
@keyframes arcCloud{to{transform:translateX(560px)}}
.arc-ground{position:absolute;left:0;right:0;bottom:0;height:14px;background:#65a30d}
.arc-drop{position:absolute;left:50%;top:0;max-width:80%;background:#fff;color:var(--ink);border-radius:16px;padding:10px 14px;font-weight:800;font-size:16px;text-align:center;box-shadow:0 6px 14px rgba(0,0,0,.2);will-change:transform;border:3px solid #fde68a;z-index:2;width:max-content}
.arc-drop.caught{opacity:0}
.arc-drop.splat{border-color:var(--coral);background:#ffecec}
.arc-sintro{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;background:rgba(15,27,61,.6);color:#fff;text-align:center;padding:20px;z-index:3}
.arc-sintro b{font-family:'Baloo 2',inherit;font-size:40px}.arc-sintro span{font-weight:700}
.arc-bks{display:grid;grid-template-columns:repeat(var(--n),1fr);gap:8px}
.arc-bk{border:none;border-radius:18px;min-height:78px;padding:8px 6px;font-family:inherit;font-weight:800;font-size:14px;color:#fff;cursor:pointer;line-height:1.2;box-shadow:0 5px 0 rgba(0,0,0,.28);overflow-wrap:anywhere}
.arc-bk span{display:block;font-size:22px}
.arc-bk.b0{background:#7c3aed}.arc-bk.b1{background:#c2410c}.arc-bk.b2{background:#0369a1}
.arc-bk:active{transform:translateY(3px)}
.arc-bk.hint{animation:arcHint .5s 2}
@keyframes arcHint{50%{box-shadow:0 0 0 5px #ffe066,0 5px 0 rgba(0,0,0,.28);transform:scale(1.05)}}
.arc-bounce{animation:arcPop .35s}
.arc-sfb{min-height:44px;color:#fff;text-align:center;font-weight:700;margin-top:10px;font-size:14px}
/* arcade: odd one out */
.arc-tiles{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:6px}
.arc-tile{border:3px solid #e3e6f6;background:#f7f8ff;border-radius:18px;min-height:96px;padding:10px;font-family:inherit;font-weight:800;font-size:15.5px;color:var(--ink);cursor:pointer;line-height:1.25;animation:popin .4s both;overflow-wrap:anywhere;transition:transform .3s,opacity .3s}
.arc-tile.t1{animation-delay:.06s}.arc-tile.t2{animation-delay:.12s}.arc-tile.t3{animation-delay:.18s}
.arc-tiles.lock .arc-tile{animation:none;cursor:default}
.arc-tiles.lock .arc-tile.shake{animation:shk .4s}
.arc-tile.same{opacity:.55}.arc-tile.odd{border-color:var(--mint);background:#e3fbf3;transform:scale(1.04)}
/* arcade: chain order */
.arc-chd{display:flex;justify-content:space-between;align-items:center}
.arc-tmr{font-weight:800;font-size:13px;color:var(--violet);margin-bottom:8px}.arc-tmr.hot{color:#d63031}
.arc-chain .arc-hint{color:var(--muted);text-align:left}
.arc-list{display:flex;flex-direction:column;gap:8px;margin:8px 0;counter-reset:arcstep}
.arc-row{display:flex;align-items:center;gap:6px;background:#f7f8ff;border:2px solid #e3e6f6;border-radius:14px;padding:9px 10px 9px 8px;font-weight:700;font-size:15px;cursor:grab;user-select:none;-webkit-user-select:none;touch-action:manipulation;position:relative;counter-increment:arcstep;min-height:52px}
.arc-row::before{content:counter(arcstep);flex:none;width:24px;height:24px;border-radius:50%;background:var(--violet);color:#fff;font-size:12px;font-weight:800;display:grid;place-items:center}
.arc-grip{flex:none;font-size:22px;color:#8a90b4;touch-action:none;padding:4px 6px;cursor:grab}
.arc-rt{flex:1;line-height:1.3}
.arc-row.sel{border-color:var(--violet);background:#f1ecff}
.arc-row.drag{z-index:5;box-shadow:0 10px 24px rgba(0,0,0,.2);background:#fff;border-color:var(--violet);cursor:grabbing}
.arc-row.good{border-color:var(--mint);background:#e3fbf3}.arc-row.good::before{background:var(--mint)}
.arc-row.bad{border-color:var(--coral);background:#ffecec}
.arc-list.lock .arc-row{cursor:default}
/* arcade: quiz show */
.arc-ladder{display:grid;grid-template-columns:repeat(10,1fr);gap:4px;margin-bottom:10px}
.arc-ladder span{height:30px;border-radius:9px;background:rgba(255,255,255,.14);color:#d9dcf7;display:grid;place-items:center;font-weight:800;font-size:12px;transition:transform .3s}
.arc-ladder span.safe{box-shadow:inset 0 0 0 2px #ffc93c}
.arc-ladder span.won{background:var(--mint);color:#06392c}
.arc-ladder span.now{background:#ffc93c;color:#3b2a00;transform:scale(1.14)}
.arc-show{background:linear-gradient(180deg,#fff,#f6f4ff)}
.arc-for{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:8px}.arc-for span{font-weight:800;color:var(--muted);font-size:13px}.arc-for b{font-family:'Baloo 2',inherit;font-size:20px;color:#6d28d9}
.arc-lifes{display:flex;gap:6px;margin-bottom:10px}
.arc-life{flex:1;border:2px solid #e3e6f6;background:#fff;border-radius:999px;padding:8px 4px;font-family:inherit;font-weight:800;font-size:13px;cursor:pointer;color:var(--ink);min-height:42px}
.arc-life:disabled{opacity:.55;cursor:default}.arc-life[data-used]{opacity:.35;text-decoration:line-through}
.arc-bubble{display:flex;gap:8px;background:#fff8dc;border-radius:14px;padding:10px;margin-bottom:10px;font-size:14px}.arc-bubble>span{font-size:30px;line-height:1}.arc-bubble p{margin-top:2px;color:#3b4064}
/* arcade: snakes & ladders */
.arc-slhd{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;font-weight:800;font-size:13px;gap:6px;margin-bottom:10px}
.arc-turn{background:#e3fbf3;color:#0b6b50;border-radius:999px;padding:4px 10px;white-space:nowrap}.arc-turn.cpu{background:#eef0fb;color:#4b4f8a}
.arc-board{position:relative;display:grid;grid-template-columns:repeat(6,1fr);grid-template-rows:repeat(5,1fr);aspect-ratio:6/5;border-radius:18px;overflow:hidden;box-shadow:0 8px 24px rgba(0,0,0,.25);margin-bottom:10px}
.arc-sq{position:relative;display:flex;align-items:flex-end;justify-content:flex-end;padding:2px 4px;font-size:15px}
.arc-sq.a{background:#fef3c7}.arc-sq.b{background:#fde68a}.arc-sq.goal{background:#a7f3d0;font-size:22px;align-items:center;justify-content:center}
.arc-sq small{position:absolute;top:2px;left:4px;font-size:10px;font-weight:800;color:#7a5800}
.arc-bsvg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.arc-lad line{stroke:#92400e;stroke-width:6;stroke-linecap:round}
.arc-snk path{fill:none;stroke:#16a34a;stroke-width:12;stroke-linecap:round;opacity:.85}.arc-snk circle{fill:#14532d}
.arc-tok{position:absolute;left:0;top:0;width:16.6667%;height:20%;display:flex;align-items:center;font-size:24px;transition:transform .19s ease;z-index:2;pointer-events:none;filter:drop-shadow(0 3px 2px rgba(0,0,0,.35));padding:0 2px}
.arc-tok.t0{justify-content:flex-start}.arc-tok.t1{justify-content:flex-end}
.arc-tok.slide{transition:transform .6s cubic-bezier(.5,-.3,.5,1.3)}
.arc-dicerow{display:flex;gap:10px;align-items:center}
.arc-die{flex:none;width:58px;height:58px;border-radius:16px;background:#fff;display:grid;place-items:center;font-family:'Baloo 2',inherit;font-size:30px;font-weight:800;box-shadow:0 4px 0 #d3d7ef;color:var(--ink)}
.arc-die.roll{animation:arcRoll .6s}
@keyframes arcRoll{50%{transform:rotate(200deg) scale(1.15)}100%{transform:rotate(360deg)}}
.arc-roll:disabled{opacity:.55}
.arc-slog{color:#fff;font-weight:700;font-size:13.5px;text-align:center;margin:10px 0;min-height:36px}
.arc-sltitle{font-family:'Baloo 2',inherit;font-weight:800;font-size:17px;margin-bottom:6px}
/* arcade: results & loading */
.arc-res{text-align:center;position:relative;overflow:hidden;animation:pop .35s ease}
.arc-res-e{font-size:56px;line-height:1.1;animation:arcBob 2s ease-in-out infinite}
.arc-res-score{font-family:'Baloo 2',inherit;font-weight:800;font-size:26px;color:#6d28d9}
.arc-xp{display:inline-block;background:#fff8dc;border-radius:999px;padding:5px 14px;font-weight:800;margin-bottom:8px}
.arc-rl{font-weight:700;color:#4b5175;font-size:14px;margin:3px 0}
.arc-miss{text-align:left;background:#f6f7fd;border-radius:14px;padding:10px 12px;margin:12px 0 4px}
.arc-miss summary{font-weight:800;cursor:pointer;min-height:28px}
.arc-mrow{padding:8px 0;border-bottom:1px solid #e3e6f6;font-size:13.5px}.arc-mrow:last-child{border:none}.arc-mrow span{display:block}.arc-mrow b{color:#0b6b50}
.arc-res .arc-again{margin-top:12px}
.arc-load{text-align:center;padding:26px 16px}
.arc-dice{display:flex;justify-content:center;gap:10px;font-size:38px;margin-bottom:10px}
.arc-dice span{display:inline-block;animation:arcJump .9s ease-in-out infinite}.arc-dice span:nth-child(2){animation-delay:.15s}.arc-dice span:nth-child(3){animation-delay:.3s}
@keyframes arcJump{0%,100%{transform:translateY(0)}40%{transform:translateY(-16px) rotate(-12deg)}}
.arc-lbar{height:10px;border-radius:999px;background:#eef0fb;overflow:hidden;margin:12px 0 6px}
.arc-lbar i{display:block;height:100%;background:linear-gradient(90deg,var(--mint),var(--blue));transform-origin:left;transform:scaleX(.05);transition:transform .3s}
.arc-load small{color:var(--muted);font-weight:700}
@media (prefers-reduced-motion:reduce){.arc-bemoji,.arc-lines::before,.arc-cl,.arc-hdr-e,.arc-res-e,.arc-dice span{animation:none}}

/* ================= Accessibility (js/a11y.js, js/ux.js) =================
   Nothing here changes how the app looks for sighted users unless High contrast, Reduce motion
   or Listen mode is switched on, except: focus rings for keyboard users, invisible 44px touch areas,
   and the colour-contrast fixes (dark text on mint, deeper coral/violet/blue). */
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}
.sv-emo{speak:never}
/* contrast: WCAG AA for text on the brand colours */
.btn.mint,.sbk:nth-child(3),.tcard.done .tnum,.arc-opt.right .arc-l{color:#063b2b}
.tfbtns .no,.sbk:nth-child(2){background:#d63c3c}
/* visible keyboard focus (mouse and touch users never see it) */
:focus-visible:not(input:is([type=text],[type=search],:not([type])),textarea,select){outline:3px solid #ffc93c;outline-offset:2px;box-shadow:0 0 0 6px rgba(15,27,61,.9)}
.map .node:focus-visible{outline:none;box-shadow:none;filter:drop-shadow(0 0 3px #fff) drop-shadow(0 0 6px #ffc93c) drop-shadow(0 0 2px #0f1b3d)}
:is(h1,h2,h3,h4,div,span,p,b,section,svg,g,[role=heading],[role=img])[tabindex="-1"]:focus{outline:none;box-shadow:none}
.opt:focus-visible,.choice:focus-visible,.tcard:focus-visible,.chrow:focus-visible,.arc-card:focus-visible{outline-offset:-3px}
/* bigger touch targets without changing the look: an invisible 44×44 hit area */
.spk:not(.lab-spk),.tst-ic,.tbar .x,.ask-x,.install .x,.pill.btnp,.uxbtn,.chfilter button,.rv-filter button,.back,.arc-quit,.ask-mic,.ask-go,.ask-lang,.tgl,.arc-life,.tst-pal button,.arc-mvb button{position:relative}
.spk:not(.lab-spk)::after,.lab-spk::after,.tst-ic::after,.tbar .x::after,.ask-x::after,.install .x::after,.pill.btnp::after,.uxbtn::after,.chfilter button::after,.rv-filter button::after,.back::after,.arc-quit::after,.ask-mic::after,.ask-go::after,.ask-lang::after,.arc-mvb button::after{content:'';position:absolute;left:50%;top:50%;width:max(100%,44px);height:max(100%,44px);transform:translate(-50%,-50%)}
.tgl::before{content:'';position:absolute;left:50%;top:50%;width:max(100%,44px);height:max(100%,44px);transform:translate(-50%,-50%)}
.srow input[type=range]{min-height:24px;margin-top:-3.5px;margin-bottom:-3.5px}
.ux-row input{width:28px;height:28px}
.ux-timer button{padding:12px 4px}.ux-timer button small{font-size:13px;color:var(--ink);font-weight:800}
/* first focusable element: quick Listen-mode switch for screen-reader and keyboard users */
.sv-skip{position:fixed;left:8px;top:8px;z-index:70;background:#ffc93c;color:#1b1f3a;border:3px solid #1b1f3a;border-radius:14px;padding:12px 16px;font-family:inherit;font-weight:800;font-size:16px;transform:translateY(-300%);cursor:pointer}
.sv-skip:focus{transform:none}
/* ---- Listen mode ("Talk to me") ---- */
.sv-talk{display:none}
html.sv-listen .sv-talk{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;position:fixed;left:max(10px,calc(50% - 210px));bottom:calc(84px + env(safe-area-inset-bottom));z-index:9;width:92px;height:92px;border-radius:50%;border:4px solid #fff;background:#7646ea;color:#fff;font-family:'Baloo 2',sans-serif;font-weight:800;font-size:12px;line-height:1;box-shadow:0 8px 24px rgba(0,0,0,.4);cursor:pointer;touch-action:none;user-select:none;-webkit-user-select:none}
html.sv-listen .sv-talk span{font-size:34px}
html.sv-listen .sv-talk.on{background:#d63c3c;animation:svPulse 1s ease-in-out infinite}
@keyframes svPulse{50%{box-shadow:0 0 0 14px rgba(214,60,60,.25)}}
html.sv-listen main{padding-bottom:190px}
html.sv-listen [data-svn]::before{content:attr(data-svn);display:inline-flex;min-width:26px;height:26px;padding:0 4px;border-radius:13px;background:#1b1f3a;color:#fff;font:800 14px/26px Nunito,sans-serif;justify-content:center;margin-right:8px;vertical-align:middle}
html.sv-listen .optn{display:none}
/* answer marks that do not rely on colour */
html.sv-listen .opt.right::after,html.sv-hc .opt.right::after{content:' ✓ correct';font-weight:800;color:#065f46}
html.sv-listen .opt.wrong::after,html.sv-hc .opt.wrong::after{content:' ✗ your answer';font-weight:800;color:#b91c1c}
/* lab tools: hidden until Listen mode is on or a keyboard reaches them */
.sv-labbar{display:flex;gap:6px;margin:0 0 8px}
.sv-labbar button{flex:1;min-height:44px;border:2px solid #1b1f3a;background:#fff;color:#1b1f3a;border-radius:12px;font-family:inherit;font-weight:800;font-size:15px;cursor:pointer}
.sv-labbar:not(:focus-within){position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);margin:0}
html.sv-listen .sv-labbar,html.sv-hc .sv-labbar{position:static;width:auto;height:auto;overflow:visible;clip-path:none;margin:0 0 8px}
/* Chain Order: ▲ ▼ buttons instead of dragging (shown in Listen mode or to keyboard users) */
.arc-mvb{display:flex;gap:6px;margin-left:auto;flex:none}
.arc-mvb button{width:44px;height:44px;border-radius:12px;border:2px solid #1b1f3a;background:#fff;color:#1b1f3a;font-size:16px;cursor:pointer}
.arc-row:not(:focus-within) .arc-mvb{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
html.sv-listen .arc-row .arc-mvb,html.sv-hc .arc-row .arc-mvb{position:static;width:auto;height:auto;overflow:visible;clip-path:none}
/* ---- High contrast ---- */
html.sv-hc{--muted:#1b1f3a;--violet:#4c1d95;--blue:#1e40af;--mint:#047857;--coral:#b91c1c;--ink:#000}
html.sv-hc body{background:#000}
html.sv-hc .card,html.sv-hc .sheet-in,html.sv-hc .ask-in{border:3px solid #000;box-shadow:none}
html.sv-hc .card,html.sv-hc .sheet-in{background:#fff;color:#000}
html.sv-hc .opt,html.sv-hc .choice,html.sv-hc .btn.ghost,html.sv-hc .tcard,html.sv-hc .chrow,html.sv-hc .mbtn,html.sv-hc .ochip,html.sv-hc .arc-tile,html.sv-hc .arc-card,html.sv-hc .gs-hit,html.sv-hc .ch-btns button,html.sv-hc .arc-row{border:3px solid #000!important;color:#000}
html.sv-hc .btn,html.sv-hc .sbk,html.sv-hc .tfb{border:3px solid #000;box-shadow:none}
html.sv-hc .btn.mint{color:#fff}
html.sv-hc .btn.ghost{background:#fff}
html.sv-hc .opt.right{background:#d1fae5}html.sv-hc .opt.wrong{background:#fee2e2}
html.sv-hc p.sub,html.sv-hc .card small,html.sv-hc .sheet-in small,html.sv-hc .tag,html.sv-hc .gtype{color:#000}
html.sv-hc .tag,html.sv-hc .gtype{background:#fff;border:2px solid #000}
html.sv-hc .back,html.sv-hc .hello,html.sv-hc .hud,html.sv-hc .note,html.sv-hc .viewtgl,html.sv-hc .chfilter button,html.sv-hc header .pill{background:#000;color:#fff;border:2px solid #fff}
html.sv-hc .viewtgl button.on,html.sv-hc .chfilter button.on{background:#fff;color:#000}
html.sv-hc nav{border-top:3px solid #000}html.sv-hc nav button{color:#000}html.sv-hc nav button.on{background:#000;color:#fff}
html.sv-hc .map{box-shadow:0 0 0 3px #fff}
html.sv-hc .explain{background:#fff;border:3px solid #000}
html.sv-hc .bubble{background:#fff;border:2px solid #000}
html.sv-hc :focus-visible{outline:4px solid #000;outline-offset:2px;box-shadow:0 0 0 8px #ffeb3b}
html.sv-hc .toast{border:3px solid #000}
/* ---- Reduce motion ---- */
html.sv-rm *,html.sv-rm *::before,html.sv-rm *::after{animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0s!important;transition-duration:.01ms!important;transition-delay:0s!important;scroll-behavior:auto!important}
html.sv-rm .confetti{display:none}
@media (forced-colors:active){.opt,.btn,.choice,.tcard,.chrow,.sbk,.tfb,.arc-card,.arc-tile,.mbtn,.ochip{border:2px solid ButtonText}.map .node:focus-visible{outline:3px solid Highlight}}
#nowPlay span{color:#5f6485!important}
.lab-box .lb-punctuation-g{min-width:24px}
.ux-in,#svOffer .sheet-in{max-height:calc(92vh / var(--z));overflow-y:auto;overscroll-behavior:contain}
#soundSheet .sheet-in{max-height:min(88vh,calc(95vh / var(--z)))}
html.sv-listen :is(.arc-mc,.arc-card,.choice,.arc-tile,.arc-bk,.sbk,.mbtn,.ochip,.arc-lb,.tfb)[data-svn]{position:relative}
html.sv-listen :is(.arc-mc,.arc-card,.choice,.arc-tile,.arc-bk,.sbk,.mbtn,.ochip,.arc-lb,.tfb)[data-svn]::before{position:absolute;top:3px;left:3px;z-index:3;margin:0;min-width:22px;height:22px;font-size:12px;line-height:22px;box-shadow:0 0 0 2px #fff}
html.sv-listen :is(.mbtn,.ochip,.arc-tile,.choice,.sbk,.arc-bk,.tfb,.arc-lb)[data-svn]{padding-left:30px}
/* === Legal & Privacy (js/legal.js) === */
.lg-links{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:0 0 8px}
.lg-links a,.lg-all{display:flex;align-items:center;min-height:44px;padding:8px 10px;border-radius:12px;background:#eef0fb;color:var(--ink);font-weight:800;font-size:14px;line-height:1.2;text-decoration:none}
.lg-all{justify-content:space-between;background:none;color:var(--violet);padding:6px 4px;text-decoration:underline;text-underline-offset:2px}
.lg-links a:hover{background:#e3e6fa}
.lg-foot{font-size:13px!important;color:#c9d1ff;margin:14px 4px 4px!important;line-height:1.45;font-weight:600}
.lg-foot a{color:#fff;font-weight:800;text-decoration:underline;text-underline-offset:2px}
.lg-note{background:#fff8e1;color:var(--ink);border:2px solid #f3d27a;border-radius:18px;padding:10px 12px;margin:0 0 12px;text-align:left;box-shadow:0 6px 18px rgba(0,0,0,.2);animation:pop .35s ease}
.lg-note p{margin:0 0 6px!important;color:var(--ink)!important;font-size:14px;line-height:1.4;font-weight:600}
.lg-note p b{font-family:'Baloo 2';font-size:16px}
.lg-note-btns{display:flex;align-items:center;gap:14px}
.lg-ok{border:none;border-radius:12px;background:var(--violet);color:#fff;font-family:'Baloo 2';font-weight:800;font-size:15px;padding:8px 18px;min-height:44px;cursor:pointer}
.lg-note-btns a{color:var(--violet);font-weight:800;font-size:14px;min-height:44px;display:inline-flex;align-items:center}
@media (max-width:340px){.lg-links{grid-template-columns:1fr}}
[data-ts=XL] .lg-links,[data-ts=XXL] .lg-links{grid-template-columns:1fr}
html.sv-hc .lg-links a{background:#fff;border:3px solid #000;color:#000}
html.sv-hc .lg-all,html.sv-hc .lg-note-btns a{color:#000}
html.sv-hc .lg-note{background:#fff;border:3px solid #000;box-shadow:none}
html.sv-hc .lg-ok{background:#000;border:3px solid #000}
html.sv-hc .lg-foot,html.sv-hc .lg-foot a{color:#fff}
@media (forced-colors:active){.lg-note,.lg-links a{border:2px solid CanvasText}}

/* === UI polish: quiet 🔊 buttons, Ask button, text-size slider, age looks (js/look.js, js/ux.js) === */
/* 🔊 read-aloud buttons: never on top of text, a little see-through until used */
.spk{opacity:.6;transition:opacity .15s}
.spk:hover,.spk:focus-visible,.spk:active,.spk.ra-play,html.sv-listen .spk,html.sv-hc .spk{opacity:1}
.lab-box>.lab-spk{position:relative;top:auto;right:auto;float:right;margin:0 0 6px 10px}
.lab-box::after{content:'';display:block;clear:both}
.lb-tensemachine-spk{opacity:.6}.lb-tensemachine-spk:hover,.lb-tensemachine-spk:focus-visible,.lb-tensemachine-spk:active,html.sv-listen .lb-tensemachine-spk,html.sv-hc .lb-tensemachine-spk{opacity:1}
.lb-tensemachine-scr{padding-right:52px!important}
/* Ask Gappu button: see-through, compact after scrolling, steps aside when a button is under it */
.askfab{bottom:var(--fab-b,calc(86px + env(safe-area-inset-bottom)));opacity:.65;transition:opacity .2s,visibility .2s,padding .2s,gap .2s}
.askfab b{display:inline-block;max-width:4.5em;overflow:hidden;white-space:nowrap;transition:max-width .2s,opacity .2s}
.askfab.sv-mini{padding:4px;gap:0}.askfab.sv-mini b{max-width:0;opacity:0}
.askfab:hover,.askfab:focus-visible,.askfab:active,.askfab.sv-touch,html.sv-hc .askfab,html.sv-listen .askfab{opacity:1}
.askfab.sv-away:not(:focus-visible){opacity:0;visibility:hidden;pointer-events:none}
html.sv-hc .askfab{border-color:#000;box-shadow:0 0 0 3px #fff}
/* text size slider (Aa sheet) */
#uxSheet .sheet-in{zoom:var(--zux,var(--z));max-width:calc(min(100vw,440px) / var(--zux,var(--z)))}
#uxSheet .ux-in{max-height:calc(92vh / var(--zux,var(--z)))}
.ux-ts{display:flex;align-items:center;gap:10px;margin-top:4px}
.ux-tsb{flex:none;width:44px;height:44px;border-radius:14px;border:2px solid #e3e6f5;background:#fff;color:var(--ink);font-family:inherit;font-weight:800;font-size:15px;cursor:pointer}
.ux-tsb:disabled{opacity:.4;cursor:default}
#uxTs{flex:1;min-width:0;height:44px;margin:0;background:transparent;-webkit-appearance:none;appearance:none;cursor:pointer;touch-action:pan-y}
#uxTs::-webkit-slider-runnable-track{height:10px;border-radius:999px;background:linear-gradient(90deg,var(--violet) var(--pct,30%),#dfe2f5 var(--pct,30%))}
#uxTs::-moz-range-track{height:10px;border-radius:999px;background:#dfe2f5}
#uxTs::-moz-range-progress{height:10px;border-radius:999px;background:var(--violet)}
#uxTs::-webkit-slider-thumb{-webkit-appearance:none;width:28px;height:28px;margin-top:-9px;border-radius:50%;background:#fff;border:3px solid var(--violet);box-shadow:0 2px 6px rgba(0,0,0,.25)}
#uxTs::-moz-range-thumb{width:24px;height:24px;border-radius:50%;background:#fff;border:3px solid var(--violet);box-shadow:0 2px 6px rgba(0,0,0,.25)}
html.sv-hc #uxTs::-webkit-slider-runnable-track{background:linear-gradient(90deg,#000 var(--pct,30%),#fff var(--pct,30%));border:2px solid #000}
html.sv-hc #uxTs::-webkit-slider-thumb{border-color:#000;background:#ffeb3b}
.ux-tsrow{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:2px}
.ux-tsrow b{font-size:14px;color:var(--ink)}
.ux-tsreset{border:none;background:#eef0fb;color:var(--ink);border-radius:999px;padding:7px 14px;min-height:36px;font-family:inherit;font-weight:800;font-size:13px;cursor:pointer}
html.sv-hc .ux-tsb,html.sv-hc .ux-tsreset{border:3px solid #000;background:#fff;color:#000}
.ux-prev{overflow-wrap:anywhere}
.ux-look{flex-wrap:wrap}.ux-look button{flex:1 1 28%;padding:10px 4px}.ux-look button small{font-size:13px;color:var(--ink);font-weight:800}

/* ---- Age looks: <html data-age> set by js/look.js. Kids = the original look (no overrides).
   Only custom properties and visual properties change (colour, corners, shadows, type, emoji size, motion);
   no layout. High contrast always wins: every rule below is off while html.sv-hc is set. ---- */
html{--sv-emo:1;--sv-motion:1}
html[data-age=junior]:not(.sv-hc){--sky:#13244c;--sky2:#233f80;--violet:#6233d6;--sv-accd:#4a22b0;--sv-tint:#f0ecff;--sv-ghost:#eef0fb;--sv-ghostd:#d3d7ef;--ink:#1b1f3a;
  --sv-r-card:20px;--sv-r-btn:14px;--sv-r-sm:12px;--sv-sh-card:0 6px 20px rgba(0,0,0,.18);--sv-sh-btn:0 3px 0 rgba(0,0,0,.22);--sv-head:'Baloo 2',Nunito,system-ui,sans-serif;--sv-body:Nunito,'Noto Sans Devanagari',system-ui,sans-serif;--sv-hw:800;
  --sv-emo:.92;--sv-motion:.8;--sv-nav:#fff;--sv-navtx:var(--muted);--sv-navon:#f0ecff;--sv-navontx:var(--violet)}
html[data-age=teen]:not(.sv-hc){--sky:#0b1022;--sky2:#1a2245;--violet:#4f46e5;--blue:#2563eb;--sv-accd:#3730a3;--sv-tint:#eef0ff;--sv-ghost:#eef0f7;--sv-ghostd:#d6d9e8;--ink:#111633;
  --sv-r-card:16px;--sv-r-btn:12px;--sv-r-sm:10px;--sv-sh-card:0 1px 0 rgba(255,255,255,.7) inset,0 10px 30px rgba(0,0,0,.35);--sv-sh-btn:0 2px 0 rgba(0,0,0,.25);
  --sv-head:system-ui,-apple-system,'Segoe UI',Roboto,'Noto Sans','Noto Sans Devanagari',sans-serif;--sv-body:Nunito,'Noto Sans Devanagari',system-ui,sans-serif;--sv-hw:800;
  --sv-emo:.8;--sv-motion:.5;--sv-nav:rgba(20,26,51,.92);--sv-navtx:#b8bfdc;--sv-navon:rgba(99,102,241,.32);--sv-navontx:#fff}
html[data-age=senior]:not(.sv-hc){--sky:#0f1216;--sky2:#1b2029;--violet:#2f5bd3;--blue:#2448ad;--sv-accd:#2448ad;--sv-tint:#edf2fd;--sv-ghost:#eef1f5;--sv-ghostd:#d5dae2;--ink:#14171f;--muted:#545b6b;
  --sv-r-card:12px;--sv-r-btn:10px;--sv-r-sm:8px;--sv-sh-card:0 1px 2px rgba(0,0,0,.3),0 6px 18px rgba(0,0,0,.28);--sv-sh-btn:none;
  --sv-head:system-ui,-apple-system,'Segoe UI',Roboto,'Noto Sans','Noto Sans Devanagari',sans-serif;--sv-body:system-ui,-apple-system,'Segoe UI',Roboto,'Noto Sans','Noto Sans Devanagari',sans-serif;--sv-hw:700;
  --sv-emo:.7;--sv-motion:.25;--sv-nav:rgba(23,27,34,.95);--sv-navtx:#aab2c0;--sv-navon:rgba(255,255,255,.1);--sv-navontx:#fff}
/* pro: reserved for professional courses (CA etc.) — clean, practical, dense, neutral */
html[data-age=pro]:not(.sv-hc){--sky:#15181d;--sky2:#15181d;--violet:#1f5fd1;--blue:#1f5fd1;--sv-accd:#184aa6;--sv-tint:#eef3fb;--sv-ghost:#f0f2f5;--sv-ghostd:#d9dde3;--ink:#111418;--muted:#525a66;
  --sv-r-card:8px;--sv-r-btn:8px;--sv-r-sm:6px;--sv-sh-card:0 1px 2px rgba(0,0,0,.35);--sv-sh-btn:none;
  --sv-head:system-ui,-apple-system,'Segoe UI',Roboto,'Noto Sans','Noto Sans Devanagari',sans-serif;--sv-body:system-ui,-apple-system,'Segoe UI',Roboto,'Noto Sans','Noto Sans Devanagari',sans-serif;--sv-hw:650;
  --sv-emo:.6;--sv-motion:0;--sv-nav:rgba(27,31,37,.97);--sv-navtx:#b3bac6;--sv-navon:rgba(255,255,255,.1);--sv-navontx:#fff;--sv-pad:12px}
/* shared rules for every grown-up band (P = html[data-age]:not([data-age=kids]):not(.sv-hc)) */
html[data-age]:not([data-age=kids]):not(.sv-hc) body{font-family:var(--sv-body)}
html[data-age]:not([data-age=kids]):not(.sv-hc) :is(h1,h2,h3,.hello,.brand,.btn,.verdict,.gdone,.stepname,.arc-card b,.arc-bar b,.ob h1,.tcard .tnum,.choice,.deg,.uxbtn,.q3bar button){font-family:var(--sv-head);font-weight:var(--sv-hw)}
/* teen and up: glass chips on the dark background */
html:is([data-age=teen],[data-age=senior],[data-age=pro]):not(.sv-hc) :is(#subTools button,.ch-tools .ch-btns button){background:rgba(255,255,255,.1);color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.22);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
html[data-age]:not([data-age=kids]):not(.sv-hc) .hello small{font-family:var(--sv-body)}
html[data-age]:not([data-age=kids]):not(.sv-hc) :is(.card,.rvcard,.ask-card){border-radius:var(--sv-r-card);box-shadow:var(--sv-sh-card)}
html[data-age]:not([data-age=kids]):not(.sv-hc) :is(.tcard,.chrow,.gs-hit,.gsearch,.install,.q3bar){border-radius:var(--sv-r-card)}
html[data-age]:not([data-age=kids]):not(.sv-hc) .btn{border-radius:var(--sv-r-btn);box-shadow:var(--sv-sh-btn)}
html[data-age]:not([data-age=kids]):not(.sv-hc) .btn:active{box-shadow:none}
html[data-age]:not([data-age=kids]):not(.sv-hc) .btn.ghost{background:var(--sv-ghost);color:var(--ink);box-shadow:0 2px 0 var(--sv-ghostd)}
html[data-age]:not([data-age=kids]):not(.sv-hc) :is(.opt,.choice,.mbtn,.ochip,.chips button,.ux-sizes button,.tst-conf button,.ux-tsb){border-radius:var(--sv-r-sm)}
html[data-age]:not([data-age=kids]):not(.sv-hc) :is(.tag,.gtype){background:var(--sv-tint);color:var(--violet)}
html[data-age]:not([data-age=kids]):not(.sv-hc) :is(.bubble,.exstep,.nowplay,.tcard .tnum,.choice.sel,.mbtn.sel){background:var(--sv-tint)}
html[data-age]:not([data-age=kids]):not(.sv-hc) .tcard .tnum{color:var(--violet)}
html[data-age]:not([data-age=kids]):not(.sv-hc) .tcard.done .tnum{background:var(--mint);color:#063b2b}
html[data-age]:not([data-age=kids]):not(.sv-hc) :is(.point span,.rv-n){background:var(--violet)}
html[data-age]:not([data-age=kids]):not(.sv-hc) .sheet-in{border-radius:calc(var(--sv-r-card) + 6px) calc(var(--sv-r-card) + 6px) 0 0}
html[data-age]:not([data-age=kids]):not(.sv-hc) nav{background:var(--sv-nav);border-radius:calc(var(--sv-r-card) + 4px) calc(var(--sv-r-card) + 4px) 0 0;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
html[data-age]:not([data-age=kids]):not(.sv-hc) nav button{color:var(--sv-navtx)}
html[data-age]:not([data-age=kids]):not(.sv-hc) nav button.on{background:var(--sv-navon);color:var(--sv-navontx)}
html[data-age]:not([data-age=kids]):not(.sv-hc) .map{border-radius:calc(var(--sv-r-card) + 6px)}
/* emoji size */
html[data-age]:not([data-age=kids]):not(.sv-hc) .pet .face{font-size:calc(54px * var(--sv-emo))}
html[data-age]:not([data-age=kids]):not(.sv-hc) .cemoji{font-size:calc(44px * var(--sv-emo))}
html[data-age]:not([data-age=kids]):not(.sv-hc) .ob-hero{font-size:calc(64px * var(--sv-emo))}
html[data-age]:not([data-age=kids]):not(.sv-hc) :is(.gbig){font-size:calc(54px * var(--sv-emo))}
html[data-age]:not([data-age=kids]):not(.sv-hc) .meav{font-size:calc(52px * var(--sv-emo))}
html[data-age]:not([data-age=kids]):not(.sv-hc) .bigstars{font-size:calc(44px * var(--sv-emo))}
html[data-age]:not([data-age=kids]):not(.sv-hc) .arc-hdr-e{font-size:calc(42px * var(--sv-emo))}
html[data-age]:not([data-age=kids]):not(.sv-hc) .arc-ce{font-size:calc(34px * var(--sv-emo))}
html[data-age]:not([data-age=kids]):not(.sv-hc) nav button b{font-size:calc(22px * (.5 + var(--sv-emo) / 2))}
/* motion intensity: shorter, gentler screen and pop-in animations; fewer looping wiggles */
html[data-age]:not([data-age=kids]):not(.sv-hc) .screen{animation:svAgePop calc(.15s + .2s * var(--sv-motion)) ease-out}
@keyframes svAgePop{from{opacity:0;transform:translateY(calc(10px * var(--sv-motion)))}to{opacity:1;transform:none}}
html:is([data-age=teen],[data-age=senior],[data-age=pro]):not(.sv-hc) .popin{animation-name:svAgePopin;animation-timing-function:ease-out}
@keyframes svAgePopin{from{opacity:0;transform:scale(calc(1 - .15 * var(--sv-motion)))}to{opacity:1;transform:scale(1)}}
html:is([data-age=teen],[data-age=senior],[data-age=pro]):not(.sv-hc) :is(.askfab,.arc-hdr-e){animation:none}
html:is([data-age=senior],[data-age=pro]):not(.sv-hc) .confetti{display:none}
html:is([data-age=senior],[data-age=pro]):not(.sv-hc) :is(.bigstars span.on){animation-timing-function:ease-out}
html[data-age=pro]:not(.sv-hc) :is(.screen,.popin){animation:none}
/* pro density */
html[data-age=pro]:not(.sv-hc) .card{padding:var(--sv-pad);margin-bottom:10px}
html[data-age=pro]:not(.sv-hc) .opt{padding:10px 12px;margin-top:6px}

/* === Insights: My analysis gauges + Dashboard (js/insights.js) === */
.ins-overall{text-align:center}
.ins-gauge{display:block;width:100%;max-width:240px;margin:0 auto;overflow:visible}
.ins-gauge.na path{opacity:.28}
.ins-ndl{fill:var(--ink)}.ins-hub{fill:var(--ink);stroke:var(--card,#fff);stroke-width:3}
.ins-needle{transform-origin:100px 100px;transform-box:view-box;animation:insN .9s cubic-bezier(.3,1.4,.5,1)}
@keyframes insN{from{transform:rotate(-90deg)}}
.ins-gna{font:800 34px 'Baloo 2',Nunito,sans-serif;fill:var(--muted)}
.ins-gl{margin-top:-4px;font-weight:800;font-size:15px;line-height:1.2}
.ins-gl b{font-family:'Baloo 2',Nunito,system-ui,sans-serif;font-size:24px}
.ins-gl.b-vw span,.ins-chip.b-vw{color:#a3221f}.ins-gl.b-w span,.ins-chip.b-w{color:#a8461c}.ins-gl.b-s span,.ins-chip.b-s{color:#2f7a22}.ins-gl.b-vs span,.ins-chip.b-vs{color:#08680a}.ins-gl.b-na span{color:var(--muted);font-size:13px}
.ins-legend{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 10px;margin:8px 0 4px;font-size:12px;font-weight:700;color:var(--muted)}
.ins-legend span{display:inline-flex;align-items:center;gap:4px}.ins-legend i{width:12px;height:12px;border-radius:3px;display:inline-block}
.ins-how{border:none;background:none;color:var(--violet);font-weight:800;font-size:14px;font-family:inherit;padding:8px;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.ins-na{margin:6px 0 0}
.ins-h4{font-family:'Baloo 2',Nunito,system-ui,sans-serif;font-size:15px;margin:12px 0 6px;color:var(--ink)}
.ins-ggrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:8px}
.ins-gcell{border:2px solid #eef0fb;background:#fafbff;border-radius:16px;padding:8px 6px 10px;cursor:pointer;font-family:inherit;color:var(--ink);text-align:center}
.ins-gcell .ins-gauge{max-width:150px}.ins-gcell .ins-gl{font-size:13px}.ins-gcell .ins-gl b{font-size:18px}.ins-gcell .ins-gl.b-na span{font-size:11.5px}
.ins-gname{display:block;font-weight:800;font-size:13.5px;margin-bottom:2px;line-height:1.2}
.ins-chip{flex:none;font-size:11.5px;font-weight:800;border-radius:999px;padding:3px 8px;background:#f4f5fb;white-space:nowrap}
.ins-chip.b-vw{background:#fde4e3}.ins-chip.b-w{background:#fdeadf}.ins-chip.b-s{background:#e4f5e0}.ins-chip.b-vs{background:#d7f2d7}.ins-chip.b-na{color:var(--muted)}
.ins-meter{display:block;height:6px;background:#eef0fb;border-radius:9px;margin-top:5px;overflow:hidden}.ins-meter>i{display:block;height:100%;background:var(--violet);border-radius:9px}
.ins-chrow{display:flex;align-items:center;gap:8px;width:100%;text-align:left;border:none;background:none;border-bottom:1px solid #eef0fb;padding:10px 2px;font-family:inherit;color:var(--ink);cursor:pointer}
.ins-chm{flex:1;min-width:0}.ins-chm b{display:block;font-size:14.5px;line-height:1.25}.ins-chm small{display:block;color:var(--muted);font-size:12.5px;font-weight:600}
.ins-imp{border:2px solid #eef0fb;border-radius:16px;padding:8px 10px;margin-bottom:8px}
.ins-imp-main{display:flex;gap:10px;align-items:flex-start;width:100%;border:none;background:none;text-align:left;font-family:inherit;color:var(--ink);cursor:pointer;padding:2px 0}
.ins-rank{flex:none;width:26px;height:26px;border-radius:50%;background:var(--violet);color:#fff;font-weight:800;display:grid;place-items:center;font-size:13px}
.ins-imp-b{flex:1;min-width:0}.ins-imp-b b{display:block;font-size:15px;line-height:1.25}.ins-imp-b small{display:block;color:var(--muted);font-size:12.5px;font-weight:600}
.ins-why{display:flex;flex-wrap:wrap;gap:4px;margin-top:5px}
.ins-why em{font-style:normal;font-size:11.5px;font-weight:800;border-radius:8px;padding:2px 7px;background:#f4f5fb;color:var(--ink)}
.ins-why .w-mis{background:#fde4e3;color:#8f1d1a}.ins-why .w-gap{background:#fdeadf;color:#8a3a14}.ins-why .w-acc{background:#fff0d9;color:#7a4b00}.ins-why .w-due{background:#e3efff;color:#1c4f95}.ins-why .w-luck{background:#fff6c9;color:#6b5600}
.ins-acts{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.ins-acts button{flex:1 1 auto;min-height:40px;border:none;border-radius:12px;background:var(--sv-ghost,#eef0fb);color:var(--ink);font-weight:800;font-size:13px;font-family:inherit;padding:8px 10px;cursor:pointer;white-space:nowrap}
.ins-acts button:disabled{opacity:.45}
.ins-acts.wide{margin:0 0 14px}.ins-acts.wide button{background:#fff;box-shadow:0 4px 12px rgba(0,0,0,.15)}
.ins-trow{display:flex;align-items:center;gap:8px;margin:6px 0;font-size:14px}
.ins-comp{display:grid;grid-template-columns:92px 1fr 44px;align-items:center;gap:4px 8px;padding:7px 0;border-bottom:1px solid #eef0fb;font-size:14px;font-weight:700}
.ins-comp .ins-meter{margin:0}.ins-comp b{text-align:right}.ins-comp b.na{grid-column:span 2;text-align:left;color:var(--muted);font-weight:600}.ins-comp small{grid-column:1/-1;color:var(--muted);font-size:12px;font-weight:600}
.ins-q{border:2px solid #eef0fb;border-radius:14px;padding:8px 10px;margin-bottom:8px}
.ins-q summary{cursor:pointer;list-style:none}.ins-q summary::-webkit-details-marker{display:none}
.ins-q summary b{display:block;font-size:14.5px}.ins-q summary small{display:block;color:var(--muted);font-size:12px;font-weight:700;margin-top:2px}
.ins-q summary::after{content:'Show answer ▾';display:block;color:var(--violet);font-weight:800;font-size:12.5px;margin-top:4px}.ins-q[open] summary::after{content:'Hide ▴'}
.ins-qa{font-size:14px;margin-top:6px}.ins-qa p{margin-bottom:6px}.ins-qa .why{color:var(--ink)}.ins-mist{color:#8a3a14;font-weight:700}
.ins-mebtn{margin-bottom:14px}
.ins-home{display:flex;align-items:center;gap:6px;width:100%;border:none;border-radius:14px;background:rgba(255,255,255,.14);color:#fff;font-weight:800;font-size:14px;font-family:inherit;padding:10px 12px;margin:-2px 0 10px;cursor:pointer;text-align:left}
.ins-home span:last-child{margin-left:auto}
/* dashboard */
.ins-dhead h2{margin-bottom:10px}
.ins-seg{display:flex;gap:4px;background:#eef0fb;border-radius:14px;padding:4px;margin-bottom:8px}
.ins-seg button{flex:1;border:none;background:none;border-radius:10px;padding:9px 6px;font-weight:800;font-size:14px;font-family:inherit;color:var(--ink);cursor:pointer;min-height:40px}
.ins-seg button.on{background:var(--violet);color:#fff}
.ins-seg.sm button{font-size:12.5px;padding:6px 8px;min-height:36px}
.ins-seg.wrap{flex-wrap:wrap;background:none;padding:0}.ins-seg.wrap button{flex:0 1 auto;background:#eef0fb;border-radius:999px}.ins-seg.wrap button.on{background:var(--violet)}
.ins-boxes{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:14px}
[data-ts=XL] .ins-boxes,[data-ts=XXL] .ins-boxes{grid-template-columns:repeat(2,1fr)}
.ins-box{background:var(--card,#fff);border:none;border-radius:18px;padding:10px 6px;box-shadow:0 6px 18px rgba(0,0,0,.16);font-family:inherit;color:var(--ink);cursor:pointer;text-align:center;min-width:0}
.ins-box b{display:block;font-family:'Baloo 2',Nunito,system-ui,sans-serif;font-size:21px;line-height:1.1;overflow-wrap:anywhere}.ins-box span{display:block;font-size:12px;font-weight:800}.ins-box small{display:block;font-size:10.5px;color:var(--muted);font-weight:700}
.ins-ch-top{display:flex;align-items:center;justify-content:space-between;gap:8px}
.ins-tgl{flex:none;border:none;background:#eef0fb;border-radius:10px;font-weight:800;font-size:12.5px;font-family:inherit;color:var(--ink);padding:7px 10px;cursor:pointer;min-height:36px}
.ins-sum{font-size:13.5px;color:var(--muted);font-weight:600;margin:4px 0 8px}
.ins-svg{display:block;width:100%;height:auto;overflow:visible;font-family:Nunito,system-ui,sans-serif}
.ins-grid{stroke:#e6e7ef;stroke-width:1}.ins-grid.base{stroke:#c3c2d0}
.ins-ax{fill:var(--muted);font-size:10px;font-weight:700}.ins-ax.sm{font-size:8.5px}
.ins-line{fill:none;stroke:var(--violet);stroke-width:2.5;stroke-linejoin:round;stroke-linecap:round}
.ins-dot{fill:var(--violet);stroke:#fff;stroke-width:2}
.ins-hit{cursor:pointer;outline:none}.ins-hitc,.ins-hitr{fill:transparent}
.ins-hit:hover .ins-hitr,.ins-hit:focus-visible .ins-hitr{fill:#f2f0ff}
.ins-hit:hover .ins-hitc,.ins-hit:focus-visible .ins-hitc{fill:rgba(118,70,234,.14);stroke:var(--violet);stroke-width:2}
.ins-hit:focus-visible .ins-hm,.ins-hit:hover .ins-hm{stroke:var(--ink);stroke-width:2}
.ins-hit:focus-visible .ins-hitr{stroke:var(--ink);stroke-width:2}
.ins-bl{fill:var(--ink);font-size:12px;font-weight:800}.ins-bv{fill:var(--ink);font-size:11.5px;font-weight:800}
.ins-track{fill:#eef0fb}.ins-bar{fill:var(--violet)}
.ins-hm{fill:#eef0f6}.ins-hm.l1{fill:#b7d3f6}.ins-hm.l2{fill:#6da7ec}.ins-hm.l3{fill:#2a78d6}.ins-hm.l4{fill:#104281}.ins-hm.out{fill:none;stroke:#e3e5ee;stroke-width:1}.ins-hm.td{stroke:var(--ink);stroke-width:1.5}
.ins-hmsvg{margin:0 auto}
.ins-hmkey{display:flex;align-items:center;justify-content:flex-end;gap:3px;font-size:11px;font-weight:700;color:var(--muted);margin-top:6px}.ins-hmkey i{width:12px;height:12px;border-radius:3px;display:inline-block;background:#eef0f6}
.ins-hmkey i.l1{background:#b7d3f6}.ins-hmkey i.l2{background:#6da7ec}.ins-hmkey i.l3{background:#2a78d6}.ins-hmkey i.l4{background:#104281}
.ins-rring{fill:none;stroke:#e3e4ee;stroke-width:1;stroke-dasharray:3 3}.ins-rring.out{stroke-dasharray:none;stroke:#c9cbd9}
.ins-rpoly{fill:rgba(118,70,234,.18);stroke:var(--violet);stroke-width:2.5;stroke-linejoin:round}
.ins-mxg{display:grid;grid-template-columns:auto 1fr 1fr 1fr;gap:6px;align-items:stretch}
.ins-mxh{font-size:11.5px;font-weight:800;text-align:center;align-self:end}.ins-mxr{font-size:12px;font-weight:800;align-self:center;white-space:nowrap}
.ins-mx{border:2px solid transparent;border-radius:12px;padding:8px 4px;font-family:inherit;color:var(--ink);cursor:pointer;min-height:58px;display:flex;flex-direction:column;align-items:center;justify-content:center}
.ins-mx b{font-family:'Baloo 2',Nunito,system-ui,sans-serif;font-size:20px;line-height:1}.ins-mx span{font-size:11px;font-weight:800}
.ins-mx:disabled{cursor:default;opacity:.55}
.ins-mx.c-solid{background:#d7f2d7}.ins-mx.c-fair{background:#ebf7e4}.ins-mx.c-luck{background:#fff3c4}.ins-mx.c-mis{background:#fde0df}.ins-mx.c-gap{background:#fde7da}
.ins-tblscroll{overflow-x:auto;margin:0 -4px}
.ins-tbl{width:100%;border-collapse:collapse;font-size:13px}
.ins-tbl th,.ins-tbl td{text-align:left;padding:7px 4px;border-bottom:1px solid #eef0fb;vertical-align:top}
.ins-tbl th{font-size:12px;color:var(--muted);font-weight:800;white-space:nowrap}
.ins-tbl td small{display:block;color:var(--muted);font-size:11.5px}
.ins-sort{border:none;background:none;font:inherit;color:inherit;cursor:pointer;padding:6px 0;font-weight:800}
.ins-tlink{border:none;background:none;font:inherit;font-weight:800;color:var(--violet);cursor:pointer;text-align:left;padding:2px 0;text-decoration:underline;text-underline-offset:2px}
.ins-dotb{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:4px}
.ins-tblw{margin-top:4px}
.ins-flash{box-shadow:0 0 0 4px var(--sun),0 8px 24px rgba(0,0,0,.18)!important;transition:box-shadow .3s}
.ins-empty{text-align:center}
.ins-howin{max-height:calc(90vh / var(--z));overflow-y:auto}
.ins-howl{margin:0 0 10px 20px;font-size:14px}.ins-howl li{margin-bottom:8px}
/* high contrast */
html.sv-hc .ins-gcell,html.sv-hc .ins-imp,html.sv-hc .ins-q,html.sv-hc .ins-box,html.sv-hc .ins-mx,html.sv-hc .ins-acts button,html.sv-hc .ins-tgl,html.sv-hc .ins-seg button{border:2px solid #000!important;color:#000;background:#fff}
html.sv-hc .ins-seg button.on{background:#000;color:#fff}
html.sv-hc .ins-home{background:#000;color:#fff;border:2px solid #fff}
html.sv-hc .ins-ax,html.sv-hc .ins-bl,html.sv-hc .ins-bv{fill:#000}
html.sv-hc .ins-grid,html.sv-hc .ins-rring{stroke:#555}
html.sv-hc .ins-why em,html.sv-hc .ins-chip{border:1.5px solid #000;color:#000}
html.sv-hc .ins-gl span,html.sv-hc .ins-legend,html.sv-hc .ins-sum{color:#000!important}
html.sv-hc .ins-tlink,html.sv-hc .ins-how{color:#000}
html.sv-hc .ins-hit:focus-visible .ins-hitc,html.sv-hc .ins-hit:focus-visible .ins-hitr{stroke:#000;stroke-width:4}
@media (forced-colors:active){.ins-gcell,.ins-imp,.ins-box,.ins-mx,.ins-acts button,.ins-seg button{border:2px solid ButtonText}.ins-line,.ins-rpoly{stroke:CanvasText}}
/* header too narrow for the name at this text size / width (js/look.js measures it) */
html.sv-hdr-tight header .brand{display:none}
html.sv-hdr-tight header{justify-content:flex-end}
.ins-bl.rl{font-size:11px}
html.sv-hc .ins-track{fill:#fff;stroke:#000;stroke-width:1}html.sv-hc .ins-hm.l0{fill:#fff;stroke:#000;stroke-width:1}
.ins-qa .why{font-size:14px;font-weight:600;line-height:1.4;margin:0 0 6px}
/* arcade cards: lighter gradient ends darkened so white text keeps 4.5:1 across the whole card (all looks) */
.arc-c-boss{--c1:#dc2626}.arc-c-lightning{--c1:#c2410c}.arc-c-memory{--c1:#7c3aed}.arc-c-storm{--c1:#0369a1}
.arc-c-odd{--c1:#047857}.arc-c-chain{--c1:#be185d}.arc-c-quizshow{--c1:#4f46e5}.arc-c-snakes{--c1:#15803d}
html.sv-hc .ux-sizes button{border:3px solid #000;background:#fff}html.sv-hc .ux-sizes button small{color:#000}
html.sv-hc .ux-sizes button.on{background:#000}html.sv-hc .ux-sizes button.on small{color:#fff}
/* === General Knowledge: Brain Snacks + GK Explorer (js/gk.js) === */
.gk-snack{margin:0 0 12px}
.gk-sh{display:flex;gap:8px;align-items:stretch;margin-bottom:8px}
.gk-tgl{flex:1;min-width:0;display:flex;align-items:center;gap:8px;background:rgba(255,255,255,.12);border:none;border-radius:16px;padding:7px 12px;color:#fff;font-family:inherit;text-align:left;cursor:pointer;min-height:46px}
.gk-spark{font-size:20px}
.gk-tt{min-width:0}.gk-tt b{display:block;font-family:'Baloo 2';font-size:16.5px;line-height:1.1}
.gk-tt small{display:block;font-size:11.5px;color:#c9d1ff;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gk-chev{margin-left:auto;transition:transform .2s;font-size:14px}
.gk-snack.shut .gk-chev{transform:rotate(-90deg)}
.gk-snack.shut .gk-row{display:none}
.gk-go{border:none;border-radius:16px;background:var(--sun);color:var(--ink);font-family:'Baloo 2';font-weight:800;font-size:14px;line-height:1.1;padding:6px 12px;cursor:pointer;box-shadow:0 3px 0 #d9a520;max-width:42%}
.gk-row{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;padding:2px 14px 10px;margin:0 -14px;scrollbar-width:none;-webkit-overflow-scrolling:touch;scroll-padding:0 14px}
.gk-row::-webkit-scrollbar{display:none}
.gkc{flex:0 0 84%;max-width:340px;scroll-snap-align:start;border-radius:20px;padding:12px 14px;display:flex;flex-direction:column;gap:6px;color:var(--ink);box-shadow:0 6px 18px rgba(0,0,0,.22);min-height:150px}
.gkc-thought{background:linear-gradient(160deg,#f5f0ff,#e3daff)}
.gkc-wow{background:linear-gradient(160deg,#fff3e8,#ffdcc2)}
.gkc-bite{background:linear-gradient(160deg,#eafcf5,#c6f1df)}
.gkc-otd{background:linear-gradient(160deg,#eaf4ff,#cde3ff)}
.gkc-word{background:linear-gradient(160deg,#fffbe6,#ffeeb0)}
.gkc-explore{background:linear-gradient(160deg,#7646ea,#3557d6);color:#fff}
.gkc-h{display:flex;align-items:center;gap:6px}
.gkc-e{font-size:20px}
.gkc-k{font-weight:800;font-size:12px;text-transform:uppercase;letter-spacing:.4px;color:#474b6e;flex:1;min-width:0}
.gkc-explore .gkc-k{color:#fff}
.gkc-h .spk{margin-left:auto;background:rgba(255,255,255,.75)}
.gkc-b{flex:1}
.gkc-b p{margin:0}
.gk-big{font-weight:800;font-size:15.5px;line-height:1.36}
.gk-by{font-size:12.5px;color:#474b6e;font-weight:700;margin-top:6px!important;font-style:italic}
.gk-year{font-family:'Baloo 2';font-weight:800;font-size:24px;color:#1d4ed8;line-height:1.05}
.gk-word{font-family:'Baloo 2';font-weight:800;font-size:25px;line-height:1.1;color:#6b4100}
.gk-word i{font-family:Nunito,sans-serif;font-size:12px;font-weight:700;color:#5f6485}
.gk-mean{font-weight:700;font-size:14.5px;line-height:1.35;margin:3px 0!important}
.gk-ex{font-size:13.5px;color:#474b6e;font-style:italic}
.gkc-explore .gk-mean{color:#eceaff}
.gk-ans{margin-top:8px!important;font-weight:800;color:#0b6b50;font-size:16px}
.gk-x{font-size:13.5px;color:#1f3d2f;line-height:1.35}
.gkc-a{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.gk-rev,.gk-more{border:none;border-radius:12px;font-family:inherit;font-weight:800;font-size:13px;padding:8px 11px;cursor:pointer;min-height:40px}
.gk-rev{background:#0b8a67;color:#fff}
.gk-more{background:rgba(255,255,255,.8);color:#5b2fd6;margin-left:auto}
.gk-solid{background:#fff}
.gk-ic{border:none;background:rgba(255,255,255,.8);border-radius:50%;width:40px;height:40px;font-size:16px;cursor:pointer;flex-shrink:0}
/* explorer */
.gk-search{margin-top:2px}
.gk-cats{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:8px}
.gk-cat{border:2px solid #e3e6f6;background:#fff;border-radius:12px;padding:8px;font-family:inherit;font-weight:800;font-size:13px;color:var(--ink);text-align:left;cursor:pointer;line-height:1.2;min-height:46px}
.gk-cat.on{background:var(--violet);border-color:var(--violet);color:#fff}
.gk-all{grid-column:1/-1;text-align:center}
.gk-modes{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}
.gk-mode{border:none;border-radius:16px;padding:12px;text-align:left;font-family:inherit;cursor:pointer;color:var(--ink);display:flex;flex-direction:column;gap:3px;min-height:80px;box-shadow:0 3px 0 rgba(0,0,0,.08)}
.gk-mode:nth-child(1){background:#efeaff}.gk-mode:nth-child(2){background:#e6f6ff}.gk-mode:nth-child(3){background:#fff3d6}
.gk-mode:nth-child(4){background:#e5f9ef}.gk-mode:nth-child(5){background:#ffe8e3}.gk-mode:nth-child(6){background:#f2f3f8}
.gk-mode b{font-family:'Baloo 2';font-size:16px;line-height:1.15}
.gk-mode small{font-size:12px;color:#4f5375;font-weight:700;line-height:1.25}
.gk-lt,.gk-lc .tst-top{display:flex;align-items:center;justify-content:space-between;gap:8px}
.gk-lt .tag,.tst-top .tag{margin-bottom:0}
.gk-n{font-weight:800;font-size:12px;color:var(--muted);white-space:nowrap}
.gk-fact{font-size:21px;line-height:1.3;margin:10px 0 8px}
.gk-exp{font-size:15.5px;line-height:1.45}
.gk-acts{display:flex;gap:8px;margin-top:12px;align-items:center}
.gk-acts .gk-ic{background:#eef0fb}
.gk-bm.on{background:#ffe08a!important}
.gk-nav .btn:disabled{opacity:.45}
.gk-speedtop{display:flex;justify-content:space-between;align-items:center;padding:10px 16px}
.gk-clock,.gk-score{font-family:'Baloo 2';font-weight:800;font-size:24px}
.gk-clock.low{color:#d63c3c}
.gk-tfl{font-weight:800;color:var(--violet);margin:10px 0 0;font-size:12.5px;text-transform:uppercase;letter-spacing:.4px}
.gk-tfa{display:block;margin-top:8px;background:#fff6d6;border-radius:12px;padding:8px 12px;font-size:20px}.gk-tfa small{display:block;font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.4px}
.tfb.picked{outline:3px solid var(--ink);outline-offset:2px}
.gk-meh{display:flex;gap:12px;align-items:center;margin-bottom:10px}
.gk-meh h3{margin:0}.gk-meh .sub{margin:2px 0 0}
.gk-mee{font-size:36px}
#s-gk .gs-hit small{display:block;margin-top:2px}
.gk-tgl:focus-visible,.gk-go:focus-visible,.gk-rev:focus-visible,.gk-more:focus-visible,.gk-ic:focus-visible,.gk-cat:focus-visible,.gk-mode:focus-visible{outline:3px solid var(--sun);outline-offset:2px}
html.sv-rm .gk-chev{transition:none}
html.sv-hc .gkc{background:#fff!important;color:#000;border:3px solid #000;box-shadow:none}
html.sv-hc .gkc-k,html.sv-hc .gk-by,html.sv-hc .gk-ex,html.sv-hc .gk-mean,html.sv-hc .gk-word,html.sv-hc .gk-word i,html.sv-hc .gk-year,html.sv-hc .gk-ans,html.sv-hc .gk-x{color:#000!important}
html.sv-hc .gk-tgl,html.sv-hc .gk-go{background:#000;color:#fff;border:2px solid #fff;box-shadow:none}
html.sv-hc .gk-tt small{color:#fff}
html.sv-hc .gk-cat,html.sv-hc .gk-mode,html.sv-hc .gk-more,html.sv-hc .gk-rev,html.sv-hc .gk-ic{border:3px solid #000;background:#fff!important;color:#000}
html.sv-hc .gk-cat.on{background:#000!important;color:#fff}
html.sv-hc .gk-mode small{color:#000}
html.sv-hc .gk-tfa{background:#fff;border:2px solid #000}
html.sv-hc .gk-tgl:focus-visible,html.sv-hc .gk-go:focus-visible,html.sv-hc .gk-cat:focus-visible,html.sv-hc .gk-mode:focus-visible{outline-color:#ff0}

/* === CA professional course (js/ca.js) — pro look: neutral, dense, readable; tables in ICAI exam format === */
#s-ca{color:var(--ink)}
.ca-load{color:#c7ccd6;padding:20px 4px}
.ca-top{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;margin:2px 2px 10px}
.ca-h1{font-size:21px;line-height:1.2;margin:2px 0 6px;color:inherit}
.ca-top .ca-h1,.ca-onDark{color:#fff}
.ca-h2{color:#fff;font-size:16px;margin:16px 2px 8px;letter-spacing:.2px}
.ca-h2s{font-size:17px;line-height:1.25;margin:2px 0 8px}
.ca-h3{font-size:14.5px;margin:12px 0 6px}
.ca-k{display:block;font-size:11.5px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;color:var(--muted);margin-bottom:4px}
.ca-chip{display:inline-block;font-size:12px;font-weight:700;padding:3px 9px;border-radius:999px;background:var(--sv-tint,#eef3fb);color:var(--violet,#1f5fd1);margin:0 6px 6px 0}
.ca-chip.lvl{background:rgba(255,255,255,.12);color:#fff}
.ca-chip.objective{background:#fff4e0;color:#7a4b00}.ca-chip.descriptive{background:#e8f1ff;color:#1b4fa0}
.ca-chips{margin:4px 0 2px}
.ca-mot p{margin:0;font-size:15.5px;line-height:1.45;font-weight:600}
.ca-row2{display:grid;grid-template-columns:1fr;gap:0}
.ca-days{display:flex;align-items:baseline;gap:8px}.ca-days b{font-size:34px;line-height:1}.ca-days span{font-weight:700;color:var(--muted)}
.ca-lab{display:block;font-size:13px;font-weight:700;margin:10px 0 4px;color:var(--ink)}
.ca-in{width:100%;border:1.5px solid #cfd5df;border-radius:8px;padding:10px;font:inherit;font-size:15px;background:#fff;color:var(--ink);margin-bottom:8px}
.ca-in:focus,.ca-ta:focus,.ca-cell:focus{outline:3px solid #9cc0ff;outline-offset:1px;border-color:var(--violet)}
.ca-link{background:none;border:none;color:var(--violet,#1f5fd1);font:inherit;font-weight:700;font-size:14px;text-decoration:underline;text-underline-offset:3px;cursor:pointer;padding:8px 0;min-height:36px}
.ca-next{display:block;width:100%;text-align:left;border:none;cursor:pointer;font:inherit;color:var(--ink)}
.ca-next b{display:block;font-size:16px;line-height:1.3}.ca-next small{display:block;color:var(--muted);font-size:12.5px;margin:2px 0 8px}
.ca-go{display:inline-block;margin-top:8px;font-weight:700;color:var(--violet)}
.ca-bar{display:block;height:6px;border-radius:9px;background:#e6e9ef;overflow:hidden;margin-top:6px}.ca-bar>i{display:block;height:100%;background:var(--violet,#1f5fd1);border-radius:9px}
.ca-ring{flex:none}.ca-ring-bg{fill:none;stroke:#e6e9ef;stroke-width:5}.ca-ring-fg{fill:none;stroke:var(--violet,#1f5fd1);stroke-width:5;stroke-linecap:round}
.ca-ring text{font-size:11px;font-weight:700;fill:var(--ink)}
.ca-journey{list-style:none;margin:0;padding:0}
.ca-lvl{margin-bottom:10px}
.ca-lvl details{background:var(--card,#fff);border-radius:var(--sv-r-card,8px);box-shadow:var(--sv-sh-card);overflow:hidden}
.ca-lvl summary{display:flex;align-items:center;gap:10px;padding:12px;cursor:pointer;list-style:none;min-height:52px}
.ca-lvl summary::-webkit-details-marker{display:none}
.ca-lvl summary::after{content:'▾';margin-left:auto;color:var(--muted);transition:transform .15s}
.ca-lvl details[open] summary::after{transform:rotate(180deg)}
.ca-step{flex:none;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#e6e9ef;font-weight:700;font-size:13px}
.ca-lvl.cur .ca-step{background:var(--violet);color:#fff}
.ca-lvln b{display:block;font-size:15.5px}.ca-lvln small{display:block;color:var(--muted);font-size:12.5px}
.ca-papers{display:grid;grid-template-columns:1fr;gap:6px;padding:0 10px 10px}
.ca-paper{display:flex;align-items:center;gap:10px;width:100%;text-align:left;border:1px solid #e3e7ee;background:#fafbfc;border-radius:var(--sv-r-sm,6px);padding:10px;cursor:pointer;font:inherit;color:var(--ink);min-height:64px}
.ca-paper:hover{border-color:#b9c6dc}
.ca-pbody{flex:1;min-width:0}.ca-pbody small{display:block;color:var(--muted);font-size:12px;font-weight:600}.ca-pbody small em{font-style:normal;color:#0f7a3e;font-weight:700}
.ca-pbody b{display:block;font-size:14.5px;line-height:1.25}.ca-pmeta{display:block;color:var(--muted);font-size:12px;margin-top:2px}
.ca-chev{flex:none;font-size:22px;color:var(--muted)}
.ca-wrow{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px solid #eef0f4;font-size:14px}.ca-wrow b{white-space:nowrap}
b.w,.ca-skill b.w{color:#a3221f}b.s,.ca-skill b.s{color:#0f7a3e}
.ca-phead .ca-h1,.ca-uhead .ca-h1{font-size:20px}
.ca-search{margin-top:4px}
.ca-none{color:#fff;padding:8px}
.ca-group{color:#fff;font-size:13px;letter-spacing:.3px;text-transform:uppercase;margin:14px 2px 6px;opacity:.85}
.ca-ch{background:var(--card,#fff);border-radius:var(--sv-r-card,8px);box-shadow:var(--sv-sh-card);margin-bottom:8px;overflow:hidden}
.ca-ch summary{display:flex;align-items:center;gap:10px;padding:11px 12px;cursor:pointer;list-style:none;min-height:52px}
.ca-ch summary::-webkit-details-marker{display:none}
.ca-chn{flex:none;min-width:30px;height:30px;padding:0 4px;border-radius:6px;background:#eef1f6;display:grid;place-items:center;font-weight:700;font-size:13px}
.ca-chb b{display:block;font-size:15px;line-height:1.25}.ca-chb small{display:block;color:var(--muted);font-size:12.5px}
.ca-units{list-style:none;margin:0;padding:0 8px 8px}
.ca-urow{display:flex;gap:10px;width:100%;text-align:left;border:none;border-top:1px solid #eef0f4;background:none;padding:10px 4px;font:inherit;color:var(--ink);cursor:pointer;min-height:48px}
.ca-urow.soon{color:#6b7280}.ca-urow.soon .ca-un{background:#f2f3f5}
.ca-un{flex:none;width:26px;height:26px;border-radius:50%;background:var(--sv-tint,#eef3fb);color:var(--violet);display:grid;place-items:center;font-weight:700;font-size:12.5px}
.ca-ub{flex:1;min-width:0}.ca-ub b{display:block;font-size:14px;line-height:1.3;font-weight:650}
.ca-topics{display:block;color:var(--muted);font-size:12px;line-height:1.35;margin-top:2px}
.ca-soon{display:inline-block;margin-top:4px;font-size:11.5px;font-weight:700;color:#6b7280;background:#f2f3f5;border-radius:999px;padding:2px 8px}
.ca-uprog small{display:block;color:var(--muted);font-size:12px;margin-top:4px}
.ca-tabs{display:flex;gap:6px;overflow-x:auto;padding:2px 2px 8px;margin:0 -2px 6px;scrollbar-width:thin;position:sticky;top:0;z-index:2;background:linear-gradient(var(--sky) 85%,transparent)}
.ca-tabs [role=tab]{flex:none;display:flex;align-items:center;gap:6px;border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.08);color:#e7eaf0;border-radius:999px;padding:8px 12px;font:inherit;font-size:13.5px;font-weight:650;cursor:pointer;min-height:40px}
.ca-tabs [role=tab][aria-selected=true]{background:#fff;color:var(--ink);border-color:#fff}
.ca-tn{width:20px;height:20px;border-radius:50%;display:grid;place-items:center;font-size:11px;background:rgba(255,255,255,.18)}
.ca-tabs [aria-selected=true] .ca-tn{background:var(--violet);color:#fff}
.ca-tabs .done .ca-tn{background:#1f9d55;color:#fff}
#caPanel:focus{outline:none}
.ca-intro{color:#d5d9e1;font-size:14px;margin:2px 2px 10px;line-height:1.4}
.ca-p{font-size:15px;line-height:1.55;margin:0 0 8px}
.ca-ul,.ca-ol{margin:4px 0 8px 20px;font-size:14.5px;line-height:1.5}.ca-ul li,.ca-ol li{margin:3px 0}
.ca-tlist{columns:2;column-gap:18px;margin:6px 0 0 18px;font-size:13px;line-height:1.45}
.ca-icai summary,.ca-given summary,.ca-checks summary,.ca-tbuild summary{cursor:pointer;font-weight:700;font-size:13.5px;color:var(--violet);padding:6px 0;min-height:36px}
.ca-tip{background:#fff8e6;border-left:4px solid #e0a100;padding:8px 10px;border-radius:4px;font-size:14px;margin:10px 0 0}.ca-tip b{margin-right:4px}
.ca-analogy,.ca-work{border-radius:6px;padding:9px 11px;margin-top:10px;font-size:14px;line-height:1.45}
.ca-analogy{background:#f3f0ff}.ca-work{background:#e9f6ef}
.ca-analogy b,.ca-work b{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.4px;margin-bottom:2px}
.ca-analogy p,.ca-work p{margin:0}
.ca-q{font-size:15px;line-height:1.5;margin:4px 0 10px;font-weight:550}
.ca-sol{margin-top:10px;border-top:1px dashed #d6dbe4;padding-top:8px}
.ca-btitle{font-weight:700;font-size:14px;margin:10px 0 6px;text-align:center}
.ca-scroll{overflow-x:auto;margin:4px 0 10px;-webkit-overflow-scrolling:touch;position:relative}
.ca-ledger,.ca-lgrid,.ca-pad,#s-ca .card{position:relative}
html[data-age=pro] #askFab{display:none!important}
.ca-lside caption{position:static!important;width:auto!important;height:auto!important;clip:auto!important;clip-path:none!important;margin:0!important;white-space:normal!important}
.ca-scroll:focus-visible{outline:3px solid #9cc0ff}
.ca-t{width:100%;border-collapse:collapse;font-size:13.5px;line-height:1.35;font-variant-numeric:tabular-nums}
.ca-t th,.ca-t td{border:1px solid #cfd5df;padding:5px 7px;vertical-align:top;text-align:left}
.ca-t th{background:#f2f4f7;font-weight:700;font-size:12.5px}
.ca-t .n{text-align:right;white-space:nowrap}
.ca-t tfoot td,.ca-t tr.ca-tot td{font-weight:700;border-top:2px solid #8a94a6;border-bottom:3px double #8a94a6}
.ca-journal{min-width:0}
@media (max-width:520px){.ca-journal{font-size:12.5px}.ca-journal th,.ca-journal td{padding:4px 5px}.ca-journal td:nth-child(1){width:auto!important;white-space:normal!important}.ca-journal th:nth-child(3),.ca-journal td:nth-child(3){width:18px;padding:4px 2px}.ca-to{padding-left:14px!important}}
.ca-journal td:nth-child(1){white-space:nowrap;width:64px}.ca-journal td:nth-child(3){width:34px}
.ca-je tr td{border-top:none;border-bottom:none}
.ca-je tr:first-child td{border-top:1px solid #cfd5df}
.ca-dr{float:right;font-weight:600;color:#3b4250;margin-left:8px}
.ca-to{padding-left:26px!important}
.ca-narr td{font-style:italic;color:#4b5363;font-size:12.5px;border-bottom:1px solid #cfd5df!important}
.ca-ledger{margin:10px 0 12px}
.ca-lhead{display:flex;justify-content:space-between;align-items:baseline;border-bottom:2px solid #8a94a6;padding:2px 2px 4px;font-size:13px}.ca-lhead b{font-size:14px;text-align:center}
.ca-lgrid{display:grid;grid-template-columns:1fr;gap:6px;margin-top:6px}
.ca-lside{min-width:0}.ca-lside td:nth-child(1){white-space:nowrap;width:56px}.ca-lside td:nth-child(3){width:30px}
.ca-lside caption,.ca-cbside caption{text-align:left;font-size:12px;font-weight:700;color:var(--muted);padding:2px 0}
.ca-bal td{color:#1b4fa0;font-weight:600}
.ca-lnext{font-size:12.5px;color:#1b4fa0;font-weight:600;margin-top:4px}
.ca-cbside{min-width:440px}
.ca-legal{margin:6px 0}
.ca-lg{border-left:4px solid #8a94a6;padding:6px 10px;margin:6px 0;background:#fafbfc;border-radius:0 6px 6px 0}
.ca-lg b{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.5px;margin-bottom:2px}.ca-lg p{margin:0;font-size:14.5px;line-height:1.5}
.ca-lg-provision{border-color:#1f5fd1}.ca-lg-facts{border-color:#8a94a6}.ca-lg-analysis{border-color:#b26b00}.ca-lg-conclusion{border-color:#0f7a3e;background:#eef8f2}
.ca-wn{background:#f6f7f9;border:1px dashed #b9c1cf;border-radius:6px;padding:8px 10px;margin:8px 0;font-size:13.5px}.ca-wn b{font-size:12.5px}.ca-wn p{margin:3px 0 0;line-height:1.45}
.ca-note{color:var(--muted);font-size:12.5px;line-height:1.45;margin:4px 0 8px}
.ca-checks{margin-top:6px;font-size:12.5px}.ca-checks ul{margin:4px 0 0 18px}.ca-checks code{font-size:12px;background:#f2f4f7;padding:0 3px;border-radius:3px}
.ca-role{display:inline-block;font-size:12px;font-weight:700;background:#e9f6ef;color:#0f5a32;border-radius:999px;padding:3px 9px;margin-bottom:6px}
.ca-take{background:#eef3fb;border-radius:6px;padding:8px 10px;font-size:14px;margin:8px 0}.ca-take b{margin-right:4px}
.ca-think{border-top:1px solid #eef0f4;margin-top:8px;padding-top:6px;font-size:14px}.ca-think p{margin:4px 0}
.ca-mtop{display:flex;justify-content:space-between;gap:8px;align-items:center}
.ca-mq{font-size:16px;line-height:1.4;margin:10px 0 4px}
.ca-opts .opt{display:flex;gap:8px;align-items:flex-start;font-weight:600;line-height:1.35}
.ca-ol{flex:none;font-weight:700;color:var(--muted)}
.ca-opts .ca-ol{margin:0}
.ca-mnext{margin-top:10px}
.ca-res .ca-btns,.ca-btns{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0}.ca-btns .btn{flex:1 1 160px}
.ca-nextbtn{margin:6px 0 14px}
.ca-qrow{display:flex;align-items:center;gap:10px;width:100%;text-align:left;border:none;cursor:pointer;font:inherit;color:var(--ink)}
.ca-qm{flex:none;width:48px;text-align:center;font-weight:700;font-size:18px;line-height:1}.ca-qm small{display:block;font-size:10.5px;color:var(--muted);font-weight:600}
.ca-qb{flex:1;min-width:0}.ca-qb b{display:block;font-size:14px;line-height:1.35;font-weight:600}.ca-qb small{display:block;color:var(--muted);font-size:12px;margin-top:3px}
.ca-timer{font-variant-numeric:tabular-nums;font-weight:700;background:#eef1f6;border-radius:6px;padding:3px 8px}.ca-timer.over{background:#fde4e3;color:#8f1d1a}
.ca-ta{width:100%;min-height:200px;border:1.5px solid #cfd5df;border-radius:8px;padding:10px;font:inherit;font-size:15px;line-height:1.5;resize:vertical;margin:0}
.ca-padbar{display:flex;justify-content:space-between;align-items:center;font-size:13px;color:var(--muted);margin:4px 0 6px}
.ca-tbuild{margin:4px 0 10px}
.ca-tbt{min-width:420px}.ca-tbt td{padding:2px}.ca-tbt th:last-child,.ca-tbt td:last-child{width:34px;text-align:center}
.ca-cell{width:100%;border:1px solid transparent;padding:6px;font:inherit;font-size:14px;background:#fff;color:var(--ink);min-width:60px}
.ca-x{border:none;background:none;color:#8f1d1a;font-size:15px;cursor:pointer;min-width:32px;min-height:32px}
.ca-tbchk{font-size:13px;font-weight:700;color:#8a4a00;margin:4px 0 8px}.ca-tbchk.ok{color:#0f7a3e}
.ca-pts{list-style:decimal;margin:4px 0 8px 20px;padding:0}
.ca-pts li{padding:8px 0;border-bottom:1px solid #eef0f4}
.ca-pt{display:flex;justify-content:space-between;gap:10px;font-size:14px;line-height:1.4}.ca-pt em{flex:none;font-style:normal;font-weight:700;color:var(--muted);font-size:12.5px}
.ca-seg{display:flex;gap:4px;margin-top:6px}
.ca-seg button{flex:1;border:1.5px solid #cfd5df;background:#fff;color:var(--ink);border-radius:6px;padding:7px 4px;font:inherit;font-size:13px;font-weight:650;cursor:pointer;min-height:38px}
.ca-seg button[aria-checked=true]{background:var(--violet);border-color:var(--violet);color:#fff}
.ca-segw button{padding:10px 4px}
.ca-score{font-size:16px;margin:10px 0}.ca-score b{font-size:22px}
.ca-ai{margin-top:8px;opacity:.6}
.ca-miss li::marker{color:#a3221f}.ca-rem li::marker{color:#0f7a3e}
.ca-qr{margin:0}.ca-qr div{display:grid;grid-template-columns:minmax(110px,38%) 1fr;gap:8px;padding:7px 0;border-bottom:1px solid #eef0f4;font-size:14px}
.ca-qr dt{font-weight:700}.ca-qr dd{margin:0}
.ca-wunit{display:flex;justify-content:space-between;align-items:center;gap:10px;width:100%;text-align:left;border:none;border-bottom:1px solid #eef0f4;background:none;padding:10px 2px;font:inherit;color:var(--ink);cursor:pointer}
.ca-wunit b{display:block;font-size:14px}.ca-wunit small{display:block;color:var(--muted);font-size:12px}
.ca-band{flex:none;font-style:normal;font-size:11.5px;font-weight:700;border-radius:999px;padding:3px 8px;background:#f2f3f5}
.ca-band.w{background:#fde4e3;color:#8f1d1a}.ca-band.s{background:#dff3e7;color:#0f5a32}.ca-band.m{background:#fff0d9;color:#7a4b00}
.ca-skill{display:grid;grid-template-columns:1fr 80px 44px;gap:8px;align-items:center;padding:7px 0;border-bottom:1px solid #eef0f4;font-size:14px}.ca-skill .ca-bar{margin:0}.ca-skill b{text-align:right}
.ca-vs{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:10px 0}.ca-vs div{background:#f4f6f9;border-radius:6px;padding:10px;text-align:center}.ca-vs b{display:block}.ca-vs span{font-size:13px;color:var(--muted)}
.ca-prof{display:flex;align-items:center;gap:12px}
.ca-avatar{width:52px;height:52px;border-radius:50%;background:var(--violet);color:#fff;display:grid;place-items:center;font-size:22px;font-weight:700;flex:none}
.ca-entry{text-align:left}.ca-entry h3{margin-bottom:8px}
.ca-entryb{width:100%;align-items:flex-start!important;text-align:left;padding:12px!important}.ca-entryb small{font-weight:600;color:var(--muted)}
.ca-lvlpick{width:100%;align-items:flex-start!important;text-align:left;padding:12px!important;margin-bottom:8px}.ca-lvlpick small{font-weight:600;color:var(--muted)}
.ca-ob .ca-lab{color:var(--ink)}
/* wider screens: two columns where it helps */
@media (min-width:560px){
  .ca-lgrid{grid-template-columns:1fr 1fr}
  .ca-row2{grid-template-columns:1fr 1fr;gap:10px}
  .ca-papers{grid-template-columns:1fr 1fr}
}
@media (min-width:900px){
  html[data-age=pro] .app{max-width:960px}
  html[data-age=pro] nav{max-width:960px}
  html[data-age=pro] main{padding-left:24px;padding-right:24px}
  .ca-papers{grid-template-columns:repeat(3,1fr)}
  .ca-cbgrid{grid-template-columns:1fr 1fr}
}
/* high contrast */
html.sv-hc .ca-paper,html.sv-hc .ca-urow,html.sv-hc .ca-seg button,html.sv-hc .ca-tabs [role=tab],html.sv-hc .ca-qrow,html.sv-hc .ca-next{border:2px solid #000;background:#fff;color:#000}
html.sv-hc .ca-tabs [role=tab][aria-selected=true],html.sv-hc .ca-seg button[aria-checked=true]{background:#000;color:#fff}
html.sv-hc .ca-t th,html.sv-hc .ca-t td{border-color:#000;color:#000}
html.sv-hc .ca-analogy,html.sv-hc .ca-work,html.sv-hc .ca-tip,html.sv-hc .ca-take,html.sv-hc .ca-lg,html.sv-hc .ca-wn{background:#fff;border:2px solid #000;color:#000}
html.sv-hc .ca-h2,html.sv-hc .ca-group,html.sv-hc .ca-intro,html.sv-hc .ca-onDark,html.sv-hc .ca-top .ca-h1{color:#fff}
html.sv-hc .ca-chip,html.sv-hc .ca-band,html.sv-hc .ca-soon{background:#fff;color:#000;border:1px solid #000}
@media (forced-colors:active){.ca-paper,.ca-urow,.ca-seg button,.ca-tabs [role=tab],.ca-qrow{border:2px solid ButtonText}.ca-ring-fg,.ca-bar>i{stroke:Highlight;background:Highlight}}
@media print{#s-ca .ca-tabs,#s-ca .ca-btns,#s-ca .ca-nextbtn,#s-ca .back{display:none!important}#s-ca .card{box-shadow:none;border:1px solid #ccc}}
/* === Dashboard (js/dashboard.js, entry tiles from js/insights.js) — brand palette: ink #15161C, gold #C9A76A, crimson #B71C2C, cream #F4EAD8 === */
.dsh{position:relative;background:#F4EAD8;border-radius:24px;padding:10px;color:#15161C;font-family:Nunito,system-ui,sans-serif;font-variant-numeric:tabular-nums;margin-bottom:14px}
.dsh h2,.dsh h3{font-family:Nunito,system-ui,sans-serif!important}
.dk-hero{position:relative;overflow:hidden;background:radial-gradient(120% 90% at 100% 0,rgba(201,167,106,.18),transparent 55%),linear-gradient(160deg,#1B2340 0%,#15161C 72%);color:#F4EAD8;border-radius:20px;padding:16px 14px 14px;box-shadow:0 12px 30px rgba(21,22,28,.32)}
.dk-hero::before{content:'';position:absolute;left:0;right:0;top:0;height:2px;background:linear-gradient(90deg,transparent,#C9A76A,transparent)}
.dk-eye{display:block;font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#8A6A2E;line-height:1.3}
.dk-eye.gold{color:#C9A76A}
.dk-htop{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:8px 10px}
.dk-title{font-weight:800;font-size:25px;line-height:1.1;color:#fff;margin:3px 0 0;letter-spacing:-.01em}
.dk-cmp{flex:none;display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(201,167,106,.5);background:rgba(255,255,255,.04);color:#F4EAD8;border-radius:999px;padding:7px 12px 7px 8px;font:800 13px Nunito,system-ui,sans-serif;min-height:40px;cursor:pointer}
.dk-cmp:disabled{opacity:.45;cursor:default}
.dk-sw{width:30px;height:18px;border-radius:9px;background:rgba(255,255,255,.18);position:relative;transition:background .25s}
.dk-sw i{position:absolute;left:2px;top:2px;width:14px;height:14px;border-radius:50%;background:#F4EAD8;transition:transform .25s}
.dk-cmp[aria-pressed=true] .dk-sw{background:#C9A76A}.dk-cmp[aria-pressed=true] .dk-sw i{transform:translateX(12px);background:#15161C}
.dk-crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:0 6px;margin:8px 0 6px;font-size:13.5px;color:#9C978C}
.dk-crumb{background:none;border:none;color:#E9D3A0;font:700 13.5px Nunito,system-ui,sans-serif;padding:6px 2px;min-height:36px;cursor:pointer;text-decoration:underline;text-decoration-color:rgba(201,167,106,.6);text-underline-offset:3px;max-width:100%;overflow-wrap:anywhere;text-align:left}
.dk-crumb[aria-current]{color:#fff;text-decoration:none;cursor:default}
.dk-filters{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-end}
.dk-seg{display:flex;background:rgba(255,255,255,.06);border:1px solid rgba(201,167,106,.28);border-radius:12px;padding:3px;gap:2px}
.dk-hero .dk-seg{flex:1 1 260px}
.dk-seg button{flex:1;border:none;background:none;color:#E8E1D2;font:800 13px Nunito,system-ui,sans-serif;padding:8px 6px;border-radius:9px;min-height:40px;cursor:pointer;transition:background .2s,color .2s;white-space:nowrap}
.dk-seg button[aria-pressed=true]{background:#C9A76A;color:#15161C}
.dk-seg.sm{background:#F4EAD8;border-color:#E9D3A0;margin:0 0 10px}.dk-seg.sm button{color:#15161C;font-size:12.5px;min-height:36px}.dk-seg.sm button[aria-pressed=true]{background:#15161C;color:#F4EAD8}
.dk-sels{display:flex;gap:8px;flex:1 1 220px;min-width:0}
.dk-sel{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px;font-size:10.5px;color:#B9B2A3;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.dk-sel select{-webkit-appearance:none;appearance:none;width:100%;max-width:none;background:#1E2029 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23C9A76A' stroke-width='2' fill='none'/%3E%3C/svg%3E") no-repeat right 10px center;border:1px solid rgba(201,167,106,.35);color:#fff;border-radius:10px;padding:9px 28px 9px 10px;font:700 14px Nunito,system-ui,sans-serif;min-height:42px;text-transform:none;letter-spacing:0;text-overflow:ellipsis}
.dk-sel select option{color:#15161C;background:#fff}
.dk-custom{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.dk-custom label{flex:1 1 130px;display:flex;flex-direction:column;gap:3px;font-size:11px;font-weight:800;color:#B9B2A3;letter-spacing:.06em;text-transform:uppercase}
.dk-custom input{background:#1E2029;border:1px solid rgba(201,167,106,.35);color:#fff;border-radius:10px;padding:8px 10px;font:700 14px Nunito,system-ui,sans-serif;min-height:42px;color-scheme:dark}
.dk-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.dk-chip{background:rgba(201,167,106,.16);color:#F4EAD8;border:1px solid #C9A76A;border-radius:999px;padding:6px 12px;font:800 12.5px Nunito,system-ui,sans-serif;min-height:36px;cursor:pointer;text-align:left}
.dk-card .dk-chip{background:#F4EAD8;color:#15161C;border-color:#8A6A2E}
.dk-plabel{margin:10px 0 0;font-size:13px;color:#E9D3A0;font-weight:700}.dk-plabel span{color:#A9A396;font-weight:600}
/* KPI strip */
.dk-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(142px,1fr));gap:8px;margin-top:12px}
.dk-kpi{display:flex;flex-direction:column;gap:2px;min-width:0;text-align:left;background:linear-gradient(180deg,#22252F,#1E2029);border:1px solid rgba(201,167,106,.2);border-radius:16px;padding:10px 12px 8px;color:#F4EAD8;cursor:pointer;font-family:inherit;transition:transform .2s,border-color .2s;animation:dkIn .5s cubic-bezier(.2,.8,.2,1) both}
.dk-kpi:nth-child(2){animation-delay:.04s}.dk-kpi:nth-child(3){animation-delay:.08s}.dk-kpi:nth-child(4){animation-delay:.12s}.dk-kpi:nth-child(5){animation-delay:.16s}.dk-kpi:nth-child(6){animation-delay:.2s}
.dk-kpi:hover{border-color:#C9A76A;transform:translateY(-2px)}
.dk-kl{font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#B9B2A3}
.dk-kv{font-weight:800;font-size:28px;line-height:1.1;color:#fff;letter-spacing:-.02em;overflow-wrap:anywhere}
.dk-krow{display:flex;align-items:center;gap:4px 6px;flex-wrap:wrap;font-size:12px}.dk-krow small{color:#A9A396;font-weight:600;font-size:12px}
.dk-d{display:inline-block;font-weight:800;font-size:12px;border-radius:999px;padding:1px 7px;white-space:nowrap}
.dk-d.up{color:#8EE0AE;background:rgba(46,139,87,.24)}.dk-d.dn{color:#FFA9B0;background:rgba(183,28,44,.28)}.dk-d.eq,.dk-d.na{color:#C9C3B6;background:rgba(255,255,255,.08)}
.dk-d.lt.up{color:#1F6B41;background:#E1F1E7}.dk-d.lt.dn{color:#9A1726;background:#FBE3E6}.dk-d.lt.eq{color:#4B4F59;background:#EFEBE2}
.dk-spark{display:block;width:100%;height:30px;margin-top:4px;overflow:visible}
.dk-spk-area{fill:rgba(201,167,106,.16)}.dk-spk-line{fill:none;stroke:#C9A76A;stroke-width:2;vector-effect:non-scaling-stroke;stroke-linejoin:round;stroke-linecap:round}.dk-spk-dot{fill:#E9D3A0}.dk-spk-base{stroke:rgba(255,255,255,.18)}
.dk-kbar{display:block;height:6px;background:rgba(255,255,255,.1);border-radius:6px;margin-top:auto;overflow:hidden}.dk-kbar i{display:block;height:100%;background:#C9A76A;border-radius:6px;transform-origin:left;animation:dkGrowX .9s cubic-bezier(.2,.8,.2,1) both}
/* card grid */
.dk-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;margin-top:14px;grid-auto-flow:row dense}
.dk-grid[data-cols="2"]{grid-template-columns:repeat(2,minmax(0,1fr))}.dk-grid[data-cols="3"]{grid-template-columns:repeat(3,minmax(0,1fr))}
.dk-grid:not([data-cols="1"]) .span2{grid-column:span 2}.dk-grid .span3{grid-column:1/-1}
.dk-card{position:relative;min-width:0;background:#FFFDF8;border:1px solid #EADFC8;border-radius:18px;padding:16px;box-shadow:0 1px 0 rgba(138,106,46,.06),0 8px 24px rgba(21,22,28,.07);animation:dkIn .5s cubic-bezier(.2,.8,.2,1) both;animation-delay:calc(var(--i,0) * 35ms);transition:box-shadow .3s}
.dk-flash{box-shadow:0 0 0 3px #C9A76A,0 8px 24px rgba(21,22,28,.1)}
@keyframes dkIn{from{opacity:0;transform:translateY(12px)}}
.dk-ctop{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:6px}
.dk-card h3{font-weight:800;font-size:17px;line-height:1.2;color:#15161C;margin:2px 0 0}
.dk-tgl{flex:none;border:1px solid #E0D3B5;background:#FFFDF8;color:#15161C;border-radius:10px;font:800 12.5px Nunito,system-ui,sans-serif;padding:7px 12px;min-height:38px;cursor:pointer}
.dk-tgl:hover{background:#F4EAD8}
.dk-sum{font-size:13.5px;color:#454852;margin:0 0 10px;line-height:1.45}
.dk-svg{display:block;width:100%;height:auto;overflow:visible;margin:0 auto}
.dk-ax{font:600 11px Nunito,system-ui,sans-serif;fill:#62666F}.dk-ax.sm{font-size:10px}
.dk-gline{stroke:#EEE7D8;stroke-width:1}.dk-gline.base{stroke:#CDC3AE}
.dk-line{fill:none;stroke:#8A6A2E;stroke-width:2.5;stroke-linejoin:round;stroke-linecap:round}.dk-line.alt{stroke:#2A7F8F}
.dk-area{fill:rgba(201,167,106,.2)}
.dk-prevline{fill:none;stroke:#6B6F7B;stroke-width:1.6;stroke-dasharray:5 4}
.dk-dot{fill:#8A6A2E;stroke:#FFFDF8;stroke-width:2;transition:r .15s}.dk-dot.alt{fill:#2A7F8F}
.dk-vlab{font:800 12.5px Nunito,system-ui,sans-serif;fill:#15161C;paint-order:stroke;stroke:#FFFDF8;stroke-width:3px}
.dk-hit{cursor:pointer;outline:none}
.dk-hitr,.dk-hitc{fill:transparent}
.dk-hit:hover .dk-hitr{fill:rgba(201,167,106,.1)}
.dk-hit:focus-visible .dk-hitr,.dk-hit:focus-visible .dk-hitc{fill:rgba(201,167,106,.2);stroke:#15161C;stroke-width:2}
.dk-hit:focus-visible .dk-hm,.dk-hit:focus-visible .dk-sc{stroke:#15161C;stroke-width:2.5}
.dk-hit:hover .dk-dot,.dk-hit:focus-visible .dk-dot{r:7px}
.dk-draw{stroke-dasharray:1;stroke-dashoffset:0;animation:dkDraw 1.1s cubic-bezier(.3,.7,.2,1) both}@keyframes dkDraw{from{stroke-dashoffset:1}}
.dk-area{animation:dkFade .9s .25s both}@keyframes dkFade{from{opacity:0}}
.dk-grow{transform-box:fill-box;transform-origin:50% 100%;animation:dkGrow .6s cubic-bezier(.2,.8,.2,1) both}@keyframes dkGrow{from{transform:scaleY(0)}}
.dk-growx{transform-box:fill-box;transform-origin:0 50%;animation:dkGrowX .75s cubic-bezier(.2,.8,.2,1) both}@keyframes dkGrowX{from{transform:scaleX(0)}}
.dk-pop{transform-box:fill-box;transform-origin:50% 50%;animation:dkPop .8s cubic-bezier(.2,.9,.25,1.1) both}@keyframes dkPop{from{transform:scale(.15);opacity:0}}
.dk-s-ok{fill:#2E8B57}.dk-s-bad{fill:#B71C2C}.dk-s-skip{fill:#B3AC9E}
.dk-legend{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:12.5px;font-weight:700;color:#454852;margin:0 0 8px}
.dk-legend span{display:inline-flex;align-items:center;gap:6px}.dk-legend i{display:inline-block;width:12px;height:12px;border-radius:3px}
.dkl-ok{background:#2E8B57}.dkl-bad{background:#B71C2C}.dkl-skip{background:#B3AC9E}.dkl-line{background:#8A6A2E;height:3px!important;width:16px!important;border-radius:2px}
.dkl-prev{width:16px!important;height:0!important;border-top:2px dashed #6B6F7B;border-radius:0!important}.dkl-on{background:#C9A76A;border-radius:50%!important}.dkl-run{background:#B71C2C;border-radius:50%!important}
.dk-bl{font:700 12.5px Nunito,system-ui,sans-serif;fill:#15161C}.dk-bl.sm{font-size:11.5px}
.dk-bv{font:800 12.5px Nunito,system-ui,sans-serif;fill:#15161C}.dk-bv.sm{font-size:11px}.dk-bv2{font-weight:800;fill:#8A6A2E}
.dk-track{fill:#F2EBDC}.dk-bar{fill:#C9A76A}.dk-prevbar{fill:#9C978C}
.dk-bar.dk-b-vw,.dk-mb .dk-b-vw{fill:#7A0F1A;background:#7A0F1A}.dk-bar.dk-b-w,.dk-mb .dk-b-w{fill:#B71C2C;background:#B71C2C}.dk-bar.dk-b-s,.dk-mb .dk-b-s{fill:#C9A76A;background:#C9A76A}.dk-bar.dk-b-vs,.dk-mb .dk-b-vs{fill:#2E8B57;background:#2E8B57}
.dk-rring{fill:none;stroke:#EEE7D8}.dk-rpoly{fill:rgba(201,167,106,.28);stroke:#8A6A2E;stroke-width:2;stroke-linejoin:round}
/* gauge + readiness */
.dk-stand{display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.dk-gw{flex:1 1 160px;min-width:150px;text-align:center}
.dk-gauge{display:block;width:100%;max-width:230px;margin:0 auto;overflow:visible}
.dk-gseg{stroke-linecap:butt}.dk-g-vw{stroke:#7A0F1A}.dk-g-w{stroke:#B71C2C}.dk-g-s{stroke:#C9A76A}.dk-g-vs{stroke:#2E8B57}
.dk-ndl{fill:#15161C}.dk-hub{fill:#15161C;stroke:#FFFDF8;stroke-width:3}
.dk-needle{transform-origin:100px 100px;transform-box:view-box;transform:rotate(var(--r));animation:dkNeedle 1.2s cubic-bezier(.3,1.35,.5,1) both}@keyframes dkNeedle{from{transform:rotate(-90deg)}}
.dk-gl{margin-top:-2px;line-height:1.1}.dk-gl b{display:block;font-weight:800;font-size:34px;color:#15161C}.dk-gl span{font-weight:800;font-size:13.5px;color:#454852}
.dk-t-vw span{color:#7A0F1A}.dk-t-w span{color:#9A1726}.dk-t-s span{color:#8A6A2E}.dk-t-vs span{color:#1F6B41}
.dk-ready{flex:1 1 180px;display:flex;align-items:center;gap:12px;background:#F4EAD8;border:1px solid #E9D3A0;border-radius:16px;padding:12px;cursor:pointer;text-align:left;font-family:inherit;color:#15161C;min-width:0}
.dk-ready:hover{border-color:#C9A76A}
.dk-rw{position:relative;flex:none;width:84px;height:84px}.dk-rw svg{width:100%;height:100%;display:block}.dk-rw b{position:absolute;inset:0;display:grid;place-items:center;font-weight:800;font-size:20px}
.dk-ring-bg{fill:none;stroke:#E6DBC3;stroke-width:9}.dk-ring-fg{fill:none;stroke:#C9A76A;stroke-width:9;stroke-linecap:round;animation:dkRing 1.2s cubic-bezier(.3,.7,.2,1) both}@keyframes dkRing{from{stroke-dasharray:0 var(--c)}}
.dk-ready .dk-ring-fg{stroke:#8A6A2E}
.dk-rt{display:flex;flex-direction:column;gap:2px;min-width:0}.dk-rt b{font-weight:800;font-size:18px}.dk-rt small{font-size:12.5px;color:#454852}.dk-rt small.dk-eye{color:#8A6A2E;font-size:10.5px}.dk-rt u{font-size:12.5px;font-weight:800;color:#8A6A2E;text-underline-offset:3px;margin-top:2px}
.dk-how{margin-top:12px;background:#FFF8EA;border:1px dashed #C9A76A;border-radius:14px;padding:10px 12px;font-size:13px;color:#2A2C33}.dk-how p{margin:0 0 6px}
.dk-mini{display:grid;grid-template-columns:minmax(0,1fr) 80px 40px;gap:8px;align-items:center;font-size:12.5px;font-weight:700;margin:6px 0}.dk-mini>i{display:block;height:6px;background:#EFE6D2;border-radius:6px;overflow:hidden}.dk-mini>i>i{display:block;height:100%;background:#8A6A2E}.dk-mini b{text-align:right}
/* donut */
.dk-dwrap{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:center}
.dk-donut{flex:none;width:min(170px,46%);height:auto;overflow:visible}
.dk-dseg{fill:none;stroke-width:20;transition:stroke-width .2s}
.dk-donut .dk-hit{animation:dkFade .8s both}.dk-donut .dk-hit:hover .dk-dseg,.dk-donut .dk-hit:focus-visible .dk-dseg{stroke-width:26}
.dk-m-mastered{stroke:#2E8B57;background:#2E8B57}.dk-m-strong{stroke:#C9A76A;background:#C9A76A}.dk-m-learning{stroke:#C98A0B;background:#C98A0B}.dk-m-weak{stroke:#B71C2C;background:#B71C2C}.dk-m-new{stroke:#DDD4C2;background:#DDD4C2}
.dk-dnum{font:800 28px Nunito,system-ui,sans-serif;fill:#15161C}
.dk-dleg{flex:1 1 150px;display:flex;flex-direction:column;gap:2px;min-width:0}
.dk-dleg button{display:flex;align-items:center;gap:8px;border:1px solid transparent;background:none;border-radius:10px;padding:5px 8px;font-family:inherit;color:#15161C;cursor:pointer;text-align:left;min-height:42px}
.dk-dleg button:hover{background:#F8F2E4}.dk-dleg button[aria-pressed=true]{border-color:#15161C;background:#F4EAD8}.dk-dleg button:disabled{opacity:.5;cursor:default}
.dk-dleg i{flex:none;width:12px;height:12px;border-radius:4px}.dk-dleg span{flex:1;min-width:0;display:flex;flex-direction:column;font-weight:800;font-size:13px;line-height:1.2}.dk-dleg small{font-weight:600;color:#62666F;font-size:11.5px}.dk-dleg b{font-size:15px}
/* heatmap + streak calendar */
.dk-hm{fill:#EFE8D8}.dk-hm.l1{fill:#E9D3A0}.dk-hm.l2{fill:#C9A76A}.dk-hm.l3{fill:#8A6A2E}.dk-hm.l4{fill:#4E3B17}.dk-hm.out{opacity:.35}.dk-hm.td{stroke:#B71C2C;stroke-width:2}
.dk-hmkey{display:flex;align-items:center;justify-content:flex-end;gap:4px;font-size:11.5px;font-weight:700;color:#62666F;margin-top:6px}.dk-hmkey i{display:inline-block;width:12px;height:12px;border-radius:3px;background:#EFE8D8}
.dk-hmkey i.l1{background:#E9D3A0}.dk-hmkey i.l2{background:#C9A76A}.dk-hmkey i.l3{background:#8A6A2E}.dk-hmkey i.l4{background:#4E3B17}
.dk-sc{fill:#F4EFE4}.dk-sc.on{fill:#E9D3A0}.dk-sc.run{fill:#B71C2C}.dk-sc.fut{fill:none;stroke:#EEE7D8}.dk-sc.td{stroke:#15161C;stroke-width:2}
.dk-scn{font:700 11.5px Nunito,system-ui,sans-serif;fill:#62666F;pointer-events:none}.dk-sc.on+.dk-scn{fill:#15161C;font-weight:800}.dk-sc.run+.dk-scn{fill:#fff;font-weight:800}
.dk-col{fill:#C9A76A}.dk-col.best{fill:#B71C2C}
.dk-avg{stroke:#2A7F8F;stroke-width:1;stroke-dasharray:3 3}
/* confidence matrix */
.dk-mxg{display:grid;grid-template-columns:auto repeat(3,minmax(0,1fr));gap:6px}
.dk-mxh{font-size:11.5px;font-weight:800;color:#454852;text-align:center;align-self:end}.dk-mxr{font-size:12px;font-weight:800;color:#454852;align-self:center;padding-right:2px}
.dk-mx{display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid transparent;border-radius:12px;padding:10px 4px;min-height:64px;font-family:inherit;color:#15161C;cursor:pointer;transition:transform .15s}
.dk-mx:hover:not(:disabled){transform:translateY(-2px);border-color:#15161C}.dk-mx b{font-weight:800;font-size:22px;line-height:1.1}.dk-mx span{font-size:11.5px;font-weight:800;text-align:center;hyphens:manual;overflow-wrap:anywhere;line-height:1.2}
.dk-mx:disabled{opacity:.55;cursor:default}
.dk-c-solid{background:#D8EEE0}.dk-c-fair{background:#E9F4ED}.dk-c-luck{background:#F6EBCB}.dk-c-mis{background:#F5CFD4}.dk-c-gap{background:#FBE6E8}
/* tables */
.dk-tscroll,.dk-tblw{overflow-x:auto}
.dk-tbl{width:100%;border-collapse:collapse;font-size:13.5px;color:#15161C}
.dk-tbl th{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#62666F;text-align:left;padding:6px;border-bottom:1px solid #E5DAC4;white-space:nowrap;font-weight:800}
.dk-tbl td{padding:8px 6px;border-bottom:1px solid #F0E9DA;vertical-align:middle}
.dk-main tbody tr{transition:background .15s}.dk-main tbody tr:hover{background:#FBF6EA}
.dk-sort{background:none;border:none;font:inherit;color:inherit;letter-spacing:inherit;text-transform:inherit;cursor:pointer;padding:6px 0;min-height:36px;font-weight:800}
.dk-tl{background:none;border:none;font:800 13.5px Nunito,system-ui,sans-serif;color:#15161C;text-align:left;cursor:pointer;padding:6px 0;min-height:36px;text-decoration:underline;text-decoration-color:#C9A76A;text-decoration-thickness:2px;text-underline-offset:3px}
.dk-mbc{white-space:nowrap}.dk-mb{display:inline-block;width:48px;height:7px;background:#F1EADB;border-radius:6px;overflow:hidden;vertical-align:middle;margin-right:6px}.dk-mb i{display:block;height:100%;border-radius:6px;transform-origin:left;animation:dkGrowX .7s cubic-bezier(.2,.8,.2,1) both}.dk-mb .dk-acc{background:#8A6A2E}
.dk-na{color:#8A8E97}
.dk-tf{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:6px}.dk-search{flex:1 1 180px}
.dk-search input{width:100%;border:1px solid #E0D3B5;background:#fff;border-radius:12px;padding:10px 12px;font:600 14px Nunito,system-ui,sans-serif;color:#15161C;min-height:44px}
/* question list */
.dk-q{border:1px solid #EADFC8;border-radius:14px;padding:10px 12px;margin-bottom:8px;background:#fff}
.dk-q summary{display:flex;gap:10px;align-items:flex-start;cursor:pointer;list-style:none}.dk-q summary::-webkit-details-marker{display:none}
.dk-qn{flex:none;width:26px;height:26px;border-radius:50%;background:#15161C;color:#C9A76A;font-weight:800;font-size:12px;display:grid;place-items:center}
.dk-qb{flex:1;min-width:0}.dk-qb b{display:block;font-size:14px;line-height:1.35}.dk-qb small{display:block;color:#62666F;font-size:12px;font-weight:600;margin-top:2px}
.dk-qp{flex:none;font-weight:800;font-size:13px;border-radius:999px;padding:2px 8px;background:#EFEBE2}.dk-qp.g{background:#DCEFE3;color:#1F6B41}.dk-qp.m{background:#F6EBCB;color:#6E4B05}.dk-qp.b{background:#F6D3D7;color:#8F1424}
.dk-qa{font-size:13.5px;margin-top:8px;padding-top:8px;border-top:1px dashed #E5DAC4}.dk-qa p{margin:0 0 6px}
.dk-more{width:100%;border:1px solid #E0D3B5;background:#FFFDF8;border-radius:12px;padding:10px;font:800 14px Nunito,system-ui,sans-serif;color:#15161C;cursor:pointer;min-height:44px}
.dk-emini{display:flex;align-items:center;justify-content:center;gap:8px;padding:26px 8px;color:#62666F;font-weight:700;font-size:13.5px;border-radius:12px;background:repeating-linear-gradient(45deg,#FBF7EE,#FBF7EE 8px,#F5EEDF 8px,#F5EEDF 16px)}
.dk-tip{position:absolute;z-index:4;max-width:240px;background:#15161C;color:#F4EAD8;font:700 12.5px/1.35 Nunito,system-ui,sans-serif;padding:7px 10px;border-radius:10px;border:1px solid #C9A76A;box-shadow:0 8px 20px rgba(0,0,0,.25);pointer-events:none}
/* empty state: onboarding over a blurred sample */
.dk-empty{position:relative;border-radius:20px;overflow:hidden;min-height:620px}
.dk-preview{filter:blur(4px) saturate(.9);opacity:.8;pointer-events:none;user-select:none;max-height:1100px;overflow:hidden}
.dk-preview *{animation:none!important}
.dk-onb{position:absolute;inset:0;display:flex;align-items:flex-start;justify-content:center;padding:64px 10px 12px;background:linear-gradient(180deg,rgba(244,234,216,.15),rgba(244,234,216,.7) 40%,rgba(244,234,216,.92))}
.dk-onbin{max-width:420px;text-align:center;background:linear-gradient(160deg,#1B2340,#15161C 70%);color:#F4EAD8;border:1px solid #C9A76A;border-radius:22px;padding:22px 18px 18px;box-shadow:0 20px 50px rgba(21,22,28,.45);animation:dkIn .6s cubic-bezier(.2,.8,.2,1) both}
.dk-onbicon{position:relative;width:96px;height:96px;margin:0 auto 10px}.dk-onbicon svg{width:100%;height:100%}.dk-onbicon b{position:absolute;inset:0;display:grid;place-items:center;font-weight:800;font-size:21px;color:#fff}
.dk-onbin .dk-ring-bg{stroke:rgba(255,255,255,.14)}
.dk-onbin h2{font-weight:800;font-size:22px;line-height:1.2;color:#fff;margin:6px 0 8px}.dk-onbin p{font-size:14px;color:#D9D2C3;margin:0 0 12px;line-height:1.45}
.dk-onbl{list-style:none;text-align:left;margin:0 auto 16px;display:inline-flex;flex-direction:column;gap:7px;font-size:13.5px;font-weight:700;padding:0}
.dk-cta{display:block;width:100%;border:none;background:#C9A76A;color:#15161C;border-radius:14px;padding:13px;font:800 16px Nunito,system-ui,sans-serif;cursor:pointer;min-height:48px;box-shadow:0 4px 0 #8A6A2E}
.dk-cta:active{transform:translateY(3px);box-shadow:0 1px 0 #8A6A2E}
.dk-note{display:block;margin-top:10px;color:#A9A396;font-size:11.5px}
.dk-seg{flex-wrap:wrap}.dk-seg button{flex:1 1 auto}
.dk-seg.sm button{padding:6px 4px;font-size:12px;min-width:0}.dk-gap{height:12px}
.dk-ready{flex-wrap:wrap}.dk-rt{flex:1 1 120px}
@media (max-width:559px){.dk-hero .dk-seg,.dk-sels{flex:1 1 100%}}
/* hidden nav buttons stay hidden (nav button{display:flex} otherwise beats the hidden attribute) */
nav button[hidden]{display:none!important}
.dk-grid[data-cols="1"] .dk-mb{width:34px}
/* entry tile (home + Me) */
.ins-tilebox{margin:0 0 12px}
.dk-tile{position:relative;overflow:hidden;display:flex;align-items:stretch;gap:10px;width:100%;min-height:104px;text-align:left;border:1px solid rgba(201,167,106,.6);border-radius:20px;padding:14px 12px 14px 16px;background:radial-gradient(90% 120% at 100% 0,rgba(201,167,106,.25),transparent 60%),linear-gradient(135deg,#1B2340 0%,#15161C 70%);color:#F4EAD8;cursor:pointer;font-family:Nunito,system-ui,sans-serif;box-shadow:0 12px 28px rgba(0,0,0,.35);transition:transform .2s,box-shadow .2s;animation:dkIn .45s cubic-bezier(.2,.8,.2,1) both}
.dk-tile:hover{transform:translateY(-2px);box-shadow:0 16px 34px rgba(0,0,0,.42)}.dk-tile:active{transform:translateY(1px)}
.dk-tile.ph{animation:none}
.dk-tl1{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;z-index:1}.dk-tl1>b{font-weight:800;font-size:21px;line-height:1.15;color:#fff}
.dk-tstats{display:flex;gap:6px 16px;margin-top:8px;flex-wrap:wrap}.dk-tstats>span{display:flex;flex-direction:column;min-width:0}
.dk-tstats b{font-weight:800;font-size:23px;line-height:1;color:#E9D3A0}.dk-tstats small{font-size:11px;font-weight:700;color:#B9B2A3;margin-top:4px}
.dk-tspark,.dk-tghost{flex:0 0 92px;display:flex;flex-direction:column;justify-content:center;align-items:flex-end;gap:2px;z-index:1}
.dk-tspark small{font-size:10.5px;color:#A9A396;font-weight:700}
.dk-tspark .dk-spark,.dk-tghost .dk-spark{height:44px}
.dk-tghost{opacity:.55;filter:blur(1.2px)}
.dk-tgo{align-self:center;font-size:28px;line-height:1;color:#C9A76A;font-weight:800;z-index:1}
.dk-tsub{font-size:13.5px;color:#E3DCCD;font-weight:700}.dk-tsub.sm{font-size:11.5px;color:#A9A396}
.dk-tprog{display:block;height:7px;max-width:220px;border-radius:6px;background:rgba(255,255,255,.12);overflow:hidden;margin:6px 0 2px}.dk-tprog i{display:block;height:100%;background:#C9A76A;border-radius:6px}
[data-ts=XL] .dk-tspark,[data-ts=XXL] .dk-tspark,[data-ts=XL] .dk-tghost,[data-ts=XXL] .dk-tghost{display:none}
[data-ts=XXL] .dk-kpis{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}
[data-ts=XXL] .dk-kv{font-size:24px}
/* wide screens: the dashboard gets room to breathe */
@media (min-width:900px){
  .app:has(.screen.active .dsh){max-width:calc(1140px / var(--z))}
  .dsh{padding:14px}
  .dk-hero{padding:20px 22px 18px}
}
/* high contrast */
html.sv-hc .dsh{background:#fff;border:3px solid #fff}
html.sv-hc .dk-hero,html.sv-hc .dk-tile,html.sv-hc .dk-onbin{background:#000;border:3px solid #fff;color:#fff}
html.sv-hc .dk-kpi{background:#000;border:2px solid #fff;color:#fff}
html.sv-hc :is(.dk-kl,.dk-krow small,.dk-plabel,.dk-plabel span,.dk-crumbs,.dk-sel,.dk-custom label,.dk-tstats small,.dk-tsub,.dk-tspark small,.dk-eye.gold,.dk-onbin p,.dk-note){color:#fff}
html.sv-hc :is(.dk-crumb,.dk-tstats b){color:#ffeb3b}
html.sv-hc .dk-seg{background:#000;border:2px solid #fff}
html.sv-hc .dk-seg button{color:#fff}html.sv-hc .dk-seg button[aria-pressed=true]{background:#ffeb3b;color:#000}
html.sv-hc .dk-seg.sm{background:#fff;border-color:#000}html.sv-hc .dk-seg.sm button{color:#000}html.sv-hc .dk-seg.sm button[aria-pressed=true]{background:#000;color:#fff}
html.sv-hc :is(.dk-sel select,.dk-custom input){background-color:#000;border:2px solid #fff}
html.sv-hc .dk-d{color:#fff!important;background:#000!important;border:1px solid #fff}html.sv-hc .dk-d.lt{color:#000!important;background:#fff!important;border-color:#000}
html.sv-hc .dk-card{background:#fff;border:3px solid #000;box-shadow:none}
html.sv-hc :is(.dk-sum,.dk-eye,.dk-legend,.dk-mxh,.dk-mxr,.dk-tbl th,.dk-qb small,.dk-dleg small,.dk-hmkey,.dk-rt small,.dk-gl span,.dk-t-vw span,.dk-t-w span,.dk-t-s span,.dk-t-vs span,.dk-rt u){color:#000}
html.sv-hc :is(.dk-ax,.dk-bl,.dk-bv,.dk-bv2,.dk-scn,.dk-dnum){fill:#000}
html.sv-hc :is(.dk-tgl,.dk-ready,.dk-mx,.dk-dleg button,.dk-q,.dk-more,.dk-search input){border:2px solid #000;background:#fff;color:#000}
html.sv-hc .dk-cmp{border-color:#fff;background:#000;color:#fff}
html.sv-hc .dk-gline{stroke:#777}
html.sv-hc .dk-line{stroke:#000;stroke-width:3}html.sv-hc .dk-area{fill:rgba(0,0,0,.12)}html.sv-hc .dk-track{fill:#ddd}
html.sv-hc .dk-tile .dk-tgo{color:#ffeb3b}
html.sv-hc .dk-tip{background:#000;color:#fff;border:2px solid #fff}
@media (forced-colors:active){.dk-kpi,.dk-card,.dk-mx,.dk-seg button,.dk-tile,.dk-ready,.dk-tgl,.dk-dleg button{border:2px solid ButtonText}.dk-line,.dk-rpoly{stroke:CanvasText}.dk-seg button[aria-pressed=true]{outline:3px solid Highlight}}

/* === CA tools (js/ca-tools.js): brand palette for the pro look · dashboard · viva · MCQ builder · mock papers · notes · search === */
/* palette: ink #15161C · ink-2 #1E2029 · gold #C9A76A · gold-deep #8A6A2E (text on white) · crimson #B71C2C · wine #5B0F1B · cream #F4EAD8 · cream-gold #E9D3A0 · paper #FFFDF8 */
html[data-age=pro]:not(.sv-hc){--sky:#15161C;--sky2:#15161C;--violet:#8A6A2E;--blue:#8A6A2E;--sv-accd:#6E5222;--sv-tint:#F4EAD8;--sv-ghost:#F3EEE4;--sv-ghostd:#E2D6BE;--ink:#15161C;--muted:#575B66;
  --sv-nav:rgba(21,22,28,.97);--sv-navtx:#B9B4A8;--sv-navon:rgba(201,167,106,.16);--sv-navontx:#E9D3A0;--card:#FFFDF8;--ca-gold:#C9A76A;--ca-goldd:#8A6A2E;--ca-goldi:#74561F;--ca-crim:#B71C2C;--ca-ok:#23704A;--ca-cream:#F4EAD8}
html[data-age=pro]:not(.sv-hc) body{background:#15161C}
html[data-age=pro]:not(.sv-hc) .btn:not(.ghost){background:#15161C;color:#F4EAD8;box-shadow:inset 0 -2px 0 #C9A76A}
html[data-age=pro]:not(.sv-hc) .btn:not(.ghost):disabled{opacity:.45}
html[data-age=pro]:not(.sv-hc) #s-ca .card,html[data-age=pro]:not(.sv-hc) .ca-sheet .sheet-in{background:#FFFDF8}
html[data-age=pro]:not(.sv-hc) .ca-chip{background:#F4EAD8;color:#74561F}
html[data-age=pro]:not(.sv-hc) .ca-chip.lvl{background:rgba(201,167,106,.16);color:#E9D3A0;border:1px solid rgba(201,167,106,.4)}
html[data-age=pro]:not(.sv-hc) .ca-chip.objective{background:#F4EAD8;color:#5B0F1B}html[data-age=pro]:not(.sv-hc) .ca-chip.descriptive{background:#EFEDE8;color:#2B2D35}
html[data-age=pro]:not(.sv-hc) .ca-h2,html[data-age=pro]:not(.sv-hc) .ca-group{color:#E9D3A0}
html[data-age=pro]:not(.sv-hc) .ca-bar{background:#ECE4D3}html[data-age=pro]:not(.sv-hc) .ca-bar>i{background:#C9A76A}
html[data-age=pro]:not(.sv-hc) .ca-ring-bg{stroke:#ECE4D3}html[data-age=pro]:not(.sv-hc) .ca-ring-fg{stroke:#C9A76A}
html[data-age=pro]:not(.sv-hc) .ca-lvl.cur .ca-step{background:#C9A76A;color:#15161C}
html[data-age=pro]:not(.sv-hc) .ca-paper{background:#FFFDF8;border-color:#E8DFCC}html[data-age=pro]:not(.sv-hc) .ca-paper:hover{border-color:#C9A76A}
html[data-age=pro]:not(.sv-hc) .ca-pbody small em{color:#8A6A2E}
html[data-age=pro]:not(.sv-hc) .ca-tabs [role=tab][aria-selected=true]{background:#C9A76A;color:#15161C;border-color:#C9A76A}
html[data-age=pro]:not(.sv-hc) .ca-tabs [aria-selected=true] .ca-tn{background:#15161C;color:#E9D3A0}
html[data-age=pro]:not(.sv-hc) .ca-tabs .done .ca-tn{background:#2E8B57;color:#fff}
html[data-age=pro]:not(.sv-hc) .ca-tabs .ca-vtab:not([aria-selected=true]){border-color:rgba(201,167,106,.55)}
html[data-age=pro]:not(.sv-hc) .ca-seg button[aria-checked=true]{background:#15161C;border-color:#15161C;color:#E9D3A0}
html[data-age=pro]:not(.sv-hc) .ca-analogy{background:#F4EAD8}html[data-age=pro]:not(.sv-hc) .ca-work{background:#F1F3EE}
html[data-age=pro]:not(.sv-hc) .ca-tip{background:#FBF4E4;border-left-color:#C9A76A}
html[data-age=pro]:not(.sv-hc) .ca-take{background:#F4EAD8}
html[data-age=pro]:not(.sv-hc) .ca-role{background:#F4EAD8;color:#5B0F1B}
html[data-age=pro]:not(.sv-hc) .ca-lg-provision{border-color:#8A6A2E}html[data-age=pro]:not(.sv-hc) .ca-lg-analysis{border-color:#B71C2C}html[data-age=pro]:not(.sv-hc) .ca-lg-conclusion{border-color:#2E8B57}
html[data-age=pro]:not(.sv-hc) b.w,html[data-age=pro]:not(.sv-hc) .ca-skill b.w{color:#B71C2C}html[data-age=pro]:not(.sv-hc) b.s,html[data-age=pro]:not(.sv-hc) .ca-skill b.s{color:#23704A}
html[data-age=pro]:not(.sv-hc) .ca-band.w{background:#F8E1E3;color:#7A0F1A}html[data-age=pro]:not(.sv-hc) .ca-band.s{background:#E2F1E8;color:#1D5E3E}html[data-age=pro]:not(.sv-hc) .ca-band.m{background:#F7EDD5;color:#6B4E14}
html[data-age=pro]:not(.sv-hc) #s-ca .ca-mot{background:#1E2029;color:#F4EAD8;border:1px solid rgba(201,167,106,.35)}html[data-age=pro]:not(.sv-hc) .ca-mot .ca-k{color:#C9A76A}
html[data-age=pro]:not(.sv-hc) .ca-avatar{background:#C9A76A;color:#15161C}
html[data-age=pro]:not(.sv-hc) .ca-in:focus,html[data-age=pro]:not(.sv-hc) .ca-ta:focus,html[data-age=pro]:not(.sv-hc) .ca-cell:focus{outline-color:#C9A76A;border-color:#8A6A2E}
html[data-age=pro]:not(.sv-hc) .ca-intro{color:#D9D3C6}
html[data-age=pro]:not(.sv-hc) .back{color:#E9D3A0}
html.ca-nav5 nav button{padding-left:1px;padding-right:1px}
nav button[hidden]{display:none!important}
.ca-onDark2{color:#C9C3B6;margin:0 2px 10px}
/* home: dashboard tile, search, quick actions */
.ca-dtile{display:block;width:100%;text-align:left;border:1px solid rgba(201,167,106,.45);cursor:pointer;font:inherit;background:linear-gradient(135deg,#1E2029,#15161C)!important;color:#F4EAD8}
.ca-dtile .ca-k{color:#C9A76A}.ca-dtile .ca-go{color:#E9D3A0}
.ca-dmini{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin:6px 0 2px}
.ca-dmini>span{display:flex;flex-direction:column;min-width:0}.ca-dmini b{font-size:20px;line-height:1.1;color:#fff;font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ca-dmini small{font-size:11.5px;color:#C9C3B6}
.ca-hsearch{margin-top:2px}
.ca-quick{display:flex;gap:6px;overflow-x:auto;padding:2px 2px 10px;scrollbar-width:none}
.ca-qt{flex:none;display:flex;align-items:center;gap:6px;border:1px solid rgba(201,167,106,.4);background:rgba(255,255,255,.05);color:#F4EAD8;border-radius:999px;padding:8px 13px;font:inherit;font-size:13.5px;font-weight:650;cursor:pointer;min-height:40px}
.ca-qt b{font-weight:400}.ca-qt:hover{background:rgba(201,167,106,.14)}
/* unit: save, highlight, notes */
.ca-uacts{display:flex;gap:14px;flex-wrap:wrap;margin-top:4px}
.ca-khead{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.ca-khead .ca-h2s{margin-bottom:8px}
.ca-save{flex:none;border:1px solid #E2D6BE;background:#fff;color:#74561F;border-radius:999px;padding:4px 10px;font:inherit;font-size:12.5px;font-weight:700;cursor:pointer;min-height:32px}
.ca-save[aria-pressed=true]{background:#F4EAD8;border-color:#C9A76A}
mark.ca-mark{background:#F3DFA8;color:inherit;border-radius:2px;padding:0 1px;box-shadow:0 1px 0 #C9A76A}
.ca-hlbtn{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(84px + env(safe-area-inset-bottom));z-index:9;border:none;border-radius:999px;background:#15161C;color:#E9D3A0;font:inherit;font-weight:700;font-size:15px;padding:10px 18px;box-shadow:0 6px 18px rgba(0,0,0,.35),inset 0 -2px 0 #C9A76A;cursor:pointer;min-height:44px}
.ca-flash{outline:3px solid #C9A76A;outline-offset:2px;transition:outline-color 1.2s}
/* viva */
.ca-vstat{display:flex;align-items:baseline;gap:8px;margin:4px 0 10px}.ca-vstat b{font-size:26px}.ca-vstat span{color:var(--muted);font-weight:650}
.ca-vlist{list-style:none;margin:0;padding:0;counter-reset:v}
.ca-vrow{display:flex;justify-content:space-between;align-items:center;gap:10px;width:100%;text-align:left;border:none;border-top:1px solid #EEE8DC;background:none;padding:10px 2px;font:inherit;font-size:14px;color:var(--ink);cursor:pointer;min-height:48px}
.ca-vunit{font-size:12.5px;color:var(--muted);margin:2px 0 0}
.ca-vq{font-size:18px;line-height:1.4;margin:6px 0 10px}
.ca-vhid{background:#F4EAD8;border-radius:6px;padding:10px;font-size:14px;margin:6px 0 10px}
.ca-micb{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;border:2px dashed #C9A76A;background:#FBF6EC;color:#15161C;border-radius:12px;padding:14px;font:inherit;font-size:16px;font-weight:700;cursor:pointer;min-height:56px;margin-top:4px}
.ca-micdot{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#15161C;font-size:19px}
.ca-micb.on{border-style:solid;border-color:#B71C2C;background:#FDF0F1}.ca-micb.on .ca-micdot{background:#B71C2C;animation:caPulse 1.2s ease-in-out infinite}
@keyframes caPulse{0%,100%{box-shadow:0 0 0 0 rgba(183,28,44,.45)}50%{box-shadow:0 0 0 9px rgba(183,28,44,0)}}
@media (prefers-reduced-motion:reduce){.ca-micb.on .ca-micdot{animation:none}}
html[data-motion=reduce] .ca-micb.on .ca-micdot{animation:none}
.ca-vta{min-height:120px}
.ca-vres.ok{box-shadow:0 0 0 2px #2E8B57,var(--sv-sh-card)}
.ca-vhead{display:flex;align-items:center;gap:12px}.ca-vhead .ca-h2s{margin:0}.ca-vhead .sub{margin:2px 0 0}
.ca-vres.ok .ca-ring-fg{stroke:#2E8B57}.ca-vres.ok .ca-h2s{color:#1D5E3E}
.ca-kp{list-style:none;margin:4px 0 8px;padding:0}.ca-kp li{display:flex;gap:8px;padding:7px 0;border-bottom:1px solid #EEE8DC;font-size:14.5px;line-height:1.4}
.ca-kp li>span:first-child{flex:none;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-weight:800;font-size:13px}
.ca-kp li.hit>span:first-child{background:#E2F1E8;color:#1D5E3E}.ca-kp li.miss>span:first-child{background:#F8E1E3;color:#B71C2C}
.ca-kp em{margin-left:auto;flex:none;font-style:normal;font-size:12px;color:var(--muted);font-weight:700}
.ca-vmodel{background:#F4EAD8;border-radius:6px;padding:10px}
/* MCQ builder + runner + results */
.ca-fs{border:none;margin:0 0 12px;padding:0}.ca-fs legend{font-size:12.5px;font-weight:800;letter-spacing:.3px;text-transform:uppercase;color:var(--muted);margin-bottom:6px;padding:0}
.ca-chipsel{display:flex;flex-wrap:wrap;gap:6px}
.ca-cs{border:1.5px solid #DDD3C0;background:#fff;color:var(--ink);border-radius:8px;padding:8px 11px;font:inherit;font-size:13.5px;font-weight:650;cursor:pointer;min-height:40px;text-align:left;line-height:1.25}
.ca-cs small{display:block;font-size:11.5px;font-weight:600;color:var(--muted)}
.ca-cs[aria-pressed=true],.ca-cs[aria-checked=true]{background:#15161C;border-color:#15161C;color:#F4EAD8}.ca-cs[aria-pressed=true] small,.ca-cs[aria-checked=true] small{color:#C9C3B6}
.ca-cs[aria-pressed=true]::before{content:'✓ ';color:#C9A76A}
.ca-cs:disabled{opacity:.45;cursor:not-allowed}
.ca-avail{font-weight:700;font-size:14px;margin:6px 0 10px}
.ca-pal{display:flex;flex-wrap:wrap;gap:5px;margin:10px 0 4px}
.ca-pal button{min-width:34px;height:34px;border-radius:6px;border:1.5px solid #DDD3C0;background:#fff;color:var(--ink);font:inherit;font-size:13px;font-weight:700;cursor:pointer;padding:0 6px}
.ca-pal button.ans{background:#F4EAD8;border-color:#C9A76A}.ca-pal button.att{border-color:#8A6A2E}.ca-pal button.cur{background:#15161C;color:#E9D3A0;border-color:#15161C}
.opt.sel{border-color:#15161C!important;background:#F4EAD8!important;box-shadow:inset 3px 0 0 #C9A76A}
.ca-case{background:#FBF6EC;border:1px solid #E8DCC3;border-radius:8px;padding:6px 10px;margin:10px 0 6px}.ca-case summary{cursor:pointer;font-weight:700;font-size:14px;min-height:36px;display:flex;align-items:center}.ca-case p{font-size:14.5px}
.ca-chtag{margin:10px 0 0}
.ca-setnav{margin-top:10px}
.ca-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin:8px 0}
.ca-kpis>div{background:#F6F1E6;border-radius:6px;padding:8px 4px;text-align:center}.ca-kpis b{display:block;font-size:19px;font-variant-numeric:tabular-nums}.ca-kpis span{font-size:11.5px;color:var(--muted);font-weight:650}
.ca-tpq td.ca-tbar{width:34%;min-width:70px}.ca-tbar i{display:block;height:8px;border-radius:4px;background:#C9A76A}.ca-tbar i.no{background:#B71C2C}
.ca-rv{border-top:1px solid #EEE8DC;padding:6px 0}.ca-rv summary{cursor:pointer;font-weight:650;font-size:14px;line-height:1.4;min-height:36px;padding:4px 0}
.ca-rv.no summary span{color:#B71C2C}.ca-rv.ok summary span{color:#23704A}.ca-why{background:#F6F1E6;border-radius:6px;padding:8px}
.ca-rvl{list-style:none;margin:0;padding:0}.ca-rvl li{display:flex;gap:8px;align-items:flex-start;padding:9px 0;border-bottom:1px solid #EEE8DC}.ca-rvl li>span{flex:1;font-size:14px}.ca-rvl small{display:block;color:var(--muted);font-size:12px;margin-top:2px}
.ca-cases{margin-top:10px}.ca-caserow{border-top:1px solid #EEE8DC;padding:10px 0;background:none}
/* mock papers */
.ca-label{display:inline-block;font-size:11.5px;font-weight:800;letter-spacing:.3px;color:#5B0F1B;background:#F4EAD8;border:1px solid #E2D6BE;border-radius:4px;padding:3px 7px;margin-bottom:6px}
.ca-mbar{position:sticky;top:0;z-index:3;background:#15161C;border-bottom:1px solid rgba(201,167,106,.35);padding:8px 2px;margin:0 -2px 10px}
.ca-mbar .ca-label{background:rgba(201,167,106,.14);color:#E9D3A0;border-color:rgba(201,167,106,.4)}
.ca-mrow{display:flex;align-items:center;gap:8px;color:#F4EAD8}.ca-mrow b{flex:1;min-width:0;font-size:15px}
.ca-mbar .ca-timer{background:#1E2029;color:#E9D3A0;border:1px solid rgba(201,167,106,.4);font-size:15px}.ca-mbar .ca-timer.over{background:#5B0F1B;color:#fff}
.ca-msub{width:auto!important;padding:8px 14px!important;font-size:14px!important;background:#C9A76A!important;color:#15161C!important;box-shadow:none!important}
.ca-mbar .ca-pal button{background:#1E2029;color:#F4EAD8;border-color:#3A3B45}.ca-mbar .ca-pal button.att{border-color:#C9A76A}.ca-mbar .ca-pal button.ans{background:#3A321F}.ca-mbar .ca-pal button.cur{background:#C9A76A;color:#15161C}
.ca-mbar .ca-score{color:#E9D3A0;margin:0}
.ca-mq1 .ca-h2s small,.ca-mk .ca-h2s small{font-size:13px;color:var(--muted);font-weight:600}
.ca-att{display:flex;align-items:center;gap:6px;font-size:13.5px;font-weight:700;cursor:pointer;min-height:40px}.ca-att input{width:20px;height:20px;accent-color:#8A6A2E}
.ca-mpart{border-top:1px solid #EEE8DC;padding-top:8px;margin-top:8px}
.ca-mph{display:flex;justify-content:space-between;align-items:center}.ca-mph em{font-style:normal;font-size:12.5px;font-weight:700;color:var(--muted)}
.ca-tf{margin:4px 0 0 18px;padding:0}.ca-tf li{padding:8px 0;border-bottom:1px dashed #E8DFCC}.ca-tf li p{margin:0 0 4px;font-size:14.5px;line-height:1.45}
.ca-tfr{margin:6px 0 0}
.ca-tfv{font-weight:700}.ca-tfv.ok{color:#23704A}.ca-tfv.no{color:#B71C2C}
.ca-myans{white-space:pre-wrap;font:inherit;font-size:14px;background:#F6F1E6;border-radius:6px;padding:8px;margin:6px 0;max-height:300px;overflow:auto}
.ca-mockc .ca-h2s{margin-top:2px}
/* hub */
.ca-hubs{display:grid;grid-template-columns:1fr;gap:0}
.ca-hub{display:flex;align-items:center;gap:12px;width:100%;text-align:left;border:none;cursor:pointer;font:inherit;color:var(--ink)}
.ca-hube{flex:none;width:42px;height:42px;border-radius:10px;background:#15161C;display:grid;place-items:center;font-size:20px;font-weight:400;box-shadow:inset 0 -2px 0 #C9A76A}
.ca-hub>span{flex:1;min-width:0}.ca-hub>span b{display:block;font-size:15.5px}.ca-hub small{display:block;color:var(--muted);font-size:12.5px;line-height:1.35;margin-top:2px}
/* notes + search */
.ca-nch{color:#F4EAD8;font-size:14.5px;margin:10px 2px 6px}
.ca-nunit .ca-h3{margin:2px 0 6px}
.ca-nmine{background:#F4EAD8;border-radius:6px;padding:8px 10px;margin:4px 0}.ca-nmine b{font-size:12px;text-transform:uppercase;letter-spacing:.4px;color:#74561F}.ca-nmine p{margin:4px 0 0;font-size:14px;line-height:1.45}
.ca-nlist{list-style:none;margin:6px 0 0;padding:0}.ca-nlist li{display:flex;align-items:flex-start;gap:6px;border-top:1px solid #EEE8DC;padding:4px 0}
.ca-nopen{flex:1;text-align:left;border:none;background:none;font:inherit;font-size:14px;color:var(--ink);cursor:pointer;padding:6px 0;line-height:1.45;min-height:40px}
.ca-sres{list-style:none;margin:0;padding:0}
.ca-shit{display:block;width:100%;text-align:left;border:none;background:#FFFDF8;border-radius:8px;padding:10px 12px;margin-bottom:6px;font:inherit;color:var(--ink);cursor:pointer;box-shadow:var(--sv-sh-card)}
.ca-shit b{display:block;font-size:14.5px;line-height:1.35;margin-top:2px}.ca-shit small{display:block;color:var(--muted);font-size:12px;margin-top:3px}
.ca-snip{display:block;font-size:13px;color:#3B3E48;line-height:1.4;margin-top:3px}
.ca-shit .ca-chip{margin:0;font-size:11px;padding:2px 7px}
html[data-age=pro]:not(.sv-hc) .ca-shit .ca-t-note,html[data-age=pro]:not(.sv-hc) .ca-shit .ca-t-highlight,html[data-age=pro]:not(.sv-hc) .ca-shit .ca-t-saved{background:#15161C;color:#E9D3A0}
.ca-sheet .sheet-in{max-height:90vh;overflow-y:auto}
/* dashboard */
.ca-dash{padding-bottom:8px}
.ca-dhero{display:flex;justify-content:space-between;align-items:flex-end;gap:10px;color:#F4EAD8;margin:2px 2px 10px}.ca-dhero .ca-k{color:#C9A76A}.ca-dhero .ca-h1{color:#fff;margin:0}
.ca-dcount{flex:none;text-align:right;border:1px solid rgba(201,167,106,.45);border-radius:8px;padding:6px 10px;background:#1E2029}.ca-dcount b{display:block;font-size:26px;line-height:1;color:#E9D3A0;font-variant-numeric:tabular-nums}.ca-dcount span{font-size:11.5px;color:#C9C3B6}
.ca-dcount .ca-link{color:#E9D3A0;padding:2px 0;min-height:0}
.ca-kpis6{grid-template-columns:repeat(2,1fr);gap:8px;margin:0 0 10px}
.ca-kpi{background:#1E2029!important;border:1px solid rgba(201,167,106,.28);border-radius:8px;padding:10px!important;text-align:left!important;color:#F4EAD8}
.ca-kpi b{font-size:21px!important;color:#fff}.ca-kpi span{display:block;color:#E9D3A0!important;font-size:12px!important;font-weight:700}.ca-kpi small{display:block;color:#AFA99C;font-size:11.5px;margin-top:2px;line-height:1.3}
.ca-dgrid{display:grid;grid-template-columns:1fr;gap:0}
.ca-dcard .sub{margin-top:0}
.ca-chart{width:100%;height:auto;display:block;margin:4px 0}
.ca-b1{fill:#C9A76A}.ca-b2{fill:#B71C2C}.ca-axis{stroke:#D8CDB6;stroke-width:1}.ca-tick{font-size:10px;fill:#575B66}
.ca-heat{display:grid;grid-template-columns:repeat(14,1fr);gap:3px;margin:6px 0}.ca-heat i{display:block;aspect-ratio:1;border-radius:3px}
.ca-heat i.h0,.ca-hkey i.h0{background:#EFE9DD}.ca-heat i.h1,.ca-hkey i.h1{background:#E9D3A0}.ca-heat i.h2,.ca-hkey i.h2{background:#D6B97F}.ca-heat i.h3,.ca-hkey i.h3{background:#B08A45}.ca-heat i.h4,.ca-hkey i.h4{background:#74561F}
.ca-hkey{display:flex;align-items:center;gap:3px;font-size:11.5px;color:var(--muted);justify-content:flex-end}.ca-hkey i{width:12px;height:12px;border-radius:2px;display:inline-block}
.ca-tview summary{cursor:pointer;font-size:12.5px;font-weight:700;color:#74561F;padding:6px 0;min-height:32px}
.ca-skill small{font-size:11.5px;color:var(--muted);font-weight:600}
.ca-dp,.ca-dc{border-top:1px solid #EEE8DC}.ca-dp>summary,.ca-dc>summary{display:grid;grid-template-columns:1fr 70px 42px;gap:8px;align-items:center;cursor:pointer;padding:8px 0;min-height:44px;font-size:14px;font-weight:650;list-style:none}
.ca-dp>summary::-webkit-details-marker,.ca-dc>summary::-webkit-details-marker{display:none}
.ca-dp>summary small{display:block;font-size:11.5px;color:var(--muted);font-weight:600}.ca-dp>summary .ca-bar,.ca-dc>summary .ca-bar{margin:0}.ca-dp>summary b,.ca-dc>summary b{text-align:right}
.ca-dc{margin-left:10px}.ca-dc>summary{font-weight:600;font-size:13.5px}
.ca-du{list-style:none;margin:0 0 6px 10px;padding:0}
.ca-dun{display:flex;justify-content:space-between;gap:8px;width:100%;text-align:left;border:none;border-top:1px dashed #E8DFCC;background:none;font:inherit;font-size:13px;color:var(--ink);cursor:pointer;padding:7px 0;min-height:40px}
.ca-dun small{display:block;color:var(--muted);font-size:11.5px}.ca-dun:disabled{color:#7A7D86;cursor:default}
@media (min-width:560px){.ca-kpis6{grid-template-columns:repeat(3,1fr)}.ca-hubs{grid-template-columns:1fr 1fr;gap:0 10px}}
@media (min-width:900px){.ca-kpis6{grid-template-columns:repeat(6,1fr)}.ca-dgrid{grid-template-columns:1fr 1fr;gap:0 12px;align-items:start}.ca-dwide{grid-column:1/-1}.ca-hubs{grid-template-columns:1fr 1fr 1fr}}
/* text sizes: keep mini stats readable */
[data-ts=XL] .ca-dmini,[data-ts=XXL] .ca-dmini{grid-template-columns:repeat(2,1fr)}
[data-ts=XXL] .ca-kpis{grid-template-columns:repeat(2,1fr)}
/* high contrast */
html.sv-hc .ca-dtile,html.sv-hc .ca-kpi,html.sv-hc .ca-dcount,html.sv-hc .ca-mbar{background:#000!important;color:#fff;border:2px solid #fff}
html.sv-hc .ca-dtile *,html.sv-hc .ca-kpi *,html.sv-hc .ca-mbar *:not(button){color:#fff!important}
html.sv-hc .ca-cs,html.sv-hc .ca-pal button,html.sv-hc .ca-save,html.sv-hc .ca-qt,html.sv-hc .ca-micb,html.sv-hc .ca-shit,html.sv-hc .ca-hub{background:#fff;color:#000;border:2px solid #000}
html.sv-hc .ca-cs[aria-pressed=true],html.sv-hc .ca-cs[aria-checked=true],html.sv-hc .ca-pal button.cur,html.sv-hc .ca-save[aria-pressed=true],html.sv-hc .ca-micb.on{background:#000;color:#fff;border-color:#fff}
html.sv-hc mark.ca-mark{background:#ff0;color:#000}
html.sv-hc .ca-b1{fill:#000}html.sv-hc .ca-b2{fill:#000;stroke:#fff}
html.sv-hc .ca-heat i.h0{background:#fff;border:1px solid #000}html.sv-hc .ca-heat i:not(.h0){background:#000}
html.sv-hc .ca-qt,html.sv-hc .ca-nch,html.sv-hc .ca-dhero{color:#fff}
html.sv-hc .ca-kp li.hit>span:first-child,html.sv-hc .ca-kp li.miss>span:first-child{background:#fff;color:#000;border:2px solid #000}
html.sv-hc .ca-hlbtn{background:#000;color:#fff;border:2px solid #fff}
@media (forced-colors:active){.ca-cs,.ca-pal button,.ca-save,.ca-qt,.ca-micb,.ca-kpi,.ca-dtile,.ca-hub{border:2px solid ButtonText}.ca-cs[aria-pressed=true],.ca-cs[aria-checked=true]{outline:3px solid Highlight}.ca-b1,.ca-b2{fill:CanvasText}mark.ca-mark{forced-color-adjust:none;background:Mark;color:MarkText}}
@media print{.ca-hlbtn,.ca-save,.ca-uacts,.ca-quick{display:none!important}}
.ca-engine{margin:0 0 6px}.ca-tpq td:nth-child(3){white-space:nowrap}
.ca-vlab{font-size:10px;font-weight:700;fill:#15161C}html.sv-hc .ca-vlab{fill:#000}
@media (min-width:900px){.ca-kpis6.ca-kpis3{grid-template-columns:repeat(3,1fr)}}.ca-kpis3{grid-template-columns:repeat(3,1fr)}[data-ts=XXL] .ca-kpis3{grid-template-columns:1fr}

/* === CA: marks, owner tools, photo answers, back navigation (ca.js / ca-tools.js) === */
.ca-qmk{display:inline-block;font-style:normal;font-size:11.5px;font-weight:800;letter-spacing:.2px;color:var(--ca-goldi,#74561F);background:rgba(201,167,106,.18);border-radius:999px;padding:1px 8px;margin-left:4px;text-transform:none;vertical-align:middle}
.ca-umarks{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;margin-top:8px}.ca-umarks .ca-k{margin:0}
.ca-mk1{font-size:13px;color:var(--muted)}.ca-mk1 b{color:var(--ink);font-weight:800}
.ca-wt{display:block;margin-top:3px;color:var(--ca-goldi,#74561F)!important;font-weight:700}.ca-wtn{font-weight:600;color:var(--muted)}
.ca-chmarks{display:block;margin-top:2px}.ca-chmarks:empty{display:none}
.ca-wtabout summary{cursor:pointer;font-weight:700;color:var(--ink)}.ca-wtabout[open] summary{margin-bottom:6px}
.ca-mguide{border-left:4px solid var(--ca-gold,#C9A76A);background:rgba(244,234,216,.55);border-radius:8px;padding:10px 12px;margin:10px 0 2px}.ca-mguide>b{display:block;margin-bottom:4px}.ca-mguide .ca-ul{margin:0}
.ca-mgd{margin:6px 0 10px}.ca-mgd summary{cursor:pointer;font-weight:700;color:var(--ca-goldi,#74561F)}
.ca-bymarks .ca-chipsel{margin-top:4px}
.ca-amode{display:flex;gap:8px;margin:12px 0 8px;flex-wrap:wrap}
.ca-amode button{flex:1 1 140px;min-height:44px;border:1.5px solid #DDD3C0;background:#fff;color:var(--ink);border-radius:10px;font:inherit;font-weight:700;font-size:14px;cursor:pointer;padding:8px 10px}
.ca-amode button[aria-checked=true]{background:#15161C;border-color:#15161C;color:#F4EAD8}
.ca-phbtn{display:inline-flex;align-items:center;justify-content:center;cursor:pointer}
.ca-phgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:10px;margin-top:8px}
.ca-phfig{position:relative;margin:0}.ca-phfig figcaption{font-size:11.5px;color:var(--muted);margin-top:3px;text-align:center}
.ca-phfig .ca-x{position:absolute;top:4px;right:4px;background:rgba(21,22,28,.85);color:#fff;border-radius:999px;width:30px;height:30px;border:0}
.ca-phth{display:block;width:100%;padding:0;border:1.5px solid #DDD3C0;border-radius:8px;background:#f4f1ea;cursor:zoom-in;overflow:hidden;aspect-ratio:3/4}
.ca-phth img{width:100%;height:100%;object-fit:cover;display:block}
.ca-phgone::after{content:'photo deleted';display:block;padding:20px 4px;font-size:11px;color:var(--muted);text-align:center}
.ca-phstrip{display:flex;gap:8px;overflow-x:auto;padding:2px 2px 6px;scroll-snap-type:x mandatory}.ca-phstrip .ca-phth{flex:0 0 92px;scroll-snap-align:start}
.ca-phmini .ca-phth{flex-basis:56px}
.ca-cmp-ph{position:sticky;top:0;z-index:5;background:var(--card,#FFFDF8);border-radius:12px;padding:8px 10px;margin-bottom:10px;box-shadow:0 2px 10px rgba(0,0,0,.12)}
@media (min-width:760px){.ca-cmp{display:grid;grid-template-columns:minmax(220px,38%) 1fr;gap:14px;align-items:start}.ca-cmp-ph{top:8px;max-height:calc(100vh - 120px);overflow:auto}.ca-cmp-ph .ca-phstrip{flex-direction:column;overflow:visible}.ca-cmp-ph .ca-phth{flex:none;aspect-ratio:auto}.ca-cmp-ph .ca-phth img{height:auto;object-fit:contain}}
.ca-phview{background:rgba(10,10,14,.96)!important;display:none;flex-direction:column;align-items:stretch;padding:0!important;z-index:10050!important;position:fixed;inset:0}
.ca-phview.show{display:flex}
.ca-phvbar{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;color:#F4EAD8}
.ca-phvtools{display:flex;gap:6px}.ca-phvtools button{min-width:44px;min-height:44px;border:1px solid rgba(233,211,160,.5);background:transparent;color:#F4EAD8;border-radius:8px;font:inherit;font-weight:700;cursor:pointer}
.ca-phvstage{flex:1;overflow:hidden;touch-action:none;position:relative;display:flex;align-items:center;justify-content:center}
.ca-phvstage img{max-width:100%;max-height:100%;transform-origin:0 0;user-select:none;-webkit-user-drag:none}
.ca-phvnav{display:flex;gap:8px;padding:10px 12px calc(10px + env(safe-area-inset-bottom))}.ca-phvnav .btn{flex:1;color:#F4EAD8;border-color:rgba(233,211,160,.5)}
.ca-interim{color:var(--muted);font-style:italic;min-height:1.2em;margin:4px 2px 8px;font-size:14px}.ca-interim:empty{margin:0;min-height:0}
.ca-owner{border:2px dashed var(--ca-gold,#C9A76A)}.ca-ownt{font-size:12px;font-weight:600;color:#C9C3B6;margin-left:6px}
.ca-err{color:var(--ca-crim,#B71C2C);font-weight:700;min-height:1.2em;margin:6px 0}
.ca-steps{margin:8px 0 0 18px;padding:0}.ca-steps li{margin:3px 0}
.ca-gentag{color:var(--ca-goldi,#74561F);font-weight:800}
.ca-hl2 li{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:center}.ca-hl2 li>span{flex:1 1 100%}
.ca-bank .ca-nopen{display:flex;gap:10px;align-items:flex-start;text-align:left}.ca-bank .ca-qm{flex:0 0 auto}
html.sv-hc .ca-qmk,html.sv-hc .ca-wt{color:#000!important;background:#fff;border:1px solid #000}
html.sv-hc .ca-amode button{background:#fff;color:#000;border:2px solid #000}html.sv-hc .ca-amode button[aria-checked=true]{background:#000;color:#fff}
html.sv-hc .ca-mguide{background:#fff;border-left-color:#000}
@media (prefers-reduced-motion:reduce){.ca-phstrip{scroll-behavior:auto}}

/* === CA writing-pad exam templates + topic reference chips (js/ca-pad.js, js/ca.js, js/ca-tools.js) === */
.ca-pdhost{padding-top:4px}
.ca-pd-sug{font-size:13px;margin:4px 0 8px}.ca-pd-sugc{display:inline-block;background:rgba(201,167,106,.18);color:var(--ca-goldi,#74561F);font-weight:800;border-radius:999px;padding:2px 9px;margin:2px 2px 0 0;font-size:12px}
.ca-pd-sheet{border:1.5px solid #E2D6BE;border-radius:12px;padding:10px;margin:0 0 12px;background:var(--card,#FFFDF8);min-width:0}
.ca-pd-top{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.ca-pd-top .ca-pd-sel{flex:1 1 200px;margin:0}
.ca-pd-lab{display:block;font-size:12px;font-weight:800;color:var(--muted);margin:6px 0 3px;text-transform:uppercase;letter-spacing:.3px}
.ca-pd-top .ca-pd-lab{margin:0}
.ca-pd-sel,.ca-pd-title{width:100%;max-width:100%;box-sizing:border-box}
.ca-pd-hint{font-size:12.5px;color:var(--muted);margin:6px 0 8px;line-height:1.4}
.ca-pd-sc{max-width:100%;border:1px solid #E2D6BE;border-radius:8px;background:#fff}
.ca-pd-t{width:auto;min-width:100%;font-size:13.5px}
.ca-pd-t td{padding:2px;vertical-align:middle}.ca-pd-t th{white-space:nowrap;vertical-align:bottom}
.ca-pc{width:100%;min-width:64px;box-sizing:border-box;border:1px solid transparent;border-radius:4px;padding:7px 6px;font:inherit;font-size:14px;background:#fff;color:var(--ink,#15161C);min-height:36px}
.ca-pc:hover{border-color:#E2D6BE}.ca-pc:focus{outline:3px solid #C9A76A;outline-offset:0;border-color:#8A6A2E}
.ca-pc-amt,.ca-pc-qty{text-align:right;font-variant-numeric:tabular-nums;min-width:96px}
.ca-pc-date{min-width:108px;width:108px;font-variant-numeric:tabular-nums}
.ca-pc-lf{min-width:44px;width:52px;text-align:center}
.ca-pc-acct,.ca-pc-acctj{min-width:170px}.ca-pc-text{min-width:130px}.ca-pc-narr{min-width:260px;font-style:italic}
.ca-pc-head{font-weight:700;font-size:12.5px;min-width:90px;background:transparent;border:1px dashed #C9A76A}
.ca-pc-bad,.ca-pc[aria-invalid=true]{border-color:var(--ca-crim,#B71C2C)!important;background:#FFF4F4}
.ca-pd-date{display:flex;align-items:center;gap:2px;position:relative}
.ca-pd-cal{border:0;background:none;cursor:pointer;font-size:15px;min-width:32px;min-height:36px;padding:0;border-radius:6px}.ca-pd-cal:focus-visible{outline:3px solid #C9A76A}
.ca-pd-native{position:absolute;left:0;bottom:0;width:1px;height:1px;opacity:0;pointer-events:none;border:0;padding:0}
.ca-pd-acw{display:flex;align-items:center;gap:4px}.ca-pd-to{padding-left:22px}
.ca-pd-pre{font-weight:700;color:var(--ca-goldi,#74561F);flex:0 0 auto}.ca-pd-suf{font-weight:700;color:var(--ca-goldi,#74561F);flex:0 0 auto;padding-right:4px}
.ca-pd-j .ca-pd-narr td{border-top:0}.ca-pd-je+.ca-pd-je tr:first-child td{border-top:2px solid #cfd5df}
.ca-pd-act td{border:0;background:#FBF7EE}.ca-pd-actin{display:flex;flex-wrap:wrap;gap:4px 12px;align-items:center;position:sticky;left:0;width:max-content;max-width:calc(100vw - 80px);padding:2px 4px}
.ca-pd-est{font-size:12.5px;font-weight:800;color:#23704A}.ca-pd-bad .ca-pd-est{color:var(--ca-crim,#B71C2C)}
.ca-pd-rme{color:var(--ca-crim,#B71C2C)}
tr.ca-pd-bad td{background:#FFF4F4}
.ca-pd-ops{width:34px;text-align:center}
.ca-pd-mid{border-left:3px double #8a94a6!important}
.ca-pd-side{text-align:center!important;font-size:13px;background:#F4EAD8!important}
.ca-pd-grp{text-align:center!important;background:#F4EAD8!important}
.ca-pd-ach{display:flex;justify-content:space-between;align-items:center;gap:8px;margin:2px 0 6px;font-weight:700}.ca-pd-ach b{text-align:center;flex:1}.ca-pd-ach .ca-pc-acname{flex:1;text-align:center;font-weight:700;margin:0}
.ca-pd-ta tr.ca-bal td{background:#FBF7EE}
.ca-pd-bd{font-size:12.5px;font-weight:700;color:var(--ca-goldi,#74561F);margin:2px 0 6px}.ca-pd-bd:empty{display:none}
.ca-pd-h th{background:#FBF7EE;text-align:left;font-weight:800}
.ca-pd-s3 .ca-pd-l1 th,.ca-pd-s3 .ca-pd-l1 .ca-pd-lbl{padding-left:14px}.ca-pd-s3 .ca-pd-l2 th,.ca-pd-s3 .ca-pd-l2 .ca-pd-lbl{padding-left:26px}.ca-pd-s3 .ca-pd-l3 th,.ca-pd-s3 .ca-pd-l3 .ca-pd-lbl{padding-left:38px}
.ca-pd-lbl{font-weight:600;white-space:normal!important;min-width:220px;max-width:340px}
.ca-pd-s3 .ca-pc-text{min-width:56px;width:64px}
.ca-pd-brs .ca-pd-lbl{min-width:220px}.ca-pd-brsp .ca-pc{min-width:220px}.ca-pd-sublbl{font-size:12.5px;color:var(--muted);text-align:right}
.ca-pd-brso{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:end;margin-bottom:6px}.ca-pd-brso .ca-pd-sel{width:auto;flex:1 1 200px}
.ca-pd-chk{display:flex;gap:6px;align-items:center;font-size:13.5px;min-height:40px}
.ca-pd-given{max-width:220px}
.ca-pd-chk0{font-size:13px;font-weight:700;margin:8px 0 2px;color:var(--muted)}.ca-pd-chk0.ok{color:#23704A}.ca-pd-chk0.no{color:var(--ca-crim,#B71C2C)}
.ca-pd-err{font-size:12.5px;font-weight:700;color:var(--ca-crim,#B71C2C);margin:2px 0}.ca-pd-err:empty{display:none}
.ca-pd-btns{margin:6px 0 2px;flex-wrap:wrap}.ca-pd-btns .btn{flex:0 1 auto;padding:8px 12px;min-height:40px;font-size:13.5px}
.ca-pd-more{flex-wrap:wrap}.ca-pd-more .btn{flex:0 1 auto;font-size:13px;padding:8px 12px;min-height:40px}
.ca-pd-keys{font-size:12px}
.ca-pd-view{margin:8px 0}.ca-hview{margin:6px 0;flex:1 1 100%}.ca-hview summary{cursor:pointer;font-weight:700;color:var(--ca-goldi,#74561F)}
/* topic reference chip */
.ca-ref{display:flex;gap:6px;align-items:flex-start;text-align:left;width:100%;margin:10px 0 0;padding:7px 10px;border:1px solid rgba(201,167,106,.55);background:rgba(244,234,216,.7);color:#3d3420;border-radius:10px;font:inherit;font-size:12.5px;line-height:1.4;cursor:pointer;min-height:40px}
.ca-ref:hover{background:#F4EAD8}.ca-ref:focus-visible{outline:3px solid #C9A76A;outline-offset:1px}
.ca-ref-i{flex:0 0 auto}.ca-ref-path i{font-style:normal;color:#8A6A2E}.ca-ref-path b{color:#5B3F12}
.ca-rvl .ca-ref{margin-top:6px}.ca-bank li{flex-wrap:wrap}
.ca-rvtag{margin:4px 0 0}.ca-rgsel{width:auto;max-width:60%;margin:0;padding:6px 8px;font-size:13px}
.ca-reflash{box-shadow:0 0 0 3px #C9A76A;transition:box-shadow .3s}
html.sv-hc .ca-ref{background:#fff;color:#000;border:2px solid #000}html.sv-hc .ca-ref-path b,html.sv-hc .ca-ref-path i{color:#000}
html.sv-hc .ca-pc{border:1px solid #000;color:#000}html.sv-hc .ca-pd-side,html.sv-hc .ca-pd-grp,html.sv-hc .ca-pd-h th,html.sv-hc .ca-pd-act td{background:#fff!important;color:#000}
html.sv-hc .ca-pd-chk0.ok,html.sv-hc .ca-pd-chk0.no,html.sv-hc .ca-pd-est,html.sv-hc .ca-pd-pre,html.sv-hc .ca-pd-suf,html.sv-hc .ca-pd-sugc{color:#000;background:#fff}
@media (prefers-reduced-motion:reduce){.ca-reflash{transition:none}}
.ca-pd-swipe{font-size:12px;color:var(--muted);margin:0 0 4px}@media (min-width:900px){.ca-pd-swipe{display:none}}
/* === end CA writing-pad templates === */
/* === CA topic reference sheet (opens over the question; Back returns to it) === */
.ca-refsheet .sheet-in{max-height:88vh;overflow:auto}
.ca-refhead{position:sticky;top:0;z-index:2;background:inherit;padding:2px 0 8px}
.ca-refback{width:auto;padding:8px 14px}
.ca-refsheet .ca-k{margin:4px 2px 10px;line-height:1.5}

/* === CA automatic answer checker (js/ca-check.js): examiner's report, mock marking, question history === */
.ca-rep{border-top:4px solid var(--ca-gold,#C9A76A)}
.ca-rep-top{display:flex;gap:14px;align-items:center;margin-bottom:8px}
.ca-rep-top .ca-h2s{margin:0}
.ca-rep-sc{flex:none;min-width:74px;height:74px;border-radius:16px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#15161C;color:#E9D3A0;padding:0 8px}
.ca-rep-sc b{font-size:26px;line-height:1;color:#fff}.ca-rep-sc span{font-size:12px;font-weight:700;margin-top:3px}
.ca-rep-sc.s{box-shadow:inset 0 -4px 0 #2E8B57}.ca-rep-sc.m{box-shadow:inset 0 -4px 0 #C98A0B}.ca-rep-sc.w{box-shadow:inset 0 -4px 0 #B71C2C}
.ca-rep-line{margin:3px 0 0;font-weight:700;color:var(--ca-goldi,#74561F);font-size:14px;line-height:1.4}
.ca-rep-big{font-size:34px;flex:none}
.ca-rep-pts{list-style:none;margin:6px 0 4px;padding:0}
.ca-rp{display:flex;gap:10px;padding:10px 0;border-bottom:1px solid #EEE8DC}
.ca-rp-i{flex:none;width:26px;text-align:center;font-size:17px;line-height:1.3}
.ca-rp.half .ca-rp-i{color:#C98A0B;font-weight:800}
.ca-rp-b{flex:1;min-width:0}
.ca-rp-h{display:flex;gap:8px;align-items:flex-start}
.ca-rp-t{flex:1;font-weight:700;font-size:14.5px;line-height:1.4}
.ca-rp-m{flex:none;font-style:normal;font-weight:800;font-size:13px;white-space:nowrap}
.ca-rp-st{display:inline-block;font-size:11.5px;font-weight:800;letter-spacing:.2px;border-radius:999px;padding:1px 8px;margin:3px 0 2px}
.ca-rp.ok .ca-rp-st{background:#E2F1E8;color:#1D5E3E}.ca-rp.half .ca-rp-st{background:#F7EDD5;color:#6B4E14}
.ca-rp.bad .ca-rp-st{background:#F8E1E3;color:#7A0F1A}.ca-rp.miss .ca-rp-st{background:#FFF0D9;color:#7A4B00}.ca-rp.pend .ca-rp-st{background:#ECEDF1;color:#454955}
.ca-rp-f,.ca-rp-e,.ca-rp-r{margin:3px 0 0;font-size:13.5px;line-height:1.45;overflow-wrap:anywhere}
.ca-rp-e{color:#7A0F1A}.ca-rp-r{color:#454955;font-style:italic}
.ca-rep-x{margin:10px 0;border:1px dashed #D8CFBE;border-radius:10px;padding:8px 10px}
.ca-rep-x summary{cursor:pointer;font-weight:700}
.ca-rep-k{display:inline-block;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.3px;color:var(--ca-goldi,#74561F);margin-right:4px}
.ca-rep-av{background:rgba(244,234,216,.55);border-left:4px solid var(--ca-gold,#C9A76A);border-radius:8px;padding:8px 12px;margin:10px 0}
.ca-rep-av .ca-h3{margin-top:2px}
.ca-rep-rm{margin:8px 0}
.ca-rep-ok{font-weight:700;color:#23704A;margin:10px 0}
.ca-rep-how{margin-top:8px}.ca-rep-how summary{cursor:pointer;font-size:13px;font-weight:700;color:var(--muted)}
.ca-rep-wait .ca-ul{margin-top:6px}
.ca-optional textarea{min-height:90px}
.ca-optional .ca-lab{color:var(--ca-goldi,#74561F)}
.ca-exam>summary{cursor:pointer;list-style:none}.ca-exam>summary::-webkit-details-marker{display:none}
.ca-exam>summary .ca-h2s{display:inline}.ca-exam>summary::after{content:' ▾';color:var(--muted)}
.ca-schl em{margin-left:4px}
.ca-hrep .ca-rep{box-shadow:none;margin:8px 0;padding:10px}
.ca-myans{white-space:pre-wrap;font:inherit;font-size:13.5px;background:#FAF7F0;border-radius:8px;padding:8px;margin:6px 0;max-height:240px;overflow:auto}
.ca-mres h2 small{font-size:14px;color:var(--muted)}
.ca-tfm{border-left:4px solid #D8CFBE;padding-left:10px;margin-bottom:10px}.ca-tfm.ok{border-color:#2E8B57}.ca-tfm.no{border-color:#B71C2C}
.ca-tfmk{margin:4px 0 0}
.ca-qhist{list-style:none;margin:6px 0;padding:0}
.ca-qh{display:flex;gap:10px;align-items:center;justify-content:space-between;width:100%;text-align:left;background:none;border:0;border-bottom:1px solid #EEE8DC;padding:9px 2px;font:inherit;color:inherit;cursor:pointer}
.ca-qh>span:first-child{min-width:0;flex:1}.ca-qh b{display:block;font-size:14px;line-height:1.35}.ca-qh small{display:block;font-size:12px;color:var(--muted)}
.ca-qhs{flex:none;display:flex;flex-wrap:wrap;gap:3px;align-items:center;justify-content:flex-end;max-width:52%;font-size:13px}
.ca-qhs i{font-style:normal;font-weight:800;border-radius:6px;padding:1px 6px;background:#F7EDD5;color:#6B4E14}
.ca-qhs i.s{background:#E2F1E8;color:#1D5E3E}.ca-qhs i.w{background:#F8E1E3;color:#7A0F1A}.ca-qhs i.pend{background:#ECEDF1}
.ca-qhs em{font-style:normal;color:var(--muted);font-weight:700;margin-left:2px}
html.sv-hc .ca-rp-st,html.sv-hc .ca-qhs i{background:#fff!important;color:#000!important;border:1px solid #000}
html.sv-hc .ca-rep-sc{background:#000;color:#fff}html.sv-hc .ca-rp-e,html.sv-hc .ca-rp-r,html.sv-hc .ca-rep-line{color:#000}
@media (min-width:900px){.ca-rep-pts{columns:1}.ca-rp-t{font-size:15px}}
