:root{--bg1:#eef2ff;--bg2:#f5f3ff;--bg3:#ecfeff;--card:#ffffff;--ink:#0f172a;--muted:#64748b;--line:#eef1f6;--brand:#6366f1;--brand-d:#4f46e5;--brand-l:#eef2ff;--teal:#14b8a6;--teal-d:#0d9488;--teal-l:#f0fdfa;--ok:#10b981;--ok-d:#059669;--ok-l:#ecfdf5;--no:#f43f5e;--no-d:#e11d48;--no-l:#fff1f2;--gold:#f59e0b;--radius:24px;--shadow:0 24px 60px -18px rgba(79,70,229,.3);--shadow-sm:0 8px 24px -10px rgba(15,23,42,.18)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;height:100%}body{font-family:PingFang SC,Microsoft YaHei,Segoe UI,system-ui,sans-serif;color:var(--ink);background:radial-gradient(1000px 500px at 12% -8%,#dbeafe 0%,transparent 55%),radial-gradient(900px 500px at 108% 6%,#fae8ff 0%,transparent 55%),radial-gradient(800px 600px at 50% 120%,#ccfbf1 0%,transparent 55%),linear-gradient(160deg,var(--bg1),var(--bg2) 50%,var(--bg3));min-height:100dvh;display:flex;flex-direction:column;align-items:center;padding:26px 16px 34px;overflow-x:hidden;overscroll-behavior-y:contain}#root{width:100%;display:flex;justify-content:center}.wrap{width:100%;max-width:680px;display:flex;flex-direction:column;gap:18px}svg{width:1em;height:1em;stroke-width:2.2;flex:none;vertical-align:-.14em}.bgfx{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none;background:linear-gradient(135deg,#eff6ff,#bfdbfe 25%,#60a5fa 50%,#3b82f6 70%,#93c5fd 88%,#dbeafe);background-size:300% 300%;animation:bgFlow 16s ease-in-out infinite alternate}@keyframes bgFlow{0%{background-position:0% 0%}50%{background-position:60% 40%}to{background-position:100% 100%}}.bgfx i{position:absolute;border-radius:50%;filter:blur(60px);will-change:transform,opacity}.bgfx .b1{width:70vmax;height:34vmax;left:-18vmax;top:-10vmax;opacity:.95;background:radial-gradient(closest-side,#fff,#fff0);animation:bgDrift1 13s ease-in-out infinite alternate}.bgfx .b2{width:64vmax;height:26vmax;right:-20vmax;top:4vmax;opacity:.85;background:radial-gradient(closest-side,#2563eb,#2563eb00);animation:bgDrift2 11s ease-in-out infinite alternate}.bgfx .b3{width:50vmax;height:18vmax;left:16vmax;top:38vh;opacity:.8;background:radial-gradient(closest-side,#22d3ee,#22d3ee00);animation:bgDrift3 9s ease-in-out infinite alternate}.bgfx .b4{width:36vmax;height:16vmax;left:34vw;bottom:-6vmax;opacity:.55;background:radial-gradient(closest-side,#fde047,#fde04700);animation:bgDrift4 14s ease-in-out infinite alternate}.bgfx .b5{width:60vmax;height:24vmax;left:-14vmax;bottom:-10vmax;opacity:.85;background:radial-gradient(closest-side,#bae6fd,#bae6fd00);animation:bgDrift5 12s ease-in-out infinite alternate}.bgfx .b6{width:44vmax;height:20vmax;right:-8vmax;bottom:6vh;opacity:.75;background:radial-gradient(closest-side,#60a5fa,#60a5fa00);animation:bgDrift6 10s ease-in-out infinite alternate}@keyframes bgDrift1{0%{transform:rotate(-18deg) translate(0) scale(1);opacity:.95}50%{transform:rotate(-8deg) translate(14vmax,8vmax) scale(1.25);opacity:.7}to{transform:rotate(-24deg) translate(-6vmax,12vmax) scale(.9);opacity:.95}}@keyframes bgDrift2{0%{transform:rotate(-22deg) translate(0) scale(1);opacity:.85}50%{transform:rotate(-32deg) translate(-18vmax,10vmax) scale(1.35);opacity:.55}to{transform:rotate(-14deg) translate(6vmax,-8vmax) scale(1.05);opacity:.9}}@keyframes bgDrift3{0%{transform:rotate(-24deg) translate(0) scale(1);opacity:.8}50%{transform:rotate(-12deg) translate(18vmax,-10vmax) scale(1.4);opacity:.45}to{transform:rotate(-30deg) translate(-10vmax,6vmax) scale(.85);opacity:.85}}@keyframes bgDrift4{0%{transform:rotate(-16deg) translate(0) scale(1);opacity:.55}50%{transform:rotate(-26deg) translate(-14vmax,-8vmax) scale(1.45);opacity:.3}to{transform:rotate(-10deg) translate(10vmax,-4vmax) scale(1.1);opacity:.6}}@keyframes bgDrift5{0%{transform:rotate(-20deg) translate(0) scale(1);opacity:.85}50%{transform:rotate(-10deg) translate(16vmax,-10vmax) scale(1.2);opacity:.6}to{transform:rotate(-28deg) translate(-8vmax,4vmax) scale(.95);opacity:.9}}@keyframes bgDrift6{0%{transform:rotate(-26deg) translate(0) scale(1);opacity:.75}50%{transform:rotate(-16deg) translate(-16vmax,12vmax) scale(1.3);opacity:.5}to{transform:rotate(-32deg) translate(8vmax,-6vmax) scale(1.05);opacity:.8}}header{text-align:center;display:flex;flex-direction:column;align-items:center;gap:6px}.logo{width:64px;height:64px;border-radius:18px;display:grid;place-items:center;background:#fff;padding:6px;box-shadow:0 14px 30px -10px #0f172a47;border:1px solid #eef1f6}.logo img{width:100%;height:100%;object-fit:contain;display:block}header h1{margin:2px 0 0;font-size:24px;letter-spacing:.5px;font-weight:900;color:var(--ink)}header .sub{font-size:13px;color:var(--muted);display:flex;align-items:center;gap:6px;font-size:19px}header .sub span{font-size:13px}header .sub b{color:var(--brand-d)}.stats{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}.stat{background:#ffffffbf;backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.9);border-radius:18px;padding:12px 6px 10px;text-align:center;box-shadow:var(--shadow-sm)}.stat .ic{font-size:18px;display:inline-grid;place-items:center;width:34px;height:34px;border-radius:11px;margin-bottom:4px}.stat b{display:block;font-size:22px;font-weight:900;line-height:1.1;color:var(--ink)}.stat span{font-size:11px;color:var(--muted)}.stat.i-done .ic{color:var(--brand-d);background:var(--brand-l)}.stat.i-ok .ic{color:var(--ok-d);background:var(--ok-l)}.stat.i-no .ic{color:var(--no-d);background:var(--no-l)}.stat.i-to .ic{color:#b45309;background:#fef3c7}.stat.i-streak .ic{color:#ea580c;background:#ffedd5}.stat.i-left .ic{color:var(--teal-d);background:var(--teal-l)}@media (max-width:520px){.stats{grid-template-columns:repeat(3,1fr)}}.progress{height:10px;border-radius:10px;background:#e7ebf3;overflow:hidden;box-shadow:inset 0 1px 3px #0f172a14}.progress>i{display:block;height:100%;width:0;border-radius:10px;background:linear-gradient(90deg,var(--brand),var(--teal),var(--gold));transition:width .45s cubic-bezier(.4,0,.2,1)}.card{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);padding:26px 24px 22px;position:relative;min-height:270px;display:flex;flex-direction:column;border:1px solid #fff;animation:pop .4s cubic-bezier(.34,1.56,.64,1);overflow:hidden}.card:before{content:"";position:absolute;inset:0 0 auto;height:6px;z-index:2;background:#eef1f6}@keyframes pop{0%{opacity:0;transform:translateY(16px) scale(.97)}to{opacity:1;transform:none}}.card .tag{display:inline-flex;align-self:flex-start;gap:6px;align-items:center;font-size:12px;font-weight:800;color:var(--brand-d);background:var(--brand-l);border:1px solid #e0e7ff;padding:5px 13px;border-radius:999px;margin-bottom:16px}.q{font-size:20px;line-height:1.7;font-weight:800;color:var(--ink)}.q .num{color:var(--brand-d);margin-right:6px;font-weight:900}.answer{margin-top:18px;font-size:16px;line-height:1.75;color:#0f766e;background:linear-gradient(135deg,var(--teal-l),#ecfeff);border-radius:16px;padding:15px 17px;border:1px solid #ccfbf1;animation:reveal .35s ease}.answer .lbl{font-size:12px;font-weight:900;color:var(--teal-d);display:flex;align-items:center;gap:5px;margin-bottom:7px;letter-spacing:1px}@keyframes reveal{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}.spacer{flex:1}.btns{display:flex;gap:12px;margin-top:20px}button{border:0;cursor:pointer;font-family:inherit;font-weight:800;font-size:16px;border-radius:16px;padding:14px 15px;flex:1;color:#fff;position:relative;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-shadow:0 1px 2px rgba(0,0,0,.2);--edge:#4338ca;--glow:rgba(79,70,229,.55);box-shadow:0 6px 0 var(--edge),0 16px 26px -10px var(--glow),inset 0 2px #fff6,inset 0 -3px 6px #00000014;transition:transform .08s,box-shadow .08s,filter .12s}button:hover{filter:brightness(1.06)}button:active{transform:translateY(5px);box-shadow:0 1px 0 var(--edge),0 6px 12px -8px var(--glow),inset 0 2px #ffffff40,inset 0 -2px 4px #0000001a}.btn-show{--edge:#4338ca;--glow:rgba(79,70,229,.6);background:linear-gradient(180deg,#96a6ff,#6366f1 55%,#5457ea)}.btn-ok{--edge:#047857;--glow:rgba(5,150,105,.55);background:linear-gradient(180deg,#6ee7b7,#10b981 55%,#0ca678)}.btn-no{--edge:#be123c;--glow:rgba(225,29,72,.5);background:linear-gradient(180deg,#fda4af,#f43f5e 55%,#e5304e)}.tools{display:flex;justify-content:center;align-items:center;gap:10px;flex-wrap:wrap}.tools a{color:var(--ink);text-decoration:none;background:#fffc;border:1px solid #fff;box-shadow:var(--shadow-sm);padding:9px 15px;border-radius:13px;cursor:pointer;font-weight:700;font-size:13px;display:inline-flex;align-items:center;gap:6px;transition:transform .12s}.tools a:hover{transform:translateY(-1px)}.tools a:active{transform:translateY(1px)}.tools .rate{background:linear-gradient(135deg,var(--brand-l),var(--teal-l));color:var(--brand-d);padding:9px 15px;border-radius:13px;font-weight:800;font-size:13px}.tools a.on-test{background:#fef3c7;color:#b45309;border-color:#fde68a}.done{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);padding:38px 26px;text-align:center;border:1px solid #fff;position:relative;overflow:hidden;animation:pop .4s cubic-bezier(.34,1.56,.64,1)}.done:before{content:"";position:absolute;inset:0 0 auto;height:5px;background:linear-gradient(90deg,var(--brand),var(--teal),var(--gold))}.done .medal{width:96px;height:96px;margin:0 auto 8px;border-radius:50%;display:grid;place-items:center;font-size:46px;color:#fff;background:linear-gradient(135deg,var(--gold),var(--brand));box-shadow:0 16px 34px -10px #f59e0b99}.done h2{margin:6px 0 2px;font-size:24px;font-weight:900}.done .score{font-size:60px;font-weight:900;line-height:1.1;background:linear-gradient(135deg,var(--brand-d),var(--teal-d),var(--gold));-webkit-background-clip:text;background-clip:text;color:transparent}.done p{color:var(--muted);margin:8px 0 22px;font-size:14px}.session{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:-4px}.sess-time{display:inline-flex;align-items:center;gap:7px;font-weight:800;font-size:14px;font-variant-numeric:tabular-nums;color:var(--ink);background:#fffc;border:1px solid #fff;box-shadow:var(--shadow-sm);padding:8px 14px;border-radius:13px}.sess-time svg{color:var(--brand-d)}.sess-time b{color:var(--brand-d);font-variant-numeric:tabular-nums}.sess-pause{cursor:pointer;display:inline-flex;align-items:center;gap:6px;font-weight:800;font-size:14px;color:#fff;padding:9px 16px;border-radius:13px;text-shadow:0 1px 2px rgba(0,0,0,.2);background:linear-gradient(180deg,#96a6ff,#6366f1 55%,#5457ea);box-shadow:0 4px #4338ca,0 12px 20px -8px #4f46e58c,inset 0 1px #fff6;transition:transform .08s,box-shadow .08s,filter .12s}.sess-pause:hover{filter:brightness(1.05)}.sess-pause:active{transform:translateY(3px);box-shadow:0 1px #4338ca,0 5px 10px -6px #4f46e580,inset 0 1px #ffffff4d}.sess-pause.paused{background:linear-gradient(180deg,#6ee7b7,#10b981 55%,#0ca678);box-shadow:0 4px #047857,0 12px 20px -8px #05966980,inset 0 1px #fff6}.sess-pause.paused:active{transform:translateY(3px);box-shadow:0 1px #047857,0 5px 10px -6px #05966980,inset 0 1px #ffffff4d}.pausemask{position:absolute;inset:0;z-index:8;background:#ffffffe6;backdrop-filter:blur(6px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;text-align:center;padding:24px;animation:fade .15s ease;border-radius:var(--radius)}.pausemask .pm-ic{width:74px;height:74px;border-radius:50%;display:grid;place-items:center;font-size:34px;color:#fff;position:relative;overflow:hidden;background:linear-gradient(135deg,#eff6ff,#bfdbfe 22%,#60a5fa 48%,#3b82f6,#22d3ee 84%,#dbeafe);background-size:320% 320%;animation:pmFlow 7s ease-in-out infinite alternate;box-shadow:0 14px 30px -10px #3b82f6a6}.pausemask .pm-ic:before{content:"";position:absolute;width:140%;height:70%;left:-20%;top:-18%;border-radius:50%;background:radial-gradient(closest-side,#fffffff2,#fff0);filter:blur(8px);animation:pmMist 5s ease-in-out infinite alternate}.pausemask .pm-ic:after{content:"";position:absolute;width:90%;height:55%;right:-25%;bottom:-16%;border-radius:50%;background:radial-gradient(closest-side,#22d3eed9,#22d3ee00);filter:blur(9px);animation:pmMist2 6s ease-in-out infinite alternate}.pausemask .pm-ic>*{position:relative;z-index:1;filter:drop-shadow(0 2px 6px rgba(30,64,175,.55))}@keyframes pmFlow{0%{background-position:0% 0%}50%{background-position:70% 40%}to{background-position:100% 100%}}@keyframes pmMist{0%{transform:translate(0) scale(1);opacity:.9}to{transform:translate(18%,26%) scale(1.25);opacity:.55}}@keyframes pmMist2{0%{transform:translate(0) scale(1);opacity:.75}to{transform:translate(-24%,-18%) scale(1.3);opacity:.45}}.pausemask .pm-t{font-size:20px;font-weight:900;color:var(--ink)}.pausemask .pm-s{font-size:13px;color:var(--muted);margin-top:-6px}.pausemask .pm-btn{border:0;cursor:pointer;font-family:inherit;font-weight:800;font-size:16px;color:#fff;border-radius:14px;padding:13px 26px;display:inline-flex;align-items:center;gap:8px;text-shadow:0 1px 2px rgba(0,0,0,.2);flex:none;background:linear-gradient(180deg,#6ee7b7,#10b981 55%,#0ca678);box-shadow:0 5px #047857,0 14px 24px -8px #0596698c,inset 0 2px #fff6;transition:transform .08s,box-shadow .08s}.pausemask .pm-btn:active{transform:translateY(4px);box-shadow:0 1px #047857,0 6px 12px -8px #05966980,inset 0 2px #ffffff4d}.crow{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px}.crow .tag{margin-bottom:0}.deplete{position:absolute;top:0;left:0;height:6px;z-index:3;width:100%;border-radius:0 4px 4px 0;background:var(--ok);transition:width 1s linear,background .35s}.deplete.warn{background:var(--gold)}.deplete.danger{background:var(--no)}.ring{position:relative;width:62px;height:62px;flex:none}.ring svg{width:62px;height:62px;transform:rotate(-90deg)}.ring .rbg{fill:none;stroke:#eef1f6;stroke-width:6}.ring .rfg{fill:none;stroke:var(--ok);stroke-width:6;stroke-linecap:round;transition:stroke-dashoffset 1s linear,stroke .3s}.ring.warn .rfg{stroke:var(--gold)}.ring.danger .rfg{stroke:var(--no)}.ring .rnum{position:absolute;inset:0;display:grid;place-items:center;font-size:24px;font-weight:900;font-variant-numeric:tabular-nums;color:var(--ink)}.ring.warn .rnum{color:#b45309}.ring.danger .rnum{color:var(--no-d);animation:pulseNum .5s ease-in-out infinite}@keyframes pulseNum{0%,to{transform:scale(1)}50%{transform:scale(1.35)}}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-4px)}40%{transform:translate(4px)}60%{transform:translate(-3px)}80%{transform:translate(3px)}}.card.shake{animation:shake .32s ease-in-out infinite}.card.danger-glow{box-shadow:0 0 0 3px #f43f5e59,var(--shadow)}.fill{margin-top:18px}.fill .fl{font-size:12px;font-weight:800;color:var(--brand-d);margin-bottom:8px;display:flex;align-items:center;gap:5px}.fill input{width:100%;font-size:19px;font-weight:800;padding:15px 16px;border-radius:14px;border:2px solid #e2e8f0;outline:none;font-family:inherit;color:var(--ink);background:#f8fafc;transition:border-color .15s,box-shadow .15s,background .15s}.fill input::placeholder{color:#b6c0cf;font-weight:600}.fill input:focus{border-color:var(--brand);background:#fff;box-shadow:0 0 0 4px var(--brand-l)}.fill input:disabled{opacity:.75}.your{margin-top:14px;font-size:15px;line-height:1.65;padding:12px 15px;border-radius:14px;border:1px solid}.your .lbl{font-size:12px;font-weight:900;display:flex;align-items:center;gap:5px;margin-bottom:5px;letter-spacing:.5px}.your.ok{color:var(--ok-d);background:var(--ok-l);border-color:#a7f3d0}.your.bad{color:var(--no-d);background:var(--no-l);border-color:#fecdd3}.your .txt{color:var(--ink);font-weight:700}.flash{position:absolute;inset:0;z-index:9;background:#e11d48f2;color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;text-align:center;padding:24px;animation:flashIn .18s ease}@keyframes flashIn{0%{opacity:0;transform:scale(1.04)}to{opacity:1;transform:none}}.flash .ft{font-size:38px;font-weight:900;display:flex;align-items:center;gap:10px;letter-spacing:2px}.flash .fa{font-size:16px;line-height:1.7;opacity:.96;max-width:90%}.flash .fa b{display:block;font-size:12px;letter-spacing:1px;opacity:.85;margin-bottom:4px}.overlay{position:fixed;inset:0;background:#0f172a8c;backdrop-filter:blur(4px);display:none;align-items:center;justify-content:center;padding:16px;z-index:50;animation:fade .2s ease}.overlay.show{display:flex}@keyframes fade{0%{opacity:0}to{opacity:1}}.modal{width:100%;max-width:620px;max-height:88dvh;background:var(--card);border-radius:22px;box-shadow:var(--shadow);display:flex;flex-direction:column;overflow:hidden;animation:pop .32s cubic-bezier(.34,1.56,.64,1)}.modal-head{display:flex;align-items:center;justify-content:space-between;padding:18px 20px 12px}.mh-title{font-size:18px;font-weight:900;display:flex;align-items:center;gap:8px;color:var(--ink)}.mh-title .n{color:var(--no-d)}.mh-close{cursor:pointer;color:var(--muted);font-size:22px;display:grid;place-items:center;width:36px;height:36px;border-radius:11px;background:#f1f5f9}.mh-close:hover{background:#e2e8f0}.tabs{display:flex;gap:8px;padding:0 20px 6px}.tab{flex:1;text-align:center;cursor:pointer;font-weight:800;font-size:14px;color:var(--muted);padding:10px;border-radius:12px;background:#f4f6fb;display:flex;align-items:center;justify-content:center;gap:6px}.tab.active{color:#fff;background:linear-gradient(135deg,var(--brand),var(--brand-d));box-shadow:0 8px 18px -8px #4f46e599}.modal-body{padding:14px 20px;overflow-y:auto;flex:1}.modal-foot{padding:12px 20px 18px;display:flex;gap:10px;border-top:1px solid var(--line)}.modal-foot button{padding:13px;font-size:15px}.btn-ghost{--edge:#cbd5e1;--glow:rgba(15,23,42,.2);color:var(--ink)!important;text-shadow:none;background:linear-gradient(180deg,#fff,#eef2f7)!important}.btn-danger{--edge:#be123c;--glow:rgba(225,29,72,.5);background:linear-gradient(180deg,#fda4af,#f43f5e 55%,#e5304e)!important}#dlg-overlay{z-index:60}.dlg{width:100%;max-width:380px;background:var(--card);border-radius:22px;box-shadow:var(--shadow);padding:28px 24px 22px;text-align:center;border:1px solid #fff;animation:pop .32s cubic-bezier(.34,1.56,.64,1)}.dlg-ic{width:66px;height:66px;margin:0 auto 14px;border-radius:50%;display:grid;place-items:center;font-size:30px;color:#fff}.dlg-ic.info{background:linear-gradient(135deg,var(--brand),var(--brand-d));box-shadow:0 14px 28px -10px #4f46e599}.dlg-ic.ok{background:linear-gradient(135deg,var(--ok),var(--ok-d));box-shadow:0 14px 28px -10px #0596698c}.dlg-ic.warn{background:linear-gradient(135deg,var(--gold),#f97316);box-shadow:0 14px 28px -10px #f59e0b99}.dlg-ic.danger{background:linear-gradient(135deg,var(--no),var(--no-d));box-shadow:0 14px 28px -10px #e11d488c}.dlg-t{font-size:19px;font-weight:900;color:var(--ink);margin-bottom:8px}.dlg-m{font-size:14px;line-height:1.8;color:var(--muted);margin-bottom:22px}.dlg-m b{color:var(--no-d)}.dlg-btns{display:flex;gap:10px}.dlg-btns button{padding:13px;font-size:15px}.empty{text-align:center;color:var(--muted);padding:36px 10px;font-size:15px}.empty .big{font-size:44px;color:#cbd5e1;display:block;margin-bottom:8px}.search{position:sticky;top:0;z-index:4;display:flex;gap:8px;margin:0 0 12px;padding:6px 0 10px;background:linear-gradient(#fff 72%,#fff0)}.search .box{flex:1;display:flex;align-items:center;gap:8px;background:#f4f6fb;border:2px solid #e2e8f0;border-radius:13px;padding:0 12px;transition:border-color .15s,box-shadow .15s}.search .box:focus-within{border-color:var(--brand);background:#fff;box-shadow:0 0 0 4px var(--brand-l)}.search .box svg{color:var(--muted);font-size:17px}.search input{flex:1;border:0;outline:0;background:transparent;font-family:inherit;font-size:15px;font-weight:700;color:var(--ink);padding:11px 0}.search input::placeholder{color:#b6c0cf;font-weight:600}.search .go{flex:none;border:0;cursor:pointer;font-family:inherit;font-weight:800;font-size:14px;color:#fff;border-radius:13px;padding:0 16px;display:inline-flex;align-items:center;gap:6px;text-shadow:0 1px 2px rgba(0,0,0,.2);background:linear-gradient(180deg,#96a6ff,#6366f1 55%,#5457ea);box-shadow:0 4px #4338ca,0 10px 18px -8px #4f46e58c,inset 0 1px #fff6;transition:transform .08s,box-shadow .08s}.search .go:active{transform:translateY(3px);box-shadow:0 1px #4338ca,0 5px 10px -6px #4f46e580,inset 0 1px #ffffff4d}.search-tip{font-size:12px;color:var(--no-d);margin:-6px 0 10px;padding-left:4px;display:none}.search-tip.show{display:block}.wq{border:1px solid var(--line);border-radius:16px;padding:14px 16px;margin-bottom:12px;background:#fff;box-shadow:0 4px 14px -10px #0f172a4d;transition:box-shadow .3s,border-color .3s,background .3s;scroll-margin-top:64px}.wq.hit{border-color:var(--brand);background:var(--brand-l);box-shadow:0 0 0 3px var(--brand-l),0 10px 24px -12px #4f46e580;animation:hitp 1.4s ease}@keyframes hitp{0%{box-shadow:0 0 0 6px #6366f159}to{box-shadow:0 0 0 3px var(--brand-l)}}.wq .qh{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.wq .qid{font-weight:900;color:var(--brand-d);font-size:13px;flex:none}.wq .qtext{font-weight:700;line-height:1.6;color:var(--ink);font-size:15px}.wq .qa{margin-top:10px;font-size:14px;line-height:1.65;color:#0f766e;background:var(--teal-l);border:1px solid #ccfbf1;border-radius:12px;padding:10px 12px}.wq .qa .lbl{font-size:11px;font-weight:900;color:var(--teal-d);display:block;margin-bottom:4px;letter-spacing:1px}.badges{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}.badge{font-size:11px;font-weight:800;padding:3px 9px;border-radius:999px;display:inline-flex;align-items:center;gap:4px}.badge.no{color:var(--no-d);background:var(--no-l)}.badge.to{color:#b45309;background:#fef3c7}.badge.del{margin-left:auto;cursor:pointer;color:var(--muted);background:#f1f5f9}.badge.del:hover{color:var(--no-d);background:var(--no-l)}.an-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:16px}.an-card{background:#f8fafc;border:1px solid var(--line);border-radius:16px;padding:14px 8px;text-align:center}.an-card b{display:block;font-size:26px;font-weight:900;line-height:1.1}.an-card span{font-size:12px;color:var(--muted)}.an-card.c1 b{color:var(--no-d)}.an-card.c2 b{color:#b45309}.an-card.c3 b{color:var(--brand-d)}.an-h{font-weight:900;font-size:14px;margin:6px 0 10px;display:flex;align-items:center;gap:6px;color:var(--ink)}.bar-row{display:flex;align-items:center;gap:10px;margin-bottom:9px}.bar-row .bl{font-size:12px;color:var(--muted);width:112px;flex:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bar-track{flex:1;height:14px;background:#eef1f6;border-radius:8px;overflow:hidden}.bar-fill{height:100%;border-radius:8px;background:linear-gradient(90deg,var(--no),var(--gold))}.bar-row .bn{font-size:12px;font-weight:800;color:var(--ink);width:28px;text-align:right;flex:none}.foot{display:flex;justify-content:center;align-items:center;gap:9px;flex-wrap:wrap;font-size:12px;color:#ffffffe6;text-shadow:0 1px 6px rgba(30,64,175,.45);margin-top:-8px;text-align:center}.foot .cp b{color:#fff;font-weight:900;letter-spacing:.5px}.foot a{color:var(--brand-d);cursor:pointer;text-decoration:none;font-weight:800;font-size:12px;display:inline-flex;align-items:center;gap:5px;padding:6px 12px;border-radius:11px;background:#ffffffbf;border:1px solid #fff;box-shadow:var(--shadow-sm);transition:transform .12s,filter .12s}.foot a:hover{transform:translateY(-1px);filter:brightness(1.03)}.foot a:active{transform:translateY(1px)}.foot a.copied{color:var(--ok-d);background:var(--ok-l);border-color:#a7f3d0}.ach-pop{position:fixed;top:16px;left:50%;transform:translate(-50%);z-index:99;pointer-events:none;display:flex;align-items:center;gap:13px;padding:14px 24px 14px 14px;border-radius:18px;background:linear-gradient(135deg,#fffbeb,#fef3c7);border:2px solid #fcd34d;max-width:92vw;box-shadow:0 18px 44px -10px #f59e0b8c,0 0 0 6px #fcd34d2e;animation:achIn .55s cubic-bezier(.34,1.56,.64,1),achOut .4s ease 3.6s forwards;overflow:hidden}@keyframes achIn{0%{opacity:0;transform:translate(-50%) translateY(-70px) scale(.8)}to{opacity:1;transform:translate(-50%) translateY(0) scale(1)}}@keyframes achOut{to{opacity:0;transform:translate(-50%) translateY(-40px) scale(.9)}}.ach-pop:after{content:"";position:absolute;top:0;left:-80%;width:60%;height:100%;background:linear-gradient(105deg,transparent,rgba(255,255,255,.85),transparent);animation:achShine 1.1s ease .35s 2}@keyframes achShine{0%{left:-80%}to{left:120%}}.ach-pop .ai{width:52px;height:52px;flex:none;border-radius:14px;display:grid;place-items:center;font-size:26px;color:#fff;background:linear-gradient(135deg,var(--gold),#f97316);box-shadow:0 8px 18px -6px #f59e0bb3;animation:achIcon .8s cubic-bezier(.34,1.56,.64,1)}@keyframes achIcon{0%{transform:scale(0) rotate(-180deg)}70%{transform:scale(1.25) rotate(10deg)}to{transform:scale(1) rotate(0)}}.ach-pop .at{font-size:11px;font-weight:900;letter-spacing:2px;color:#b45309;display:flex;align-items:center;gap:4px}.ach-pop .an2{font-size:17px;font-weight:900;color:var(--ink);line-height:1.35}.ach-pop .ad{font-size:12px;color:#92400e;font-weight:700}.conf{position:fixed;z-index:98;top:0;left:0;width:100%;height:0;pointer-events:none}.conf i{position:absolute;top:-16px;border-radius:2px;opacity:.95;animation:confFall linear forwards}.conf i.rd{border-radius:50%}@keyframes confFall{0%{transform:translate(0) rotate(0);opacity:1}80%{opacity:1}to{transform:translate(var(--sway,0px),88vh) rotate(900deg);opacity:0}}.ach-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.ach-item{border:1px solid var(--line);border-radius:16px;padding:13px 12px;display:flex;gap:11px;align-items:center;background:#fff;box-shadow:0 4px 14px -10px #0f172a4d}.ach-item .ic2{width:42px;height:42px;flex:none;border-radius:12px;display:grid;place-items:center;font-size:20px;color:#fff;background:linear-gradient(135deg,var(--gold),#f97316);box-shadow:0 6px 14px -6px #f59e0b99}.ach-item.locked{opacity:.55;filter:grayscale(1);background:#f8fafc;box-shadow:none}.ach-item b{display:block;font-size:14px;font-weight:900;color:var(--ink)}.ach-item span{font-size:11px;color:var(--muted);line-height:1.5;display:block;margin-top:2px}.ach-item .got{color:var(--gold);font-weight:800}@media (max-width:460px){.ach-grid{grid-template-columns:1fr}}.login-wrap{width:100%;max-width:420px;margin:8vh auto 0}.login-card{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);padding:34px 30px 26px;border:1px solid #fff;text-align:center;animation:pop .4s cubic-bezier(.34,1.56,.64,1)}.login-logo{width:86px;height:86px;margin:0 auto 14px;border-radius:24px;display:grid;place-items:center;background:#fff;border:1px solid #eef2f7;box-shadow:0 14px 30px -14px #0f172a59;padding:10px}.login-logo img{width:100%;height:100%;object-fit:contain;display:block}.login-pw{position:relative}.login-pw .login-input{padding-right:52px}.pw-eye{position:absolute;top:50%;right:7px;transform:translateY(-50%);width:36px;height:36px;flex:none;padding:0;margin:0;border:none;border-radius:10px;background:transparent;cursor:pointer;display:grid;place-items:center;color:#94a3b8;font-size:19px;line-height:1;box-shadow:none;text-shadow:none;transition:background .15s,color .15s;-webkit-user-select:none;user-select:none;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.pw-eye:hover{filter:none;background:#eef2f7;color:var(--brand-d);box-shadow:none}.pw-eye:active{transform:translateY(-50%);background:var(--brand-l);color:var(--brand-d);box-shadow:none}.login-card h2{margin:0 0 4px;font-size:21px;font-weight:900;color:var(--ink)}.login-sub{margin:0 0 20px;font-size:13px;color:var(--muted)}.login-lbl{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:900;color:var(--brand-d);margin:14px 0 7px;text-align:left}.login-input{width:100%;font-size:16px;font-weight:700;padding:13px 15px;border-radius:14px;border:2px solid #e2e8f0;outline:none;font-family:inherit;color:var(--ink);background:#f8fafc;transition:border-color .15s,box-shadow .15s,background .15s}.login-input:focus{border-color:var(--brand);background:#fff;box-shadow:0 0 0 4px var(--brand-l)}.login-err{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:14px;font-size:13px;font-weight:800;color:var(--no-d);background:var(--no-l);border:1px solid #fecdd3;border-radius:12px;padding:10px 12px;animation:reveal .25s ease}.login-btn{width:100%;margin-top:20px}.login-btn:disabled{opacity:.7;cursor:default}.login-lang{display:inline-flex;align-items:center;gap:6px;margin-top:18px;cursor:pointer;font-size:13px;font-weight:800;color:var(--brand-d)}.login-lang:hover{text-decoration:underline}.dash{width:100%;display:flex;flex-direction:column;gap:16px}.dash-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.dash-head h2{margin:0;font-size:20px;font-weight:900;color:#fff;text-shadow:0 1px 8px rgba(30,64,175,.5);display:flex;align-items:center;gap:8px}.dash-back{color:var(--ink);text-decoration:none;background:#ffffffd9;border:1px solid #fff;box-shadow:var(--shadow-sm);cursor:pointer;padding:9px 15px;border-radius:13px;font-weight:800;font-size:13px;display:inline-flex;align-items:center;gap:6px;transition:transform .12s}.dash-back:hover{transform:translateY(-1px)}.dash-head>span{width:90px}.dash-cards{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.dash-card{background:#ffffffe0;backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.95);border-radius:18px;padding:14px 8px 12px;text-align:center;box-shadow:var(--shadow-sm)}.dash-card .dc-ic{font-size:18px;display:inline-grid;place-items:center;width:36px;height:36px;border-radius:12px;margin-bottom:6px}.dash-card b{display:block;font-size:20px;font-weight:900;line-height:1.15;color:var(--ink)}.dash-card span{font-size:11px;color:var(--muted)}.dash-card.c-brand .dc-ic{color:var(--brand-d);background:var(--brand-l)}.dash-card.c-teal .dc-ic{color:var(--teal-d);background:var(--teal-l)}.dash-card.c-ok .dc-ic{color:var(--ok-d);background:var(--ok-l)}.dash-card.c-gold .dc-ic{color:#b45309;background:#fef3c7}.dash-card.c-no .dc-ic{color:var(--no-d);background:var(--no-l)}.dash-panel{background:var(--card);border-radius:20px;box-shadow:var(--shadow-sm);border:1px solid #fff;padding:18px 18px 16px}.dash-pt{font-size:15px;font-weight:900;color:var(--ink);display:flex;align-items:center;gap:7px;margin-bottom:12px}.dash-pt svg{color:var(--brand-d)}.dash-empty{text-align:center;color:var(--muted);font-size:13px;font-weight:700;display:flex;align-items:center;justify-content:center;gap:7px}.dash-tw{overflow-x:auto}.dash-table{width:100%;border-collapse:collapse;font-size:13px;white-space:nowrap}.dash-table th{font-size:11px;font-weight:900;color:var(--muted);text-align:left;padding:8px 10px;border-bottom:2px solid var(--line);letter-spacing:.5px}.dash-table td{padding:9px 10px;border-bottom:1px solid var(--line);font-weight:700;color:var(--ink)}.dash-table tbody tr{cursor:pointer;transition:background .12s}.dash-table tbody tr:hover{background:var(--brand-l)}.dash-table .td-name{font-weight:900}.dash-table .td-mono{font-family:Consolas,monospace;color:var(--muted);font-weight:600}.dash-table .td-ok{color:var(--ok-d)}.dash-table .td-no{color:var(--no-d)}.dash-table .td-to{color:#b45309}.dash-table .td-dim{color:var(--muted);font-weight:600;font-size:12px}.acc-pill{display:inline-block;font-size:12px;font-weight:900;padding:3px 10px;border-radius:999px}.hq{padding:9px 0;border-bottom:1px solid var(--line)}.hq:last-child{border-bottom:0}.hq-t{font-size:13px;font-weight:700;color:var(--ink);line-height:1.55;margin-bottom:6px}.hq-t b{color:var(--brand-d);margin-right:5px}.hq-b{display:flex;align-items:center;gap:10px}.hq-n{flex:none;font-size:12px;font-weight:800;color:var(--muted)}@media (max-width:640px){.dash-cards{grid-template-columns:repeat(2,1fr)}.dash-cards .dash-card:last-child{grid-column:span 2}}.loading{color:#fffffff2;text-shadow:0 1px 6px rgba(30,64,175,.45);text-align:center;padding:60px 20px;font-size:16px;font-weight:700;display:flex;flex-direction:column;align-items:center;gap:14px}.loading .sp{width:38px;height:38px;border-radius:50%;border:4px solid rgba(255,255,255,.4);border-top-color:#fff;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width:520px){body{padding:16px 12px 24px}.wrap{gap:13px}header h1{font-size:22px}.logo{width:54px;height:54px;border-radius:15px}header .sub span{font-size:12px}.stat .ic{width:30px;height:30px;font-size:16px;border-radius:9px}.stat b{font-size:20px}.card{padding:20px 16px 18px;border-radius:20px;min-height:240px}.q{font-size:18px;line-height:1.65}.crow{margin-bottom:10px}.crow .tag{font-size:11px;padding:4px 10px}.ring{width:54px;height:54px}.ring svg{width:54px;height:54px}.ring .rnum{font-size:20px}.fill input{font-size:17px;padding:13px 14px}.answer{font-size:15px;padding:13px 14px}.your{font-size:14px}.flash .ft{font-size:30px}.flash .fa{font-size:15px}.btns{gap:10px;margin-top:16px}.sess-time{font-size:13px;padding:7px 12px}.sess-pause{font-size:13px;padding:8px 14px}.tools{gap:8px}.tools a,.tools .rate{padding:8px 12px;font-size:12px}.done{padding:30px 18px}.done .score{font-size:50px}.done .medal{width:82px;height:82px;font-size:40px}.done .btns{flex-direction:column}.modal{max-height:92dvh;border-radius:18px}.modal-head{padding:15px 16px 10px}.modal-body{padding:12px 14px}.modal-foot{padding:10px 14px 14px}.modal-foot button{padding:12px;font-size:14px}.search input{font-size:16px}.ach-pop{gap:10px;padding:12px 16px 12px 12px;border-radius:16px}.ach-pop .ai{width:44px;height:44px;font-size:22px}.ach-pop .an2{font-size:15px}.ach-pop .ad{font-size:11px}.dlg{max-width:330px;padding:24px 18px 18px}.dlg-ic{width:58px;height:58px;font-size:26px}.bgfx i{filter:blur(44px)}.bgfx .b4{display:none}}@media (max-width:400px){header h1{font-size:20px}.stats{gap:8px}.stat{border-radius:14px;padding:10px 4px 8px}.stat b{font-size:18px}.stat span{font-size:10px}button{font-size:15px;padding:13px 12px}.q{font-size:17px}.pausemask .pm-t{font-size:18px}.foot{gap:6px}.foot a{padding:5px 9px;font-size:11px}}.mode-wrap{max-width:760px}.mode-head{margin-bottom:8px}.mode-tagline{opacity:.95;font-weight:700!important}.mode-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:18px 0 8px}@media (max-width:640px){.mode-grid{grid-template-columns:1fr}}.mode-card{text-align:left;border:1px solid #fff;border-radius:22px;padding:22px 20px 18px;background:#ffffffeb;box-shadow:var(--shadow);cursor:pointer;color:var(--ink);display:flex;flex-direction:column;gap:8px;transition:transform .12s,box-shadow .12s;--edge:transparent;--glow:transparent;box-shadow:0 10px 28px -14px #0f172a47,inset 0 1px #fffc;text-shadow:none;flex:none}.mode-card:hover{transform:translateY(-3px);filter:none}.mode-card:active{transform:translateY(-1px);box-shadow:0 6px 18px -12px #0f172a4d}.mode-ic{width:52px;height:52px;border-radius:16px;display:grid;place-items:center;font-size:24px;color:#fff;margin-bottom:4px}.mode-practice .mode-ic{background:linear-gradient(135deg,#60a5fa,#2563eb)}.mode-compete .mode-ic{background:linear-gradient(135deg,#fbbf24,#f59e0b)}.mode-card h3{margin:0;font-size:19px;font-weight:900}.mode-card p{margin:0;font-size:13px;color:var(--muted);font-weight:700}.mode-card ul{margin:6px 0 4px;padding-left:18px;font-size:13px;font-weight:700;color:var(--ink);line-height:1.7}.mode-go{margin-top:auto;display:inline-flex;align-items:center;gap:6px;font-weight:900;color:var(--brand-d);font-size:14px}.mode-tools{justify-content:center;margin-top:18px}.stage-list{display:flex;flex-direction:column;gap:12px;margin:16px 0}.stage-card{display:flex;align-items:center;gap:14px;width:100%;text-align:left;padding:16px 18px;border-radius:18px;border:1px solid #fff;background:#ffffffeb;cursor:pointer;color:var(--ink);box-shadow:0 10px 24px -14px #0f172a40;text-shadow:none;flex:none;--edge:transparent;--glow:transparent}.stage-card:hover{filter:none;transform:translateY(-2px)}.stage-card:active{transform:none;box-shadow:0 6px 16px -12px #0f172a47}.stage-ic{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;font-size:22px;color:#fff;background:linear-gradient(135deg,#818cf8,#4f46e5);flex:none}.stage-card h3{margin:0 0 2px;font-size:16px;font-weight:900}.stage-card p{margin:0;font-size:12px;color:var(--muted);font-weight:700}.stage-card>:last-child{margin-left:auto;color:var(--brand-d);font-size:20px}.comp-intro{background:var(--card);border-radius:var(--radius);padding:28px 26px 22px;border:1px solid #fff;box-shadow:var(--shadow);text-align:center;animation:pop .4s cubic-bezier(.34,1.56,.64,1)}.comp-intro h2{margin:8px 0 6px;font-size:22px;font-weight:900}.comp-rules{text-align:left;margin:16px 0;padding:14px 16px 14px 32px;background:#f8fafc;border-radius:14px;font-size:13px;font-weight:700;line-height:1.75;color:var(--ink)}.comp-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;background:#ffffffe6;border:1px solid #fff;border-radius:16px;padding:10px 14px;margin-bottom:12px;box-shadow:var(--shadow-sm);font-weight:800;font-size:13px;color:var(--ink)}.comp-phase,.comp-score{display:inline-flex;align-items:center;gap:6px;color:var(--brand-d)}.comp-score{font-size:16px;font-weight:900}.comp-delta{text-align:center;font-size:28px;font-weight:900;margin-top:12px}.comp-delta.up{color:var(--ok-d)}.comp-delta.down{color:var(--no-d)}.comp-delta.zero{color:var(--muted)}.comp-wait,.comp-void{text-align:center;padding:22px 10px;font-weight:800;color:var(--muted);display:flex;align-items:center;justify-content:center;gap:8px}.comp-void{color:var(--no-d)}.buzz-btn{font-size:20px!important;padding:18px!important;animation:buzzPulse 1s ease-in-out infinite}.buzz-timer{font-weight:900;color:#b45309;background:#fff7ed;border:1px solid #fdba74;padding:6px 12px;border-radius:999px;font-size:13px}.card.buzz-ready{box-shadow:0 0 0 3px #f59e0b59,var(--shadow)}@keyframes buzzPulse{0%,to{transform:scale(1)}50%{transform:scale(1.03)}}.crow-right{display:flex;align-items:center;gap:10px;margin-left:auto}.fav-btn{width:40px;height:40px;padding:0;border:0;border-radius:12px;cursor:pointer;display:grid;place-items:center;font-size:20px;color:#cbd5e1;background:#f1f5f9;box-shadow:none;text-shadow:none;flex:none;--edge:transparent;--glow:transparent;transition:color .15s,background .15s,transform .12s}.fav-btn:hover{filter:none;color:#f59e0b;background:#fffbeb}.fav-btn:active{transform:scale(.92);box-shadow:none}.fav-btn.on{color:#f59e0b;background:#fef3c7}.comp-scorebig{font-size:56px;font-weight:900;color:var(--brand-d);line-height:1.1;margin:8px 0}.dash-form{display:grid;gap:12px;margin-top:8px}.dash-form label{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:800;color:var(--brand-d);text-align:left}.dash-form input[type=number]{font:inherit;font-weight:700;padding:11px 12px;border-radius:12px;border:2px solid #e2e8f0}.dash-form .chk{flex-direction:row;align-items:center;gap:8px;color:var(--ink);font-size:13px}.dash-form .chk input{width:18px;height:18px}.dash-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:4px}.dash-tab{display:inline-flex;align-items:center;gap:6px;padding:9px 14px;border-radius:12px;background:#ffffffbf;border:1px solid #fff;font-weight:800;font-size:13px;color:var(--ink);cursor:pointer;box-shadow:var(--shadow-sm)}.dash-tab.on{background:linear-gradient(135deg,var(--brand),var(--brand-d));color:#fff;border-color:transparent}.dash-2col{display:grid;grid-template-columns:1fr 1fr;gap:14px}@media (max-width:720px){.dash-2col{grid-template-columns:1fr}}.rank-list{list-style:none;margin:0;padding:0}.rank-list li{display:flex;align-items:center;gap:10px;padding:10px 6px;border-bottom:1px solid #eef2f7;cursor:pointer;font-weight:700;font-size:13px}.rank-list li:hover{background:#f8fafc}.rank-list .rk{width:26px;height:26px;border-radius:8px;display:grid;place-items:center;background:#eef2f7;color:var(--muted);font-weight:900;flex:none}.rank-list .rk.top{background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#fff}.rank-list .rn{flex:1;font-weight:800;color:var(--ink)}.rank-list .rv{color:var(--muted);font-size:12px}.dash-toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:10px 0 14px}.dash-search{flex:1;min-width:180px;display:flex;align-items:center;gap:8px;background:#f8fafc;border:2px solid #e2e8f0;border-radius:12px;padding:8px 12px;color:var(--muted)}.dash-search input{border:0;outline:0;background:transparent;font:inherit;font-weight:700;width:100%;color:var(--ink)}.sort-menu{position:relative;flex:none}.sort-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border-radius:14px;border:2px solid #e2e8f0;background:#fff;color:var(--ink);font:inherit;font-weight:800;font-size:13px;cursor:pointer;box-shadow:none;text-shadow:none;flex:none;--edge:transparent;--glow:transparent;min-width:148px;transition:border-color .15s,box-shadow .15s,background .15s}.sort-btn:hover{filter:none;border-color:#c7d2fe;background:#f8fafc}.sort-btn:active{transform:none;box-shadow:none}.sort-menu.open .sort-btn{border-color:var(--brand);background:#fff;box-shadow:0 0 0 4px var(--brand-l)}.sort-caret{display:inline-grid;place-items:center;margin-left:auto;color:var(--muted);font-size:14px;transition:transform .18s}.sort-menu.open .sort-caret{transform:rotate(90deg);color:var(--brand-d)}.sort-btn>span{flex:1;text-align:left}.sort-pop{position:absolute;top:calc(100% + 8px);left:0;z-index:40;min-width:100%;width:max-content;background:#fff;border:1px solid #eef2f7;border-radius:16px;padding:8px;box-shadow:0 18px 40px -16px #0f172a59,0 4px 12px #0f172a0f;animation:sortIn .16s ease}@keyframes sortIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.sort-pop-h{font-size:11px;font-weight:900;color:var(--muted);padding:6px 10px 8px;letter-spacing:.04em}.sort-opt{display:flex;align-items:center;gap:10px;width:100%;padding:11px 12px;border:0;border-radius:12px;background:transparent;color:var(--ink);font:inherit;font-weight:800;font-size:13px;cursor:pointer;text-align:left;box-shadow:none;text-shadow:none;flex:none;--edge:transparent;--glow:transparent}.sort-opt:hover{filter:none;background:#f1f5f9}.sort-opt:active{transform:none;box-shadow:none}.sort-opt.on{background:linear-gradient(135deg,#eef2ff,#e0e7ff);color:var(--brand-d)}.sort-opt>span{flex:1}.sort-spacer{width:16px;flex:none}.dash-pt-n{margin-left:auto;font-size:12px;font-weight:800;color:var(--muted);background:#f1f5f9;padding:3px 10px;border-radius:999px}.dash-mini{width:34px;height:34px;padding:0;margin:0 2px;border:0;border-radius:10px;cursor:pointer;display:inline-grid;place-items:center;background:#eef2f7;color:var(--ink);font-size:15px;box-shadow:none;text-shadow:none;flex:none;--edge:transparent;--glow:transparent}.dash-mini:hover{filter:none;background:#e2e8f0}.dash-mini:active{transform:none;box-shadow:none}.dash-mini.danger{background:var(--no-l);color:var(--no-d)}.dash-cards-4{grid-template-columns:repeat(4,1fr)}@media (max-width:720px){.dash-cards-4{grid-template-columns:repeat(2,1fr)}}.stage-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}@media (max-width:640px){.stage-stats{grid-template-columns:1fr}}.stage-stat{background:#f8fafc;border-radius:14px;padding:14px;display:flex;flex-direction:column;gap:4px;font-size:13px;font-weight:700;color:var(--muted)}.stage-stat b{font-size:15px;color:var(--ink)}.dash-danger-zone{border:1px solid #fecdd3!important;background:linear-gradient(180deg,#fff,#fff1f2)!important}.dash-danger-note{font-size:13px;font-weight:700;color:var(--muted);line-height:1.7;margin:0 0 14px}
