:root{
--bg:#f6f4ef;--mm0:#8f9a98;--bg2:#efece5;--card:#ffffff;--glass:rgba(255,255,255,.78);--tx:#16201f;--mu:#5b6664;--br:rgba(22,32,31,.09);--soft:#f0eee8;
--pr:#0b7a75;--pr2:#14a39a;--in:#4f46e5;--co:#f0645a;--ok:#14935a;--okbg:#e5f6ec;--bad:#d1403a;--badbg:#fdeceb;--wa:#c27c0e;--wabg:#fff4dc;
--sh:0 1px 2px rgba(20,30,28,.05),0 6px 20px rgba(20,30,28,.07);--sh2:0 10px 34px rgba(20,30,28,.16);
--r:20px;--rs:14px;--font:ui-rounded,"SF Pro Rounded","SF Pro Text",-apple-system,system-ui,"Segoe UI","Nunito","Helvetica Neue",Arial,sans-serif;
--navh:68px;--badge:40px}
@media(prefers-color-scheme:dark){:root{
--bg:#0b1416;--mm0:#6f7f7c;--bg2:#0f1c1f;--card:#142226;--glass:rgba(20,34,38,.82);--tx:#eaf2f1;--mu:#9db0ad;--br:rgba(234,242,241,.09);--soft:#1b2c31;
--pr:#2cc9b9;--pr2:#5eead4;--in:#8b85ff;--co:#ff8a7f;--ok:#3dd68c;--okbg:rgba(61,214,140,.13);--bad:#ff6b63;--badbg:rgba(255,107,99,.13);--wa:#f5b942;--wabg:rgba(245,185,66,.12);
--sh:0 1px 2px rgba(0,0,0,.3),0 8px 24px rgba(0,0,0,.25);--sh2:0 12px 40px rgba(0,0,0,.5)}}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--tx);font:17px/1.55 var(--font);-webkit-font-smoothing:antialiased;
padding:env(safe-area-inset-top) env(safe-area-inset-right) 0 env(safe-area-inset-left);min-height:100vh}
#shell{display:block}
main{max-width:1100px;margin:0 auto;padding:12px 20px calc(var(--navh) + var(--badge) + 40px + env(safe-area-inset-bottom));outline:none}
h1{font-size:32px;line-height:1.15;margin:8px 0 6px;letter-spacing:-.02em;font-weight:800}
h2{font-size:24px;line-height:1.2;margin:4px 0 12px;letter-spacing:-.01em;font-weight:750}
h3{font-size:19px;line-height:1.25;margin:0 0 4px;font-weight:700}
p{margin:0 0 12px}
.mu{color:var(--mu)}.small{font-size:15px}.tiny{font-size:13px}.b{font-weight:700}
.sec-h{display:flex;align-items:baseline;justify-content:space-between;margin:28px 0 12px}
.sec-h h2{margin:0;font-size:21px}
.card{background:var(--card);border-radius:var(--r);padding:20px;margin:0 0 16px;box-shadow:var(--sh);border:1px solid var(--br)}
.grid{display:grid;gap:16px}
@media(min-width:700px){.g2{grid-template-columns:1fr 1fr}.g3{grid-template-columns:repeat(3,1fr)}}
.g2m{grid-template-columns:1fr 1fr}
button,.btn{appearance:none;-webkit-appearance:none;min-height:48px;min-width:44px;border:0;border-radius:var(--rs);padding:12px 20px;font:inherit;font-weight:700;
background:var(--pr);color:#fff;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;
transition:transform .12s ease,box-shadow .2s ease,background .2s ease,opacity .2s}
@media(prefers-color-scheme:dark){button,.btn{color:#03211e}}
button:active:not(:disabled),.btn:active{transform:scale(.96)}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--in);outline-offset:2px}
button.sec,.btn.sec{background:var(--soft);color:var(--tx)}
button.ghost{background:transparent;color:var(--pr);padding:10px 12px}
button.wide{width:100%}
button.lg{min-height:56px;font-size:18px;border-radius:16px}
button:disabled{opacity:.45;cursor:default}
.row{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.row>.grow{flex:1}
.sp{flex:1}
.ico{width:24px;height:24px;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.ico.s{width:18px;height:18px}.ico.l{width:30px;height:30px}
/* nav */
nav#nav{position:fixed;left:12px;right:12px;bottom:max(var(--badge),calc(env(safe-area-inset-bottom) + 10px));z-index:20;height:var(--navh);
display:flex;justify-content:space-around;align-items:stretch;background:var(--glass);backdrop-filter:saturate(1.6) blur(20px);-webkit-backdrop-filter:saturate(1.6) blur(20px);
border:1px solid var(--br);border-radius:24px;box-shadow:var(--sh2);padding:6px;max-width:560px;margin:0 auto}
nav#nav button{flex:1;background:none;color:var(--mu);flex-direction:column;gap:2px;font-size:12px;font-weight:650;padding:4px 2px;min-height:44px;border-radius:18px}
nav#nav button.on{color:var(--pr);background:color-mix(in srgb,var(--pr) 12%,transparent)}
#side{display:none}
@media(min-width:1024px){
 nav#nav{display:none}
 #shell{display:grid;grid-template-columns:250px 1fr;min-height:100vh}
 #side{display:flex;flex-direction:column;gap:6px;position:sticky;top:0;height:100vh;padding:24px 16px calc(var(--badge) + 16px);border-right:1px solid var(--br);background:var(--bg2)}
 #side .brand{display:flex;align-items:center;gap:12px;padding:4px 8px 20px;font-weight:800;font-size:18px;line-height:1.15}
 #side .brand small{display:block;font-weight:600;color:var(--mu);font-size:12.5px}
 #side button{justify-content:flex-start;background:none;color:var(--tx);font-weight:650;padding:12px 14px;gap:14px}
 #side button.on{background:var(--card);color:var(--pr);box-shadow:var(--sh)}
 #side .foot{margin-top:auto;font-size:12.5px;color:var(--mu);padding:8px}
 main{padding:24px 32px 80px;max-width:1180px;margin:0}
}
body.focus nav#nav{display:none}
@media(min-width:1024px){body.focus #shell{grid-template-columns:1fr}body.focus #side{display:none}body.focus main{max-width:860px;margin:0 auto;width:100%}}
body.focus main{padding-bottom:calc(140px + env(safe-area-inset-bottom))}
/* hero */
.hero{position:relative;overflow:hidden;border-radius:28px;padding:24px;margin:4px 0 16px;color:#fff;
background:radial-gradient(120% 140% at 100% 0%,#5b54e8 0%,rgba(91,84,232,0) 55%),linear-gradient(135deg,#0b7a75 0%,#0f8f86 45%,#16a394 100%);box-shadow:var(--sh2)}
.hero:after{content:"";position:absolute;right:-60px;bottom:-80px;width:260px;height:260px;border-radius:50%;background:rgba(255,255,255,.07)}
.hero h1{color:#fff;margin:0}
.hero .mu{color:rgba(255,255,255,.82)}
.hero-grid{display:flex;gap:20px;align-items:center;justify-content:space-between;flex-wrap:wrap;position:relative;z-index:1}
.chip{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;background:var(--soft);font-size:14px;font-weight:700;line-height:1.2}
.hero .chip{background:rgba(255,255,255,.18);color:#fff;backdrop-filter:blur(6px)}
.chip.flame{color:#fff;background:linear-gradient(135deg,#ff8a3d,#f0645a)}
.ringwrap{position:relative;display:inline-grid;place-items:center;flex:none}
.ringwrap .rl{position:absolute;text-align:center;line-height:1.1}
.ringwrap .rl b{display:block;font-size:26px;font-weight:800}
.ringwrap .rl span{font-size:12px;opacity:.85}
.stat-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
/* continue */
.cont{display:flex;gap:18px;align-items:center;cursor:pointer}
.thumb{width:72px;height:72px;border-radius:20px;flex:none;display:grid;place-items:center;color:#fff;box-shadow:inset 0 -6px 14px rgba(0,0,0,.12)}
.thumb .ico{width:36px;height:36px}
.kick{font-size:12.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--pr)}
.due-card{display:flex;align-items:center;gap:16px}
.due-n{font-size:40px;font-weight:850;line-height:1;color:var(--in)}
/* carousel */
.car{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 20px 14px;margin:0 -20px;scrollbar-width:none;scroll-padding:0 20px}
.car::-webkit-scrollbar{display:none}
.pc{scroll-snap-align:start;flex:none;width:210px;min-height:170px;border-radius:24px;padding:18px;color:#fff;position:relative;overflow:hidden;cursor:pointer;
box-shadow:0 8px 22px rgba(0,0,0,.14);display:flex;flex-direction:column;justify-content:space-between;transition:transform .15s}
.pc:active{transform:scale(.97)}
.pc:before{content:"";position:absolute;right:-30px;top:-30px;width:120px;height:120px;border-radius:50%;background:rgba(255,255,255,.12)}
.pc h3{color:#fff;font-size:18px;margin:10px 0 2px;position:relative}
.pc .tiny{opacity:.9;position:relative}
.pc .ptop{display:flex;justify-content:space-between;align-items:flex-start;position:relative}
.pc .lockb{position:absolute;right:12px;bottom:12px;background:rgba(0,0,0,.25);border-radius:999px;padding:4px 10px;font-size:12px;font-weight:700;display:flex;gap:4px;align-items:center}
.drill-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}
.dt{background:var(--card);border:1px solid var(--br);border-radius:20px;padding:16px;box-shadow:var(--sh);cursor:pointer;text-align:left;color:var(--tx);display:flex;flex-direction:column;align-items:flex-start;gap:10px;min-height:120px;font-weight:650;justify-content:flex-start}
.dt .di{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;color:#fff}
.dt small{font-weight:500;color:var(--mu);font-size:13.5px;line-height:1.35}
.pearl{border:0;background:linear-gradient(135deg,color-mix(in srgb,var(--wa) 16%,var(--card)),var(--card));position:relative}
.callout{display:flex;gap:12px;padding:14px 16px;border-radius:16px;margin:16px 0;font-size:16.5px;line-height:1.5}
.callout .ico{margin-top:2px}
.callout.pe{background:var(--wabg);color:var(--tx)}.callout.pe .ico{color:var(--wa)}
.callout.pi{background:var(--badbg)}.callout.pi .ico{color:var(--bad)}
.callout b.t{display:block;font-size:13px;letter-spacing:.06em;text-transform:uppercase;margin-bottom:2px}
details.why{background:var(--card);border-radius:var(--r);border:1px solid var(--br);padding:4px 18px;box-shadow:var(--sh);margin-bottom:16px}
details.why summary{cursor:pointer;font-weight:700;min-height:48px;display:flex;align-items:center;gap:10px;list-style:none}
details.why summary::-webkit-details-marker{display:none}
details.why ul{margin:0 0 14px;padding-left:20px}
details.why li{margin:6px 0}
.disc{font-size:13.5px;color:var(--mu);display:flex;gap:8px;align-items:flex-start;margin:20px 0 8px}
/* learn path */
.pp{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}
.pl{display:flex;gap:16px;align-items:center;cursor:pointer;border-radius:24px;padding:18px;background:var(--card);box-shadow:var(--sh);border:1px solid var(--br);transition:transform .15s}
.pl:active{transform:scale(.98)}
.phead{border-radius:28px;padding:22px;color:#fff;margin:4px 0 20px;position:relative;overflow:hidden;box-shadow:var(--sh2)}
.phead h1{color:#fff}
.phead .art{position:absolute;right:-6px;bottom:-10px;opacity:.28;width:190px;height:150px}
.path{position:relative;padding:4px 0 8px}
.path:before{content:"";position:absolute;left:39px;top:30px;bottom:30px;width:4px;border-radius:4px;background:repeating-linear-gradient(var(--br) 0 10px,transparent 10px 18px)}
.node{display:flex;align-items:center;gap:16px;margin:0 0 14px;position:relative;cursor:pointer}
.nb{width:80px;height:80px;border-radius:50%;flex:none;display:grid;place-items:center;position:relative;z-index:1;font-weight:800;font-size:22px;border:5px solid var(--bg);transition:transform .15s}
.node:active .nb{transform:scale(.94)}
.nb.new{background:var(--card);color:var(--mu);box-shadow:var(--sh),inset 0 0 0 3px var(--br)}
.nb.cur{color:#fff;box-shadow:0 0 0 6px color-mix(in srgb,var(--pc) 25%,transparent),var(--sh2);animation:pulse 2.4s ease-in-out infinite}
.nb.done{color:#fff}
.nb.mast{color:#fff;box-shadow:0 0 0 4px #f5b942,var(--sh)}
.nb.lock{background:var(--soft);color:var(--mu)}
.mc{flex:1;background:var(--card);border-radius:20px;padding:14px 16px;box-shadow:var(--sh);border:1px solid var(--br);min-width:0}
.mc h3{font-size:17.5px}
.meta{display:flex;gap:12px;flex-wrap:wrap;font-size:13.5px;color:var(--mu);align-items:center;margin-top:4px}
.meta span{display:inline-flex;gap:4px;align-items:center}
.stars{display:inline-flex;gap:2px;color:#f5b942}.stars .off{color:var(--br)}
.stars .ico{width:16px;height:16px;fill:currentColor;stroke:none}
@keyframes pulse{50%{box-shadow:0 0 0 12px color-mix(in srgb,var(--pc) 10%,transparent),var(--sh2)}}
.bar{height:8px;background:var(--soft);border-radius:8px;overflow:hidden;margin-top:10px}
.bar i{display:block;height:100%;border-radius:8px;background:linear-gradient(90deg,var(--pr),var(--pr2));transition:width .5s ease}
/* lesson */
.top{display:flex;align-items:center;gap:12px;position:sticky;top:0;z-index:10;padding:10px 0;background:linear-gradient(var(--bg) 70%,transparent)}
.top .prog{flex:1;height:12px;border-radius:12px;background:var(--soft);overflow:hidden}
.top .prog i{display:block;height:100%;border-radius:12px;background:linear-gradient(90deg,var(--pr),var(--pr2));transition:width .45s cubic-bezier(.3,.7,.3,1)}
.iconbtn{width:48px;height:48px;padding:0;border-radius:50%;background:var(--soft);color:var(--tx)}
.xp{font-weight:800;color:var(--wa);font-size:15px;display:inline-flex;gap:4px;align-items:center;min-width:56px;justify-content:flex-end}
.lesson{max-width:760px;margin:0 auto}
.lesson .card{padding:24px}
.crumb{font-size:13.5px;font-weight:700;color:var(--mu);letter-spacing:.02em;margin:6px 0}
.read{font-size:18px;line-height:1.7}
.read b{color:var(--pr);font-weight:700}
.terms{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.terms button{min-height:36px;padding:6px 12px;font-size:14px;border-radius:999px;background:color-mix(in srgb,var(--in) 11%,var(--card));color:var(--in);font-weight:700}
.actbar{position:fixed;left:0;right:0;bottom:0;z-index:15;padding:14px 20px calc(14px + max(var(--badge),env(safe-area-inset-bottom)));background:linear-gradient(transparent,var(--bg) 30%)}
.actbar .in{max-width:760px;margin:0 auto;display:flex;gap:12px}
.actbar .in button{flex:1}
@media(min-width:1024px){.actbar{left:0}}
.pt-art{display:flex;justify-content:center;margin:0 0 6px}
.slide-in{animation:sin .35s cubic-bezier(.2,.8,.3,1)}
.slide-back{animation:sbk .35s cubic-bezier(.2,.8,.3,1)}
@keyframes sin{from{opacity:0;transform:translateX(40px)}}
@keyframes sbk{from{opacity:0;transform:translateX(-40px)}}
.fade{animation:fd .35s ease}
@keyframes fd{from{opacity:0;transform:translateY(8px)}}
/* quiz */
.stem{font-size:20px;font-weight:700;line-height:1.45;margin:4px 0 18px}
.opt{display:flex;width:100%;text-align:left;margin:0 0 12px;background:var(--card);color:var(--tx);border:2px solid var(--br);font-weight:600;justify-content:flex-start;gap:14px;padding:14px 16px;min-height:60px;border-radius:18px;box-shadow:0 2px 0 var(--br);line-height:1.4}
.opt .lt{width:32px;height:32px;border-radius:10px;flex:none;display:grid;place-items:center;background:var(--soft);font-size:14px;font-weight:800;color:var(--mu)}
.opt.sel{border-color:var(--in);background:color-mix(in srgb,var(--in) 8%,var(--card))}
.opt.sel .lt{background:var(--in);color:#fff}
.opt.ok{border-color:var(--ok);background:var(--okbg);animation:pop .35s}
.opt.ok .lt{background:var(--ok);color:#fff}
.opt.bad{border-color:var(--bad);background:var(--badbg);animation:shake .4s}
.opt.bad .lt{background:var(--bad);color:#fff}
.opt:disabled{opacity:.55}.opt.ok:disabled,.opt.bad:disabled,.opt.sel:disabled{opacity:1}
@keyframes pop{40%{transform:scale(1.025)}}
@keyframes shake{20%,60%{transform:translateX(-6px)}40%,80%{transform:translateX(6px)}}
.conf{margin-top:8px}
.conf .lbl{font-weight:700;font-size:15px;margin-bottom:10px;color:var(--mu)}
.conf .row button{flex:1;flex-direction:column;gap:2px;min-height:64px;background:var(--soft);color:var(--tx);border:2px solid transparent}
.conf .row button small{font-weight:500;font-size:12px;color:var(--mu)}
.vigb{display:inline-flex;gap:6px;align-items:center;font-size:13px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--in);margin-bottom:8px}
#sheet{position:fixed;left:0;right:0;bottom:0;z-index:40;transform:translateY(110%);transition:transform .35s cubic-bezier(.2,.85,.25,1);pointer-events:none;visibility:hidden;transition:transform .35s cubic-bezier(.2,.85,.25,1),visibility 0s .35s}
#sheet.open{transform:none;pointer-events:auto;visibility:visible;transition:transform .35s cubic-bezier(.2,.85,.25,1)}
#sheet .sh{max-width:760px;margin:0 auto;background:var(--card);border-radius:28px 28px 0 0;box-shadow:0 -10px 40px rgba(0,0,0,.2);padding:22px 22px calc(18px + max(var(--badge),env(safe-area-inset-bottom)));border-top:6px solid var(--br);max-height:70vh;overflow:auto}
#sheet .sh.ok{border-top-color:var(--ok)}#sheet .sh.bad{border-top-color:var(--bad)}#sheet .sh.lk{border-top-color:var(--in)}
#sheet .res{display:flex;align-items:center;gap:10px;font-size:22px;font-weight:800;margin-bottom:8px}
#sheet .ok .res{color:var(--ok)}#sheet .bad .res{color:var(--bad)}
#sheet .expl{font-size:17px;line-height:1.6;margin-bottom:16px}
.combo{font-size:14px;font-weight:800;color:var(--wa);margin-left:auto}
.bl{width:100%}
input[type=text],input[type=search],textarea{width:100%;font:inherit;padding:14px 16px;border-radius:16px;border:2px solid var(--br);background:var(--card);color:var(--tx);min-height:52px}
textarea{line-height:1.5}
input[type=range]{width:100%;height:44px;accent-color:var(--pr)}
/* summary */
.sum{text-align:center}
.calrow{display:grid;grid-template-columns:90px 1fr 54px;gap:10px;align-items:center;margin:10px 0;font-size:15px;text-align:left}
.calrow .bar{margin:0;height:14px}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:12px;margin:16px 0}
.kpi{background:var(--soft);border-radius:16px;padding:14px 8px;text-align:center}
.kpi b{display:block;font-size:24px;font-weight:850}
.kpi span{font-size:12.5px;color:var(--mu);font-weight:600}
/* drills */
.sw{flex:1;min-width:64px;min-height:72px;font-size:20px;border:3px solid transparent;border-radius:16px;font-weight:800;box-shadow:var(--sh)}
.sw.on{border-color:var(--tx);transform:translateY(-4px)}
.cl.okb{outline:3px solid var(--ok);opacity:1!important}
.lad{padding:10px 14px;margin:8px 0;background:var(--soft);border-radius:12px}
.mgrid{display:grid;grid-template-columns:1fr 1.4fr;gap:12px}
.mgrid .opt{font-size:15px;min-height:64px}
.mgrid .opt svg{flex:none}
.mt.sel{border-color:var(--in)}
.glyphs{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:10px}
.glyph{background:var(--soft);border-radius:14px;padding:8px;text-align:center;font-size:13px;font-weight:700}
.glyph svg{width:100%;height:52px}
/* library */
.seg{display:flex;background:var(--soft);border-radius:16px;padding:4px;gap:4px;margin:8px 0 16px;overflow-x:auto}
.seg button{flex:1;background:none;color:var(--mu);min-height:44px;padding:8px 12px;font-size:15px;border-radius:12px;white-space:nowrap}
.seg button.on{background:var(--card);color:var(--tx);box-shadow:var(--sh)}
.tw{overflow-x:auto;margin:0 -4px}
table{border-collapse:separate;border-spacing:0;width:100%;font-size:15px}
th,td{padding:10px 12px;text-align:left;vertical-align:top;border-bottom:1px solid var(--br)}
tr:first-child th{background:var(--soft);font-size:13px;text-transform:uppercase;letter-spacing:.04em}
tr:first-child th:first-child{border-radius:10px 0 0 10px}tr:first-child th:last-child{border-radius:0 10px 10px 0}
.gl{padding:14px 2px;border-bottom:1px solid var(--br);font-size:16px}
.gl b{color:var(--pr)}
.letter{font-weight:850;color:var(--mu);font-size:13px;letter-spacing:.1em;margin:18px 0 0}
.more-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px;margin-bottom:20px}
.dia{background:var(--soft);border-radius:16px;padding:10px;margin:14px 0}
.ly{cursor:pointer}.ly:hover rect{opacity:.85}
.hide{display:none!important}
.lockcard{text-align:center;padding:28px;background:linear-gradient(135deg,color-mix(in srgb,var(--in) 14%,var(--card)),var(--card))}
.lockcard .ico{width:40px;height:40px;color:var(--in)}
.demo{display:flex;gap:10px;align-items:center;font-size:14px;background:color-mix(in srgb,var(--in) 10%,var(--card));color:var(--tx);border-radius:14px;padding:10px 14px;margin:0 0 14px}
#toast{position:fixed;left:50%;top:calc(16px + env(safe-area-inset-top));transform:translate(-50%,-150%);z-index:60;background:var(--tx);color:var(--bg);padding:12px 18px;border-radius:999px;font-weight:700;box-shadow:var(--sh2);transition:transform .35s cubic-bezier(.2,.85,.25,1);font-size:15px;max-width:90vw;text-align:center}
#toast.on{transform:translate(-50%,0)}
#fx{position:fixed;inset:0;pointer-events:none;z-index:70;overflow:hidden}
#fx i{position:absolute;top:-12px;width:10px;height:14px;border-radius:3px;animation:fall 1.6s cubic-bezier(.25,.6,.4,1) forwards}
@keyframes fall{to{transform:translate(var(--dx),105vh) rotate(var(--rot));opacity:.9}}
.gate{max-width:520px;margin:8vh auto;text-align:center}
.logo{border-radius:22%;box-shadow:var(--sh2)}
@media(max-width:420px){main{padding-left:16px;padding-right:16px}.car{margin:0 -16px;padding-left:16px;padding-right:16px}h1{font-size:28px}.hero{padding:20px;border-radius:24px}.pc{width:180px}.lesson .card{padding:20px}.mgrid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
/* ---- v3 stages & capstone ---- */
.shero{display:grid;grid-template-columns:1.2fr 1fr;gap:16px;align-items:center;background:var(--card);border:1px solid var(--br);border-radius:var(--r);padding:20px;margin:0 0 16px;box-shadow:var(--sh)}
@media(max-width:700px){.shero{grid-template-columns:1fr}}
.onw{width:100%;margin-top:10px}.onw2{width:100%;margin-top:8px}
.jmap{display:flex;justify-content:center;padding:12px}.jmap svg .lm:focus{outline:none}.jmap svg .lm:focus circle:first-child{stroke-width:4}
.curst{outline:2px solid var(--pr);outline-offset:-2px}
.remed{border-left:5px solid var(--wa)}.rem{margin:6px 0;padding:10px 12px;background:var(--wabg);border-radius:var(--rs);font-size:15px}
.steps{display:flex;gap:6px;overflow-x:auto;padding:6px 0 10px;scrollbar-width:none}.steps span{flex:none;font-size:12px;font-weight:700;padding:4px 10px;border-radius:99px;background:var(--soft);color:var(--mu)}
.steps .dn{background:var(--okbg);color:var(--ok)}.steps .on{background:var(--pr);color:#fff}
.ptcard{background:var(--soft);border-radius:var(--rs);padding:10px 14px;margin:4px 0 6px}.ptcard summary{font-weight:800;cursor:pointer}.ptcard p{margin:8px 0 2px;font-size:15.5px}
ol.plan{list-style:none;padding:0;margin:0}ol.plan li{margin:0}
.opt.ms .cb{border-radius:6px}.opt.ms.sel .cb::after{content:"✓"}
.rubi{display:flex;gap:10px;align-items:flex-start;padding:8px 0;border-bottom:1px solid var(--br);font-size:15.5px}.rubi input{width:20px;height:20px;margin-top:2px;accent-color:var(--pr)}
.plan7{padding:0;list-style:none;margin:0}.plan7 li{display:flex;gap:8px;align-items:center;padding:10px 0;border-bottom:1px solid var(--br);flex-wrap:wrap}
.mrev{border-top:1px solid var(--br);padding:10px 0}
.cert{background:linear-gradient(135deg,#0b7a75,#4f46e5);padding:10px;border-radius:var(--r);margin:0 0 16px;position:relative}
.cert-in{background:#fffdf7;color:#16201f;border-radius:14px;padding:28px 20px;text-align:center;border:2px solid #d9c98f}
.cert-in h2{font-family:Georgia,serif;font-size:26px;margin:10px 0}.cert.preview .cert-in{opacity:.75}
.cname{font:700 24px Georgia,serif;text-align:center;border:0;border-bottom:2px solid #c9b46a;background:transparent;width:min(90%,380px);color:#16201f;padding:6px}
@media print{body *{visibility:hidden}#cert,#cert *{visibility:visible}#cert{position:fixed;inset:0;margin:0}}
.req{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--br);font-size:15px}.req span{font-weight:800;white-space:nowrap}
.we{border:1px solid var(--line,#e2e8f0);border-left:4px solid #0b7a75;border-radius:14px;padding:12px 14px;margin:12px 0;background:rgba(11,122,117,.06)}
.we b{display:block;margin-bottom:6px}.we ol{margin:0;padding-left:20px}.we li{margin:4px 0}
.we.yt{border-left-color:#c2700a;background:rgba(194,112,10,.07)}
.we .blank details{border:1px dashed #c2700a;border-radius:10px;padding:6px 10px}.we .blank summary{cursor:pointer;font-weight:600;color:#c2700a}
.dstim{text-align:center;margin-bottom:8px}.dsvg{width:100%;max-width:260px;height:auto;display:block;margin:4px auto}.tlsvg{width:100%;max-width:520px;display:block;margin:auto}
.rpt{text-align:left;background:var(--soft,#f1f5f9);border-radius:12px;padding:10px 14px;font-family:ui-monospace,Menlo,monospace;font-size:.92em}.rpt b{font-family:inherit;display:block;margin-bottom:4px}
.mcg{margin:10px 0}.chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.chip.mc{min-height:40px;background:var(--soft);color:var(--tx);border:1px solid var(--br,#e2e8f0);backdrop-filter:none}.chip.mc.sel{background:#0b7a75!important;border-color:#0b7a75;color:#fff}.chip.mc.ok{background:#16a34a;color:#fff}.chip.mc.bad{background:#dc2626;color:#fff}.mcs{margin:10px 0}
/* v3.3 docked tab bar (mobile/tablet) */
:root{--dock:calc(var(--navh) + var(--badge) + env(safe-area-inset-bottom))}
body{min-height:100vh;min-height:100dvh}
@media(max-width:1023px){
nav#nav{left:0;right:0;bottom:0;top:auto;max-width:none;margin:0;border-radius:0;border:0;border-top:1px solid var(--br);box-shadow:0 -4px 16px rgba(0,0,0,.08);
 height:auto;padding:6px max(8px,env(safe-area-inset-right)) calc(var(--badge) + env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));
 background:var(--bg2,var(--bg));-webkit-backdrop-filter:none;backdrop-filter:none;transform:translateZ(0)}
nav#nav{padding-left:max(8px,env(safe-area-inset-left),calc((100% - 560px)/2));padding-right:max(8px,env(safe-area-inset-right),calc((100% - 560px)/2))}
body.focus .actbar{bottom:0;padding-bottom:calc(14px + var(--badge) + env(safe-area-inset-bottom))}
nav#nav button{height:var(--navh);max-height:60px}
main{padding-bottom:calc(var(--dock) + 32px)!important}
.actbar{bottom:var(--dock);padding-bottom:14px}
}
/* v3.4 chip rows: wrap, never squash */
.chips{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-start}
.chips>.chip,.chip.mc{flex:0 0 auto;width:auto;max-width:100%;min-width:0;min-height:44px;padding:10px 14px;font-size:15px;border-radius:999px;white-space:nowrap;box-shadow:none;justify-content:center}
@media(max-width:360px){.chips>.chip,.chip.mc{white-space:normal;overflow-wrap:break-word;text-align:center}}
.seg{flex-wrap:wrap;overflow-x:visible}.seg button{flex:1 1 auto;white-space:normal;padding:8px 10px;line-height:1.15;min-width:0}
.opt,.pk,.card,h1,h2,h3,p,li{overflow-wrap:break-word;word-break:normal;hyphens:manual;min-width:0}
.stem{white-space:pre-line}

/* v4.4 responsive tables: real tables >=700px, stacked cards below; never break words mid-letter */
table,th,td{overflow-wrap:normal;word-break:normal;hyphens:manual}
.tw{overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%}
@media(min-width:700px){
 table{font-size:15.5px;line-height:1.45}
 th,td{min-width:96px}
 th{white-space:normal}
 table.rt tr:first-child th,table.rt thead th{position:sticky;top:0;z-index:1}
 table.rt tbody tr:nth-child(even) td,table.rt tr:nth-child(even) td{background:color-mix(in srgb,var(--soft) 55%,transparent)}
 table.rt td:first-child{font-weight:600;min-width:120px}
}
@media(max-width:699px){
 .tw{overflow:visible;margin:0}
 table.rt,table.rt tbody,table.rt thead,table.rt tr,table.rt td,table.rt th{display:block;width:auto;min-width:0}
 table.rt tr.rh,table.rt thead{display:none}
 table.rt tr{border:1px solid var(--br);border-radius:12px;padding:10px 12px;margin:0 0 10px;background:var(--soft)}
 table.rt td,table.rt th{border:0;padding:3px 0;font-size:15px;line-height:1.45;text-transform:none;letter-spacing:0;background:none}
 table.rt td:first-child,table.rt tr>th:first-child{font-weight:700;font-size:16px;padding-bottom:6px}
 table.rt td[data-label]:not(:first-child)::before{content:attr(data-label) ": ";font-weight:600;color:var(--mu)}
}
/* v4.5 narrow-screen word safety */
.opt>*,.pk>*{min-width:0}
.opt>span:last-child,.pk>span:last-child{flex:1 1 auto}
@media(max-width:360px){main h3{font-size:15.5px;letter-spacing:-.01em}main .card h3,main .mc h3{font-size:15px}}
/* v4.6 KB */
.kbl{font-size:12px;color:var(--mu);margin-bottom:6px;display:flex;align-items:center;gap:4px}
#kz select{max-width:100%;margin:4px 0}
@media(max-width:360px){main .card{padding-left:14px;padding-right:14px}.opt,.pk{padding-left:10px;padding-right:10px;font-size:16px;gap:8px}}
/* Beginners area */
.bghero{display:flex;flex-wrap:wrap;gap:14px;align-items:center;border-radius:24px;padding:20px;margin:0 0 16px;color:#fff;background:linear-gradient(135deg,#0b7a75,#4f46e5);box-shadow:var(--sh)}
.bghero h2{color:#fff;margin:8px 0 4px}.bghero .chip{background:rgba(255,255,255,.18);color:#fff}.bghero button.sec{background:rgba(255,255,255,.16);color:#fff;border-color:rgba(255,255,255,.4)}
.bghero.bgmini{padding:14px 18px;background:linear-gradient(135deg,#115e59,#3730a3)}
.bgunit{margin:0 0 16px;border-radius:var(--r);overflow:hidden;background:var(--card);border:1px solid var(--br);box-shadow:var(--sh)}
.bguh{color:#fff;padding:14px 18px;display:flex;flex-direction:column;gap:2px}.bguh span{font-size:12px;opacity:.85;text-transform:uppercase;letter-spacing:.06em}.bguh b{font-size:17px}
.bgls{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px;padding:12px}
.bgl{display:flex;align-items:center;gap:10px;text-align:left;background:var(--soft);color:var(--tx);border:1px solid var(--br);border-radius:14px;padding:12px;min-height:52px;font-weight:600}
.bgl small{display:block;font-weight:400;color:var(--mu)}.bgl.done{border-color:var(--ok)}
.bgck{flex:0 0 32px;height:32px;border-radius:50%;display:grid;place-items:center;background:var(--card);font-size:12px;color:var(--mu)}.bgl.done .bgck{background:var(--ok);color:#fff}
.bgcard h2{margin-top:0}.bgvis{margin-top:12px}
.bgfeel,.bgchips,.bgsw{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px}
.bgfeel>div,.bgchips>div,.bgsw>div{background:var(--soft);border-radius:12px;padding:10px;display:flex;flex-direction:column;gap:2px}
.bgfeel span,.bgchips span,.bgsw span{font-size:13px;color:var(--mu)}.bgsw i{width:28px;height:28px;border-radius:50%;border:1px solid var(--br);margin-bottom:4px}
.bgcyc{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.bgcyc span{background:var(--soft);border-radius:999px;padding:8px 14px;font-weight:600}.bgcyc span:not(:last-child):after{content:" →";color:var(--pr)}
.bgbars>div{display:grid;grid-template-columns:90px 1fr;gap:4px 10px;align-items:center;margin:6px 0}.bgbars i{height:14px;border-radius:7px;background:linear-gradient(90deg,var(--pr),var(--pr2))}.bgbars span{grid-column:2;font-size:13px;color:var(--mu)}
.bgalert{display:flex;gap:10px;align-items:flex-start;background:var(--badbg);color:var(--tx);border-radius:12px;padding:12px}
.bgbridge{border-left:5px solid var(--in)}
/* mastery map + reports */
.mmleg{display:flex;flex-wrap:wrap;gap:12px;margin:8px 0 16px;font-size:13px;color:var(--mu)}.mmleg i{display:inline-block;width:12px;height:12px;border-radius:4px;margin-right:6px;vertical-align:-1px}
.mmst{margin:0 0 16px;background:var(--card);border:1px solid var(--br);border-radius:var(--r);overflow:hidden;box-shadow:var(--sh)}
.mmh{display:grid;grid-template-columns:1fr auto;color:#fff;padding:12px 16px}.mmh span{grid-column:1;font-size:12px;opacity:.85;text-transform:uppercase;letter-spacing:.06em}.mmh b{grid-column:1}.mmh em{grid-column:2;grid-row:1/3;align-self:center;font-style:normal;font-size:20px;font-weight:800}
.mml{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:6px;padding:10px}
.mmr{display:flex;align-items:center;gap:10px;width:100%;text-align:left;background:var(--soft);color:var(--tx);border:1px solid var(--br);border-radius:12px;padding:10px 12px;min-height:46px;margin:0 0 6px}
.mml .mmr{margin:0}.mmr i{flex:0 0 12px;height:12px;border-radius:50%}.mmr span{flex:1;min-width:0;overflow-wrap:break-word}.mmr b{font-size:14px;color:var(--mu)}.mmr.lk{opacity:.6}
.mmg{display:grid;grid-template-columns:repeat(auto-fill,minmax(48px,1fr));gap:6px;padding:10px}
.mmt{aspect-ratio:1;border-radius:10px;border:0;background:var(--mc);color:#fff;font-weight:700;font-size:13px}.mmt.lk{background:var(--soft);color:var(--mu)}
.replist{padding-left:20px}.replist li{margin:0 0 10px}.replist span{display:block;color:var(--mu);font-size:14px}
.bgready{padding:0 12px 12px;display:flex;flex-direction:column;gap:8px}.bgmb{height:8px;border-radius:4px;background:var(--soft);overflow:hidden}.bgmb i{display:block;height:100%;background:linear-gradient(90deg,var(--ok),var(--pr))}
.bgrf{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.bgrf .chip{border:1px solid var(--br);cursor:pointer;white-space:normal;text-align:left}
.mml{grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr))}
.mmr>i,.mmr>b{flex:none}.mmr>span{flex:1 1 auto;min-width:0;font-size:14px;line-height:1.3;overflow-wrap:normal;word-break:normal;hyphens:none}
.crhome{display:flex;align-items:center;gap:12px;width:100%;text-align:left;margin:12px 0;padding:12px 14px;border-radius:16px;background:var(--card);border:1px solid var(--br);color:inherit}
.crhome>span:nth-child(2){flex:1;min-width:0}.crhome small{display:block;color:var(--mu);font-weight:400}
.crcd{display:flex;flex-direction:column;align-items:center;justify-content:center;background:rgba(255,255,255,.16);border-radius:16px;padding:10px 16px;min-width:96px}.crcd b{font-size:36px;line-height:1}.crcd span{font-size:13px}
.crhero{background:linear-gradient(135deg,#b91c1c,#7a3fd6)!important;color:#fff}
.crtrk{display:flex;gap:8px;margin:12px 0;flex-wrap:wrap}.crtrk button{flex:1 1 200px;background:var(--card);color:inherit;border:2px solid var(--br)}.crtrk button[aria-selected=true]{border-color:var(--pr);background:var(--soft)}
.crset{display:flex;gap:14px;flex-wrap:wrap}.crset label{display:flex;flex-direction:column;gap:4px;font-weight:600;flex:1 1 140px}.crset input,.crset select{font:inherit;padding:8px;border-radius:10px;border:1px solid var(--br);background:var(--bg);color:inherit}
.crplan{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,230px),1fr));gap:10px}.crday{border:1px solid var(--br);border-radius:14px;padding:10px;display:flex;flex-direction:column;gap:6px}.crday.now{border:2px solid var(--pr)}
.crdh{display:flex;justify-content:space-between;gap:6px;flex-wrap:wrap}.crdh span{font-size:12px;color:var(--mu)}
.crtask{text-align:left;font-size:14px;padding:8px 10px;background:var(--soft);color:inherit;border:0;border-radius:10px;overflow-wrap:break-word}.crtask small{color:var(--mu)}
.crtip{font-size:12px;color:var(--mu);margin:0;display:flex;gap:6px;align-items:flex-start}
.crgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,180px),1fr));gap:10px}.crsc{text-align:left;color:#fff;background:linear-gradient(135deg,var(--c1),var(--c2));border:0;border-radius:14px;padding:14px;min-height:80px;display:flex;flex-direction:column;justify-content:space-between}.crsc small{opacity:.9;font-weight:400}.crsc:disabled{opacity:.55}
.crsh header{color:#fff;border-radius:18px;padding:18px}.crsh header h1{margin:6px 0}.crrows{display:flex;flex-direction:column;gap:2px;margin-top:10px}
.crrow{display:grid;grid-template-columns:52px 1fr;gap:10px;padding:10px 4px;border-bottom:1px solid var(--br)}.crrow p{margin:4px 0 0}.cry{color:#d9a400;letter-spacing:1px}.cry i{color:var(--br);font-style:normal}
.crtag{display:inline-block;font-size:11px;font-weight:700;color:#fff;background:var(--tc);border-radius:99px;padding:1px 8px;vertical-align:middle}
.crlast{padding-left:22px;line-height:1.5}.crlast li{margin:6px 0}
.crp{border-bottom:1px solid var(--br);padding:8px 0}.crp summary{cursor:pointer;font-weight:700;display:flex;gap:8px;align-items:center}.crn{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--pr);color:#fff;font-size:13px;flex:none}
.crck{display:flex;gap:10px;align-items:flex-start;padding:6px 0}.crck input{width:20px;height:20px;flex:none;margin-top:2px}
.crtg{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr));gap:10px}.crtg div{background:var(--soft);border-radius:12px;padding:10px}.crtg b{display:block}.crtg span{font-size:14px}
.crtm{position:relative;height:22px;border-radius:99px;background:var(--soft);margin:6px 0 10px;overflow:hidden}.crtm i{position:absolute;inset:0 auto 0 0;background:var(--in,#0e7490);transition:width .25s linear}.crtm.low i{background:#e2504a}.crtm span{position:relative;display:block;text-align:center;font-size:12px;font-weight:700;line-height:22px}.crtm.out{outline:2px solid #e2504a}
@media print{.crsh header{color:#000;background:none!important;border:1px solid #000}.crsc,.crtrk,#crb,#crp,#crt{display:none!important}}
/* v5.7 Beginners: refs, handbook, map */
.bgrefs{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:14px;padding-top:10px;border-top:1px dashed var(--br)}
.chip.bgref{font-size:12px;font-weight:600;padding:4px 10px;color:var(--mu);text-decoration:none;border:1px solid var(--br)}
a.chip.bgref:hover{color:var(--pr);border-color:var(--pr)}
.bgst span{font-size:13px}
.bgtools .row button{min-height:44px}
.bghb{max-width:820px;margin:0 auto;padding-bottom:40px}.bghb h1{margin:14px 0 6px;font-size:clamp(24px,5vw,34px)}
.bghbbar{position:sticky;top:0;z-index:5;background:var(--bg);padding:8px 0}
.hbtoc ol{margin:8px 0 0;padding-left:22px;line-height:1.9}.hbtoc a{color:var(--pr);text-decoration:none}
.hbu{margin:26px 0}.hbu h2{border-left:6px solid var(--pr);padding-left:10px}
.hbl{background:var(--card);border:1px solid var(--br);border-radius:var(--r);padding:16px 18px;margin:12px 0;box-shadow:var(--sh)}
.hbl h3{margin:0 0 6px}.hbl h4{margin:12px 0 4px;font-size:15px}.hbl p{margin:0;line-height:1.6}
.hbk{background:var(--soft);border-radius:12px;padding:10px 14px;margin-top:12px}.hbk ul{margin:6px 0 0;padding-left:20px;line-height:1.55}
.hbpart{background:var(--card);border:1px solid var(--br);border-radius:12px;margin:8px 0;padding:10px 14px}.hbpart summary{cursor:pointer;min-height:32px}
.hbpart ul{list-style:none;padding:0;margin:8px 0 0}.hbpart li{padding:5px 0;border-top:1px solid var(--br);font-size:14px;opacity:.7}.hbpart li.hit{opacity:1}
.hbn{display:inline-block;min-width:52px;font-weight:700;color:var(--pr)}
@media(min-width:768px){.hbl{padding:20px 26px}}
@media print{body.hbp *{visibility:visible!important}body.hbp #side,body.hbp #nav,body.hbp .bghbbar,body.hbp #toast,body.hbp #sheet{display:none!important}
body.hbp{background:#fff;color:#000}body.hbp #shell,body.hbp main{display:block;margin:0;padding:0}
.hbl{box-shadow:none;break-inside:avoid;border-color:#bbb}.hbu{break-before:page}.hbk{background:#f2f2f2}.hbpart{break-inside:avoid}.hbpart:not([open]) ul{display:block}a.chip.bgref{color:#000}}
/* v6.0 Cram KB + dermpath */
.crkbg{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:10px;margin-top:10px}
.crkb{border:1px solid var(--br);border-radius:14px;padding:12px;background:var(--card,transparent);min-width:0;overflow-wrap:break-word;word-break:normal;hyphens:manual}
.crkb.mnm{border-color:#e2504a;box-shadow:inset 3px 0 0 #e2504a}
.crkb dl{margin:6px 0 0;display:grid;grid-template-columns:1fr;gap:1px;font-size:.88em}.crkb dt{font-weight:700;opacity:.7;font-size:.8em;text-transform:uppercase;letter-spacing:.03em;margin-top:4px}.crkb dd{margin:0;min-width:0}
@media (max-width:420px){.crkb dl{grid-template-columns:1fr}.crkb dd{margin-bottom:4px}}
.crcmp{width:100%;border-collapse:collapse;font-size:.88em;table-layout:fixed}.crcmp th,.crcmp td{border-bottom:1px solid var(--br);padding:8px 6px;text-align:left;vertical-align:top;overflow-wrap:break-word;word-break:normal}
@media (max-width:760px){.crcmp thead{display:none}.crcmp,.crcmp tbody,.crcmp tr,.crcmp th,.crcmp td{display:block;width:auto}.crcmp tr{border:1px solid var(--br);border-radius:12px;margin:0 0 8px;padding:6px 8px}.crcmp th[scope=row]{border:0;font-size:1.05em}.crcmp td{border:0;padding:3px 0}.crcmp td:before{content:attr(data-l) ": ";font-weight:700;opacity:.75}}
.dpsvg{width:100%;max-width:520px;height:auto;display:block;margin:6px auto;color:var(--tx,currentColor)}
.crmiss{border-bottom:1px solid var(--br);padding:6px 0}.crmiss summary{cursor:pointer;overflow-wrap:break-word}
.crlast li{overflow-wrap:break-word;margin-bottom:6px}
.dpk summary{cursor:pointer}
.calrow{grid-template-columns:minmax(96px,11em) 1fr auto}.calrow b{overflow-wrap:normal;word-break:normal;min-width:0}
/* search */
#srtop{position:absolute;z-index:20;top:calc(env(safe-area-inset-top) + 10px);right:calc(env(safe-area-inset-right) + 12px);width:40px;height:40px;padding:0;border-radius:50%;display:grid;place-items:center;border:1px solid var(--br);background:var(--card);color:var(--tx);box-shadow:var(--sh)}
#srtop .ico{width:19px;height:19px}
@media(max-width:1023px){body:not(.srhomev):not(.srmode):not(.focus) main>:first-child:is(h1,h2,.crumb),body:not(.srhomev):not(.srmode):not(.focus) main>:first-child>:first-child:is(h1,h2,.crumb){padding-right:52px}}
@media(min-width:1024px){#srtop{display:none}}
body.focus #srtop,.srmode #srtop,.srhomev #srtop{display:none}
.srside{display:flex;align-items:center;gap:10px;margin:4px 0 10px;padding:10px 12px;border-radius:12px;border:1px solid var(--br);background:var(--card);color:var(--mu);font:inherit;font-size:14px;text-align:left;cursor:pointer}
.srside span{flex:1}.srside kbd{font:12px ui-monospace,monospace;border:1px solid var(--br);border-radius:6px;padding:1px 6px}
.srside .ico{width:18px;height:18px}
.srhome{margin:2px 0 14px}
.srhbar{width:100%;display:flex;align-items:center;gap:10px;padding:14px 16px;border-radius:16px;border:1px solid var(--br);background:var(--card);box-shadow:var(--sh);color:var(--mu);font:inherit;font-size:16px;text-align:left;min-height:52px}
.srhbar .srph{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--tx);opacity:.75}.srhint{flex:none;font-size:12.5px;color:var(--mu);white-space:nowrap}.srhint b{font-weight:600;color:var(--pr)}@media(max-width:359px){.srhint{display:none}}
.srhbar .ico{width:20px;height:20px;flex:none;color:var(--pr)}
.srbox{position:sticky;top:calc(env(safe-area-inset-top) + 6px);z-index:5;display:flex;align-items:center;gap:8px;padding:6px 6px 6px 14px;border-radius:16px;border:1px solid var(--br);background:var(--card);box-shadow:var(--sh2);margin:0 0 12px}
.srbox input{flex:1;min-width:0;border:0;background:transparent;color:var(--tx);font:inherit;font-size:17px;padding:10px 4px;outline:none}
.srbox .srico .ico{width:20px;height:20px;color:var(--pr)}
.srbox .ghost{flex:none}
.srchips{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0}
.srchip{display:inline-flex;align-items:baseline;gap:6px;max-width:100%;padding:7px 12px;border-radius:999px;border:1px solid var(--br);background:var(--soft);color:var(--tx);font:inherit;font-size:14px;text-align:left;cursor:pointer;overflow-wrap:break-word;word-break:normal;hyphens:auto}
.srchip span{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--mu);flex:none}
.srplain{cursor:default}
.srsugs{margin:0 0 10px}
.srans h2{margin:4px 0 8px;overflow-wrap:break-word}
.srk{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--pr);font-weight:600}
.srmain{font-size:17px;line-height:1.5;margin:0 0 10px}
.srfacts{display:grid;grid-template-columns:1fr;gap:2px 14px;margin:8px 0}
.srfacts dt{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--mu);margin-top:8px}
.srfacts dd{margin:0;line-height:1.45;overflow-wrap:break-word}
@media(min-width:760px){.srfacts{grid-template-columns:minmax(120px,11em) 1fr}.srfacts dt{margin-top:0;padding-top:3px}}
.srrel{margin:12px 0}
.srsrc,.srnote{font-size:13px;color:var(--mu);margin:8px 0}
.srnote{border-top:1px solid var(--br);padding-top:8px}
.srbtns{flex-wrap:wrap;gap:8px}
.srbtns button{flex:1 1 180px}
.srno .srk{color:var(--wa)}
.srup{background:var(--wabg);border-radius:10px;padding:8px 12px}
.srrep{margin:4px 0 20px}
.kbent h1{overflow-wrap:break-word;hyphens:auto}
.srcmp td,.srcmp th{overflow-wrap:break-word;word-break:normal}
@media(max-width:359px){.opt{font-size:14px;gap:10px;padding:12px 12px}}
.srhomev .srside{display:none}
#toast:not(.on){visibility:hidden;opacity:0;transition:transform .35s,opacity .2s,visibility 0s .35s}#toast:empty{display:none}
/* v6.3 image atlas */
.imgl{opacity:0;transition:opacity .35s}.imgl.ok{opacity:1}
.imgfig{margin:0;min-width:0}.imgbox{position:relative;border-radius:16px;overflow:hidden;background:linear-gradient(135deg,var(--soft),var(--bg2));aspect-ratio:4/3;cursor:zoom-in;box-shadow:var(--sh)}
.imgbox img{width:100%;height:100%;object-fit:cover;display:block}
.imgfail .imgbox{aspect-ratio:auto;cursor:default;box-shadow:none;border:1px dashed var(--br)}.imgfail .imgzoomhint{display:none}
.imgfb{margin:0;padding:14px;font-size:14px;color:var(--mu);display:flex;gap:8px;align-items:flex-start}
.imgzoomhint{position:absolute;right:8px;bottom:8px;font-size:11px;font-weight:650;padding:3px 8px;border-radius:999px;background:rgba(0,0,0,.55);color:#fff;pointer-events:none}
.imgfig figcaption{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:6px}
.imglab{font-size:11.5px;line-height:1.3;color:var(--mu);font-style:italic}
.imgtone{font-size:11px;font-weight:700;padding:2px 8px;border-radius:999px;background:var(--soft);color:var(--pr)}
.imggal{display:grid;gap:10px;margin:12px 0 18px}.imggal.multi{grid-template-columns:2fr 1fr}.imggal.multi .hero{grid-row:span 3}
.imggal .sub .imgbox{aspect-ratio:1}
.qimg{margin:0 0 12px}.qimg .imgbox{max-height:52vh;aspect-ratio:auto;background:var(--soft)}.qimg .imgbox img{height:auto;max-height:52vh;object-fit:contain}
#imglb{position:fixed;inset:0;z-index:999;background:rgba(6,10,18,.94);display:none;flex-direction:column;color:#fff;padding:env(safe-area-inset-top) 0 env(safe-area-inset-bottom)}
#imglb.on{display:flex}body.lbopen{overflow:hidden}
.lbtop,.lbbot{display:flex;align-items:center;gap:10px;padding:10px 14px;flex-wrap:wrap}.lbtop{justify-content:space-between}.lbn{font-weight:700;min-width:0;overflow-wrap:anywhere}
.lbx,.lbnav button{background:rgba(255,255,255,.12);color:#fff;border:0;border-radius:999px;min-width:44px;min-height:44px;font-size:20px;cursor:pointer}
.lbnav{display:inline-flex;align-items:center;gap:8px;margin-left:auto}
.lbimg{flex:1;min-height:0;overflow:hidden;display:flex;align-items:center;justify-content:center;cursor:zoom-in}
.lbimg img{max-width:100%;max-height:100%;object-fit:contain;transition:transform .25s}.lbimg img.z{transform:scale(2.4);cursor:zoom-out}
#imglb .imglab{color:#cbd5e1}#imglb .lbe{margin-left:auto}
.crkbi{display:grid;grid-template-columns:72px 1fr;gap:12px;align-items:start}.crkbi>*:not(.crth){grid-column:2}.crth{grid-row:1/span 9;margin:0;width:72px;height:72px;border-radius:12px;overflow:hidden;background:var(--soft);cursor:zoom-in}.crth img{width:100%;height:100%;object-fit:cover}.crth.imgfail{display:none}.crkbi:has(.crth.imgfail){display:block}
.srth{flex:none;width:26px;height:26px;border-radius:7px;overflow:hidden;background:var(--bg2);align-self:center;margin-left:-6px}.srth img{width:100%;height:100%;object-fit:cover;display:block}.srth.imgfail{display:none}
.srchip.hasth{align-items:center}
.atcta{display:flex;align-items:center;gap:14px;width:100%;text-align:left;padding:12px 14px;border-radius:20px;border:1px solid var(--br);background:linear-gradient(120deg,var(--card),var(--soft));box-shadow:var(--sh);color:var(--tx);cursor:pointer;margin:0 0 16px;font:inherit;overflow:hidden}
.atstrip{display:flex;flex:none}.atstrip span{width:44px;height:44px;border-radius:12px;overflow:hidden;border:2px solid var(--card);background:var(--bg2);margin-left:-14px;box-shadow:0 2px 6px rgba(0,0,0,.18)}.atstrip span:first-child{margin-left:0}.atstrip img{width:100%;height:100%;object-fit:cover;display:block}.atstrip span.imgfail{display:none}
.atstrip span:nth-child(n+5){display:none}
.attxt{flex:1;min-width:0;display:flex;flex-direction:column}.attxt small{color:var(--mu);font-weight:500;font-size:13px}.atgo{font-size:26px;color:var(--pr)}
@media(min-width:600px){.atstrip span:nth-child(n+5){display:block}.atstrip span{width:52px;height:52px}}
.athead h1{margin-bottom:4px}.athead b{font-weight:650;color:var(--tx)}
.atdl{display:flex;flex-direction:column;gap:10px}.atdli{display:flex;gap:12px;align-items:flex-start}.atdli .ico{flex:none;width:28px;height:28px;color:var(--pr)}.atdli small{display:block;color:var(--mu);font-size:13px;margin-top:2px}
.atbar{height:8px;border-radius:999px;background:var(--soft);overflow:hidden}.atbar i{display:block;height:100%;width:0;background:var(--pr);transition:width .2s}
.attools{display:flex;flex-direction:column;gap:10px;margin:0 0 14px}.atchips{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px;scrollbar-width:none}
.atchip{flex:none;border:1px solid var(--br);background:var(--card);color:var(--tx);border-radius:999px;padding:8px 13px;font:inherit;font-size:14px;cursor:pointer;min-height:40px}.atchip span{color:var(--mu);font-size:12px}.atchip.on{background:var(--pr);border-color:var(--pr);color:#fff}.atchip.on span{color:#e0e7ff}
#atch{font:inherit;padding:9px 12px;border-radius:12px;border:1px solid var(--br);background:var(--card);color:var(--tx);max-width:100%}
.atgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;margin-bottom:16px}
@media(max-width:360px){.atgrid{grid-template-columns:1fr 1fr;gap:8px}}
.attile{margin:0;border-radius:16px;overflow:hidden;background:var(--card);border:1px solid var(--br);cursor:zoom-in;transition:transform .15s,box-shadow .15s;min-width:0}.attile:hover,.attile:focus-visible{transform:translateY(-2px);box-shadow:var(--sh2)}
.atimg{position:relative;aspect-ratio:1;background:linear-gradient(135deg,var(--soft),var(--bg2))}.atimg img{width:100%;height:100%;object-fit:cover;display:block}.attile.imgfail .atimg{display:flex;align-items:center}.attile.imgfail{cursor:default}
.atvar{position:absolute;left:6px;top:6px;font-size:11px;font-weight:700;background:rgba(0,0,0,.6);color:#fff;border-radius:999px;padding:2px 7px}
.attile figcaption{padding:8px 10px 10px;display:flex;flex-direction:column;gap:2px;min-width:0}.attile b{font-size:13.5px;line-height:1.25;overflow-wrap:break-word;hyphens:auto}.attile small{font-size:11.5px;color:var(--mu)}
.atnone{padding:20px 0}.atdr{margin:14px 0}.atdr .wide{margin-top:-4px}.dpimgcta{margin:0 0 4px}
.imgfb[hidden]{display:none!important}.atview,.attools,.atchips,.atgrid{min-width:0;max-width:100%}.attools{width:100%}
.attxt b{font-size:16px;line-height:1.25}.attxt small{line-height:1.3}.athome{margin-top:4px}
.crkbi{display:block}.crkbi .crth{width:auto;height:auto;aspect-ratio:16/7;margin:-12px -12px 10px;border-radius:14px 14px 0 0;grid-row:auto}
.revth{display:inline-block;width:34px;height:26px;border-radius:6px;overflow:hidden;vertical-align:middle;margin-right:6px;background:var(--soft)}.revth img{width:100%;height:100%;object-fit:cover;display:block}.revth.imgfail{display:none}
.optimg{display:block;width:100%;aspect-ratio:4/3;border-radius:12px;overflow:hidden;background:var(--soft)}.optimg img{width:100%;height:100%;object-fit:cover;display:block}.optimg.imgfail{aspect-ratio:auto;background:none}.optimg .imgfb{padding:4px 0;font-size:14px;color:var(--tx)}
.hasoptimg{background:var(--card)!important;border:2px solid var(--br)!important;color:var(--tx)!important;border-radius:16px!important;padding:6px!important;display:flex!important;justify-content:center;min-width:0;box-shadow:none!important}
.hasoptimg>span:last-child:empty{display:none}
*:has(>.hasoptimg){display:grid!important;grid-template-columns:1fr 1fr;gap:10px}
.hasoptimg.ok{border-color:var(--ok)!important;background:var(--okbg)!important}.hasoptimg.bad{border-color:var(--bad)!important;background:var(--badbg)!important}
.optlab{margin:6px 0 10px}
.bgopts{display:block}.bgopts>.opt{width:100%}
.hasoptimg .lt{position:absolute;top:0;left:0;margin:8px;z-index:1}.hasoptimg{position:relative}

/* v6.6 non-blocking offline-image progress + iOS safe-area top */
#imgbar{position:fixed;left:0;right:0;top:env(safe-area-inset-top);height:3px;z-index:70;pointer-events:none;opacity:0;transition:opacity .3s}#imgbar.on{opacity:1}#imgbar i{display:block;height:100%;width:0;background:var(--pr);transition:width .4s}
.imgchip{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:10px 0;padding:6px 6px 6px 12px;border-radius:14px;background:var(--card);border:1px solid var(--br);font-size:13px;color:var(--tx);min-width:0}
.imgchip span{display:flex;align-items:center;gap:6px;flex:1 1 160px;min-width:0}.imgchip .ico{width:16px;height:16px;color:var(--pr);flex:none}
.imgchip button{font:inherit;font-size:12.5px;font-weight:650;border:0;border-radius:999px;padding:6px 12px;background:var(--soft);color:var(--pr);cursor:pointer;min-height:34px;flex:none}
@media(max-width:1023px){main{padding-top:calc(12px + env(safe-area-inset-top))}}
.top,.bghbbar{top:env(safe-area-inset-top)}
body::before{content:"";position:fixed;left:0;right:0;top:0;height:env(safe-area-inset-top);background:var(--bg);z-index:65;pointer-events:none}
/* v6.6 answer spacing */
.pk.wide{display:flex;align-items:center;justify-content:flex-start;text-align:left;white-space:normal;margin:0 0 12px!important;min-height:52px;padding:12px 14px;line-height:1.35;border-radius:16px;transform:none}
.pk.wide:active:not(:disabled){transform:scale(.98)}
.opt{margin:0 0 12px!important;min-height:52px;line-height:1.35}
*:has(>.hasoptimg)>.opt,*:has(>.hasoptimg)>button,*:has(>.hasoptimg)>.pk{margin:0!important}
*:has(>.hasoptimg){row-gap:12px!important;column-gap:10px!important}
body::before{z-index:2147483000!important;height:env(safe-area-inset-top,0px);background:var(--bg)}
/* v6.8 readiness */
.rdslot{margin:0 0 14px}
.rdhome{display:flex;align-items:center;gap:12px;width:100%;text-align:left;background:var(--card);color:var(--tx);border:1px solid var(--br);border-radius:22px;padding:12px 14px;box-shadow:var(--sh);cursor:pointer;min-height:96px;font:inherit}
.rdhome>.ico{flex:none;color:var(--mu)}
.rdmini{flex:none;width:112px}
.rdmini svg{width:112px;height:auto;display:block}
.rdht{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}
.rdht small{color:var(--pr);font-weight:700;font-size:12.5px;letter-spacing:.02em;display:flex;align-items:center;gap:4px;text-transform:uppercase}
.rdht b{font-size:18px;line-height:1.2}
.rdht span{font-size:13px;color:var(--mu);line-height:1.35}
.rdht .rdfoc{color:var(--tx);font-weight:600;font-size:12.5px}
.rdg{width:100%;height:auto;display:block;overflow:visible}
.rdgv{font-size:38px;font-weight:800;fill:var(--tx)}
.rdgs{font-size:13px;fill:var(--mu)}
.rdmini .rdgv{font-size:30px}.rdmini .rdgs{font-size:12px}
.rdhero{background:linear-gradient(135deg,#0b3d4a,#0b7a75 55%,#7a3fd6)}
.rdhero .rdgv{fill:#fff}.rdhero .rdgs{fill:rgba(255,255,255,.85)}
.rdhero .rdg path:first-of-type{stroke:rgba(255,255,255,.22)}
.rdhero .rdg circle{fill:#0b3d4a;stroke:#fff}
.rdhg{display:flex;flex-wrap:wrap;align-items:center;gap:16px}
.rdgw{flex:0 1 260px;min-width:200px;margin:0 auto}
.rdhx{flex:1 1 240px;min-width:0}
.rdhx p{margin:8px 0 0;color:rgba(255,255,255,.92)}
.rdwarn{display:flex;gap:10px;align-items:flex-start;background:var(--wabg);border-color:transparent}
.rdwarn>.ico{flex:none;margin-top:3px;color:var(--wa)}
.rdwarn p{margin:0}
.rdk{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:0 0 16px}
.rdk div{background:var(--card);border:1px solid var(--br);border-radius:18px;padding:12px 8px;text-align:center;box-shadow:var(--sh)}
.rdk b{display:block;font-size:22px}
.rdk span{font-size:12px;color:var(--mu);line-height:1.25;display:block}
.rdrow{margin:14px 0}
.rdrh{display:flex;align-items:center;gap:8px;font-size:14.5px}
.rdrh b{flex:1;min-width:0;font-weight:650}
.rddot{width:12px;height:12px;border-radius:4px;flex:none}
.rdw{font-size:11.5px;color:var(--mu);background:var(--soft);border-radius:999px;padding:2px 7px;flex:none}
.rdv{font-weight:800;min-width:40px;text-align:right;flex:none}
.rdbar{position:relative;height:12px;border-radius:999px;background:var(--soft);margin:7px 0 5px;overflow:hidden}
.rdbar i{position:absolute;left:0;top:0;bottom:0;border-radius:999px}
.rdbar em{position:absolute;top:3px;bottom:3px;border-radius:999px;background:var(--tx);opacity:.28}
.rdsub{font-size:12.5px;color:var(--mu)}
.rdlo{display:inline-block;font-size:11px;font-weight:700;color:var(--wa);background:var(--wabg);border-radius:999px;padding:1px 7px;margin-left:4px}
.rdtr{width:100%;height:90px;display:block}
.rdplan{display:flex;gap:12px;align-items:flex-start;margin:12px 0}
.rdplan .rdn{flex:none;width:30px;height:30px;border-radius:10px;color:#fff;display:grid;place-items:center;font-weight:800}
.rdplan b{display:block}.rdplan small{color:var(--mu);font-size:12.5px;line-height:1.35;display:block}
.rddt{margin:4px 0 16px}
@media (max-width:360px){.rdmini,.rdmini svg{width:92px}.rdht b{font-size:16px}.rdk b{font-size:19px}.rdhero{padding:18px}}
.rdmini .rdgs{display:none}
/* v6.9 dermoscopy */
.dmsvg{width:100%;height:auto;display:block;max-width:320px;margin:0 auto}
.dmsvg.sm{max-width:none}
.dmtok{display:block;max-width:240px;margin:12px auto 4px}
.dmhero{border-radius:20px;padding:20px;color:#fff;margin:8px 0 16px;background:radial-gradient(circle at 85% 15%,rgba(255,255,255,.22),transparent 45%),linear-gradient(135deg,#0f766e,#6d28d9);box-shadow:var(--sh)}
.dmhero h1{color:#fff;margin:10px 0 6px}.dmhero p{color:rgba(255,255,255,.92);margin:0}
.dmhero.sm{padding:16px}
.dmstat{display:flex;gap:12px;margin-top:14px;flex-wrap:wrap}
.dmstat span{background:rgba(255,255,255,.16);border-radius:14px;padding:8px 12px;font-size:13px;line-height:1.2}
.dmstat b{display:block;font-size:20px}
.dmhon{border:1px solid var(--br);border-left:4px solid #d97706;background:var(--card);border-radius:14px;padding:12px 14px;font-size:14px;line-height:1.45;margin:0 0 16px}
.dmtabs{display:flex;gap:6px;background:var(--soft);padding:4px;border-radius:14px;margin:0 0 16px;position:sticky;top:calc(env(safe-area-inset-top,0px) + 4px);z-index:3}
.dmtabs button{flex:1 1 0;min-width:0;min-height:44px;border-radius:11px;background:transparent;color:var(--tx);box-shadow:none;border:0;font-weight:700;font-size:14px;padding:6px 4px}
.dmtabs button.on{background:var(--card);box-shadow:var(--sh)}
.dmfil{display:flex;gap:8px;overflow-x:auto;padding:0 0 12px;scrollbar-width:none}
.dmfil button{flex:0 0 auto;min-height:40px;border-radius:999px;padding:6px 14px;background:var(--card);color:var(--tx);border:1px solid var(--br);box-shadow:none;font-size:14px;font-weight:600}
.dmfil button.on{background:var(--gc,var(--pr));border-color:transparent;color:#fff}
.dmgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;margin:0 0 16px}
.dmcard{display:flex;flex-direction:column;align-items:stretch;gap:8px;padding:10px;background:var(--card);border:1px solid var(--br);border-radius:16px;color:var(--tx);box-shadow:var(--sh);text-align:left;min-width:0;border-top:4px solid var(--gc)}
.dmcard:active{transform:scale(.98)}
.dmct{display:flex;flex-direction:column;gap:2px;min-width:0}
.dmct b{font-size:14px;line-height:1.3}.dmct i{font-style:normal;font-size:12px;color:var(--gc);font-weight:700}
.dmlist{display:flex;flex-direction:column;gap:12px}
.dmrow{display:flex;align-items:center;gap:12px;text-align:left;padding:14px;background:var(--card);color:var(--tx);border:1px solid var(--br);border-radius:16px;box-shadow:var(--sh);min-height:64px;width:100%}
.dmrow>span:nth-child(2){flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:2px}
.dmrow i{font-style:normal;font-size:13px;color:var(--mu);line-height:1.35}
.dmn{flex:0 0 36px;height:36px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#0f766e,#6d28d9);color:#fff;font-weight:800}
.dmchg{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}
.dmchc{display:flex;flex-direction:column;gap:8px;padding:12px;background:var(--card);border:1px solid var(--br);border-radius:16px;color:var(--tx);text-align:left;box-shadow:var(--sh)}
.dmchc i{font-style:normal;font-size:13px;color:var(--mu)}
.dmpat{display:grid;gap:16px;background:var(--card);border:1px solid var(--br);border-radius:20px;padding:16px;box-shadow:var(--sh);margin:8px 0 16px;border-top:5px solid var(--gc)}
@media(min-width:760px){.dmpat{grid-template-columns:280px 1fr;padding:24px}}
.dmpfig p{text-align:center;margin:6px 0 0}
.dmgp{display:inline-block;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--gc)}
.dmpat h1{margin:4px 0 8px}.dmpat section{margin:0 0 12px}.dmpat h3{display:flex;gap:6px;align-items:center;font-size:15px;margin:0 0 4px}.dmpat section p{margin:0;line-height:1.5}
.dmpit{background:var(--wabg);border-radius:12px;padding:10px 12px}
.dmchips{display:flex;flex-wrap:wrap;gap:8px}
.dmchip{display:inline-flex;align-items:center;min-height:36px;padding:6px 12px;border-radius:999px;background:var(--soft);color:var(--tx);border:1px solid var(--br);box-shadow:none;font-size:13px;font-weight:600;text-align:left}
.dmsteps{list-style:none;counter-reset:s;padding:0;margin:0 0 16px;display:flex;flex-direction:column;gap:12px}
.dmsteps li{counter-increment:s;position:relative;padding:14px 14px 14px 56px;background:var(--card);border:1px solid var(--br);border-radius:16px;box-shadow:var(--sh)}
.dmsteps li::before{content:counter(s);position:absolute;left:14px;top:14px;width:30px;height:30px;border-radius:10px;background:linear-gradient(135deg,#0f766e,#6d28d9);color:#fff;font-weight:800;display:flex;align-items:center;justify-content:center}
.dmsteps p{margin:4px 0 0;line-height:1.5}
.dmtool h3{display:flex;gap:6px;align-items:center;margin:0 0 4px}
.dml{font-weight:700;margin:12px 0 6px;font-size:14px}
.dmck{display:flex;align-items:center;gap:12px;min-height:48px;padding:8px 12px;margin:0 0 8px;border:1px solid var(--br);border-radius:12px;cursor:pointer}
.dmck input{width:22px;height:22px;flex:0 0 22px;accent-color:#0f766e}
.dmck i{font-style:normal;color:var(--mu);font-size:13px}
.dmseg{margin:10px 0}.dmseg>span{display:block;font-weight:700;font-size:14px;margin:0 0 6px}
.dmsegb{display:flex;flex-wrap:wrap;gap:6px}
.dmsegb button{min-width:44px;min-height:44px;padding:0 8px;border-radius:12px;background:var(--soft);color:var(--tx);border:1px solid var(--br);box-shadow:none;font-weight:700}
.dmsegb button.on{background:#0f766e;color:#fff;border-color:transparent}
.dmres{margin:14px 0 0;padding:12px 14px;border-radius:12px;line-height:1.45;border-left:5px solid}
.dmres.lo{background:var(--okbg);border-color:var(--ok)}.dmres.md{background:var(--wabg);border-color:var(--wa)}.dmres.hi{background:var(--badbg);border-color:var(--bad)}
.dmpath{font-size:13px;color:var(--mu);margin:0 0 4px;padding-left:10px;border-left:2px solid var(--br)}
.dmud{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:8px 0}
.dmud button{padding:4px;border-radius:14px;background:var(--soft);border:2px solid transparent;box-shadow:none;min-height:44px}
.dmud button.ok{border-color:var(--ok)}.dmud button.bad{border-color:var(--bad)}
.dmles{display:grid;grid-template-columns:96px 1fr;gap:12px;align-items:start}
.dmles h3{margin:0 0 4px}.dmles p{margin:0 0 8px;line-height:1.45}
@media(max-width:360px){.dmles{grid-template-columns:72px 1fr}.dmud{grid-template-columns:repeat(4,1fr);gap:6px}}
.dmops{display:flex;flex-direction:column}
@media print{.dmtabs,.dmfil{display:none}}
.dmhon summary{cursor:pointer;list-style:none}.dmhon summary::-webkit-details-marker{display:none}.dmhon u{color:var(--pr);text-decoration:none;font-weight:700}.dmhon p{margin:8px 0 0}
/* v6.9 image feedback panel */
.ifb{margin:12px 0;display:flex;flex-direction:column;gap:12px}
.ifbai{margin:0;padding:6px 10px;border-radius:10px;background:var(--wabg);color:var(--tx);border-left:3px solid var(--wa)}
.ifbs{background:var(--soft);border-radius:14px;padding:10px 14px;border:1px solid var(--br)}
.ifbs p{margin:4px 0 0;line-height:1.45}.ifbs ul{margin:6px 0 0;padding-left:18px;line-height:1.45}.ifbs li{margin:3px 0}
.ifbh{font-weight:700;font-size:.85rem;display:flex;align-items:center;gap:6px;color:var(--pr)}
.ifbs:first-of-type .ifbh{color:var(--ok)}
.ifbp{background:var(--okbg)}
.ifbl{display:flex;flex-wrap:wrap;gap:12px}.ifbl button{flex:1 1 140px}
.ifbnav{position:sticky;bottom:calc(-18px - max(var(--badge),env(safe-area-inset-bottom)));background:var(--card);padding:10px 0 calc(4px + max(var(--badge),env(safe-area-inset-bottom)));margin-top:8px;box-shadow:0 -8px 12px -8px rgba(0,0,0,.18)}
.ifbnav button{width:100%}
.imcap{display:block;margin-top:6px;font-size:.8rem;font-weight:600;line-height:1.25;text-align:center}
.pk.ok .imcap,.opt.ok .imcap{color:var(--ok)}.pk.bad .imcap,.opt.bad .imcap{color:var(--bad)}
.ifbg{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}@media(min-width:700px){.ifbg{grid-template-columns:repeat(4,1fr)}}
.ifbgi{border:2px solid var(--br);border-radius:12px;overflow:hidden;background:var(--card);display:flex;flex-direction:column}
.ifbgi img{width:100%;aspect-ratio:1;object-fit:cover;display:block}.ifbgi span{padding:6px 8px;font-size:.8rem;font-weight:600;line-height:1.25}
.ifbgi.ok{border-color:var(--ok)}.ifbgi.ok span{color:var(--ok);background:var(--okbg)}.ifbgi.bad{border-color:var(--bad)}.ifbgi.bad span{color:var(--bad);background:var(--badbg)}
.expl.ifbsrc{margin:0}
@media(max-width:360px){.imcap,.ifbgi span{font-size:.74rem;hyphens:manual;word-break:normal}}
.ifb,.ifb *{min-width:0;max-width:100%;overflow-wrap:break-word}.ifbl button{white-space:normal}#sheet .sh .res{overflow-wrap:break-word}
/* v7.0 clinical reasoning */
.crhero{background:radial-gradient(circle at 85% 15%,rgba(255,255,255,.22),transparent 45%),linear-gradient(135deg,#be123c,#4338ca)}
.crwarn{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border-radius:16px;background:var(--wabg);border:1px solid color-mix(in srgb,var(--wa) 45%,transparent);margin:0 0 16px;line-height:1.45;font-size:14px}
.crwarn>.ico{flex:none;color:var(--wa);margin-top:2px}
.crchips{display:flex;flex-wrap:wrap;gap:8px}
.crc,.crpc{min-height:40px;padding:8px 14px;border-radius:999px;background:var(--card);color:var(--tx);border:1.5px solid var(--br);box-shadow:none;font-weight:650;font-size:14px;line-height:1.25;text-align:left;white-space:normal;overflow-wrap:normal;word-break:normal;max-width:100%}
.crc.on{background:var(--pr);border-color:var(--pr);color:#fff}
.crc.sm{min-height:36px;padding:6px 12px;font-size:13px}
.crpc{background:var(--soft);border-color:transparent}
.crpre h3,.crg h3{display:flex;align-items:center;gap:8px;margin:0 0 12px;font-size:16px}
.crg{background:var(--card);border:1px solid var(--br);border-radius:18px;padding:14px;box-shadow:var(--sh)}
.crg h3 span{flex:1 1 auto;min-width:0}.crg h3 em{font-style:normal;font-size:12px;font-weight:700;color:var(--pr);flex:none}
.crgrid{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;margin:0 0 16px}
@media(min-width:720px){.crgrid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.crg[data-g="m"],.crg[data-g="k"]{grid-column:1/-1}}
.crfab{position:sticky;z-index:4;bottom:calc(var(--navh) + max(var(--badge),calc(env(safe-area-inset-bottom) + 10px)) + 10px);margin:0 0 12px}
@media(min-width:1024px){.crfab{bottom:16px}}
.crfb{display:flex;align-items:center;gap:12px;width:100%;min-height:56px;padding:10px 16px;border-radius:16px;text-align:left;box-shadow:0 8px 24px rgba(0,0,0,.22)}
.crfb>span{flex:1 1 auto;min-width:0;display:flex;flex-direction:column}.crfb i{font-style:normal;font-size:13px;opacity:.9;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.crres{scroll-margin-top:calc(env(safe-area-inset-top,0px) + 12px)}
.crrhd{display:flex;align-items:center;gap:12px;justify-content:space-between}.crrhd h2{margin:8px 0}
.crsel{margin:0 0 12px}
.crempty{display:flex;gap:12px;align-items:center;padding:18px;border-radius:18px;border:2px dashed var(--br);color:var(--mu)}.crempty>.ico{flex:none;width:32px;height:32px}.crempty p{margin:0}
.crdm{border-radius:18px;padding:14px 16px;background:var(--badbg);border:1px solid color-mix(in srgb,var(--bad) 40%,transparent);margin:0 0 12px}
.crdm h3{display:flex;gap:8px;align-items:center;margin:0 0 8px;color:var(--bad)}.crdm p{margin:6px 0;font-size:14px;line-height:1.45}
.crdmi+.crdmi{border-top:1px solid color-mix(in srgb,var(--bad) 25%,transparent);margin-top:10px;padding-top:10px}
.crdmn{display:flex;align-items:center;gap:8px;width:100%;justify-content:space-between;background:none;color:var(--tx);box-shadow:none;border:0;padding:4px 0;min-height:44px;text-align:left;font-size:16px}
.crlist{display:flex;flex-direction:column;gap:12px;margin:0 0 12px}
.crr{background:var(--card);border:1px solid var(--br);border-radius:18px;padding:14px;box-shadow:var(--sh)}
.crr.cm{border-left:5px solid var(--bad)}
.crrh{display:flex;align-items:center;gap:12px}
.crrk{flex:none;width:32px;height:32px;border-radius:10px;display:grid;place-items:center;background:var(--soft);font-weight:800}
.crrn{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:2px}.crrn b{line-height:1.3}.crrn i{font-style:normal;font-size:13px;color:var(--mu)}
.crcmb{font-style:normal;color:var(--bad);font-weight:800}
.crfit{flex:none;display:flex;flex-direction:column;align-items:flex-end;line-height:1.1}.crfit b{font-size:18px;color:var(--pr)}.crfit i{font-style:normal;font-size:11px;color:var(--mu)}
.crbar{height:8px;border-radius:99px;background:var(--soft);margin:10px 0;overflow:hidden}.crbar span{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,var(--pr),#7c3aed)}
.crwhy{display:flex;flex-wrap:wrap;gap:6px}
.crok,.crno{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:999px;font-size:12.5px;font-weight:700;line-height:1.3}
.crok{background:var(--okbg);color:var(--ok)}.crno{background:var(--badbg);color:var(--bad)}
.crok .ico,.crno .ico{width:14px;height:14px;flex:none}
.crr details{margin-top:10px}.crr summary{cursor:pointer;font-weight:700;color:var(--pr);min-height:44px;display:flex;align-items:center;font-size:14px}
.crr details p,.crev{font-size:14px;line-height:1.5;margin:8px 0}.crev{padding-left:18px}
.crcst .crcs{display:flex;gap:16px;align-items:center}.crcst h3{margin:0 0 4px}
.crflow{list-style:none;display:flex;flex-wrap:wrap;gap:8px;padding:0;margin:14px 0 0}
.crflow li{display:flex;align-items:center;gap:6px;padding:6px 12px 6px 6px;border-radius:999px;background:var(--soft);font-size:13px;font-weight:700}
.crflow span{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:var(--pr);color:#fff;font-size:12px}
.crvig{border-radius:20px;padding:16px 18px;margin:8px 0 12px;background:linear-gradient(135deg,color-mix(in srgb,#4338ca 10%,var(--card)),color-mix(in srgb,#be123c 8%,var(--card)));border:1px solid var(--br)}
.crvig p{margin:8px 0 0;font-size:16px;line-height:1.55}
.crvt{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--mu)}
.crstp{list-style:none;display:flex;gap:6px;padding:0;margin:0 0 12px}
.crstp li{flex:1 1 0;min-width:0;display:flex;flex-direction:column;align-items:center;gap:4px;font-size:11.5px;color:var(--mu);text-align:center}
.crstp li i{font-style:normal;line-height:1.2;overflow-wrap:normal;word-break:normal;hyphens:none}
.crstp li span{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--soft);font-weight:800;color:var(--mu)}
.crstp li.on span{background:var(--pr);color:#fff}.crstp li.on{color:var(--tx);font-weight:700}
.crstp li.ok span{background:var(--ok);color:#fff}.crstp li.bad span{background:var(--bad);color:#fff}
.crstp .ico{width:16px;height:16px}
@media(max-width:380px){.crstp li i{font-size:10.5px}}
.crq .q{font-size:17px;font-weight:700;line-height:1.4}
.crops{margin-top:12px}
.crnav{gap:12px;margin-top:4px}
.crfbk h3{display:flex;align-items:center;gap:8px;margin:0 0 8px}.crfbk.ok h3{color:var(--ok)}.crfbk.bad h3{color:var(--bad)}
.crfbk p{line-height:1.55}.crfbk h4{margin:12px 0 8px}.crfbk>button{margin-top:12px}
.crrk6{margin:0;padding-left:22px;display:flex;flex-direction:column;gap:6px}.crrk6 li span{display:inline}.crrk6 li b{margin-left:8px;color:var(--pr)}
.crend{display:flex;gap:18px;align-items:center;flex-wrap:wrap}.crend>div{flex:1 1 220px;min-width:0}.crend h2{margin:4px 0 10px}
.crsum{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}
.crsum li{display:flex;gap:8px;align-items:flex-start;font-size:14px;line-height:1.4}.crsum li .ico{flex:none;margin-top:2px}.crsum li.ok .ico{color:var(--ok)}.crsum li.bad .ico{color:var(--bad)}
.crbtns{display:flex;flex-wrap:wrap;gap:12px;margin:12px 0}.crbtns>button{flex:1 1 200px}
.crrfi h3{display:flex;align-items:center;gap:8px;margin:0 0 8px}.crrfi p{line-height:1.5}
.crrfr .dmn{background:color-mix(in srgb,var(--gc) 16%,transparent);color:var(--gc)}
.crrfh{background:radial-gradient(circle at 85% 15%,rgba(255,255,255,.2),transparent 45%),linear-gradient(135deg,var(--gc),#1e1b4b)}
.crsec h3{display:flex;align-items:center;gap:8px;margin:0 0 10px}.crsec h4{margin:14px 0 8px}
.crfl{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}
.crfl li{position:relative;padding:10px 12px 10px 34px;border-radius:12px;background:var(--badbg);line-height:1.45}
.crfl li::before{content:"!";position:absolute;left:10px;top:10px;width:16px;height:16px;border-radius:50%;background:var(--bad);color:#fff;font-size:11px;font-weight:900;display:grid;place-items:center}
.crac{margin:0;padding-left:22px;display:flex;flex-direction:column;gap:8px;line-height:1.5}
.cract{border-left:5px solid var(--wa)}
.dmchip.cm{border-color:var(--bad);color:var(--bad)}
.crms li p{line-height:1.55}
.crr details:not([open])>:not(summary){display:none}
.crlead{display:flex;flex-direction:column;gap:2px;margin:0 0 10px;padding:10px 12px;border-radius:12px;background:var(--soft)}
.crlead span{font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--mu)}
.crlead b{font-size:16px;line-height:1.35}
.crxm{margin:0 0 12px}
.crxl{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.crxl li{display:flex;flex-direction:column;gap:4px;padding:0 0 0 12px;border-left:3px solid var(--br);line-height:1.5}
.crxl li b{font-size:14px}
.crxl li .crchips{margin-top:6px}
.crsrc{margin:12px 0 0;font-size:12.5px;color:var(--mu);line-height:1.45}
.crxl li>span{font-size:15px}
/* v7.1 vignettes + timed mocks */
.vbhero{background:radial-gradient(circle at 85% 15%,rgba(255,255,255,.22),transparent 45%),linear-gradient(135deg,#be123c,#0f766e)}
.vbhero .chip{background:rgba(255,255,255,.18);color:#fff;border:0}
.vbopts{display:flex;flex-direction:column;gap:12px;margin:12px 0 4px}
.vbopts .pk.wide{margin:0!important}
.vbl{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;min-width:32px;height:32px;padding:0 6px;border-radius:10px;background:var(--bg2,rgba(127,127,127,.14));font-weight:700;font-size:14px}
.vbl.ok,.pk.ok .vbl{background:var(--ok);color:#fff}.vbl.bad,.pk.bad .vbl{background:var(--bad);color:#fff}
.pk.sel{border-color:#be123c!important;box-shadow:0 0 0 2px #be123c inset}.pk.sel .vbl{background:#be123c;color:#fff}
.pk.wide>span:last-child small{display:block;opacity:.75;font-size:13px;font-weight:400}
.vbstem{border-left:4px solid #be123c;background:var(--bg2,rgba(127,127,127,.08));border-radius:12px;padding:12px 14px;margin:0 0 12px}
.vbstem p{margin:0;line-height:1.55}.vbpart{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#be123c;margin-bottom:6px}
.vbfig{margin:0 0 10px}.vbfig img{max-height:260px;object-fit:cover;width:100%}
.vbq{font-weight:700;font-size:17px;line-height:1.4;margin:4px 0 0}
.vbx{list-style:none;padding:0;margin:12px 0 0;display:flex;flex-direction:column;gap:10px}
.vbx li{border-radius:12px;padding:10px 12px;background:var(--bg2,rgba(127,127,127,.08));border-left:4px solid transparent}
.vbx li.ok{border-left-color:var(--ok)}.vbx li.bad{border-left-color:var(--bad)}.vbx li b{display:block;margin-bottom:4px}.vbx li span{font-size:14px;line-height:1.5}
.vbtag{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:600;padding:2px 8px;border-radius:999px;background:rgba(127,127,127,.15);margin-left:6px}
.vbtag.ok{background:var(--ok);color:#fff}.vbtag.bad{background:var(--bad);color:#fff}
.vbfb{margin-top:14px;padding:12px;border-radius:14px;background:rgba(127,127,127,.06)}.vbfb.ok>b{color:var(--ok)}.vbfb.bad>b{color:var(--bad)}
.vbbtns{display:flex;flex-direction:column;gap:12px;margin:14px 0}.vbbtns .pk.wide{margin:0!important}
.vbsz,.vbhist{display:flex;flex-direction:column;gap:12px;margin-top:12px}.vbsz .pk,.vbhist .pk{margin:0!important}
.vbszb.lock{opacity:.6}.vbbp{margin-top:14px}.vbbp summary{cursor:pointer;font-weight:600;min-height:44px;display:flex;align-items:center}
.vbbars{display:flex;flex-direction:column;gap:10px;margin-top:8px}
.vbbar{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) 44px;gap:10px;align-items:center;font-size:14px}
.vbbar small{display:block;opacity:.7;font-size:12px}.vbbar i{height:10px;border-radius:6px;background:rgba(127,127,127,.18);overflow:hidden;display:block}.vbbar em{display:block;height:100%;border-radius:6px}.vbbar b{text-align:right}
.vbrow{display:flex;gap:12px;align-items:center}.vbic{display:inline-flex;width:44px;height:44px;border-radius:14px;align-items:center;justify-content:center;background:#be123c;color:#fff;flex:0 0 auto}.vbic .ico{stroke:#fff}
.vbrep{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin-top:10px}.vbrep h1{margin:0 0 4px}
.vbplan{display:flex;gap:12px;align-items:flex-start;padding:12px 0;border-top:1px solid rgba(127,127,127,.18)}.vbplan>div{flex:1;min-width:0}.vbplan p{margin:4px 0 8px}
.bxbar{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:8px;padding:calc(8px + env(safe-area-inset-top,0px)) 4px 8px;background:var(--bg,#fff);margin:0 -4px}
.bxq{font-weight:800;font-size:18px;flex:1;min-width:0}.bxq small{font-weight:500;opacity:.7;font-size:14px}
.bxtm{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;background:rgba(127,127,127,.14);font-variant-numeric:tabular-nums}.bxtm.low{background:var(--bad);color:#fff}.bxtm.low .ico{stroke:#fff}
.bxib{width:44px;height:44px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;padding:0;flex:0 0 auto}
.bxprog{height:6px;border-radius:4px;background:rgba(127,127,127,.18);overflow:hidden;margin:0 0 12px}.bxprog i{display:block;height:100%;background:linear-gradient(90deg,#be123c,#0f766e)}
.bxfoot{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:12px 0 calc(16px + env(safe-area-inset-bottom,0px))}.bxfoot .pk.wide{margin:0!important;justify-content:center}
.bxfl.on{background:#c2700a!important;color:#fff;border-color:#c2700a}
.bxflt{display:flex;gap:8px;flex-wrap:wrap;margin:4px 0 12px}.bxflt .chip{min-height:40px}.bxflt .chip.on{background:#be123c;color:#fff;border-color:#be123c}
.bxgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(44px,1fr));gap:8px;max-height:52vh;overflow:auto;padding:2px}
.bxc{height:44px;min-width:0;border-radius:10px;padding:0;font-variant-numeric:tabular-nums;font-weight:600;position:relative}
.bxc.an{background:#0f766e;color:#fff;border-color:#0f766e}.bxc.fl::after{content:"";position:absolute;top:4px;right:4px;width:8px;height:8px;border-radius:50%;background:#f59e0b}.bxc.cur{box-shadow:0 0 0 3px #be123c}
.bxleg{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:10px}.bxleg .bxc{display:inline-block;width:16px;height:16px;border-radius:4px;border:1px solid rgba(127,127,127,.4)}
.bxrh{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-bottom:10px}
.vbx1{margin-top:12px;padding:10px 12px;border-radius:12px;background:rgba(127,127,127,.08)}.vbx1 p{margin:4px 0 0;font-size:14px;line-height:1.5}
.vbsteps{display:flex;gap:6px;margin:0 0 12px}.vbsteps i{flex:1;height:6px;border-radius:4px;background:rgba(127,127,127,.2)}.vbsteps i.cur{background:#be123c}.vbsteps i.ok{background:var(--ok)}.vbsteps i.bad{background:var(--bad)}
.vbcram{display:flex!important;align-items:center;gap:10px;text-align:left;margin:0 0 12px!important}.vbcram small{display:block;font-weight:400;opacity:.8}
.vbnote{margin:16px 0 calc(16px + env(safe-area-inset-bottom,0px))}
@media(max-width:360px){.bxfoot{grid-template-columns:1fr 1fr}.bxfoot .primary{grid-column:1/-1}.vbbar{grid-template-columns:minmax(0,1fr) 72px 40px}}
.pk.wide.vbo,.pk.wide.vbszb,.pk.wide.vbh{background:var(--card);color:var(--tx);border:1.5px solid var(--br);box-shadow:none;font-weight:600;gap:12px}
.pk.wide.vbo.sel{background:var(--soft);border-color:#be123c!important}
.pk.wide.vbo.ok{background:var(--okbg);border-color:var(--ok)!important;color:var(--tx)}
.pk.wide.vbo.bad{background:var(--badbg);border-color:var(--bad)!important;color:var(--tx)}
.pk.wide.vbo:disabled{opacity:1}
.vbl{background:var(--soft);color:var(--tx)}
.vbszb .vbl{background:#be123c;color:#fff;min-width:44px}
.bxflt .chip{background:var(--soft);color:var(--tx);border:1.5px solid var(--br);backdrop-filter:none;cursor:pointer}
.bxflt .chip.on{background:#be123c;color:#fff;border-color:#be123c}
.bxib{background:var(--soft);color:var(--tx);border:1.5px solid var(--br)}
.bxfoot .pk.wide:not(.primary){background:var(--card);color:var(--tx);border:1.5px solid var(--br)}
.bxc{background:var(--card);color:var(--tx);border:1.5px solid var(--br)}
/* v7.1 drills tab cards */
:is(#dz,.hub){display:flex;flex-direction:column;gap:20px;margin:12px 0 calc(28px + env(safe-area-inset-bottom,0px))}
.dzh{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--ac);margin:0 0 10px}
.dzh i{width:18px;height:4px;border-radius:2px;background:var(--ac)}
.dzg{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
@media(min-width:760px){.dzg{grid-template-columns:repeat(3,minmax(0,1fr))}}
:is(#dz,.hub) .dzc{all:unset;box-sizing:border-box;cursor:pointer;display:flex;flex-direction:column;align-items:flex-start;gap:10px;min-height:118px;padding:14px;border-radius:18px;background:linear-gradient(160deg,color-mix(in srgb,var(--ac) 12%,var(--card)),var(--card) 70%);border:1px solid color-mix(in srgb,var(--ac) 22%,var(--br));box-shadow:var(--sh);color:var(--tx);text-align:left;min-width:0;transition:transform .12s}
:is(#dz,.hub) .dzc:active{transform:scale(.98)}:is(#dz,.hub) .dzc:focus-visible{outline:3px solid var(--ac);outline-offset:2px}
:is(#dz,.hub) .dzc .di{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;color:#fff;background:var(--ac);flex:0 0 auto;box-shadow:0 4px 10px color-mix(in srgb,var(--ac) 35%,transparent)}
:is(#dz,.hub) .dzc .di .ico{stroke:#fff}
:is(#dz,.hub) .dzt{display:flex;flex-direction:column;gap:4px;min-width:0}
:is(#dz,.hub) .dzt b{font-size:15px;font-weight:750;line-height:1.25;overflow-wrap:normal;word-break:normal;hyphens:manual}
:is(#dz,.hub) .dzt small{font-size:13px;line-height:1.35;color:var(--mu);font-weight:500;overflow-wrap:normal;word-break:normal}
:is(#dz,.hub) .dzc.dzhero{grid-column:1/-1;flex-direction:row;align-items:center;gap:14px;min-height:96px;padding:18px;background:radial-gradient(circle at 90% 10%,rgba(255,255,255,.25),transparent 50%),linear-gradient(135deg,var(--ac),color-mix(in srgb,var(--ac) 55%,#1e1b4b));border:0;color:#fff}
:is(#dz,.hub) .dzhero .di{background:rgba(255,255,255,.2);box-shadow:none;width:48px;height:48px}
:is(#dz,.hub) .dzhero .dzt b{font-size:18px;color:#fff}:is(#dz,.hub) .dzhero .dzt small{color:rgba(255,255,255,.9);font-size:14px}
:is(#dz,.hub) .atcta,#dz .dzwide{grid-column:1/-1;margin:0!important}
.imcap{word-break:normal;overflow-wrap:normal;hyphens:manual;min-width:0}@media(min-width:700px){.imcap{font-size:.76rem}}
.optimg .imgfb{display:block;min-width:0;max-width:100%;white-space:normal;word-break:normal;overflow-wrap:break-word;font-size:.74rem;line-height:1.3;padding:8px}.hasoptimg,.optimg{min-width:0}
/* v7.2 dashboard */
.dscard{background:linear-gradient(160deg,var(--card),color-mix(in srgb,var(--card) 92%,#0f766e));border:1px solid var(--br);border-radius:18px;padding:16px;box-shadow:var(--sh);margin:0 0 12px;min-width:0}
.dscard h2,.dscard h3,.dscard h4{margin:0 0 10px}.dshd{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.dshd .kick{color:#0f766e;font-weight:700;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em}
.dsg{display:grid;grid-template-columns:1fr;gap:12px;min-width:0}.dsk{grid-template-columns:1fr 1fr;margin-bottom:12px}.dsk .dscard{margin:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:6px}
@media(min-width:760px){.dsk{grid-template-columns:repeat(4,1fr)}.dsplan .dsg{grid-template-columns:1fr 1fr}}
.dsst b{font-size:1.9rem;line-height:1}.dsst small,.dsring small{color:var(--mu);font-size:.8rem}
.dsc{all:unset;box-sizing:border-box;display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:14px;cursor:pointer;background:var(--card);border:1px solid var(--br);min-width:0;word-break:normal;overflow-wrap:normal;hyphens:manual;text-align:left}
.dsc:focus-visible{outline:3px solid #0f766e;outline-offset:2px}.dsc .di{flex:0 0 40px;width:40px;height:40px;border-radius:12px;display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,#0f766e,#14b8a6)}
.dsc .dzt{display:flex;flex-direction:column;min-width:0}.dsc b{font-weight:700;line-height:1.25}.dsc small{color:var(--mu);font-size:.8rem}
.dsc.dzhero{margin-top:12px;width:100%;background:linear-gradient(135deg,#5b21b6,#7a3fd6);color:#fff;border:0}.dsc.dzhero small{color:rgba(255,255,255,.85)}.dsc.dzhero .di{background:rgba(255,255,255,.18)}
.dsch{display:grid;grid-template-columns:repeat(14,1fr);gap:4px;align-items:end;height:70px;margin:4px 0 8px}.dsch span{display:flex;align-items:flex-end;height:100%}.dsch i{display:block;width:100%;border-radius:4px 4px 2px 2px}
.dsar{display:grid;grid-template-columns:1fr;gap:10px}@media(min-width:600px){.dsar{grid-template-columns:1fr 1fr}}.dsa{display:grid;grid-template-columns:1fr auto;gap:4px 8px;font-size:.88rem;min-width:0}.dsa .bar{grid-column:1/-1}
.dsf{display:grid;grid-template-columns:1fr 1fr;gap:12px}.dsf label{display:flex;flex-direction:column;gap:4px;font-size:.82rem;color:var(--mu);min-width:0}.dsf input{font:inherit;color:var(--tx);background:var(--bg);border:1px solid var(--br);border-radius:10px;padding:8px;min-width:0;width:100%;box-sizing:border-box}
.dsrow{display:flex;flex-wrap:wrap;gap:12px;margin-top:12px}.dsrow button{flex:1 1 140px}
.dsup{margin:0;padding-left:18px;display:grid;gap:6px;font-size:.88rem}
.dsbg{display:flex;flex-wrap:wrap;gap:8px}.dsb{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;font-size:.8rem;border:1px dashed var(--br);color:var(--mu)}.dsb.on{border:1px solid transparent;background:linear-gradient(135deg,#c2700a,#f5b942);color:#fff;font-weight:700}
@media print{body.dsprint #nav,body.dsprint #side,body.dsprint .dsrow,body.dsprint input,body.dsprint .dsf,body.dsprint #toast{display:none!important}body.dsprint .dscard{box-shadow:none;break-inside:avoid}}
.dshd .ghost{white-space:nowrap;flex:none;font-size:.85rem}.dshd h2{font-size:1.25rem}
.optimg:has(.imgfb){height:auto!important;max-height:none!important;aspect-ratio:auto!important;overflow:visible!important}.hasoptimg:has(.imgfb){height:auto!important;max-height:none!important}
.hasoptimg,.hasoptimg *{min-width:0;overflow-wrap:anywhere}*:has(>.hasoptimg){grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important}.hasoptimg .imgfb{max-width:100%;white-space:normal}
/* v7.3 reasoning */
.brz{padding-bottom:calc(24px + env(safe-area-inset-bottom,0px))}.brk{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#7a3fd6;margin:12px 0 4px}
.brq{font-size:18px;line-height:1.3;margin:8px 0 12px;overflow-wrap:normal;word-break:normal}.brp{font-size:16px;line-height:1.55;margin:0 0 12px}
.brc{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 12px}.brch{padding:7px 12px;border-radius:999px;background:color-mix(in srgb,#7a3fd6 14%,var(--card));border:1px solid color-mix(in srgb,#7a3fd6 35%,transparent);font-size:14px;font-weight:650;transition:all .35s;max-width:100%;overflow-wrap:normal}
.brch.out{opacity:.4;transform:scale(.86);text-decoration:line-through;background:transparent}.brch.win{background:#7a3fd6;color:#fff;border-color:#7a3fd6}
.brclue{display:flex;gap:8px;align-items:flex-start;padding:14px;border-radius:16px;background:color-mix(in srgb,#0f766e 12%,var(--card));border:1px solid color-mix(in srgb,#0f766e 30%,transparent);font-weight:600;line-height:1.45;margin:0 0 12px}
.brog{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;margin:0 0 12px}@media(min-width:600px){.brog{grid-template-columns:repeat(2,minmax(0,1fr))}}
.bro{all:unset;box-sizing:border-box;cursor:pointer;min-height:52px;padding:12px 14px;border-radius:14px;background:var(--card);border:2px solid var(--br);font-weight:600;line-height:1.35;overflow-wrap:normal;word-break:normal;min-width:0}
.bro:focus-visible{outline:3px solid #7a3fd6}.bro[aria-pressed=true]{border-color:#7a3fd6;background:color-mix(in srgb,#7a3fd6 12%,var(--card))}.bro.ok{border-color:var(--ok);background:var(--okbg)}.bro.bad{border-color:var(--bad);background:var(--badbg)}.bro.dim{opacity:.55}
.brx{padding:14px;border-radius:16px;line-height:1.5;margin:0 0 12px;border:1px solid var(--br)}.brx.ok{background:var(--okbg);border-color:var(--ok)}.brx.bad{background:var(--badbg);border-color:var(--bad)}
.brn{all:unset;box-sizing:border-box;cursor:pointer;display:inline-flex;align-items:center;gap:6px;padding:13px 20px;border-radius:999px;background:linear-gradient(135deg,#7a3fd6,#4f46e5);color:#fff;font-weight:750;margin:0 0 12px}.brn .ico{stroke:#fff}
.brim{margin:0 0 12px}.brim .imgfig{max-width:360px}#brhub{margin-top:12px}#brhub .dzh{text-transform:none;letter-spacing:0}
.brz .brch,.brz .bro,.brz .brq,.brz .brclue,.brz .brx{overflow-wrap:break-word;word-break:normal;hyphens:manual}
