:root{color-scheme:light;--bg:#f2f6fa;--card:#fff;--text:#203449;--muted:#63788a;--line:#dce5ee;--blue:#277ca9;--soft:#eaf5fc;--bad:#b13d48}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:14px/1.65 system-ui,-apple-system,"Microsoft YaHei",sans-serif}a{color:var(--blue);text-decoration:none}a:hover{text-decoration:underline}aside{position:fixed;width:208px;inset:0 auto 0 0;padding:30px 20px;border-right:1px solid var(--line);background:var(--card)}.brand{font-weight:800;letter-spacing:2px;color:var(--blue);font-size:19px}nav{display:grid;gap:3px;margin:20px 0}nav a{padding:8px 12px;border-radius:6px;color:var(--text)}nav a:hover{background:var(--soft)}aside small{display:block;color:var(--muted);margin-top:32px}summary{cursor:pointer;color:var(--muted)}aside summary{margin-top:30px}main{margin-left:208px;padding:28px 36px;max-width:1600px}header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}header small{letter-spacing:2px;color:var(--muted);font-size:10px}h1{font-size:26px;margin:3px 0}h2{font-size:17px;margin:0 0 14px}section,.stats article{background:var(--card);border:1px solid var(--line);border-radius:9px;padding:22px;margin-bottom:18px}.stats{display:grid;grid-template-columns:repeat(4,1fr);padding:0;border:0;background:none;gap:16px}.stats article{margin:0}.stats small{color:var(--muted);display:block}.stats strong{font-size:32px;font-weight:600}.stats strong.compact{font-size:20px}button,.button{display:inline-block;background:var(--blue);border:1px solid transparent;border-radius:5px;color:white;padding:7px 12px;cursor:pointer;font:inherit;line-height:1.4}button:hover{filter:brightness(.94)}button:disabled{opacity:.5;cursor:wait}td button{padding:4px 8px;font-size:12px;margin:2px}.tools button{background:var(--card);color:var(--text);border-color:var(--line);margin-left:6px}input,select,textarea{background:var(--card);color:var(--text);border:1px solid var(--line);border-radius:5px;padding:8px 10px;font:inherit;width:100%;min-width:0}textarea{font:13px/1.6 ui-monospace,monospace}label{display:block;font-size:12px;color:var(--muted);margin-bottom:12px}label input,label textarea,label select{display:block;margin-top:5px}form.inline{display:flex;gap:14px;align-items:end;flex-wrap:wrap}form.inline label{flex:1;min-width:120px;margin:0}form.inline label.grow{flex:3}form:not(.inline){max-width:680px}table{width:100%;border-collapse:collapse;font-size:13px}th,td{padding:11px 12px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}th{font-weight:500;color:var(--muted);position:sticky;top:0;background:var(--card)}.table-wrap{overflow:auto;max-height:70vh}td{min-width:80px;overflow-wrap:anywhere}.muted,footer{color:var(--muted);font-size:12px}.notice{padding:12px 16px;border:1px solid var(--line);background:var(--soft);border-radius:6px;margin:12px 0}.error{color:var(--bad)}#feedback:not(:empty){padding:10px 14px;border:1px solid var(--line);border-radius:6px}dl{display:grid;grid-template-columns:180px 1fr;gap:12px}dt{color:var(--muted)}dd{margin:0;overflow-wrap:anywhere}pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px}.login{display:grid;place-items:center;min-height:100vh}.login main{margin:0;padding:38px;width:min(440px,94vw);background:var(--card);border:1px solid var(--line);border-radius:12px}.login h1{margin-top:30px}.login p{color:var(--muted)}footer{padding:20px 0}:focus-visible{outline:2px solid var(--blue);outline-offset:3px}:root[data-theme=dark]{color-scheme:dark;--bg:#101a23;--card:#172530;--text:#d5e3ed;--muted:#92a9ba;--line:#304454;--blue:#479bc7;--soft:#1b3547;--bad:#ff9ba4}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--bg:#101a23;--card:#172530;--text:#d5e3ed;--muted:#92a9ba;--line:#304454;--blue:#479bc7;--soft:#1b3547;--bad:#ff9ba4}}@media(max-width:760px){aside{position:static;width:auto;padding:16px 20px;border-bottom:1px solid var(--line)}aside small{display:none}aside details{margin:0}aside summary{margin:8px 0}nav{grid-template-columns:repeat(3,1fr);margin:8px 0}main{margin:0;padding:22px 16px}header{align-items:start;gap:8px}.stats{grid-template-columns:repeat(2,1fr);gap:10px}.stats article{padding:15px}section{padding:16px}.tools button{font-size:11px;padding:6px}dl{grid-template-columns:100px 1fr}}
