:root{--bg:#f6f7fb;--panel:#fff;--text:#233049;--muted:#8590a0;--line:#e3e8ef;--accent:#dd7b3e;color-scheme:light}body.dark{--bg:#141b25;--panel:#1e2835;--text:#e3e8ef;--muted:#93a0b2;--line:#354251;color-scheme:dark}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:14px 'Segoe UI','Microsoft YaHei',sans-serif}header{display:flex;justify-content:space-between;align-items:center;padding:22px 5vw;border-bottom:1px solid var(--line);background:var(--panel)}header a{font-size:20px;color:var(--text);font-weight:600;text-decoration:none}header span{margin-left:8px;font-weight:400}main{max-width:1250px;margin:40px auto;padding:0 24px}.eyebrow{font-size:10px;letter-spacing:2px;color:var(--accent)}h1{font-size:32px;margin:15px 0}.sub,.muted{color:var(--muted);line-height:1.7}.panel{padding:26px;background:var(--panel);border:1px solid var(--line);border-radius:16px;overflow:auto}.narrow{max-width:450px;margin:40px auto}h2{font-size:20px;margin:0 0 22px}label{font-size:12px;color:var(--muted);display:block;margin-bottom:16px}input,select,textarea{display:block;width:100%;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--text);padding:10px;font:inherit;margin-top:7px}button,.download{border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--text);padding:9px 14px;font:inherit;cursor:pointer}button:hover{border-color:var(--accent)}button.primary{background:var(--accent);color:white;border-color:var(--accent)}button:disabled{opacity:.5;cursor:wait}nav{display:flex;gap:8px;margin:25px 0;flex-wrap:wrap}nav button.active{color:var(--accent);border-color:var(--accent)}.download{margin-left:auto;text-decoration:none}table{border-collapse:collapse;width:100%;white-space:nowrap}td,th{padding:14px 10px;text-align:left;border-bottom:1px solid var(--line)}th{font-weight:400;color:var(--muted);font-size:12px}td button{margin-right:8px;font-size:12px}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;align-items:end}.form-grid button{margin-bottom:16px}.error{color:#c6494c}footer{text-align:center;color:var(--muted);font-size:12px;padding:30px}dialog{background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:15px;padding:25px;width:min(500px,90vw)}dialog::backdrop{background:#10203088}pre{white-space:pre-wrap;word-break:break-all;font-size:12px}[hidden]{display:none!important}@media(max-width:650px){h1{font-size:24px}main{padding:0 16px}.panel{padding:18px}.download{margin-left:0}}
