:root{--lime: #d9f25a;--blue: #2b4bff;--coral: #c92e12;--peach: #ffb4a2;--lav: #a9b8ff;--sun: #ffd166;--paper: #f1f5ec;--paper2: #f8faf4;--ink: #15181c;--ink2: #4a5248;--grid: #dde5d6;--line: #c9d3c2;--f-display: "Bricolage Grotesque", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--f-mono: "JetBrains Mono", ui-monospace, Menlo, Consolas, monospace;--f-hand: "Caveat", "Segoe Script", cursive;--hero: var(--blue);color-scheme:light;-webkit-tap-highlight-color:transparent}*{box-sizing:border-box}html,body{margin:0;min-height:100%}body{background:#e7ede1;color:var(--ink);font:14px/1.4 var(--f-display);-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:3px solid var(--blue);outline-offset:2px}a{color:inherit}[hidden]{display:none!important}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.boot{min-height:100vh;display:grid;place-items:center;background:var(--paper)}.boot i{width:56px;height:56px;border-radius:14px;background:var(--lime);border:2px solid var(--ink);display:grid;place-items:center;font:800 30px var(--f-display);font-style:normal}.app{position:relative;max-width:480px;min-height:100vh;min-height:100dvh;margin:0 auto;background-color:var(--paper);background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);background-size:24px 24px;display:flex;flex-direction:column}@media(min-width:520px){.app{border-left:2px solid var(--ink);border-right:2px solid var(--ink)}}.data-saver .app{background-image:none}.screen{flex:1;padding-bottom:calc(76px + env(safe-area-inset-bottom,0px))}.screen.nodock{padding-bottom:24px}.hero{position:relative;overflow:hidden;background:var(--hero);color:#fff;padding:calc(env(safe-area-inset-top,0px) + 6px) 16px 18px;border-radius:0 0 22px 22px}.hero svg.doodle{position:absolute;left:0;top:0;pointer-events:none}.hero>*{position:relative}.hero-top{display:flex;align-items:center;gap:2px;margin:0 -8px}.brandtx{font:700 13px var(--f-mono);letter-spacing:.08em;padding-left:2px}.sp{flex:1}.ibtn{position:relative;width:44px;height:44px;border:0;background:transparent;color:inherit;display:grid;place-items:center;border-radius:12px}.ibtn .dot{position:absolute;top:6px;right:5px;min-width:16px;height:16px;padding:0 3px;border-radius:99px;background:var(--coral);color:#fff;font:700 10px var(--f-mono);display:grid;place-items:center}.hello{margin:6px 0 0;font-size:28px;font-weight:800;letter-spacing:-.02em;line-height:1.05}.hand{font-family:var(--f-hand);font-size:22px;color:var(--lime)}.target{margin-top:12px;padding:10px 12px;border:1px solid rgba(255,255,255,.3);border-radius:14px;background:#080e3059}.target .r{display:flex;justify-content:space-between;font-size:12px;font-weight:600;gap:8px}.mono{font-family:var(--f-mono)}.target .mono{color:var(--lime);font-weight:700}.bar-t{height:8px;border-radius:99px;background:#ffffff40;margin-top:8px;overflow:hidden}.bar-t i{display:block;height:100%;background:var(--lime);border-radius:99px}.head h1{margin:6px 0 0;font-size:28px;font-weight:800;letter-spacing:-.02em;line-height:1.05;color:#fff}.head p{margin:4px 0 0;color:#ffffffe6;font-size:13px}.row1{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.ttl{margin-top:-4px;font:700 12px var(--f-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--lime)}.back{min-height:44px;padding:0 12px 0 4px;border:0;background:transparent;color:inherit;font-weight:800;font-size:14px;display:inline-flex;align-items:center;gap:4px;margin-left:-4px}.sheet{padding:12px 14px 18px}.sec-h{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:4px 0 8px}.sec-h b{font-size:18px;font-weight:800}.sec-h small{font:700 11px var(--f-mono);color:var(--ink2);margin-left:8px}.hs{margin-top:18px;content-visibility:auto;contain-intrinsic-size:1px 260px}.gh{font:700 11px var(--f-mono);letter-spacing:.06em;color:var(--ink2);margin:0 0 6px}.pillbtn{min-height:40px;padding:0 14px;border:2px solid var(--ink);border-radius:99px;background:var(--lime);color:var(--ink);font-size:14px;font-weight:800;display:inline-flex;align-items:center;gap:6px}.pillbtn.plain{background:var(--paper2)}.btn{min-height:44px;padding:0 16px;border:2px solid var(--ink);border-radius:99px;background:var(--ink);color:var(--paper);font-weight:800;font-size:14px;display:inline-flex;align-items:center;justify-content:center;gap:6px}.btn.lime{background:var(--lime);color:var(--ink)}.btn.alt{background:var(--paper2);color:var(--ink)}.btn.block{width:100%}.btn.danger{background:transparent;color:var(--coral);border-color:var(--coral)}.btn:disabled{opacity:.5;cursor:not-allowed}.joinbtn{min-height:44px;padding:0 16px;border:2px solid var(--ink);border-radius:12px;background:var(--lime);color:var(--ink);font-weight:800;font-size:14px;box-shadow:0 3px 0 var(--ink)}.joinbtn:disabled{background:var(--paper2);box-shadow:none}.tag{font:700 10px var(--f-mono);padding:3px 8px;border-radius:99px;border:2px solid var(--ink);color:var(--ink);background:var(--paper2);white-space:nowrap}.tag.lime{background:var(--lime)}.tag.sun{background:var(--sun)}.tag.peach{background:var(--peach)}.tag.lav{background:var(--lav)}.tag.ink{background:var(--ink);color:var(--paper)}.seg{display:flex;gap:4px;padding:4px;border:2px solid var(--ink);border-radius:14px;background:var(--paper2)}.seg button{flex:1;min-height:40px;padding:0 4px;border:0;border-radius:10px;background:transparent;font-size:13px;font-weight:600;color:var(--ink)}.seg button[aria-selected=true]{background:var(--ink);color:var(--paper);font-weight:800}.hero .seg{margin-top:12px}.pills{display:flex;gap:8px;padding:10px 16px;overflow-x:auto;scrollbar-width:none}.pills::-webkit-scrollbar{display:none}.pills button{min-height:40px;flex-shrink:0;padding:0 14px;border:2px solid var(--ink);border-radius:99px;background:var(--paper2);font-size:13px;font-weight:600}.pills button[aria-pressed=true]{background:var(--ink);color:var(--paper);font-weight:800}.tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.tile{position:relative;height:96px;border:2px solid var(--ink);border-radius:4px 16px 16px;background:var(--paper2);padding:0;text-align:left;color:var(--ink)}.tile .ic{position:absolute;top:10px;left:10px;width:38px;height:38px;border-radius:50%;border:2px solid var(--ink);display:grid;place-items:center}.tile .chip{position:absolute;top:12px;right:10px;max-width:calc(100% - 64px);overflow:hidden;text-overflow:ellipsis;font:700 10px var(--f-mono);padding:3px 8px;border-radius:99px;background:var(--ink);color:var(--paper)}.tile .chip.live{background:var(--coral);color:#fff}.tile .chip.lock{background:var(--sun);color:var(--ink);box-shadow:inset 0 0 0 2px var(--ink)}.tile .lbl{position:absolute;left:12px;bottom:10px;right:8px;font-size:16px;font-weight:800;line-height:1.1}.tile.empty{border-style:dashed;background:transparent;display:grid;place-items:center;font-weight:800;color:var(--ink2);text-align:center}.banner{margin-top:12px;width:100%;min-height:96px;border:2px solid var(--ink);border-radius:4px 16px 16px;background:var(--ink);color:var(--paper);padding:12px 14px;display:flex;align-items:center;justify-content:space-between;text-align:left;gap:10px}.banner .k{font:700 10px var(--f-mono);color:var(--lime)}.banner .n{display:block;font-size:22px;font-weight:800;line-height:1.05;margin:3px 0}.banner .s{font-size:12px;color:#c9d3c2}.go{width:40px;height:40px;border-radius:50%;background:var(--lime);display:grid;place-items:center;flex-shrink:0}.next{margin-top:12px;border:2px solid var(--ink);border-radius:4px 16px 16px;background:var(--paper2);padding:12px;display:flex;align-items:center;justify-content:space-between;gap:10px}.next .k{display:inline-block;font:700 10px var(--f-mono);background:var(--ink);color:#fff;padding:3px 8px;border-radius:99px}.next .k.on{background:var(--coral)}.next .n{font-size:18px;font-weight:800;margin-top:4px}.next .s{font-size:12px;color:var(--ink2)}.list{display:flex;flex-direction:column;gap:10px;padding:0 16px 20px}.stack{display:flex;flex-direction:column;gap:10px}.row{display:flex;align-items:center;gap:12px;min-height:64px;width:100%;border:2px solid var(--ink);border-radius:4px 14px 14px;background:var(--paper2);padding:8px 8px 8px 12px;text-align:left;color:var(--ink)}.row .ic{width:40px;height:40px;border-radius:50%;border:2px solid var(--ink);display:grid;place-items:center;flex-shrink:0}.row .tx{flex:1;min-width:0}.row .tx b{display:block;font-size:15px;font-weight:800}.row .tx span{display:block;font-size:12px;color:var(--ink2)}.rm{flex:1;min-width:0;min-height:48px;display:flex;align-items:center;gap:12px;background:none;border:0;padding:0;text-align:left}.pin{width:44px;height:44px;border-radius:50%;border:2px solid var(--ink);background:transparent;display:grid;place-items:center;flex-shrink:0}.pin[aria-pressed=true]{background:var(--lime)}.ncard{border:2px solid var(--ink);border-radius:4px 14px 14px;background:var(--paper2);padding:12px;display:flex;flex-direction:column;gap:6px}.ncard.unread{box-shadow:inset 4px 0 0 var(--coral)}.ncard .top{display:flex;justify-content:space-between;align-items:center;gap:8px}.when{font:10px var(--f-mono);color:var(--ink2)}.ncard h4{margin:0;font-size:17px;font-weight:800;line-height:1.2}.ncard p{margin:0;font-size:13px;color:var(--ink2);white-space:pre-line}.ncard .foot{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:12px;color:var(--ink2)}.save{min-height:44px;padding:0 12px;border:2px solid var(--ink);border-radius:99px;background:transparent;font-size:12px;font-weight:800;display:inline-flex;align-items:center;gap:6px}.save[aria-pressed=true]{background:var(--lime)}.bcard{display:flex;gap:12px;border:2px solid var(--ink);border-radius:4px 14px 14px;background:var(--paper2);padding:10px}.bcard .art{width:76px;flex-shrink:0;border:2px solid var(--ink);border-radius:4px 12px 12px;display:grid;place-items:center}.bcard .bd{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.bcard .meta{display:flex;justify-content:space-between;gap:6px;font:700 10px var(--f-mono);color:var(--ink2)}.bcard h4{margin:0;font-size:17px;font-weight:800;line-height:1.1}.bcard .who{font-size:12px;color:var(--ink2)}.bcard .buy{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:4px}.price{font:700 13px var(--f-mono)}.price s{color:var(--ink2);font-weight:500;margin-left:4px}.enrol{min-height:44px;padding:0 14px;border:2px solid var(--ink);border-radius:99px;background:var(--ink);color:var(--paper);font-size:13px;font-weight:800}.enrol[aria-pressed=true]{background:var(--lime);color:var(--ink)}.empty{margin:0;padding:18px;border:2px dashed var(--ink);border-radius:14px;text-align:center;color:var(--ink2);font-size:13px}.ocard{border:2px solid var(--ink);border-radius:4px 16px 16px;background:var(--paper2);padding:12px;display:flex;flex-direction:column;gap:8px}.ocard h5{margin:0;font:700 11px var(--f-mono);letter-spacing:.06em;color:var(--ink2)}.kv{display:flex;justify-content:space-between;gap:8px;font-size:14px;padding:6px 0;border-bottom:1px solid var(--grid)}.kv:last-child{border:0}.kv span{color:var(--ink2)}.kv b{text-align:right}.hrow{display:flex;gap:10px;overflow-x:auto;margin:0 -14px;padding:2px 14px 10px;scrollbar-width:none;scroll-snap-type:x proximity}.hrow::-webkit-scrollbar{display:none}.lcard{flex:0 0 218px;scroll-snap-align:start;border:2px solid var(--ink);border-radius:4px 16px 16px;background:var(--paper2);padding:12px;display:flex;flex-direction:column;gap:6px}.lcard .st{align-self:flex-start;font:700 10px var(--f-mono);padding:3px 8px;border-radius:99px;background:var(--ink);color:var(--paper)}.lcard .st.on{background:var(--coral);color:#fff}.lcard b{font-size:16px;font-weight:800;line-height:1.15}.lcard .w{font-size:12px;color:var(--ink2)}.remind{min-height:44px;margin-top:auto;border:2px solid var(--ink);border-radius:99px;background:transparent;font-size:13px;font-weight:800}.remind[aria-pressed=true]{background:var(--lime)}.ptile{flex:0 0 178px;scroll-snap-align:start;position:relative;display:flex;flex-direction:column;gap:6px;text-align:left;padding:12px;border:2px solid var(--ink);border-radius:4px 20px 20px;background:var(--pa);color:var(--ink);box-shadow:4px 4px 0 var(--ink);margin-bottom:6px}.ptile .pk{align-self:flex-start;max-width:112px;font:700 10px var(--f-mono);padding:3px 8px;border-radius:99px;background:var(--ink);color:var(--paper)}.ptile .pk.on{background:var(--coral);color:#fff}.pic{position:absolute;top:10px;right:10px;width:40px;height:40px;border-radius:50%;background:var(--paper2);border:2px solid var(--ink);display:grid;place-items:center}.ptile .pnm{margin-top:8px;font-size:26px;font-weight:800;letter-spacing:-.02em;line-height:1}.ptile .ppr{font:700 13px var(--f-mono)}.ptile .pfe{display:flex;flex-direction:column;gap:4px;padding-top:8px;border-top:2px dashed var(--ink);font-size:12px;line-height:1.25;font-weight:600}.ptile .pgo{margin-top:4px;min-height:40px;border:2px solid var(--ink);border-radius:99px;background:var(--paper2);display:grid;place-items:center;font-weight:800;font-size:13px}.plan{margin:0 16px 12px;border:2px solid var(--ink);border-radius:4px 16px 16px;background:var(--paper2);padding:12px;display:flex;flex-direction:column;gap:10px}.plan.on{box-shadow:0 4px 0 var(--ink)}.plan .band{height:10px;border:2px solid var(--ink);border-radius:99px}.plan .ph{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.plan .pn{font-size:22px;font-weight:800}.plan .pp{margin-left:auto;font:700 14px var(--f-mono)}.ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:6px}.ul li{display:flex;gap:8px;font-size:13px;align-items:flex-start}.mycard{border:2px solid var(--ink);border-radius:4px 20px 20px;background:var(--pa, var(--lav));padding:14px;box-shadow:4px 4px 0 var(--ink);display:flex;flex-direction:column;gap:6px}.mycard.none{background:var(--paper2);box-shadow:none;border-style:dashed;align-items:flex-start}.mycard h4{margin:4px 0 0;font-size:28px;font-weight:800;letter-spacing:-.02em;line-height:1}.mchips{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0 6px}.mchip{font-size:11px;font-weight:700;padding:3px 8px;border:2px solid var(--ink);border-radius:99px;background:var(--paper2)}.dhero{padding:12px 16px}.dart{height:116px;border:2px solid var(--ink);border-radius:4px 18px 18px;display:grid;place-items:center}.dhero h2{margin:10px 0 2px;font-size:26px;font-weight:800;letter-spacing:-.02em;line-height:1.05}.dhero .w{font-size:13px;color:var(--ink2)}.facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:0 16px 12px}.fact{border:2px solid var(--ink);border-radius:4px 12px 12px;background:var(--paper2);padding:8px 10px;min-width:0}.fact small{display:block;font:700 9px var(--f-mono);color:var(--ink2)}.fact b{display:block;font-size:13px;font-weight:800;line-height:1.2}.dbody{padding:0 16px 16px}.blk{margin-bottom:16px}.blk h5{margin:0 0 6px;font:700 11px var(--f-mono);color:var(--ink2);letter-spacing:.06em}.blk p{margin:0;font-size:14px;white-space:pre-line}details.mod{border:2px solid var(--ink);border-radius:4px 14px 14px;background:var(--paper2);overflow:hidden}details.mod+details.mod{margin-top:8px}details.mod summary{min-height:48px;padding:6px 12px;display:flex;align-items:center;justify-content:space-between;gap:8px;cursor:pointer;font-weight:800;list-style:none}details.mod summary::-webkit-details-marker{display:none}details.mod summary small{font:700 10px var(--f-mono);color:var(--ink2);flex-shrink:0}.lessons{padding:0 8px 8px;display:flex;flex-direction:column;gap:4px}.lesson{display:flex;align-items:center;gap:10px;min-height:48px;padding:4px 6px;border:0;background:transparent;width:100%;text-align:left;border-radius:10px;font-size:13px;color:var(--ink)}.lesson:hover{background:var(--grid)}.lesson .k{width:30px;height:30px;border-radius:50%;border:2px solid var(--ink);display:grid;place-items:center;flex-shrink:0;background:var(--paper)}.lesson .k.done{background:var(--lime)}.lesson .t{flex:1;min-width:0}.lesson .t small{display:block;font:10px var(--f-mono);color:var(--ink2)}.sub{margin-left:14px;padding-left:8px;border-left:3px solid var(--lime)}.subh{font-weight:800;font-size:13px;padding:6px 6px 2px}.media{display:flex;align-items:center;gap:10px;min-height:56px;width:100%;border:2px solid var(--ink);border-radius:4px 14px 14px;background:var(--paper2);padding:6px 10px;text-align:left;color:var(--ink)}.media+.media{margin-top:8px}.media .pl{width:40px;height:40px;border-radius:50%;background:var(--ink);color:var(--lime);display:grid;place-items:center;flex-shrink:0}.media .pl.doc{background:var(--lime);color:var(--ink);border:2px solid var(--ink)}.media .tx{flex:1;min-width:0}.media b{display:block;font-size:14px;font-weight:800;line-height:1.2}.media small{font:11px var(--f-mono);color:var(--ink2)}.cta{position:sticky;bottom:0;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 16px calc(12px + env(safe-area-inset-bottom,0px));background:var(--paper2);border-top:2px solid var(--ink)}.cta small{display:block;font:700 10px var(--f-mono);color:var(--ink2)}.prog{height:10px;border:2px solid var(--ink);border-radius:99px;background:var(--paper);overflow:hidden}.prog i{display:block;height:100%;background:var(--lime)}.perf{border:2px solid var(--ink);border-radius:4px 20px 20px;background:var(--paper2);box-shadow:4px 4px 0 var(--ink);padding:14px;display:flex;flex-direction:column;gap:12px}.perf .ph{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.perf .ph b{font-size:17px;font-weight:800}.perf .ph small{display:block;font:700 10px var(--f-mono);color:var(--ink2);margin-top:3px}.score{font-size:40px;font-weight:800;letter-spacing:-.03em;line-height:1}.score small{font-size:16px}.up{align-self:flex-start;font:700 10px var(--f-mono);background:var(--lime);border:2px solid var(--ink);border-radius:99px;padding:3px 8px}.up.down{background:var(--peach)}.plab{display:flex;gap:8px;font:700 9px var(--f-mono);color:var(--ink2)}.plab span{flex:1;text-align:center}.pm{display:flex;flex-direction:column;gap:4px;padding-top:10px;border-top:2px dashed var(--ink)}.pm .pmt{display:flex;justify-content:space-between;align-items:center}.pm .pmt b{font-size:15px;font-weight:800}.pm small{font-size:12px;color:var(--ink2)}.mb{display:flex;align-items:flex-end;gap:6px;height:56px;margin-top:4px}.mb div{flex:1;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:2px}.mb i{display:block;width:100%;border:2px solid var(--ink);border-radius:4px 4px 0 0}.mb small{font:9px var(--f-mono);line-height:1}.dock{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:100%;max-width:480px;z-index:10;display:flex;gap:2px;padding:6px 8px calc(8px + env(safe-area-inset-bottom,0px));background:var(--paper2);border-top:2px solid var(--ink)}@media(min-width:520px){.dock{border-left:2px solid var(--ink);border-right:2px solid var(--ink)}}.dock a{flex:1;min-height:52px;border-radius:14px;color:var(--ink);font-size:11px;font-weight:600;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;text-decoration:none;position:relative}.dock a[aria-current=page]{background:var(--lime);font-weight:800}.dock .dot{position:absolute;top:4px;right:calc(50% - 22px);min-width:16px;height:16px;padding:0 3px;border-radius:99px;background:var(--coral);color:#fff;font:700 10px var(--f-mono);display:grid;place-items:center}.scrim{position:fixed;inset:0;z-index:20;background:#15181c59}.drawer{position:fixed;top:0;bottom:0;left:max(0px,calc(50% - 240px));z-index:21;width:min(300px,86vw);background:var(--paper);border-right:2px solid var(--ink);box-shadow:6px 0 0 var(--ink);display:flex;flex-direction:column;overflow:auto;animation:dr .2s ease-out}@keyframes dr{0%{transform:translate(-100%)}to{transform:none}}@media(prefers-reduced-motion:reduce){.drawer{animation:none}}.idc{background:var(--hero);color:#fff;padding:calc(env(safe-area-inset-top,0px) + 30px) 14px 16px;position:relative;overflow:hidden;flex-shrink:0}.idr{display:flex;gap:12px;align-items:center;position:relative}.av{width:64px;height:64px;border-radius:50%;border:3px solid var(--ink);background:var(--peach);display:grid;place-items:center;flex-shrink:0;font-weight:800;font-size:22px;color:var(--ink);box-shadow:0 0 0 3px var(--lime)}.av.big{width:92px;height:92px;font-size:32px;margin:0 auto}.idc b.nm{display:block;font-size:21px;font-weight:800;line-height:1.05}.idc .sm{font:700 10px var(--f-mono);opacity:.9}.idc .tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px;position:relative}.idc .tags span{font:700 10px var(--f-mono);background:var(--paper);color:var(--ink);border:2px solid var(--ink);border-radius:99px;padding:2px 8px}.idc .tags span.l{background:var(--lime)}.xp{padding:12px 14px 4px;display:flex;flex-direction:column;gap:6px}.xp .xh{display:flex;justify-content:space-between;font:700 10px var(--f-mono)}.xt{height:14px;border:2px solid var(--ink);border-radius:99px;background:var(--paper2);overflow:hidden}.xt i{display:block;height:100%;background:var(--sun)}.bdg{display:flex;gap:8px;padding:8px 14px 4px}.bdg span{flex:1;border:2px solid var(--ink);border-radius:4px 12px 12px;padding:6px 4px;text-align:center;font-size:10px;font-weight:700;line-height:1.15;display:flex;flex-direction:column;align-items:center;gap:3px}.bdg span i{font-style:normal;font-size:18px;line-height:1}.bdg span.off{opacity:.45;border-style:dashed}.goal{margin:8px 14px;border:2px dashed var(--ink);border-radius:12px;padding:8px 10px;font-size:12px;display:flex;justify-content:space-between;align-items:center;gap:8px}.dcard{margin:0 14px;border:2px solid var(--ink);border-radius:4px 14px 14px;background:var(--paper2);padding:8px 10px;display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px;text-align:center}.dcard b{display:block;font-size:17px;font-weight:800}.dcard small{font:700 9px var(--f-mono);color:var(--ink2)}.dnav{padding:10px 8px 16px;display:flex;flex-direction:column;gap:2px}.mi{display:flex;align-items:center;gap:10px;min-height:44px;padding:0 10px;border:0;background:transparent;border-radius:10px;font-size:14px;font-weight:700;color:var(--ink);text-align:left;width:100%;text-decoration:none}.mi:hover{background:var(--grid)}.mi .ico{width:30px;height:30px;border-radius:9px;border:2px solid var(--ink);display:grid;place-items:center;flex-shrink:0}.mi em{margin-left:auto;font:700 10px var(--f-mono);font-style:normal;background:var(--lime);border:2px solid var(--ink);border-radius:99px;padding:1px 7px}.panel{display:flex;flex-direction:column;gap:12px;padding:14px}.stat3{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.stat3>div{border:2px solid var(--ink);border-radius:4px 12px 12px;padding:8px;background:var(--paper2);text-align:center}.stat3 b{display:block;font-size:20px;font-weight:800}.stat3 small{font:700 9px var(--f-mono);color:var(--ink2)}.code{font:700 24px var(--f-mono);text-align:center;border:2px dashed var(--ink);border-radius:12px;padding:10px;background:var(--lime)}.orow{display:flex;gap:8px}.orow>*{flex:1}details.faq{border-bottom:1px solid var(--grid)}details.faq summary{min-height:44px;display:flex;align-items:center;font-weight:700;cursor:pointer}details.faq p{margin:0 0 10px;font-size:13px;color:var(--ink2)}.fld{display:flex;flex-direction:column;gap:4px;margin-bottom:12px}.fld label{font-size:12px;font-weight:800}.fld input,.fld select,.fld textarea{min-height:48px;padding:8px 12px;border:2px solid var(--ink);border-radius:10px;background:#fff;width:100%;font-size:16px}.fld textarea{min-height:96px;resize:vertical}.fld .err{color:var(--coral);font-size:12px;font-weight:700}.fld input[aria-invalid=true]{border-color:var(--coral)}.check{display:flex;gap:10px;align-items:flex-start;min-height:44px;font-size:14px}.check input{width:22px;height:22px;margin-top:2px;accent-color:var(--ink);flex-shrink:0}.toggle{min-height:40px;min-width:64px;padding:0 10px;border:2px solid var(--ink);border-radius:99px;background:#fff;font-weight:800;font-size:12px}.toggle[aria-pressed=true]{background:var(--lime)}.auth{min-height:100vh;display:flex;flex-direction:column}.auth .hero{padding-bottom:28px}.auth .card{margin:-14px 16px 16px;border:2px solid var(--ink);border-radius:4px 18px 18px;background:var(--paper2);padding:16px;position:relative}.linkbtn{border:0;background:none;padding:0;min-height:44px;font-weight:800;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:2px;color:var(--ink)}.player{background:#000;aspect-ratio:16 / 9;width:100%;display:block}.pdfwrap{height:calc(100vh - 200px);min-height:360px;border-top:2px solid var(--ink);border-bottom:2px solid var(--ink);background:#fff}.pdfwrap iframe{width:100%;height:100%;border:0}.qcard{border:2px solid var(--ink);border-radius:4px 16px 16px;background:var(--paper2);padding:14px;display:flex;flex-direction:column;gap:10px}.qcard h3{margin:0;font-size:17px;line-height:1.35}.opt{display:flex;align-items:center;gap:10px;min-height:52px;width:100%;padding:8px 12px;border:2px solid var(--ink);border-radius:12px;background:#fff;text-align:left;font-size:15px;color:var(--ink)}.opt b{width:28px;height:28px;border-radius:50%;border:2px solid var(--ink);display:grid;place-items:center;font:700 12px var(--f-mono);flex-shrink:0}.opt[aria-pressed=true],.opt.right{background:var(--lime)}.opt.wrong{background:var(--peach)}.qnav{display:flex;flex-wrap:wrap;gap:6px}.qnav button{width:40px;height:40px;border:2px solid var(--ink);border-radius:10px;background:#fff;font:700 12px var(--f-mono)}.qnav button.a{background:var(--lav)}.qnav button.c{background:var(--ink);color:var(--paper)}.timer{font:700 16px var(--f-mono);background:var(--paper);color:var(--ink);border:2px solid var(--ink);border-radius:99px;padding:4px 12px}.timer.low{background:var(--peach)}.thread{display:flex;flex-direction:column;gap:8px}.msg{max-width:85%;padding:8px 12px;border:2px solid var(--ink);border-radius:4px 12px 12px;background:#fff;font-size:13px;white-space:pre-line}.msg.me{align-self:flex-end;background:var(--lime);border-radius:12px 4px 12px 12px}.msg.sys{align-self:center;border-style:dashed;background:transparent;font-size:12px;color:var(--ink2)}.sk{background:linear-gradient(90deg,var(--grid) 0,#eef2ea 50%,var(--grid) 100%);background-size:200% 100%;animation:sk 1.2s linear infinite;border-radius:12px}@keyframes sk{to{background-position:-200% 0}}@media(prefers-reduced-motion:reduce){.sk{animation:none}}.data-saver .sk{animation:none}.toast{position:fixed;left:50%;bottom:calc(86px + env(safe-area-inset-bottom,0px));transform:translate(-50%,8px);max-width:min(360px,calc(100% - 32px));background:var(--ink);color:var(--paper);padding:10px 16px;border-radius:99px;font-size:13px;font-weight:600;text-align:center;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;z-index:50}.toast.show{opacity:1;transform:translate(-50%)}.offline{position:sticky;top:0;z-index:30;background:var(--sun);border-bottom:2px solid var(--ink);font:700 11px var(--f-mono);text-align:center;padding:6px}.errbox{margin:16px;padding:16px;border:2px solid var(--ink);border-radius:4px 16px 16px;background:var(--peach);display:flex;flex-direction:column;gap:10px;align-items:flex-start}.dialog{position:fixed;inset:0;z-index:40;display:grid;place-items:end center;background:#15181c73}.dialog>div{width:100%;max-width:480px;max-height:90vh;overflow:auto;background:var(--paper);border-top:2px solid var(--ink);border-radius:18px 18px 0 0;padding:16px 16px calc(16px + env(safe-area-inset-bottom,0px))}.dialog h3{margin:0 0 8px;font-size:20px}
