:root{--bg: #f6f6f4;--surface: #ffffff;--ink: #1c1c1c;--ink-2: #5b5b5b;--ink-3: #8c8c8c;--rule: #e4e4e0;--rule-strong: #cfcfc9;--accent: #2f5670;--accent-soft: #eef3f6;--warn: #9a6b24;--radius: 4px;--shell: 780px;--font: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", system-ui, sans-serif}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--bg);color:var(--ink);font-family:var(--font);font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased}body{min-height:100vh}button,input{font-family:inherit;font-size:inherit;color:inherit}button{cursor:pointer}.num{font-variant-numeric:tabular-nums}html{scrollbar-width:thin;scrollbar-color:#c6c6c0 transparent}::-webkit-scrollbar{width:12px;height:12px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#cdcdc7;background-clip:content-box;border:3px solid transparent;border-radius:6px}::-webkit-scrollbar-thumb:hover{background:#adada5;background-clip:content-box}::-webkit-scrollbar-button{display:none}.board-scroll,.suggest{scrollbar-width:thin;scrollbar-color:#d2d2cc transparent}.board-scroll::-webkit-scrollbar,.suggest::-webkit-scrollbar{width:10px}.board-scroll::-webkit-scrollbar-thumb,.suggest::-webkit-scrollbar-thumb{background:#d5d5cf;background-clip:content-box;border:3px solid transparent;border-radius:5px}.board-scroll::-webkit-scrollbar-thumb:hover,.suggest::-webkit-scrollbar-thumb:hover{background:#b6b6ae;background-clip:content-box}.page{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}.shell{width:100%;max-width:var(--shell);margin:0 auto;padding:0 20px}main.shell{flex:1;padding-top:26px;padding-bottom:48px}.nav{border-bottom:1px solid var(--rule);background:var(--surface)}.nav-in{display:flex;align-items:baseline;justify-content:space-between;gap:10px 20px;flex-wrap:wrap;padding-top:18px;padding-bottom:16px}.nav-title{min-width:0}.nav-title h1{margin:0;font-size:17px;font-weight:600;letter-spacing:.01em}.nav-title p{margin:2px 0 0;font-size:13px;color:var(--ink-3)}.status{display:inline-flex;align-items:center;gap:7px;font-size:13px;color:var(--ink-2);white-space:nowrap}.status-dot{width:7px;height:7px;border-radius:50%;background:var(--accent)}.status.done .status-dot{background:var(--ink-3)}.btn{padding:9px 16px;border:1px solid var(--rule-strong);border-radius:var(--radius);background:var(--surface);color:var(--ink);font-size:14px;line-height:1.4;transition:background .12s ease,border-color .12s ease}.btn:hover:not(:disabled){background:#f0f0ed;border-color:var(--ink-3)}.btn:disabled{color:var(--ink-3);cursor:default}.btn.primary{border-color:var(--accent);background:var(--accent);color:#fff}.btn.primary:hover:not(:disabled){background:#26485e;border-color:#26485e}.btn.primary:disabled{opacity:.55}.btn.on{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.btn.sm{padding:6px 12px;font-size:13px}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.panel{border:1px solid var(--rule);border-radius:var(--radius);background:var(--surface)}.section-head{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin:34px 0 12px}.section-head h2{margin:0;font-size:15px;font-weight:600}.section-head .note{font-size:13px;color:var(--ink-3)}.section-head .tools{display:flex;align-items:center;gap:8px;margin-left:auto}.search-wrap{position:relative}.search{display:flex;gap:8px}.search input{flex:1;min-width:0;padding:11px 13px;border:1px solid var(--rule-strong);border-radius:var(--radius);background:var(--surface);font-size:16px;outline:0;transition:border-color .12s ease,box-shadow .12s ease}.search input::placeholder{color:var(--ink-3)}.search input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.search .btn{flex:0 0 auto;padding-left:22px;padding-right:22px}.suggest{position:absolute;z-index:5;top:calc(100% + 6px);left:0;right:0;margin:0;padding:4px;list-style:none;border:1px solid var(--rule-strong);border-radius:var(--radius);background:var(--surface);box-shadow:0 6px 20px #00000014;max-height:300px;overflow-y:auto}.suggest li{display:flex;align-items:baseline;gap:12px;padding:8px 10px;border-radius:var(--radius);cursor:pointer;font-size:14px}.suggest li.on{background:var(--accent-soft)}.s-rank{flex:0 0 34px;color:var(--ink-3);font-size:13px}.s-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.s-total{flex:0 0 auto;font-weight:600}.hint{margin:10px 0 0;font-size:13px;color:var(--ink-3)}.hint button{padding:0;border:0;background:none;color:var(--accent);font-size:inherit;text-decoration:underline;text-underline-offset:2px}.msg{margin:14px 0 0;padding:12px 14px;border:1px solid var(--rule);border-left:3px solid var(--ink-3);border-radius:var(--radius);background:var(--surface);font-size:14px}.msg.err{border-left-color:#a5443a}.msg p{margin:0}.cand{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.summary{display:grid;grid-template-columns:repeat(4,1fr);margin-top:26px;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}.summary div{padding:14px 4px;text-align:center}.summary div+div{border-left:1px solid var(--rule)}.summary .v{font-size:22px;font-weight:600;line-height:1.2}.summary .v small{font-size:12px;font-weight:400;color:var(--ink-3);margin-left:1px}.summary .k{margin-top:3px;font-size:12.5px;color:var(--ink-3)}.progress{display:flex;align-items:center;gap:12px;margin-top:14px;font-size:13px;color:var(--ink-2)}.progress-bar{flex:1;height:5px;border-radius:3px;background:var(--rule);overflow:hidden}.progress-bar i{display:block;height:100%;background:var(--accent);transition:width .4s ease}.board{border:1px solid var(--rule);border-radius:var(--radius);background:var(--surface);overflow:hidden}.board-scroll{max-height:560px;overflow-y:auto}table.rank{width:100%;border-collapse:collapse;font-size:14.5px}table.rank th,table.rank td{padding:9px 14px;border-bottom:1px solid var(--rule);text-align:left}table.rank tbody tr:last-child td{border-bottom:0}table.rank thead th{position:sticky;top:0;z-index:1;background:#fafaf8;border-bottom:1px solid var(--rule-strong);font-size:12.5px;font-weight:500;color:var(--ink-3);letter-spacing:.04em}.col-rank{width:62px;text-align:right!important;color:var(--ink-2)}.col-score{width:92px;text-align:right!important;font-weight:600}table.rank tbody tr{cursor:pointer}table.rank tbody tr:hover{background:#fafaf8}table.rank tbody tr.top3 .col-rank{color:var(--ink);font-weight:600}table.rank tbody tr.me{background:var(--accent-soft)}table.rank tbody tr.me:hover{background:#e6eef3}table.rank tbody tr.me td:first-child{box-shadow:inset 3px 0 0 var(--accent)}.name-cell{display:flex;align-items:baseline;gap:8px;min-width:0}.name-cell .n{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tag-me{flex:0 0 auto;padding:0 6px;border-radius:3px;background:var(--accent);color:#fff;font-size:11px;line-height:17px}.tag-wait{flex:0 0 auto;font-size:12px;color:var(--warn);white-space:nowrap}.board-none{margin:0;padding:26px 14px;text-align:center;font-size:14px;color:var(--ink-3)}.board-search{width:150px;padding:6px 10px;border:1px solid var(--rule-strong);border-radius:var(--radius);background:var(--surface);font-size:13px;outline:0}.board-search:focus{border-color:var(--accent)}.result{padding-top:4px}.back{margin-bottom:18px}.card{margin-bottom:16px;padding:22px;border:1px solid var(--rule);border-radius:var(--radius);background:var(--surface)}.card h3{margin:0 0 14px;font-size:14px;font-weight:600;color:var(--ink-2)}.who{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.who-name{font-size:18px;font-weight:600;word-break:break-all}.who-note{font-size:13px;color:var(--ink-3)}.big{display:flex;align-items:baseline;gap:8px;margin:14px 0 12px;font-size:clamp(52px,13vw,76px);font-weight:600;line-height:1;letter-spacing:-.02em}.big-max{font-size:18px;font-weight:400;color:var(--ink-3);letter-spacing:0}.facts{display:flex;align-items:baseline;gap:8px 18px;flex-wrap:wrap;font-size:14px;color:var(--ink-2)}.facts b{color:var(--ink);font-weight:600}.facts .wait{color:var(--warn)}.bump-tip{display:inline-block;margin-left:2px;font-size:12.5px;color:var(--accent)}.odo{display:inline-flex;align-items:baseline;--odo-h: 1.05em}.odo-digit{display:inline-block;height:var(--odo-h);overflow:hidden;vertical-align:bottom}.odo-strip{display:block;transition-property:transform;transition-timing-function:cubic-bezier(.22,.61,.36,1);transform:translateY(calc(var(--odo-h) * -1 * var(--d, 0)))}.odo-strip span{display:block;height:var(--odo-h);line-height:var(--odo-h);font-variant-numeric:tabular-nums;text-align:center}.odo-dot{display:inline-block;width:.3em;text-align:center}.split+.split{margin-top:16px}.split-top{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:6px;font-size:14px}.split-label{color:var(--ink-2)}.split-label i{font-style:normal;color:var(--ink-3);margin-left:6px;font-size:13px}.split-score{font-weight:600}.split-score em{font-style:normal;font-weight:400;color:var(--ink-3);font-size:13px}.split-bar{height:6px;border-radius:3px;background:var(--rule);overflow:hidden}.split-bar i{display:block;height:100%;background:var(--accent);transition:width .4s ease}.split.sub .split-bar i{background:#7d9fb3}.qgroup+.qgroup{margin-top:18px}.qgroup-label{margin-bottom:8px;font-size:13px;color:var(--ink-3)}.qgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(76px,1fr));gap:8px}.qcell{padding:8px 6px 7px;border:1px solid var(--rule);border-radius:var(--radius);text-align:center}.q-no{font-size:12px;color:var(--ink-3)}.q-score{font-size:18px;font-weight:600;line-height:1.3}.q-max{font-size:12px;font-weight:400;color:var(--ink-3)}.qcell.wait .q-score{font-size:13px;font-weight:400;color:var(--warn)}.qcell.lost{border-color:#e3d7bd;background:#fdfaf2}.qcell.lost .q-score{color:var(--warn)}.foot{border-top:1px solid var(--rule);background:var(--surface)}.foot-in{display:flex;flex-wrap:wrap;gap:4px 18px;justify-content:space-between;padding-top:14px;padding-bottom:14px;font-size:12.5px;color:var(--ink-3)}@media(max-width:640px){.shell{padding:0 14px}.summary{grid-template-columns:repeat(2,1fr)}.summary div:nth-child(3){border-top:1px solid var(--rule)}.summary div:nth-child(4){border-top:1px solid var(--rule)}.summary div:nth-child(odd){border-left:0}.search{flex-wrap:wrap}.search input,.search .btn{flex:1 1 100%}.section-head .tools{width:100%;margin-left:0}.board-search{flex:1;width:auto}table.rank th,table.rank td{padding:9px 10px}.col-rank{width:46px}.col-score{width:72px}.card{padding:16px}}@media(prefers-reduced-motion:reduce){.odo-strip,.split-bar i,.progress-bar i{transition:none}}
