:root{--bg: #0b0c12;--surface: #14161f;--surface-2: #1b1e29;--line: #232733;--ink: #f2f3f7;--ink-2: #b4b9c6;--ink-3: #838a9b;--brand: #8b7bff;--ok: #34d399;--warn: #fbbf24;--bad: #fb7185;--sans: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang TC", "Noto Sans TC", sans-serif;--mono: ui-monospace, SFMono-Regular, Menlo, monospace}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:14px;-webkit-font-smoothing:antialiased}button{cursor:pointer;font:inherit}.boot,.empty{padding:60px 24px;text-align:center;color:var(--ink-3)}.login{min-height:100vh;display:grid;place-items:center;padding:24px}.login form{width:min(380px,100%);display:flex;flex-direction:column;gap:12px;padding:28px;background:var(--surface);border:1px solid var(--line);border-radius:18px}.login h1{margin:0 0 6px;font-size:20px;letter-spacing:-.02em}.login input{padding:13px 15px;border-radius:12px;border:1px solid var(--line);background:var(--surface-2);color:var(--ink);outline:none}.login input:focus{border-color:var(--brand)}.login button{padding:13px;border:0;border-radius:999px;background:var(--brand);color:#0b0c12;font-weight:700}.login button:disabled{opacity:.5;cursor:not-allowed}.login .hint{margin:0;font-size:13px;color:var(--ink-3);line-height:1.7}.login .hint code{display:block;margin-top:6px;font-family:var(--mono);font-size:11.5px;color:var(--ink-2)}.login .error{margin:0;color:var(--bad);font-size:13px}.bar{position:sticky;top:0;z-index:10;display:flex;align-items:center;gap:14px;padding:12px 20px;background:#0b0c12e0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}.logo{font-weight:700;letter-spacing:-.02em}.bar nav{display:flex;gap:2px;flex:1;overflow-x:auto}.bar nav button{position:relative;isolation:isolate;border:0;background:transparent;color:var(--ink-3);padding:8px 14px;border-radius:999px;font-weight:600;white-space:nowrap}.bar nav button:hover{color:var(--ink)}.bar nav button.on{color:#0b0c12}.tab-bg{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;border-radius:999px;background:var(--brand)}.ghost{border:1px solid var(--line);background:var(--surface);color:var(--ink-2);padding:8px 14px;border-radius:999px}.ghost:hover{color:var(--ink);border-color:var(--ink-3)}.ghost.small{padding:5px 11px;font-size:12.5px}main{padding:20px;max-width:1400px;margin:0 auto}main h2{margin:28px 0 12px;font-size:15px;color:var(--ink-2);font-weight:600}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px}.stat{padding:14px 16px;border:1px solid var(--line);border-radius:14px;background:var(--surface);display:flex;flex-direction:column;gap:3px}.stat small{color:var(--ink-3);font-size:12px}.stat strong{font-size:24px;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.scroll{overflow-x:auto;border:1px solid var(--line);border-radius:14px;background:var(--surface)}table{width:100%;border-collapse:collapse;font-size:13px}th{text-align:left;font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);font-weight:400;padding:11px 14px;border-bottom:1px solid var(--line);white-space:nowrap}td{padding:11px 14px;border-bottom:1px solid var(--line);color:var(--ink-2);white-space:nowrap}tbody tr:last-child td{border-bottom:0}tbody tr:hover td{background:var(--surface-2)}td.mono{font-family:var(--mono);font-size:11.5px;color:var(--ink-3)}td.num{font-variant-numeric:tabular-nums;color:var(--ink)}.pill{padding:3px 9px;border-radius:999px;font-size:11.5px;font-weight:600;border:1px solid currentColor}.pill.paid,.pill.published,.pill.active{color:var(--ok)}.pill.pending{color:var(--warn)}.pill.failed,.pill.hidden,.pill.paused{color:var(--bad)}
