:root{--ink:#0b0b0c;--t2:#3a3b3f;--muted:#5f6368;--hint:#8a8d93;--border:#e3e4e8;--div:#f0f1f3;--field:#f7f8fa;--page:#f4f5f7;--surface:#fff;--gold:#f2c96b;--ok:#0b7a55;--okbg:#e3f7ec;--err:#b42318;--mono:"JetBrains Mono",ui-monospace,Menlo,monospace;--sans:"Space Grotesk",ui-sans-serif,system-ui,-apple-system,"PingFang SC","Noto Sans CJK SC",sans-serif}
*{box-sizing:border-box}html,body{margin:0;background:var(--page);color:var(--ink);font:15px/1.5 var(--sans)}
a{color:inherit}.wrap{max-width:960px;margin:0 auto;padding:24px 20px 60px}
header{display:flex;align-items:center;gap:12px;margin-bottom:22px}.logo{width:36px;height:36px;border-radius:23%;background:#0B0B0C;display:grid;place-items:center;overflow:hidden}
.logo svg{width:72%;height:72%}.brand{font-weight:700;letter-spacing:.2em;font-size:13px}.sub{font:11px var(--mono);color:var(--hint);letter-spacing:.06em}
.sp{flex:1}.btn{height:40px;padding:0 16px;border-radius:12px;border:1px solid var(--ink);background:var(--ink);color:#fff;font:600 14px var(--sans);cursor:pointer;letter-spacing:.02em}
.btn.ghost{background:transparent;color:var(--ink);border-color:var(--border)}.btn.sm{height:32px;padding:0 12px;font-size:13px;border-radius:10px}.btn.danger{background:transparent;color:var(--err);border-color:var(--border)}
.btn:disabled{opacity:.45;cursor:default}.card{background:var(--surface);border-radius:18px;padding:20px;margin-bottom:14px}
.dark{background:var(--ink);color:#fff;position:relative;overflow:hidden}.dark::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px);background-size:22px 22px;pointer-events:none}
.dark>*{position:relative}.tag{font:500 11px var(--mono);letter-spacing:.12em;color:var(--hint)}.dark .tag{color:var(--gold)}
.big{font:500 34px var(--mono);letter-spacing:-.01em}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}
input,select,textarea{height:44px;border-radius:12px;border:1px solid var(--border);background:var(--field);padding:0 14px;font:15px var(--sans);color:var(--ink);outline:none;min-width:0}
textarea{height:auto;padding:10px 14px}input:focus,select:focus,textarea:focus{border-color:var(--ink);box-shadow:0 0 0 3px rgba(11,11,12,.08)}
.mono{font-family:var(--mono)}.muted{color:var(--muted)}.hint{color:var(--hint);font-size:13px}.err{color:var(--err);font-size:13px;min-height:18px}
table{width:100%;border-collapse:collapse;font-size:14px}th{text-align:left;font:500 11px var(--mono);letter-spacing:.1em;color:var(--hint);padding:8px 6px;border-bottom:1px solid var(--div)}
td{padding:10px 6px;border-bottom:1px solid var(--div);vertical-align:top}.pill{display:inline-block;padding:2px 8px;border-radius:7px;font-size:12px;font-weight:600;background:var(--page);color:var(--t2)}
.pill.ok{background:var(--okbg);color:var(--ok)}.pill.gold{background:var(--ink);color:var(--gold)}.pill.err{color:var(--err)}
.login{max-width:380px;margin:9vh auto;background:var(--surface);border-radius:22px;padding:30px;background-image:linear-gradient(rgba(11,11,12,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(11,11,12,.045) 1px,transparent 1px);background-size:28px 28px;background-position:0 0}
.login h1{font-size:28px;margin:18px 0 4px}.login label{display:block;font-size:13px;color:var(--t2);margin:16px 0 6px}.login input{width:100%}.login .btn{width:100%;height:50px;margin-top:22px;border-radius:14px}
.lang{background:none;border:1px solid var(--border);border-radius:9px;height:30px;padding:0 10px;font:12px var(--mono);cursor:pointer;color:var(--muted)}
.codes{font:14px/1.9 var(--mono);background:var(--field);border-radius:12px;padding:12px 16px;max-height:260px;overflow:auto;white-space:pre}
.hidden{display:none!important}.tabs{display:flex;gap:4px;margin-bottom:10px;flex-wrap:wrap}.tabs button{border:0;background:none;padding:6px 10px;border-radius:8px;cursor:pointer;color:var(--muted);font:13px var(--sans)}.tabs button.on{background:var(--ink);color:#fff}
@media(max-width:600px){.big{font-size:28px}.hide-sm{display:none}}
