:root{--bg: #121612;--rail: #1a211c;--ink: #efe7d6;--muted: #9aa396;--line: rgba(239, 231, 214, .14);--amber: #e4a23a;--teal: #8fbf9f;--paper: #f4efe4;--paper-ink: #1b241c;--paper-soft: #6d7364;--danger: #c85a45;--shadow: 0 24px 60px rgba(0, 0, 0, .28);--display: "Barlow Condensed", "Arial Narrow", "Microsoft YaHei", sans-serif;--serif: "Newsreader", "Palatino Linotype", "Microsoft YaHei", serif;--mono: "IBM Plex Mono", Consolas, monospace;--body: "Microsoft YaHei", "PingFang SC", sans-serif}*{box-sizing:border-box}[hidden]{display:none!important}html,body{margin:0;min-height:100%}body{font-family:var(--body);color:var(--ink);background:radial-gradient(1200px 500px at 10% -10%,rgba(228,162,58,.16),transparent 55%),radial-gradient(900px 480px at 100% 0%,rgba(143,191,159,.12),transparent 50%),var(--bg)}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}.eyebrow{margin:0;letter-spacing:.22em;text-transform:uppercase;font-family:var(--display);font-size:13px;color:var(--amber)}.login{min-height:100vh;display:grid;place-items:center;padding:32px 16px}.plate{position:relative;width:min(460px,100%);padding:42px 36px 32px;background:linear-gradient(180deg,#242c26,#171d19 70%);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow)}.plate h1{margin:8px 0 0;font-family:var(--display);font-size:84px;line-height:.85;font-weight:600;letter-spacing:.04em}.lede{color:var(--muted);line-height:1.7}.plate form{display:grid;gap:14px;margin-top:22px}label{display:grid;gap:6px;font-size:13px;color:var(--muted)}input,select,textarea{background:#0e1310;border:1px solid var(--line);border-radius:8px;padding:10px 12px;outline:none}input:focus,select:focus,textarea:focus{border-color:var(--amber)}button[type=submit],.primary,.ghost,.danger{border:0;border-radius:999px;padding:10px 16px}button[type=submit],.primary{background:var(--amber);color:#23180a;font-weight:700}.ghost{background:transparent;color:var(--ink);border:1px solid var(--line)}.danger{background:transparent;color:var(--danger);border:1px solid rgba(200,90,69,.45)}.hint{margin:0;color:var(--muted);font-size:12px}.screw{position:absolute;width:12px;height:12px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#d9d3c4,#6e6758 55%,#2b2924)}.screw.tl{top:12px;left:12px}.screw.tr{top:12px;right:12px}.screw.bl{bottom:12px;left:12px}.screw.br{bottom:12px;right:12px}.shell{min-height:100vh;display:grid;grid-template-columns:232px minmax(0,1fr)}aside{background:#121612db;border-right:1px solid var(--line);padding:22px 16px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.brand{display:flex;gap:12px;align-items:center}.mark{width:42px;height:42px;display:grid;place-items:center;border:1px solid var(--amber);color:var(--amber);font-family:var(--display);font-size:20px;letter-spacing:.04em}.brand strong{display:block;font-family:var(--display);font-size:28px;letter-spacing:.08em}.brand em{color:var(--muted);font-style:normal;font-size:12px}nav{display:grid;gap:8px;margin-top:36px}nav a,nav button{text-align:left;background:transparent;border:0;color:var(--muted);padding:10px 12px;border-radius:10px;font-family:var(--display);letter-spacing:.08em;font-size:18px;text-decoration:none}nav a.router-link-active,nav a:hover,nav button.active,nav button:hover{background:#e4a23a1f;color:var(--ink)}.aside-foot{margin-top:auto;display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:13px}.aside-foot button{background:transparent;border:0;color:var(--amber);padding:0}main{min-width:0;padding:28px 32px 48px}.top{display:flex;justify-content:space-between;gap:24px;align-items:end}.top h2{margin:4px 0 0;font-family:var(--serif);font-weight:560;font-size:40px}#scope{width:min(420px,46vw);height:84px}.stats,.toolbar,.panel,.paper{margin-top:22px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.stat{border:1px solid var(--line);border-radius:14px;padding:14px 16px;background:#ffffff08}.stat b{display:block;margin-top:6px;font-family:var(--mono);font-size:26px;font-weight:500}.stat span{color:var(--muted);font-size:12px;letter-spacing:.08em}.toolbar,.row{display:flex;gap:10px;flex-wrap:wrap;align-items:end}.toolbar label,.grid label{min-width:160px}.grow{flex:1}textarea{min-height:92px;width:100%;resize:vertical}.paper{background:var(--paper);color:var(--paper-ink);border-radius:16px;padding:8px 8px 18px;box-shadow:var(--shadow);overflow-x:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:12px 14px;vertical-align:top;font-size:14px}th{font-family:var(--display);letter-spacing:.08em;font-weight:600;font-size:13px;color:var(--paper-soft);border-bottom:1px solid #ddd4c4}td{border-bottom:1px solid #e6dece}.num,.hex{font-family:var(--mono);font-size:12px}.hex{color:#3d4a3a;word-break:break-all}.tag{display:inline-block;padding:2px 8px;border-radius:999px;background:#e7f3ea;color:#246b45;font-size:12px}.tag.wait{background:#f8ecd4;color:#8a5a12}.tag.bad{background:#f8e4df;color:#8d3a2c}.actions{display:flex;gap:6px;flex-wrap:wrap}.actions button,.mini{border-radius:999px;border:1px solid #d9d0c0;background:#fff;color:var(--paper-ink);padding:6px 10px;font-size:12px}.actions button.play{background:#1b241c;color:var(--paper);border-color:#1b241c}.empty{padding:28px 16px;color:var(--paper-soft)}.detail{background:#ebe4d6}.panel{border:1px solid var(--line);border-radius:16px;padding:16px 18px 18px;background:#ffffff08}.panel h3{margin:0 0 12px;font-family:var(--display);letter-spacing:.06em;font-size:22px;font-weight:600}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.span-2{grid-column:span 2}.span-3{grid-column:span 3}.tabs{display:flex;gap:8px;margin-top:8px}.tabs button{background:transparent;border:1px solid var(--line);color:var(--muted);border-radius:999px;padding:6px 12px}.tabs button.active{color:#23180a;background:var(--amber);border-color:var(--amber)}#toast{position:fixed;right:18px;bottom:18px;display:grid;gap:8px;z-index:5}.toast{background:#f4efe4;color:#1b241c;padding:10px 14px;border-radius:10px;box-shadow:var(--shadow);max-width:320px}.toast.bad{background:#3a221c;color:#ffd7cf}@media(max-width:980px){.shell{grid-template-columns:1fr}aside{height:auto;position:static}nav{grid-template-columns:repeat(3,1fr)}.stats,.grid{grid-template-columns:1fr 1fr}.span-2,.span-3{grid-column:span 2}.top{flex-direction:column;align-items:start}}
