:root{--bg:#f3f4fa;--bg-2:#e9ebf6;--card:#fff;--card-2:#f7f8fd;--text:#121421;--text-2:#3c4057;--hint:#7c8199;--line:#12142114;--brand:#5b5cf0;--brand-2:#8b5cf6;--brand-soft:#5b5cf01a;--on-brand:#fff;--mint:#12b981;--mint-soft:#12b9811f;--amber:#f59e0b;--amber-soft:#f59e0b24;--red:#ef4444;--red-soft:#ef44441c;--shadow:0 1px 2px #1214320a, 0 6px 20px #1214320f;--shadow-lg:0 10px 40px #463cc847;--grad:linear-gradient(135deg, #5b5cf0 0%, #8b5cf6 55%, #c056e8 100%);--r:20px;--r-sm:14px;--tabbar:74px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--bg:#0b0c14;--bg-2:#12131e;--card:#161827;--card-2:#1c1f31;--text:#eef0fa;--text-2:#c3c7dc;--hint:#8a8fa9;--line:#ffffff12;--brand:#7c7dff;--brand-2:#a78bfa;--brand-soft:#7c7dff29;--mint:#34d399;--mint-soft:#34d39924;--amber-soft:#f59e0b29;--red:#f87171;--red-soft:#f8717124;--shadow:0 1px 2px #0000004d, 0 8px 24px #00000040;--shadow-lg:0 12px 40px #5a50ff59;--grad:linear-gradient(135deg, #4b4ce0 0%, #7c4ddf 55%, #a744d0 100%);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{background:var(--bg);color:var(--text);margin:0}body{-webkit-font-smoothing:antialiased;overscroll-behavior-y:none;font:15px/1.45 -apple-system,BlinkMacSystemFont,SF Pro Text,Inter,Segoe UI,Roboto,sans-serif}button{font:inherit;color:inherit}.num{font-variant-numeric:tabular-nums}.page{max-width:560px;padding:14px 16px calc(var(--tabbar) + 28px + env(safe-area-inset-bottom));margin:0 auto;animation:.28s cubic-bezier(.2,.8,.2,1) enter}.page.inner{padding-bottom:calc(110px + env(safe-area-inset-bottom))}@keyframes enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.title{letter-spacing:-.02em;margin:6px 2px 4px;font-size:26px;font-weight:800}.lead{color:var(--hint);margin:0 2px 16px;font-size:14px}.section{justify-content:space-between;align-items:center;margin:22px 4px 10px;display:flex}.section h3{letter-spacing:-.01em;margin:0;font-size:17px;font-weight:700}.more{color:var(--brand);cursor:pointer;background:0 0;border:0;padding:4px;font-size:14px;font-weight:600}.row{align-items:center;gap:12px;display:flex}.col{flex-direction:column;display:flex}.grow{flex:1;min-width:0}.ell{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.hint{color:var(--hint);font-size:13px}.center{text-align:center}.card{background:var(--card);border-radius:var(--r);box-shadow:var(--shadow);margin-bottom:12px;padding:16px}.tap{cursor:pointer;-webkit-user-select:none;user-select:none;transition:transform .12s,box-shadow .12s}.tap:active{transform:scale(.975)}.group{background:var(--card);border-radius:var(--r);box-shadow:var(--shadow);margin-bottom:12px;overflow:hidden}.group>.it{align-items:center;gap:12px;padding:13px 16px;display:flex}.group>.it+.it{border-top:1px solid var(--line)}.group>.it.tap:active{background:var(--card-2);transform:none}.icon-tile{background:var(--brand-soft);border-radius:13px;flex:none;place-items:center;width:44px;height:44px;font-size:22px;display:grid}.chev{color:var(--hint);font-size:20px}.hero{color:#fff;background:var(--grad);box-shadow:var(--shadow-lg);border-radius:26px;margin:4px 0 14px;padding:18px;position:relative;overflow:hidden}.hero:before,.hero:after{content:"";pointer-events:none;background:#ffffff1a;border-radius:50%;position:absolute}.hero:before{width:220px;height:220px;top:-90px;right:-70px}.hero:after{background:#ffffff12;width:140px;height:140px;bottom:-80px;right:40px}.hero .hello{opacity:.85;font-size:14px}.hero .name{letter-spacing:-.02em;margin-top:2px;font-size:22px;font-weight:800}.hero .meta{z-index:1;flex-wrap:wrap;gap:8px;margin-top:12px;display:flex;position:relative}.pill{border-radius:99px;align-items:center;gap:5px;padding:6px 10px;font-size:13px;font-weight:600;display:inline-flex}.pill.glass{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#fff;background:#ffffff2e}.pill.brand{background:var(--brand-soft);color:var(--brand)}.pill.mint{background:var(--mint-soft);color:var(--mint)}.pill.red{background:var(--red-soft);color:var(--red)}.pill.amber{background:var(--amber-soft);color:var(--amber)}.ring{flex:none;place-items:center;display:grid;position:relative}.ring svg{display:block;transform:rotate(-90deg)}.ring .track{stroke:var(--line)}.ring.on-grad .track{stroke:#ffffff38}.ring .val{transition:stroke-dashoffset .9s cubic-bezier(.2,.8,.2,1)}.ring .lbl{text-align:center;place-items:center;line-height:1.05;display:grid;position:absolute;inset:0}.ring .lbl b{font-variant-numeric:tabular-nums;font-size:20px;font-weight:800}.ring .lbl small{opacity:.75;text-transform:uppercase;letter-spacing:.04em;font-size:10px;font-weight:600}.btn{cursor:pointer;background:var(--brand);width:100%;color:var(--on-brand);border:0;border-radius:16px;justify-content:center;align-items:center;gap:8px;padding:15px 18px;font-size:16px;font-weight:700;transition:transform .1s,opacity .15s,filter .15s;display:inline-flex}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.45}.btn.grad{background:var(--grad);box-shadow:var(--shadow-lg)}.btn.soft{background:var(--brand-soft);color:var(--brand)}.btn.white{color:#4b3fd8;background:#fff}.btn.sm{border-radius:12px;width:auto;padding:9px 14px;font-size:14px}.btn.ghost{background:var(--card);color:var(--text);box-shadow:var(--shadow)}.dock{z-index:15;padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:linear-gradient(to top, var(--bg) 70%, transparent);position:fixed;bottom:0;left:0;right:0}.dock>*{max-width:528px;margin:0 auto}.bar{background:var(--line);border-radius:99px;height:8px;overflow:hidden}.bar>i{background:var(--grad);border-radius:99px;height:100%;transition:width .8s cubic-bezier(.2,.8,.2,1);display:block}.bar.done>i{background:var(--mint)}.dots{gap:6px;display:flex}.dots i{background:#ffffff40;border-radius:99px;width:100%;height:6px}.dots i.on{background:#fff}.dots.light i{background:var(--line)}.dots.light i.ok{background:var(--mint)}.dots.light i.bad{background:var(--red)}.dots.light i.cur{background:var(--brand)}.tiles{grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:12px;display:grid}.tile{background:var(--card);box-shadow:var(--shadow);border-radius:18px;padding:14px 12px}.tile .v{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:22px;font-weight:800}.tile .k{color:var(--hint);margin-top:2px;font-size:12px}.tile.red .v{color:var(--red)}.legend{color:var(--hint);flex-wrap:wrap;gap:12px;margin:0 4px 10px;font-size:12px;display:flex}.legend span{align-items:center;gap:5px;display:inline-flex}.legend i{border-radius:3px;width:10px;height:10px;display:inline-block}.grid{grid-template-columns:repeat(6,1fr);gap:7px;display:grid}.cell{aspect-ratio:1;cursor:pointer;font-variant-numeric:tabular-nums;background:var(--card);color:var(--text-2);box-shadow:var(--shadow);border:0;border-radius:12px;place-items:center;font-size:15px;font-weight:800;transition:transform .1s;display:grid;position:relative}.cell:active{transform:scale(.92)}.cell small{opacity:.8;font-size:9px;font-weight:700;position:absolute;bottom:5px}.cell.l1{background:var(--amber-soft);color:var(--amber)}.cell.l2{background:var(--brand-soft);color:var(--brand)}.cell.l3{background:var(--mint);color:#fff}.cell.dim{opacity:.35}.cell .dot{background:var(--red);border-radius:50%;width:7px;height:7px;position:absolute;top:6px;right:6px}.search{background:var(--card);width:100%;color:var(--text);font:inherit;box-shadow:var(--shadow);border:0;border-radius:16px;outline:none;margin-bottom:12px;padding:14px 16px}.search::placeholder{color:var(--hint)}.chips{scrollbar-width:none;gap:8px;padding:2px 2px 12px;display:flex;overflow-x:auto}.chips::-webkit-scrollbar{display:none}.chip{cursor:pointer;background:var(--card);color:var(--text-2);box-shadow:var(--shadow);border:0;border-radius:99px;flex:none;padding:8px 14px;font-size:14px;font-weight:600}.chip.on{background:var(--text);color:var(--bg)}.seg{background:var(--bg-2);border-radius:14px;margin-bottom:14px;padding:4px;display:flex}.seg button{cursor:pointer;color:var(--hint);background:0 0;border:0;border-radius:11px;flex:1;padding:9px;font-weight:600}.seg button.on{background:var(--card);color:var(--text);box-shadow:var(--shadow)}.qa{background:var(--card);border-radius:var(--r);box-shadow:var(--shadow);margin-bottom:10px;overflow:hidden}.qa-h{cursor:pointer;align-items:flex-start;gap:12px;padding:16px;display:flex}.qa-n{background:var(--brand-soft);width:30px;height:30px;color:var(--brand);border-radius:10px;flex:none;place-items:center;font-weight:800;display:grid}.qa-q{font-weight:650;line-height:1.4}.qa-t{color:var(--brand);margin-top:8px;font-size:13px;font-weight:600}.qa-a{white-space:pre-wrap;color:var(--text-2);padding:0 16px 16px 58px;line-height:1.55;animation:.2s ease-out enter}.q-top{align-items:center;gap:12px;margin:4px 0 18px;display:flex}.q-top .dots{flex:1}.q-count{color:var(--hint);font-variant-numeric:tabular-nums;font-weight:700}.q-meta{flex-wrap:wrap;gap:6px;margin-bottom:10px;display:flex}.q-text{letter-spacing:-.01em;white-space:pre-wrap;margin:0 0 18px;font-size:20px;font-weight:750;line-height:1.38}.opt{text-align:left;cursor:pointer;background:var(--card);width:100%;box-shadow:var(--shadow);border:2px solid #0000;border-radius:18px;align-items:center;gap:12px;margin-bottom:10px;padding:14px;transition:transform .1s,border-color .2s,background .2s,opacity .2s;display:flex}.opt:active:not(:disabled){transform:scale(.98)}.opt .l{background:var(--bg-2);width:34px;height:34px;color:var(--text-2);border-radius:11px;flex:none;place-items:center;font-weight:800;transition:background .2s,color .2s;display:grid}.opt:disabled{cursor:default}.opt.right{border-color:var(--mint);background:var(--mint-soft);animation:.35s ease-out pop}.opt.right .l{background:var(--mint);color:#fff}.opt.wrong{border-color:var(--red);background:var(--red-soft);animation:.35s ease-out shake}.opt.wrong .l{background:var(--red);color:#fff}.opt.dim{opacity:.45;box-shadow:none}@keyframes pop{50%{transform:scale(1.02)}}@keyframes shake{20%,60%{transform:translate(-5px)}40%,80%{transform:translate(5px)}}.feedback{border-radius:var(--r);margin-top:4px;padding:16px;animation:.25s ease-out enter}.feedback.ok{background:var(--mint-soft)}.feedback.bad{background:var(--red-soft)}.feedback h4{align-items:center;gap:8px;margin:0 0 6px;font-size:16px;display:flex}.feedback p{color:var(--text-2);margin:0;line-height:1.5}.result-hero{text-align:center;padding:26px 16px 18px}.result-hero .emoji{font-size:64px;animation:.6s ease-out pop}.result-hero h2{letter-spacing:-.02em;margin:6px 0 4px;font-size:34px;font-weight:850}.confetti{pointer-events:none;z-index:30;position:fixed;inset:0;overflow:hidden}.confetti i{border-radius:2px;width:8px;height:14px;animation:1.8s ease-in forwards fall;position:absolute;top:-10px}@keyframes fall{to{opacity:.8;transform:translateY(105vh)rotate(720deg)}}.podium{grid-template-columns:1fr 1fr 1fr;align-items:end;gap:8px;margin-bottom:12px;display:grid}.pod{text-align:center}.pod .av{color:#fff;background:var(--grad);border-radius:50%;place-items:center;width:54px;height:54px;margin:0 auto 6px;font-weight:800;display:grid;position:relative}.pod.p1 .av{width:66px;height:66px;font-size:20px;box-shadow:0 0 0 4px #facc1573}.pod .av em{font-size:20px;font-style:normal;position:absolute;bottom:-6px;right:-4px}.pod .nm{font-size:13px;font-weight:700}.pod .xp{color:var(--hint);font-size:12px}.pod .base{background:var(--card);box-shadow:var(--shadow);color:var(--hint);border-radius:14px 14px 6px 6px;place-items:center;margin-top:8px;font-weight:800;display:grid}.pod.p1 .base{color:#eab308;height:64px}.pod.p2 .base{height:46px}.pod.p3 .base{height:34px}.rank{text-align:center;width:28px;color:var(--hint);font-variant-numeric:tabular-nums;font-weight:800}.av-sm{background:var(--brand-soft);width:36px;height:36px;color:var(--brand);border-radius:50%;flex:none;place-items:center;font-size:13px;font-weight:800;display:grid}.it.me{background:var(--brand-soft)}.badges{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.bdg{background:var(--card);text-align:center;box-shadow:var(--shadow);border-radius:18px;padding:14px 8px 12px}.bdg .i{font-size:30px;line-height:1}.bdg .n{margin-top:6px;font-size:12px;font-weight:700}.bdg .d{color:var(--hint);margin-top:2px;font-size:10.5px;line-height:1.3}.bdg.off .i{filter:grayscale();opacity:.3}.bdg.off .n{color:var(--hint)}.bdg.on{background:linear-gradient(160deg, var(--card) 60%, var(--brand-soft))}.switch{flex:none;width:50px;height:30px;position:relative}.switch input{opacity:0;width:0;height:0}.switch span{background:var(--bg-2);cursor:pointer;border-radius:99px;transition:all .2s;position:absolute;inset:0}.switch span:after{content:"";background:#fff;border-radius:50%;width:24px;height:24px;transition:all .2s;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #00000040}.switch input:checked+span{background:var(--mint)}.switch input:checked+span:after{transform:translate(20px)}.tabbar{z-index:20;left:50%;bottom:calc(10px + env(safe-area-inset-bottom));background:color-mix(in srgb, var(--card) 88%, transparent);-webkit-backdrop-filter:blur(18px)saturate(1.6);width:min(528px,100% - 24px);box-shadow:0 8px 30px #00000024, inset 0 0 0 1px var(--line);border-radius:24px;grid-template-columns:repeat(4,1fr);padding:6px;display:grid;position:fixed;transform:translate(-50%)}.tabbar button{cursor:pointer;color:var(--hint);background:0 0;border:0;border-radius:18px;flex-direction:column;align-items:center;gap:3px;padding:8px 0 6px;font-size:11px;font-weight:600;transition:color .2s,background .2s;display:flex}.tabbar svg{width:23px;height:23px}.tabbar button.on{color:var(--brand);background:var(--brand-soft)}.overlay{z-index:40;background:#05060f73;animation:.2s fadein;position:fixed;inset:0}@keyframes fadein{0%{opacity:0}}.sheet{z-index:41;background:var(--card);max-width:560px;padding:10px 18px calc(18px + env(safe-area-inset-bottom));border-radius:26px 26px 0 0;margin:0 auto;animation:.28s cubic-bezier(.2,.8,.2,1) up;position:fixed;bottom:0;left:0;right:0}@keyframes up{0%{transform:translateY(100%)}}.sheet .grab{background:var(--line);border-radius:99px;width:40px;height:5px;margin:0 auto 14px}.skel{border-radius:var(--r);background:linear-gradient(90deg, var(--card) 25%, var(--card-2) 50%, var(--card) 75%);background-size:200% 100%;margin-bottom:12px;animation:1.2s infinite sh}@keyframes sh{to{background-position:-200% 0}}.empty{text-align:center;color:var(--hint);padding:40px 20px}.empty .e{margin-bottom:8px;font-size:52px}.empty p{margin:6px 0 16px}.toast{z-index:50;left:50%;bottom:calc(100px + env(safe-area-inset-bottom));text-align:center;background:var(--text);max-width:calc(100% - 32px);color:var(--bg);box-shadow:var(--shadow);border-radius:16px;padding:12px 16px;font-size:14px;font-weight:600;animation:.25s ease-out enter;position:fixed;transform:translate(-50%)}.file-ic{letter-spacing:.02em;color:#fff;border-radius:13px;flex:none;place-items:center;width:44px;height:44px;font-size:11px;font-weight:800;display:grid}.ann{border-left:4px solid var(--brand)}
