/* finesse · register=product · shell=topbar ledger · density=7 · accent=forest */
:root{color-scheme:light;--page:#edf0ea;--bg:#fbfcf9;--inset:#f1f4ef;--border:#dfe6dc;--ink:#24342b;--muted:#596a60;--accent:#356a4b;--accent-soft:#e3eee4;--on-accent:#f8fcf8;--warn:#8d4d2e;--shadow:0 2px 8px rgba(30,60,40,.04);--radius:18px}
*{box-sizing:border-box}body{margin:0;background:var(--page);color:var(--ink);font-family:Inter,"Microsoft YaHei",system-ui,-apple-system,sans-serif;font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}button,input{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #87b995;outline-offset:3px}[hidden]{display:none!important}.topbar{height:72px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 max(28px,calc((100vw - 1260px)/2));background:rgba(251,252,249,.72)}.brand{display:flex;align-items:center;gap:12px;font-weight:750;letter-spacing:.02em}.brand small{display:block;font-size:9px;font-weight:700;letter-spacing:.15em;color:var(--muted)}.brand-mark{width:36px;height:36px;display:grid;grid-template-columns:repeat(2,7px);grid-template-rows:repeat(2,7px);place-content:center;gap:3px;border-radius:11px;background:var(--accent)}.brand-mark i{background:#e4f1e5;border-radius:1px}.brand-mark i:nth-child(2){opacity:.5}.brand-mark i:nth-child(3){opacity:.7}.text-button{border:0;background:none;color:var(--accent);font-weight:700;padding:10px}.server-label{color:var(--muted);font-size:12px;border-right:1px solid var(--border);padding-right:16px;margin-right:8px}.shell{max-width:1260px;margin:auto;padding:0 28px}.login-view{min-height:calc(100vh - 72px);display:grid;grid-template-columns:1fr 440px;gap:9%;align-items:center;padding:60px 0 100px}.login-intro{max-width:590px}.eyebrow,.panel-kicker{color:var(--accent);font-size:11px;font-weight:800;letter-spacing:.13em}.tiny-square{display:inline-block;width:7px;height:7px;background:var(--accent);margin-right:8px;vertical-align:1px}.login-intro h1{font-size:48px;line-height:1.3;letter-spacing:-.04em;margin:22px 0}.login-intro p,.page-heading p{color:var(--muted);font-size:15px;line-height:1.8;max-width:500px}.login-rule{display:flex;align-items:center;gap:12px;margin-top:64px;color:var(--muted);font-size:12px}.login-rule>span:first-child{color:var(--accent);font-weight:800}.rule-line{height:1px;background:var(--border);width:80px}.login-panel,.panel,.metric{background:var(--bg);border:1px solid rgba(48,83,57,.08);box-shadow:var(--shadow);border-radius:var(--radius)}.login-panel{padding:36px}.login-panel h2,.section-top h2,.info h2{margin:8px 0;font-size:22px;letter-spacing:-.02em}.login-panel>p,.section-top p{color:var(--muted);margin:0}.login-panel form{margin-top:32px}.login-panel label,.field label{display:block;font-size:12px;font-weight:700;margin-bottom:8px}input{width:100%;height:46px;background:var(--inset);border:1px solid var(--border);border-radius:10px;padding:0 13px;color:var(--ink)}input::placeholder{color:#738078}.primary{width:100%;height:48px;margin-top:16px;border:0;border-radius:10px;background:var(--accent);color:var(--on-accent);font-weight:750;text-align:left;padding:0 16px}.primary span{float:right}.primary:hover{filter:brightness(.92)}button:disabled{opacity:.65;cursor:wait}.form-message{min-height:21px;margin:9px 0 0;color:var(--warn);font-size:12px}.privacy-note{border-top:1px solid var(--border);margin-top:18px;padding-top:20px;color:var(--muted);font-size:12px}.privacy-note span{font-size:17px;color:var(--accent);margin-right:5px}.dashboard{padding:46px 0 30px}.page-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:30px}.page-heading h1{font-size:34px;line-height:1.2;letter-spacing:-.04em;margin:12px 0 8px}.page-heading p{margin:0}.heading-status{display:grid;justify-items:end;gap:7px;color:var(--muted);font-size:12px}.status{display:inline-flex;align-items:center;gap:7px;border-radius:50px;padding:6px 10px;font-size:12px;font-weight:700;background:var(--inset)}.status.online{background:var(--accent-soft);color:var(--accent)}.status.offline{background:#f6e9df;color:#814727}.status-dot{width:7px;height:7px;border-radius:50%;background:currentColor}.notice{padding:12px 15px;margin-bottom:20px;border-radius:10px;background:#f5eadf;color:#714b2d;font-size:13px}.summary-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.summary-heading h2{font-size:15px;margin:0}.summary-heading span{font-size:12px;color:var(--muted)}.metrics{display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr;gap:12px}.metric{min-height:144px;padding:20px;display:flex;flex-direction:column}.metric-label{font-size:12px;font-weight:700;color:var(--muted)}.metric-label span{float:right}.metric strong{font-size:34px;line-height:1.1;letter-spacing:-.04em;margin:15px 0 8px;font-variant-numeric:tabular-nums}.metric small{color:var(--muted);font-size:12px}.metric.featured{background:#315e44;color:#f7fcf7}.metric.featured .metric-label,.metric.featured small{color:#d7e9da}.content-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:14px;margin-top:16px;align-items:start}.records{padding:24px}.section-top{display:flex;justify-content:space-between;gap:15px;align-items:start}.section-top p{font-size:12px}.secondary{border:1px solid var(--border);background:var(--bg);color:var(--ink);padding:9px 13px;border-radius:10px;font-weight:700}.secondary:hover{background:var(--inset)}.secondary span{font-size:16px;margin-right:4px}.filters{display:flex;gap:12px;margin-top:24px}.field{width:190px}.search-field{width:auto;flex:1}.list-heading{display:grid;grid-template-columns:1fr 1fr;gap:16px;color:var(--muted);font-size:11px;font-weight:700;margin-top:26px;padding:0 4px 10px;border-bottom:1px solid var(--border)}.player{border-bottom:1px solid var(--border)}.player summary{display:grid;grid-template-columns:1fr 1fr 18px;gap:16px;align-items:start;padding:16px 4px;cursor:pointer;list-style:none}.player summary::-webkit-details-marker{display:none}.player summary:after{content:'+';font-size:18px;color:var(--muted);line-height:1}.player[open] summary:after{content:'−'}.player-name{font-weight:750;overflow-wrap:anywhere}.player-meta,.join-sub{display:block;color:var(--muted);font-size:12px;margin-top:4px}.new-tag{display:inline-block;border-radius:5px;background:var(--accent-soft);color:var(--accent);font-size:10px;margin-left:7px;padding:2px 6px;vertical-align:1px}.join-times{font-size:12px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.join-times span{display:block}.player-details{display:grid;grid-template-columns:1fr 1fr;gap:14px 20px;background:var(--inset);border-radius:10px;margin:0 0 14px;padding:15px}.detail-label{display:block;color:var(--muted);font-size:11px;margin-bottom:3px}.detail-value{font-size:12px;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.empty{display:grid;justify-items:center;gap:5px;text-align:center;padding:58px 16px;color:var(--muted)}.empty strong{color:var(--ink)}.info{padding:24px}.info h2{margin-bottom:20px}.info-row{display:flex;gap:12px;border-top:1px solid var(--border);padding:17px 0}.info-icon{font-size:11px;font-weight:800;color:var(--accent);padding-top:2px}.info-row h3{font-size:13px;margin:0 0 5px}.info-row p{font-size:12px;line-height:1.7;color:var(--muted);margin:0}.info-footer{background:var(--inset);border-radius:10px;padding:13px;display:flex;justify-content:space-between;font-size:12px;color:var(--muted)}.info-footer strong{font-size:16px;color:var(--ink);font-variant-numeric:tabular-nums}footer{padding:25px 2px;color:var(--muted);font-size:11px;letter-spacing:.04em}footer span{padding:0 5px}@media(max-width:800px){.login-view{grid-template-columns:1fr;gap:35px;padding:60px 0}.login-intro h1{font-size:38px}.login-rule{margin-top:30px}.login-panel{max-width:520px}.metrics{grid-template-columns:repeat(2,1fr)}.content-grid{grid-template-columns:1fr}.info{display:grid;grid-template-columns:repeat(3,1fr);gap:0 16px}.info>.panel-kicker,.info>h2,.info-footer{grid-column:1/-1}.info-row{border-top:1px solid var(--border)}}@media(max-width:520px){.topbar{padding:0 18px;height:64px}.shell{padding:0 16px}.server-label{display:none}.dashboard{padding-top:30px}.page-heading{align-items:start;flex-direction:column;margin-bottom:22px}.page-heading h1{font-size:29px}.heading-status{justify-items:start}.metrics{gap:9px}.metric{min-height:130px;padding:16px}.metric strong{font-size:29px}.metric small{font-size:11px}.records,.info{padding:19px}.filters{flex-direction:column}.field{width:100%}.list-heading{grid-template-columns:1fr 1fr}.player summary{grid-template-columns:1fr 1fr 14px;gap:8px}.player-details{grid-template-columns:1fr}.info{display:block}.login-panel{padding:25px}.login-intro h1{font-size:34px}.login-view{min-height:0}.login-intro p{font-size:14px}}
@media(prefers-color-scheme:dark){:root{color-scheme:dark;--page:#18221c;--bg:#222f26;--inset:#2c3a30;--border:#3c4d40;--ink:#e6eee6;--muted:#bac9ba;--accent:#9bcdaa;--accent-soft:#314d39;--on-accent:#17251b;--warn:#f1bd9d;--shadow:0 2px 8px rgba(0,0,0,.12)}.topbar{background:rgba(34,47,38,.8)}.brand-mark{background:#426f4d}.metric.featured{background:#385f43}.metric.featured .metric-label,.metric.featured small{color:#d7e9da}.notice{background:#553d2f;color:#f2d3bd}.status.offline{background:#553d2f;color:#f2d3bd}.primary{background:#9bcdaa}}
.text-button{text-decoration:none}.admin-grid{grid-template-columns:minmax(0,1fr) 340px}.admin-create{padding:24px}.admin-create h2{font-size:20px;margin:8px 0}.admin-create>p,.created-key p{font-size:12px;color:var(--muted);line-height:1.7}.admin-create .field{width:100%;margin-top:18px}.admin-create select{width:100%;height:46px;background:var(--inset);border:1px solid var(--border);border-radius:10px;padding:0 13px;color:var(--ink)}select:focus-visible{outline:3px solid #87b995;outline-offset:3px}.admin-cards{margin-top:22px;border-top:1px solid var(--border)}.admin-card{display:flex;justify-content:space-between;align-items:center;gap:15px;border-bottom:1px solid var(--border);padding:17px 2px}.admin-card strong{font-size:14px}.card-status{font-size:10px;background:var(--inset);border-radius:5px;padding:3px 6px;margin-left:8px;color:var(--muted)}.card-status.active{background:var(--accent-soft);color:var(--accent)}.card-meta{font-size:12px;color:var(--muted);margin-top:6px}.created-key{border-top:1px solid var(--border);margin-top:20px;padding-top:20px}.created-key strong{font-size:13px}.created-key code{display:block;overflow-wrap:anywhere;background:var(--inset);padding:12px;border-radius:8px;margin:12px 0;color:var(--ink)}.created-key #copy-message{font-size:12px;color:var(--muted);margin-left:8px}@media(max-width:800px){.admin-grid{grid-template-columns:1fr}}
.robots-panel{margin-top:14px}.robots-panel h2{font-size:20px;margin:8px 0}.robots-intro{font-size:12px;color:var(--muted)}
.pagination{display:flex;align-items:center;justify-content:center;gap:14px;padding:18px 0 2px;color:var(--muted);font-size:12px}.more-joins{margin:0 4px 14px;font-size:12px}
@media(min-width:801px){.metrics{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(max-width:520px){.metric:last-child{grid-column:1/-1}}
