/* /tests/take — acult's own look (tokens from nova-site.css), light and dark */
:root{--tk-r:18px;--tk-sh:var(--sh-card,0 18px 40px -24px rgba(0,0,0,.6));--tk-fd:var(--font-display,"Unbounded",sans-serif);--tk-fb:var(--font-body,"Manrope","Noto Sans Devanagari",sans-serif);--tk-ok:var(--ok,#1E9A6B);--tk-glow:0 12px 28px -10px rgba(239,61,87,.6)}
html.nova[data-theme="light"]{--tk-sh:0 1px 0 rgba(255,255,255,.7) inset,0 18px 40px -26px rgba(22,24,58,.30),0 3px 10px -6px rgba(22,24,58,.12);--tk-glow:0 12px 26px -12px rgba(215,46,71,.5)}
html:not(.nova){--bg:#F3F2FA;--surface:#fff;--surface-2:#F7F6FC;--surface-3:#ECEAF6;--ink:#16183A;--ink-body:#393C62;--muted:#686C95;--line:rgba(22,24,58,.10);--line-strong:rgba(22,24,58,.20);--brand:#D72E47;--brand-deep:#B81F3C;--brand-soft:rgba(215,46,71,.10);--gold:#9A6300;--gold-soft:rgba(244,184,96,.18);--ok:#1E9A6B;--ok-soft:rgba(30,154,107,.10)}
*{box-sizing:border-box}
body{margin:0;background-color:var(--bg);color:var(--ink-body);font:16px/1.6 var(--tk-fb);-webkit-text-size-adjust:100%;overflow-x:hidden}
button,input,textarea{font:inherit;color:inherit}
[hidden]{display:none!important}
.tk2-wrap{max-width:820px;margin:0 auto;padding:0 16px}
/* header */
.tk2-h{position:sticky;top:0;z-index:50;background:var(--bar-bg,rgba(10,14,40,.84));backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
html[data-theme="light"] .tk2-h{background:rgba(243,242,250,.88)}
.tk2-h .tk2-wrap{max-width:1100px}
.tk2-nav{display:flex;align-items:center;gap:10px;height:62px}
.tk2-logo img{height:28px;display:block}
.tk2-back{display:inline-flex;align-items:center;gap:4px;margin-left:8px;color:var(--ink-body);text-decoration:none;font-weight:700;font-size:14px;padding:6px 10px;border-radius:999px}
.tk2-back:hover{background:var(--surface-2);color:var(--ink)}
.tk2-back svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.tk2-sp{flex:1}
.tk2-icon{appearance:none;width:38px;height:38px;border-radius:50%;border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);display:inline-flex;align-items:center;justify-content:center;cursor:pointer}
.tk2-icon svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.tk2-icon .ic-sun{display:none}html[data-theme="light"] .tk2-icon .ic-sun{display:block}html[data-theme="light"] .tk2-icon .ic-moon{display:none}
.tk2-lang{display:flex;border:1px solid var(--line-strong);background:var(--surface);border-radius:999px;padding:3px}
.tk2-lang button{border:0;background:none;padding:5px 10px;border-radius:999px;font-weight:700;font-size:12px;color:var(--muted);cursor:pointer;min-height:30px}
.tk2-lang button.on{background:var(--gold);color:#221641}html[data-theme="light"] .tk2-lang button.on{color:#fff}
@media(max-width:420px){.tk2-back span{display:none}}
main.tk2-wrap{padding-top:22px;padding-bottom:60px;min-height:70vh}
/* bits */
.tk2-loading{display:flex;justify-content:center;padding:80px 0}
.tk2-spin{width:34px;height:34px;border-radius:50%;border:3px solid var(--line-strong);border-top-color:var(--brand);animation:tkspin .8s linear infinite}
@keyframes tkspin{to{transform:rotate(360deg)}}
.tk2-msg{text-align:center;padding:70px 10px;color:var(--ink-body)}
.tk2-msg-i{font-size:40px}
.tk2-link{color:var(--brand);font-weight:700}
.tk2-btn{appearance:none;border:1px solid var(--line-strong);background:transparent;color:var(--ink);border-radius:999px;min-height:46px;padding:0 20px;font-weight:800;font-size:15px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;transition:transform .1s,background .15s,border-color .15s}
.tk2-btn:hover{border-color:var(--ink)}
.tk2-btn:active{transform:scale(.97)}
.tk2-btn[disabled]{opacity:.45;cursor:default;transform:none}
.tk2-btn.pri{background:var(--brand);border-color:var(--brand);color:#fff;box-shadow:var(--tk-glow)}
.tk2-btn.pri:hover{background:var(--brand-deep);border-color:var(--brand-deep)}
.tk2-btn.big{min-height:56px;font-size:17px;padding:0 30px;width:100%}
.tk2-btn.sm{min-height:36px;padding:0 14px;font-size:13px}
.tk2-btn.ghost{background:var(--surface)}
.tk2-note{color:var(--muted);font-size:13.5px;margin:10px 0 0;text-align:center}
.tk2-eye{display:inline-flex;align-items:center;gap:8px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--brand);font-weight:800;padding:6px 13px;border-radius:999px;border:1px solid color-mix(in srgb,var(--brand) 40%,transparent);background:var(--brand-soft)}
.tk2-dot{width:6px;height:6px;border-radius:50%;background:var(--brand)}
.tk2-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--tk-r);padding:20px 22px;margin-top:14px;box-shadow:var(--tk-sh)}
.tk2-card h2{font-family:var(--tk-fd);font-weight:600;font-size:17px;color:var(--ink);margin:0 0 10px;letter-spacing:-.01em}
/* 1. start */
.tk2-hero{text-align:center;padding:18px 0 8px}
.tk2-hero h1{font-family:var(--tk-fd);font-weight:600;color:var(--ink);font-size:clamp(26px,5vw,42px);line-height:1.1;letter-spacing:-.02em;margin:16px 0 18px}
.tk2-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;max-width:520px;margin:0 auto}
.tk2-stats div{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:14px 8px;box-shadow:var(--tk-sh)}
.tk2-stats b{display:block;font-family:var(--tk-fd);font-size:28px;font-weight:600;color:var(--ink);line-height:1.1}
.tk2-stats span{font-size:12.5px;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.08em}
.tk2-parts{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:16px}
@media(max-width:600px){.tk2-parts{grid-template-columns:1fr}}
.tk2-part{display:flex;gap:12px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:14px 16px}
.tk2-part-i{width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:19px;background:var(--brand-soft);color:var(--brand);flex:0 0 auto}
.tk2-part:nth-child(2) .tk2-part-i{background:var(--gold-soft);color:var(--gold)}
.tk2-part b{display:block;color:var(--ink);font-size:15.5px}
.tk2-part span{font-size:13px;color:var(--muted)}
.tk2-steps{margin:0;padding:0;list-style:none;counter-reset:s;display:grid;gap:10px}
.tk2-steps li{counter-increment:s;position:relative;padding-left:40px;font-size:15px}
.tk2-steps li::before{content:counter(s);position:absolute;left:0;top:0;width:28px;height:28px;border-radius:50%;background:var(--surface-2);border:1px solid var(--line-strong);color:var(--ink);font-weight:800;font-size:13px;display:flex;align-items:center;justify-content:center}
.tk2-ins{margin-top:14px;border-top:1px solid var(--line);padding-top:10px}
.tk2-ins summary{cursor:pointer;font-weight:800;color:var(--ink)}
.tk2-ins p{font-size:14.5px;margin:8px 0 0}
.tk2-go{text-align:center}
.tk2-f{display:flex;flex-direction:column;gap:6px;text-align:left;font-size:13px;font-weight:800;color:var(--ink);margin-bottom:14px}
.tk2-in{min-height:50px;border-radius:14px;border:1px solid var(--line-strong);background:var(--surface-2);color:var(--ink);padding:10px 14px;font-size:16px;font-weight:500;width:100%}
.tk2-in:focus,.tk2-ta:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px var(--gold-soft)}
.tk2-in.need{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}
/* 2. taking */
.tk2-bar{position:sticky;top:62px;z-index:30;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:10px 12px 0;box-shadow:var(--tk-sh);margin-bottom:16px}
.tk2-bar-row{display:flex;align-items:center;gap:10px}
.tk2-bar .narrow{display:none}
@media(max-width:560px){.tk2-bar-row{gap:6px}.tk2-bar .wide{display:none}.tk2-bar .narrow{display:inline}.tk2-timer{min-width:0;font-size:16px;padding:8px 9px}.tk2-count{min-width:0;font-size:12.5px}.tk2-bar-row .tk2-btn.sm{min-height:38px}#tkMapBtn{width:40px;padding:0;font-size:17px}}
.tk2-timer{font:800 18px/1 var(--tk-fd);color:var(--ink);padding:8px 12px;border-radius:12px;background:var(--surface-2);min-width:84px;text-align:center;font-variant-numeric:tabular-nums}
.tk2-timer.low{background:var(--gold-soft);color:var(--gold)}
.tk2-timer.crit{background:var(--brand-soft);color:var(--brand);animation:tkpulse 1s infinite}
@keyframes tkpulse{50%{opacity:.6}}
.tk2-count{flex:1;font-size:13.5px;color:var(--muted);min-width:110px}
.tk2-count b{color:var(--ink);font-size:16px}
.tk2-prog{height:5px;margin:10px -12px 0;background:var(--line);border-radius:0 0 16px 16px;overflow:hidden}
.tk2-prog i{display:block;height:100%;background:linear-gradient(90deg,var(--brand),var(--gold));transition:width .3s}
.tk2-map{display:grid;grid-template-columns:repeat(auto-fill,minmax(40px,1fr));gap:6px;padding:12px 0 12px}
.tk2-map button{appearance:none;height:40px;border-radius:10px;border:1px solid var(--line-strong);background:var(--surface-2);color:var(--ink);font-weight:800;font-size:13.5px;cursor:pointer;position:relative}
.tk2-map button.wr{border-style:dashed}
.tk2-map button.done{background:color-mix(in srgb,var(--tk-ok) 18%,var(--surface));border-color:color-mix(in srgb,var(--tk-ok) 55%,transparent)}
.tk2-map button.flag::after{content:"";position:absolute;top:4px;right:4px;width:7px;height:7px;border-radius:50%;background:var(--gold)}
.tk2-map button.cur{outline:2px solid var(--brand);outline-offset:1px}
.tk2-legend{grid-column:1/-1;font-size:12px;color:var(--muted);display:flex;gap:6px;align-items:center;flex-wrap:wrap;padding-top:4px}
.tk2-legend .l{display:inline-block;width:12px;height:12px;border-radius:4px;border:1px solid var(--line-strong);margin-left:8px}
.tk2-legend .l.done{background:color-mix(in srgb,var(--tk-ok) 30%,var(--surface))}.tk2-legend .l.flag{background:var(--gold)}.tk2-legend .l.wr{border-style:dashed}
.tk2-q{background:var(--surface);border:1px solid var(--line);border-radius:22px;padding:22px 22px 18px;box-shadow:var(--tk-sh)}
.tk2-qtop{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.tk2-qn{font-weight:800;font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.tk2-kind{font-size:12px;font-weight:800;padding:4px 10px;border-radius:999px}
.tk2-kind.m{background:var(--brand-soft);color:var(--brand)}.tk2-kind.w{background:var(--gold-soft);color:var(--gold)}
.tk2-head{margin-top:12px;font-size:12.5px;font-weight:800;color:var(--gold);letter-spacing:.06em;text-transform:uppercase}
.tk2-qt{font-family:var(--tk-fb);font-weight:700;color:var(--ink);font-size:clamp(18px,2.6vw,21px);line-height:1.45;margin:8px 0 16px;letter-spacing:0}
.tk2-qt p{margin:0}
.tk2-opts{display:grid;gap:10px}
.tk2-opt{appearance:none;display:flex;align-items:center;gap:14px;text-align:left;width:100%;min-height:58px;padding:12px 14px;border-radius:16px;border:1.5px solid var(--line-strong);background:var(--surface-2);color:var(--ink);font-size:16px;font-weight:600;cursor:pointer;transition:border-color .12s,background .12s,transform .08s}
.tk2-opt:hover{border-color:var(--ink)}
.tk2-opt:active{transform:scale(.99)}
.tk2-opt.on{border-color:var(--brand);background:color-mix(in srgb,var(--brand) 10%,var(--surface));box-shadow:0 0 0 3px var(--brand-soft)}
.tk2-let{flex:0 0 auto;width:32px;height:32px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;font-weight:800;font-size:14px;background:var(--surface);border:1px solid var(--line-strong);color:var(--ink)}
.tk2-opt.on .tk2-let{background:var(--brand);border-color:var(--brand);color:#fff}
.tk2-ta{width:100%;min-height:220px;border-radius:16px;border:1.5px solid var(--line-strong);background:var(--surface-2);color:var(--ink);padding:14px 16px;font-size:16px;line-height:1.6;resize:vertical}
.tk2-tam{display:flex;justify-content:space-between;gap:12px;font-size:12.5px;color:var(--muted);margin-top:6px;flex-wrap:wrap}
.tk2-qnav{display:flex;gap:10px;margin-top:20px;align-items:center}
.tk2-qnav #tkNext{margin-left:auto}
.tk2-qnav .flagb.on{border-color:var(--gold);color:var(--gold);background:var(--gold-soft)}
@media(max-width:560px){.tk2-q{padding:18px 14px 14px;border-radius:18px}.tk2-qnav{flex-wrap:wrap}.tk2-qnav .tk2-btn{flex:1;padding:0 10px;font-size:14px}.tk2-qnav #tkNext{flex-basis:100%;order:-1;margin:0}.tk2-bar{top:62px;border-radius:14px}.tk2-bar-row .tk2-btn.sm{padding:0 10px}}
.tk2-sync{font-size:12px;color:var(--muted);margin-top:12px;text-align:right}
.tk2-sync.saving::before{content:"⟳ "}.tk2-sync.saved::before{content:"✓ ";color:var(--tk-ok)}.tk2-sync.offline{color:var(--gold)}
/* 3. check */
.tk2-modal{position:fixed;inset:0;z-index:80;background:rgba(6,6,20,.6);display:flex;align-items:flex-end;justify-content:center;animation:tkfade .15s}
@keyframes tkfade{from{opacity:0}}
.tk2-sheet{width:min(560px,100%);background:var(--surface);border-radius:22px 22px 0 0;padding:22px 20px calc(20px + env(safe-area-inset-bottom));max-height:90vh;overflow:auto}
@media(min-width:700px){.tk2-modal{align-items:center}.tk2-sheet{border-radius:22px}}
.tk2-sheet h2{font-family:var(--tk-fd);font-weight:600;color:var(--ink);margin:0;font-size:22px;text-align:center}
.tk2-sum{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:16px 0}
.tk2-sum div{background:var(--surface-2);border:1px solid var(--line);border-radius:14px;padding:12px 6px;text-align:center}
.tk2-sum b{display:block;font:600 24px/1.1 var(--tk-fd);color:var(--ink)}
.tk2-sum span{font-size:12px;color:var(--muted);font-weight:700}
.tk2-sum .ok b{color:var(--tk-ok)}.tk2-sum .warn b{color:var(--brand)}
.tk2-lbl{font-size:12.5px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin:12px 0 6px}
.tk2-chips{display:flex;flex-wrap:wrap;gap:6px}
.tk2-chips button{appearance:none;min-width:40px;height:36px;border-radius:10px;border:1px solid var(--line-strong);background:var(--surface-2);font-weight:800;cursor:pointer;color:var(--ink)}
.tk2-allok{color:var(--tk-ok);font-weight:800;text-align:center}
.tk2-acts{display:flex;gap:10px;margin-top:18px;justify-content:center;flex-wrap:wrap}
.tk2-acts .tk2-btn{flex:1 1 160px}
.tk2-acts.top{margin:18px 0 6px}
.tk2-err{background:var(--brand-soft);border:1px solid color-mix(in srgb,var(--brand) 40%,transparent);color:var(--ink);border-radius:14px;padding:12px 14px;margin-bottom:12px;display:flex;gap:10px;align-items:center;flex-wrap:wrap}
/* 4. result */
.tk2-res{display:flex;gap:26px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:24px;padding:24px;box-shadow:var(--tk-sh);position:relative;overflow:hidden}
.tk2-res::before{content:"";position:absolute;inset:0;background:radial-gradient(500px 220px at 0% 0%,var(--brand-soft),transparent 70%);pointer-events:none}
.tk2-res.great::before{background:radial-gradient(500px 220px at 0% 0%,var(--ok-soft,rgba(30,154,107,.14)),transparent 70%)}
.tk2-ring{position:relative;width:148px;height:148px;flex:0 0 auto}
.tk2-ring svg{width:100%;height:100%;transform:rotate(-90deg)}
.tk2-ring circle{fill:none;stroke-width:10}
.tk2-ring .bg{stroke:var(--line)}
.tk2-ring .fg{stroke:var(--brand);stroke-linecap:round;transition:stroke-dashoffset 1s ease}
.tk2-res.great .tk2-ring .fg{stroke:var(--tk-ok)}.tk2-res.good .tk2-ring .fg{stroke:var(--gold)}
.tk2-ring>div{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}
.tk2-ring b{font:600 36px/1 var(--tk-fd);color:var(--ink)}
.tk2-ring span{font-size:14px;color:var(--muted);font-weight:700}
.tk2-res-t{position:relative}
.tk2-res-t h1{font-family:var(--tk-fd);font-weight:600;color:var(--ink);font-size:clamp(24px,4vw,34px);margin:12px 0 4px;letter-spacing:-.02em}
.tk2-res-t p{margin:0;color:var(--muted)}
@media(max-width:560px){.tk2-res{flex-direction:column;text-align:center;padding:22px 16px}}
.tk2-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;margin-top:14px}
.tk2-tiles div{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:14px;box-shadow:var(--tk-sh)}
.tk2-tiles b{display:block;font:600 26px/1.1 var(--tk-fd);color:var(--ink)}
.tk2-tiles b small{font-size:14px;color:var(--muted)}
.tk2-tiles span{font-size:12.5px;color:var(--muted);font-weight:700}
.tk2-tiles .ok b{color:var(--tk-ok)}.tk2-tiles .bad b{color:var(--brand)}.tk2-tiles .wr b{color:var(--gold)}
.tk2-selfbox{text-align:center}
.tk2-selfbox #tkSelf{font:600 20px var(--tk-fd);color:var(--ink)}
.tk2-sh{font-family:var(--tk-fd);font-weight:600;color:var(--ink);font-size:22px;margin:28px 0 10px}
.tk2-filt{display:flex;gap:6px;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin:0 -16px 12px;padding:10px 16px;position:sticky;top:62px;z-index:20;background:var(--bg);border-bottom:1px solid var(--line)}
.tk2-filt::-webkit-scrollbar{display:none}
.tk2-filt button{flex:0 0 auto}
.tk2-filt button{appearance:none;border:1px solid var(--line-strong);background:var(--surface);color:var(--ink-body);border-radius:999px;padding:7px 14px;font-weight:800;font-size:13px;cursor:pointer}
.tk2-filt button i{font-style:normal;color:var(--muted);margin-left:2px}
.tk2-filt button.on{background:var(--ink);color:var(--surface);border-color:var(--ink)}
.tk2-filt button.on i{color:inherit;opacity:.7}
.tk2-sheetl{display:grid;gap:12px}
.tk2-rc{background:var(--surface);border:1px solid var(--line);border-left:5px solid var(--line-strong);border-radius:18px;padding:16px 18px}
.tk2-rc.ok{border-left-color:var(--tk-ok)}.tk2-rc.bad{border-left-color:var(--brand)}.tk2-rc.w{border-left-color:var(--gold)}
.tk2-rtop{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.tk2-rtop .tk2-m{margin-left:auto;font-weight:800;color:var(--ink);font-size:14px}
.tk2-badge{font-size:12px;font-weight:800;padding:3px 10px;border-radius:999px;background:var(--surface-2);color:var(--muted)}
.tk2-badge.ok{background:var(--ok-soft,rgba(30,154,107,.12));color:var(--tk-ok)}.tk2-badge.bad{background:var(--brand-soft);color:var(--brand)}.tk2-badge.w{background:var(--gold-soft);color:var(--gold)}
.tk2-rc h3{font-family:var(--tk-fb);font-size:16.5px;font-weight:700;color:var(--ink);margin:10px 0 10px;line-height:1.45}
.tk2-rc h3 p{margin:0}
.tk2-ropts{display:grid;gap:6px}
.tk2-ro{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:12px;border:1px solid var(--line);font-size:15px}
.tk2-ro em{margin-left:auto;font-style:normal;font-size:11.5px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}
.tk2-ro.right{border-color:color-mix(in srgb,var(--tk-ok) 60%,transparent);background:color-mix(in srgb,var(--tk-ok) 12%,var(--surface))}
.tk2-ro.right .tk2-let{background:var(--tk-ok);border-color:var(--tk-ok);color:#fff}.tk2-ro.right em{color:var(--tk-ok)}
.tk2-ro.picked{border-color:color-mix(in srgb,var(--brand) 60%,transparent);background:color-mix(in srgb,var(--brand) 10%,var(--surface))}
.tk2-ro.picked .tk2-let{background:var(--brand);border-color:var(--brand);color:#fff}.tk2-ro.picked em{color:var(--brand)}
.tk2-ro .tk2-let{width:26px;height:26px;border-radius:8px;font-size:12px}
.tk2-why{margin-top:10px;font-size:14.5px;background:var(--surface-2);border-radius:12px;padding:10px 12px}
.tk2-why p{display:inline;margin:0}
.tk2-ya,.tk2-model{border-radius:12px;padding:10px 12px;margin-top:8px;font-size:15px}
.tk2-ya{background:var(--surface-2)}
.tk2-model{background:color-mix(in srgb,var(--tk-ok) 9%,var(--surface));border:1px solid color-mix(in srgb,var(--tk-ok) 30%,transparent)}
.tk2-ya b,.tk2-model b,.tk2-crit>b{display:block;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:4px}
.tk2-ya p,.tk2-model p{margin:0}
.tk2-crit{margin-top:10px;display:grid;gap:6px}
.tk2-crit label{display:flex;gap:10px;align-items:flex-start;padding:9px 10px;border-radius:12px;border:1px solid var(--line);cursor:pointer;font-size:14.5px}
.tk2-crit label.on,.tk2-crit label:has(input:checked){border-color:color-mix(in srgb,var(--tk-ok) 55%,transparent);background:color-mix(in srgb,var(--tk-ok) 9%,var(--surface))}
.tk2-crit input{width:18px;height:18px;margin-top:2px;accent-color:var(--tk-ok);flex:0 0 auto}
.tk2-crit em{margin-left:auto;font-style:normal;font-weight:800;color:var(--muted);font-size:12.5px;white-space:nowrap}
.tk2-toast{position:fixed;left:50%;bottom:22px;transform:translate(-50%,20px);opacity:0;background:var(--ink);color:var(--surface);padding:11px 18px;border-radius:14px;font-weight:800;font-size:14px;z-index:90;transition:.2s;pointer-events:none;max-width:calc(100% - 24px);text-align:center}
.tk2-toast.on{opacity:1;transform:translate(-50%,0)}
footer{margin-top:40px}
.tk2-prev{background:var(--gold-soft);border-bottom:1px solid color-mix(in srgb,var(--gold) 40%,transparent);color:var(--ink);text-align:center;font-size:13px;font-weight:700;padding:8px 16px}
/* ---- how to answer: the worked example (start screen, and from each written question) ---- */
.tk2-ex h2{margin:0 0 10px}
.tk2-ex.need{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}
.tk2-exparts{margin:6px 0 12px;padding:0;list-style:none;counter-reset:ex;display:grid;gap:6px}
.tk2-exparts li{counter-increment:ex;display:flex;align-items:baseline;gap:10px;padding:8px 12px;border-radius:12px;background:var(--surface-2);border:1px solid var(--line);font-size:14.5px;color:var(--ink)}
.tk2-exparts li::before{content:counter(ex);flex:0 0 auto;width:22px;height:22px;border-radius:50%;display:inline-grid;place-items:center;background:var(--brand-soft);color:var(--brand);font:800 12px var(--tk-fb)}
.tk2-exparts li b{flex:1;font-weight:700}.tk2-exparts li span{flex:0 0 auto;font-size:12.5px;color:var(--muted);font-weight:700}
.tk2-exq,.tk2-exa{margin-top:10px;padding:12px 14px;border-radius:14px;border:1px solid var(--line)}
.tk2-exq{background:var(--surface-2)}.tk2-exq p{margin:4px 0 0;color:var(--ink);font-weight:600}
.tk2-exa{background:color-mix(in srgb,var(--tk-ok) 8%,var(--surface));border-color:color-mix(in srgb,var(--tk-ok) 28%,transparent)}
.tk2-exa h4{margin:12px 0 2px;font:800 14px var(--tk-fb);color:var(--ink)}.tk2-exa h4:first-of-type{margin-top:6px}.tk2-exa p{margin:0;font-size:14.5px}
.tk2-exq .tk2-lbl,.tk2-exa .tk2-lbl{display:block;margin:0;font-size:11.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.tk2-exnote{margin:10px 0 0;font-size:13.5px;color:var(--muted)}
.tk2-exopts{display:grid;gap:6px;margin-top:8px}.tk2-exopts span{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:12px;border:1.5px solid var(--line-strong);background:var(--surface);color:var(--ink);font-weight:600;font-size:14.5px}
.tk2-exopts span.on{border-color:var(--brand);background:var(--brand-soft)}.tk2-exopts i{font-style:normal;width:24px;height:24px;border-radius:8px;display:inline-grid;place-items:center;background:var(--surface-3);font-weight:800;font-size:12.5px}
.tk2-exopts span.on i{background:var(--brand);color:#fff}
.tk2-agree{display:flex;gap:10px;align-items:flex-start;margin-top:14px;padding:12px 14px;border-radius:14px;border:1.5px solid var(--line-strong);cursor:pointer;color:var(--ink);font-weight:700;font-size:14.5px}
.tk2-agree input{width:20px;height:20px;margin-top:1px;accent-color:var(--brand);flex:0 0 auto}
.tk2-agree:has(input:checked){border-color:color-mix(in srgb,var(--tk-ok) 55%,transparent);background:color-mix(in srgb,var(--tk-ok) 9%,var(--surface))}
.tk2-howq{margin-top:12px;border:1px solid var(--line);border-radius:14px;background:var(--surface-2);padding:0 12px}
.tk2-howq summary{cursor:pointer;padding:10px 0;font-weight:700;font-size:14px;color:var(--ink);list-style-position:inside}
.tk2-howq .tk2-exparts li{background:var(--surface)}.tk2-howq .tk2-btn{margin:0 0 12px}
.tk2-exsheet{max-height:86vh;overflow:auto}.tk2-exsheet .tk2-ex{box-shadow:none;border:0;padding:0;margin:0;background:none}
/* ---- automatic marks on the answer sheet ---- */
.tk2-autonote p{margin:0;font-size:14px}
.tk2-aiwait{display:flex;align-items:center;gap:10px;font-weight:700;color:var(--ink)}
.tk2-spin.sm{width:18px;height:18px;border-width:2.5px;display:inline-block}
.tk2-auto{margin-top:10px;padding:12px;border-radius:14px;border:1px solid var(--line);background:var(--surface-2)}
.tk2-auto-h{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}
.tk2-auto-h b{font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.tk2-eng{font-size:11.5px;font-weight:800;padding:3px 9px;border-radius:999px;background:var(--surface-3);color:var(--muted)}.tk2-eng.ai{background:var(--brand-soft);color:var(--brand)}
.tk2-apts{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.tk2-apts li{display:flex;gap:10px;align-items:flex-start;padding:9px 10px;border-radius:12px;background:var(--surface);border:1px solid var(--line);font-size:14px}
.tk2-apts li.full{border-color:color-mix(in srgb,var(--tk-ok) 45%,transparent)}.tk2-apts li.none{border-color:color-mix(in srgb,var(--brand) 35%,transparent)}
.tk2-apt{flex:0 0 auto;min-width:52px;text-align:center;font:800 15px var(--tk-fb);color:var(--ink);padding:4px 6px;border-radius:9px;background:var(--surface-3)}
.tk2-apt small{font-size:11px;color:var(--muted);font-weight:700}
.tk2-apts li.full .tk2-apt{background:color-mix(in srgb,var(--tk-ok) 16%,transparent);color:var(--tk-ok)}.tk2-apts li.none .tk2-apt{background:var(--brand-soft);color:var(--brand)}
.tk2-apts li>div{min-width:0}.tk2-apts li b{display:block;color:var(--ink);font-weight:700}
.tk2-apts small{display:block;color:var(--muted);font-size:12.5px;margin-top:2px;overflow-wrap:anywhere}.tk2-apts small.ok{color:var(--tk-ok)}.tk2-apts small.miss{color:var(--brand)}
.tk2-tips{margin-top:10px}.tk2-tips b{display:block;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.tk2-tips ul{margin:4px 0 0;padding-left:18px;font-size:14px}.tk2-tips li{margin:2px 0}
