body{margin:0}[hidden]{display:none!important}:root{--bg:#f2f4f8;--card:#ffffff;--fg:#141a2b;--dim:#606b82;--line:#dde2ec;--me:#2563eb;--op:#f0483e;--good:#12996a;--bad:#d93a3a;--accent:#6b5cff;--action:#245bdb;--on-action:#ffffff;--num:"Outfit","PingFang SC","Microsoft YaHei",sans-serif;--body:"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans SC",system-ui,sans-serif}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0d1018;--card:#171b27;--fg:#eef1f8;--dim:#8a93aa;--line:#272d3d;--me:#5b8cff;--op:#ff6b61;--good:#2fc08a;--bad:#ff6565;--action:#8bafff;--on-action:#111b31;color-scheme:dark}}:root[data-theme=dark]{--bg:#0d1018;--card:#171b27;--fg:#eef1f8;--dim:#8a93aa;--line:#272d3d;--me:#5b8cff;--op:#ff6b61;--good:#2fc08a;--bad:#ff6565;--action:#8bafff;--on-action:#111b31;color-scheme:dark}html,body{height:100%}body{background:var(--bg);color:var(--fg);font-family:var(--body);padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));-webkit-tap-highlight-color:transparent}#app{height:100%;max-width:440px;margin:0 auto;padding-top:max(16px,env(safe-area-inset-top,0px));padding-bottom:max(16px,env(safe-area-inset-bottom,0px))}.scr{height:100%;display:flex;flex-direction:column;gap:14px;overflow-y:auto}button{font-family:inherit;color:inherit;cursor:pointer}button:focus-visible{outline:2px solid var(--me);outline-offset:2px}.eyebrow{margin:0;font:600 11px/1 var(--num);letter-spacing:.22em;color:var(--dim);text-transform:uppercase}.dim{color:var(--dim)}.top{display:flex;justify-content:space-between;align-items:center}.ghost{border:1px solid var(--line);background:transparent;border-radius:999px;min-height:44px;padding:8px 14px;font-size:12px;color:var(--dim)}.hero h1{margin:8px 0 6px;font-size:34px;font-weight:800;letter-spacing:.06em;line-height:1.15}.hero h1 b{color:var(--op)}.hero h1 i{font-style:normal;color:var(--me)}.hero p{margin:0;font-size:14px;line-height:1.7;color:var(--dim)}.rule-chips{display:flex;flex-wrap:wrap;gap:8px}.rule-chips span{padding:7px 10px;border:1px solid var(--line);border-radius:8px;font-size:12px;color:var(--dim)}.rule-chips b{font:700 14px var(--num);color:var(--fg)}.record{padding:16px 0 4px}.section-label{margin:0 0 10px;font-size:12px;font-weight:600;color:var(--dim)}.section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-top:8px}.section-heading h2{margin:0;font-size:18px}.section-heading>span{font-size:12px;color:var(--dim)}.loading-state{margin:0;padding:24px 12px;border:1px dashed var(--line);border-radius:14px;text-align:center;font-size:14px;line-height:1.6;color:var(--dim)}.topics{display:flex;flex-direction:column;gap:10px}.topic{display:grid;grid-template-columns:56px 1fr auto;gap:14px;align-items:center;text-align:left;padding:14px;background:var(--card);border:1px solid var(--line);border-radius:18px;transition:transform .12s}.topic:active{transform:scale(.98)}.topic .gl{width:56px;height:56px;border-radius:16px;background:var(--c);color:#fff;display:grid;place-items:center;font:800 24px var(--num)}.topic-copy{min-width:0}.topic h3{margin:0 0 4px;font-size:18px;font-weight:700}.topic p{margin:0;font-size:12px;line-height:1.6;color:var(--dim)}.topic .go{font:600 12px var(--num);white-space:nowrap;color:var(--fg)}.rec{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.rec div{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:10px;text-align:center}.rec b{display:block;font:800 22px var(--num);font-variant-numeric:tabular-nums}.rec span{font-size:12px;color:var(--dim)}.note{margin:0;font-size:11px;line-height:1.6;color:var(--dim);text-align:center}.av{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;color:#fff;font-weight:700;font-size:20px;flex:none}.av.me{background:var(--me)}.av.op{background:var(--op)}.av.big{width:84px;height:84px;font-size:32px}#match{justify-content:center;align-items:center;gap:20px;text-align:center}.match-heading h2{margin:14px 0 8px;font-size:28px;letter-spacing:.06em}.match-heading>p:last-child{margin:0;color:var(--dim);font-size:13px;line-height:1.6}.vs{display:flex;align-items:center;gap:16px;background:var(--card);border:1px solid var(--line);border-radius:22px;padding:22px 16px}.vs .who{display:flex;flex-direction:column;align-items:center;gap:8px;width:110px}.vs .who b{font-size:15px}.vs .who span{font-size:12px;color:var(--dim);min-height:16px}.vs em{font:800 26px var(--num);font-style:normal;color:var(--dim)}#mState{font-size:14px;color:var(--dim);min-height:20px}#cd{display:grid;place-items:center;font:800 64px/1 var(--num);color:var(--accent);min-height:72px}#cd:empty:before{content:"· · ·";font-size:24px;letter-spacing:.15em;color:var(--dim)}.spin{animation:bob .5s ease-in-out infinite alternate}@keyframes bob{to{transform:scale(1.08)}}.bar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px}.pl{display:flex;align-items:center;gap:10px;min-width:0}.pl.r{flex-direction:row-reverse;text-align:right}.pl .av{width:42px;height:42px;font-size:16px;transition:box-shadow .2s}.pl .av.done{box-shadow:0 0 0 3px var(--bg),0 0 0 6px currentColor}.pl .me.done{color:var(--me)}.pl .op.done{color:var(--op)}.pl .av.done{color:inherit}.pl div{min-width:0}.pl .nm{font-size:12px;color:var(--dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pl .sc{font:800 28px/1.1 var(--num);font-variant-numeric:tabular-nums}.pl .st{font-size:12px;color:var(--dim);height:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.clock{--timer:var(--me);box-sizing:border-box;position:relative;isolation:isolate;width:60px;height:60px;border-radius:50%;padding-bottom:6px;display:grid;place-items:center;font:800 24px var(--num);font-variant-numeric:tabular-nums;background:conic-gradient(var(--timer) calc(var(--remaining,1)*1turn),var(--line) 0)}.clock:before{content:"";position:absolute;inset:3px;border-radius:50%;background:var(--bg);z-index:-1}.clock:after{content:"秒";position:absolute;bottom:7px;font:500 10px var(--body);color:var(--dim)}.clock.hot{--timer:var(--bad);color:var(--bad)}.score-status{font-size:12px;color:var(--dim);text-align:center;margin-top:-6px}.tug{display:flex;height:8px;border-radius:4px;overflow:hidden;background:var(--line);gap:2px}.tug i{display:block;transition:flex-grow .5s cubic-bezier(.2,.8,.2,1)}.tug .a{background:var(--me)}.tug .b{background:var(--op)}.tline{height:4px;border-radius:2px;background:var(--line);overflow:hidden}.tline i{display:block;height:100%;background:var(--accent);transform-origin:left}.qcard{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:18px;display:flex;flex-direction:column;gap:10px}.qcard .rd{display:flex;justify-content:space-between;font:600 12px var(--num);letter-spacing:.06em;color:var(--dim)}.round-progress{display:flex;gap:5px}.round-progress span{height:4px;flex:1;border-radius:2px;background:var(--line)}.round-progress .complete{background:var(--me);opacity:.6}.round-progress .current{background:var(--me)}.qcard h3{margin:0;font-size:19px;line-height:1.5;font-weight:700;text-wrap:balance;min-height:3em}.final-notice{display:flex;align-items:center;gap:14px;padding:10px 14px;border-radius:13px;background:linear-gradient(115deg,#ffec9d,#ffc64a);color:#442400;position:relative;overflow:hidden;animation:final-enter .55s cubic-bezier(.16,1,.3,1) both}.final-notice>b{font:800 38px/1 var(--num);letter-spacing:-.04em}.final-notice>div{display:flex;flex-direction:column;gap:2px}.final-notice strong{font-size:19px;letter-spacing:.12em}.final-notice span{font-size:12px;font-weight:600}.final-notice:after{content:"";position:absolute;inset:-50% auto -50% -45%;width:30%;background:linear-gradient(90deg,transparent,#fff9,transparent);transform:skew(-20deg);pointer-events:none;animation:final-shine 1.2s .1s ease-out both}.final-round .qcard{border:2px solid #e8a923;animation:final-glow 1s ease-out 3}.final-round .rd{color:#966000}.final-round #qTag{font-weight:800;letter-spacing:.04em}.final-round .clock:not(.hot){--timer:#e8a923}.final-round .round-progress .current,.final-round .tline i{background:#e8a923}@keyframes final-enter{0%{opacity:0;transform:translateY(-10px) scale(.94)}to{opacity:1;transform:none}}@keyframes final-shine{to{left:130%}}@keyframes final-glow{0%,to{box-shadow:0 0 #f5b52e00}35%{box-shadow:0 0 0 5px #f5b52e33,0 6px 26px #f5b52e26}}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .final-round .rd{color:#ffcf69}}:root[data-theme=dark] .final-round .rd{color:#ffcf69}@media(max-height:680px){.final-notice{padding:7px 12px;gap:10px}.final-notice>b{font-size:30px}.final-notice strong{font-size:16px}}.opts{display:flex;flex-direction:column;gap:9px}.opt{box-sizing:border-box;position:relative;display:flex;align-items:center;gap:12px;min-height:56px;padding:12px 44px 12px 14px;background:var(--card);border:1.5px solid var(--line);border-radius:16px;font-size:16px;text-align:left;line-height:1.45;transition:transform .1s,background .2s,border-color .2s}.option-letter{display:grid;place-items:center;flex:none;width:28px;height:28px;border:1px solid var(--line);border-radius:8px;font:600 14px var(--num);color:var(--dim)}.opt.sel .option-letter{border-color:var(--me);color:var(--me)}.opt.right .option-letter,.opt.wrong .option-letter{border-color:#fff6;color:#fff}.opt:disabled{cursor:default}.answer-status{margin:0;text-align:center;font-size:12px;line-height:1.6;color:var(--dim);min-height:20px}.opt:active:not(:disabled){transform:scale(.98)}.opt.sel{border-color:var(--me)}.opt.right{background:var(--good);border-color:var(--good);color:#fff}.opt.wrong{background:var(--bad);border-color:var(--bad);color:#fff}.opt.fade{opacity:.45}.pin{position:absolute;top:50%;width:26px;height:26px;margin-top:-13px;border-radius:50%;display:grid;place-items:center;font-size:11px;font-weight:700;color:#fff;border:2px solid var(--card)}.pin.m{left:10px;background:var(--me)}.pin.o{right:10px;background:var(--op)}.opt:has(.pin.m) .option-letter{visibility:hidden}.pop{position:absolute;font:800 18px var(--num);pointer-events:none;animation:up .9s ease-out forwards}@keyframes up{0%{opacity:0;transform:translateY(6px)}20%{opacity:1}to{opacity:0;transform:translateY(-26px)}}.pl{position:relative}#result{gap:16px}.verdict{text-align:center;padding-top:8px}.verdict h2{margin:8px 0 0;font-size:44px;font-weight:800;letter-spacing:.1em}.result-summary{margin:10px 0 0;color:var(--dim);font-size:14px;line-height:1.6}.final{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;background:var(--card);border:1px solid var(--line);border-radius:20px;padding:16px}.final .side{display:flex;flex-direction:column;align-items:center;gap:6px}.final b{font:800 34px/1 var(--num);font-variant-numeric:tabular-nums}.final span{font-size:12px;color:var(--dim)}.recap{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.recap li{display:grid;grid-template-columns:22px 1fr 22px;gap:10px;align-items:center;font-size:13px;line-height:1.5;padding:8px 12px;background:var(--card);border:1px solid var(--line);border-radius:12px}.recap .ok{color:var(--good);font-weight:700}.recap .no{color:var(--bad);font-weight:700}.recap small{display:block;color:var(--dim);font-size:11px}.btns{display:flex;flex-direction:column;gap:8px;margin-top:auto}.btn{height:50px;border-radius:25px;border:1px solid var(--line);background:var(--card);font-size:15px;letter-spacing:.1em}.btn.pri{background:var(--action);border-color:var(--action);color:var(--on-action);font-weight:700}.result-actions{display:grid;grid-template-columns:1fr 1fr;margin-top:0;gap:10px}.result-actions .pri{grid-column:1/-1}.review{border:1px solid var(--line);border-radius:16px;background:var(--card)}.review summary{display:flex;justify-content:space-between;align-items:center;gap:10px;min-height:52px;padding:0 14px;font-size:14px;font-weight:700;cursor:pointer;list-style:none}.review summary::-webkit-details-marker{display:none}.review summary:after{content:"＋";color:var(--dim);font-size:18px}.review[open] summary:after{content:"−"}.review summary span{margin-left:auto;color:var(--dim);font-size:12px;font-weight:400}.review summary:focus-visible{outline:2px solid var(--me);outline-offset:3px;border-radius:16px}.review-key{display:grid;grid-template-columns:22px 1fr 22px;gap:10px;padding:2px 12px 10px;font-size:12px;color:var(--dim)}.review-key span:last-child{white-space:nowrap}.review .recap{padding:0 6px 6px}.review .recap li{border:0;border-radius:8px;background:var(--bg);font-size:14px}.review .recap small{font-size:12px;line-height:1.6;margin-top:4px}#share{font-size:12px;line-height:1.6;color:var(--dim);text-align:center;margin:0;-webkit-user-select:all;user-select:all;min-height:18px}#share:empty{display:none}.challenge-home-actions,.challenge-actions,.challenge-body{display:flex;flex-direction:column;gap:12px}.challenge-home-actions{margin-top:12px}.challenge-actions{margin-top:auto}.challenge-body{line-height:1.65;overflow-wrap:anywhere}.challenge-body p{margin:0}.challenge-body .btn{height:auto;min-height:50px;padding:12px;text-align:left;letter-spacing:normal}#challenge{gap:18px}#challenge h2{margin:0;font-size:26px;overflow-wrap:anywhere}#shareStatus{display:flex;flex-direction:column;gap:10px;text-align:center}#shareStatus:empty{display:none}.share-manual{box-sizing:border-box;width:100%;min-height:145px;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--card);color:var(--fg);font:inherit;resize:vertical;user-select:text;-webkit-user-select:text}.btn:disabled{opacity:.5;cursor:default}@media(prefers-reduced-motion:reduce){.spin,.pop{animation:none}.tug i{transition:none}}@media(prefers-reduced-motion:reduce){.final-notice,.final-notice:after,.final-round .qcard{animation:none}.final-notice:after{display:none}}#app{box-sizing:border-box}.bar{padding:6px 6px 0}@media(hover:hover){.topic:hover,.ghost:hover,.btn:not(.pri):hover{border-color:var(--accent)}.opt:not(:disabled):hover{border-color:var(--accent)}}@media(max-width:360px){.topic{grid-template-columns:44px 1fr auto;gap:10px;padding:12px}.topic .gl{width:44px;height:44px;border-radius:12px;font-size:20px}.section-heading>span{font-size:11px}}@media(max-height:680px){#duel{gap:9px}#duel .bar{padding-top:0}.qcard{padding:14px;gap:8px}.qcard h3{font-size:18px;line-height:1.4;min-height:2.8em}.opts{gap:8px}.opt{min-height:50px;padding-block:10px}.answer-status{min-height:16px;line-height:1.3}}@media(max-width:360px){.vs{gap:10px;padding:18px 10px}.vs .who{width:94px}.vs .av.big{width:72px;height:72px}}
