:root{--bg:#08090b;--panel:#0d0f12;--panel-2:#121519;--panel-3:#171b20;--line:#1d2228;--line-2:#2a3138;--fg:#d6dbdf;--fg-dim:#8d979f;--fg-mute:#5c656d;--acc:#ff6a1f;--acc-soft:#ff6a1f1f;--acc-line:#ff6a1f6b;--ok:#2fd39f;--warn:#ffc046;--err:#ff5757;--ok-soft:#2fd39f1f;--err-soft:#ff57571f;--display:Bahnschrift, "Segoe UI Variable Display", "Segoe UI", "Microsoft YaHei UI", sans-serif;--body:"Segoe UI", "Microsoft YaHei UI", "PingFang SC", "Hiragino Sans GB", system-ui, sans-serif;--mono:"Cascadia Mono", "Cascadia Code", Consolas, "JetBrains Mono", "DejaVu Sans Mono", monospace}*{box-sizing:border-box}#__nuxt,body,html{height:100%}body{background:var(--bg);color:var(--fg);font-family:var(--body);-webkit-font-smoothing:antialiased;margin:0;font-size:14px;line-height:1.55}body:before{background-image:linear-gradient(90deg,#ffffff04 1px,#0000 0),linear-gradient(#ffffff04 1px,#0000 0);background-size:64px 64px}body:after,body:before{content:"";z-index:0;pointer-events:none;position:fixed;inset:0}body:after{background:radial-gradient(120% 80% at 50% -20%,#ff6a1f0e,#0000 60%)}a{color:inherit;text-decoration:none}::selection{background:var(--acc);color:#0b0b0b}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--line-2);border:3px solid var(--bg)}::-webkit-scrollbar-thumb:hover{background:#3a434c}.shell{z-index:1;flex-direction:column;min-height:100%;display:flex;position:relative}.wrap{width:100%;max-width:1320px;margin:0 auto;padding:0 28px}.grow{flex:1}.topbar{z-index:40;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);background:#08090bdb;position:sticky;top:0}.topbar-in{gap:26px;height:58px}.brand,.topbar-in{align-items:center;display:flex}.brand{font-family:var(--display);gap:10px}.brand-mark{border:1px solid var(--acc-line);background:var(--acc-soft);width:26px;height:26px;color:var(--acc);font-family:var(--mono);letter-spacing:-.06em;place-items:center;font-size:13px;font-weight:700;display:grid}.brand-name{letter-spacing:.16em;text-transform:uppercase;font-size:15px;font-weight:600}.brand-sub{font-family:var(--mono);color:var(--fg-mute);letter-spacing:.1em;font-size:10px}.nav{gap:2px;margin-left:6px;display:flex}.nav a{color:var(--fg-dim);border:1px solid #0000;padding:7px 13px;font-size:13px;transition:color .15s,border-color .15s,background .15s;position:relative}.nav a:hover{color:var(--fg);border-color:var(--line);background:var(--panel)}.nav a.active{color:var(--acc);border-color:var(--acc-line);background:var(--acc-soft)}.topbar-right{align-items:center;gap:10px;margin-left:auto;display:flex}.pill{border:1px solid var(--line-2);background:var(--panel);font-family:var(--mono);color:var(--fg-dim);white-space:nowrap;align-items:center;gap:7px;padding:4px 10px;font-size:11px;display:inline-flex}.pill .dot{background:var(--fg-mute);border-radius:50%;width:6px;height:6px}.pill.on{color:var(--ok);border-color:#2fd39f4d}.pill.on .dot{background:var(--ok);box-shadow:0 0 8px var(--ok)}.pill.off{color:var(--err);border-color:#ff57574d}.pill.off .dot{background:var(--err)}.pill.warn{color:var(--warn);border-color:#ffc0464d}.pill.warn .dot{background:var(--warn)}.page{padding:34px 0 90px}.label{font-family:var(--mono);letter-spacing:.22em;text-transform:uppercase;color:var(--fg-mute);font-size:10px}h1{font-family:var(--display);letter-spacing:-.005em;margin:10px 0 8px;font-size:34px;font-weight:600;line-height:1.15}h2{letter-spacing:.01em;font-size:19px}h2,h3{font-family:var(--display);margin:0;font-weight:600}h3{font-size:15px}.sub{color:var(--fg-dim);max-width:62ch;font-size:13.5px}.panel{background:var(--panel);border:1px solid var(--line);position:relative}.panel:before{content:"";background:var(--acc);opacity:.85;width:2px;position:absolute;top:-1px;bottom:-1px;left:-1px}.panel-hd{border-bottom:1px solid var(--line);background:linear-gradient(180deg,var(--panel-2),var(--panel));align-items:center;gap:12px;padding:12px 18px;display:flex}.panel-hd .spacer{margin-left:auto}.panel-bd{padding:18px}.panel-bd.tight{padding:0}.btn{background:var(--panel-2);color:var(--fg);border:1px solid var(--line-2);font-family:var(--body);cursor:pointer;align-items:center;gap:7px;padding:8px 15px;font-size:13px;transition:background .14s,border-color .14s,color .14s,transform 80ms;display:inline-flex}.btn:hover:not(:disabled){background:var(--panel-3);border-color:#3a434c}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.42;cursor:not-allowed}.btn-primary{background:var(--acc);border-color:var(--acc);color:#12100e;font-weight:600}.btn-primary:hover:not(:disabled){background:#ff7f3d;border-color:#ff7f3d}.btn-ghost{border-color:var(--line);color:var(--fg-dim);background:0 0}.btn-ghost:hover:not(:disabled){color:var(--fg);background:var(--panel-2)}.btn-danger{color:var(--err);background:0 0;border-color:#ff575759}.btn-danger:hover:not(:disabled){background:var(--err-soft)}.btn-sm{padding:5px 10px;font-size:12px}.input,.select,.textarea{border:1px solid var(--line-2);width:100%;color:var(--fg);font-family:var(--mono);background:#0a0c0e;padding:9px 12px;font-size:13px;transition:border-color .14s,box-shadow .14s}.input:focus,.select:focus,.textarea:focus{border-color:var(--acc-line);box-shadow:0 0 0 3px var(--acc-soft);outline:none}.input::-moz-placeholder{color:var(--fg-mute)}.textarea::-moz-placeholder{color:var(--fg-mute)}.input::placeholder,.textarea::placeholder{color:var(--fg-mute)}.textarea{resize:vertical;min-height:108px;line-height:1.6}.select{font-family:var(--body);cursor:pointer}.field{flex-direction:column;gap:6px;display:flex}.field>.label{color:var(--fg-dim)}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-2,.grid-3,.grid-4{gap:14px;display:grid}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.tabs{border-bottom:1px solid var(--line);gap:0;margin:22px 0 0;display:flex}.tabs button{color:var(--fg-mute);font-family:var(--mono);letter-spacing:.06em;cursor:pointer;background:0 0;border:1px solid #0000;border-bottom:none;margin-bottom:-1px;padding:10px 18px;font-size:12px;transition:color .14s,background .14s}.tabs button:hover{color:var(--fg-dim);background:var(--panel)}.tabs button.on{color:var(--acc);background:var(--panel);border-color:var(--line);border-bottom-color:var(--panel)}.check{cursor:pointer;color:var(--fg-dim);-webkit-user-select:none;user-select:none;align-items:center;gap:8px;font-size:13px;display:inline-flex}.check input{appearance:none;border:1px solid var(--line-2);cursor:pointer;background:#0a0c0e;width:15px;height:15px;position:relative}.check input:checked{background:var(--acc);border-color:var(--acc)}.check input:checked:after{content:"✓";color:#12100e;place-items:center;font-size:11px;font-weight:700;display:grid;position:absolute;inset:0}.check:hover{color:var(--fg)}.table{border-collapse:collapse;width:100%;font-size:13px}.table th{text-align:left;font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--fg-mute);border-bottom:1px solid var(--line-2);background:var(--panel-2);white-space:nowrap;padding:9px 12px;font-size:10px;font-weight:500}.table td{border-bottom:1px solid var(--line);vertical-align:top;padding:9px 12px}.table tbody tr{transition:background .1s}.table tbody tr:hover{background:#ffffff06}.table .num{font-family:var(--mono);font-variant-numeric:tabular-nums;white-space:nowrap}.table .right{text-align:right}.table .name{color:var(--fg);word-break:break-word}.empty,.kv dt,.mono,.stat .v,.tag{font-family:var(--mono)}.dim{color:var(--fg-dim)}.mute{color:var(--fg-mute)}.ok{color:var(--ok)}.warn{color:var(--warn)}.err{color:var(--err)}.acc{color:var(--acc)}.small{font-size:12px}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.break{word-break:break-all}.tag{border:1px solid var(--line-2);background:var(--panel-2);color:var(--fg-dim);white-space:nowrap;padding:1px 7px;font-size:10.5px;display:inline-block}.tag.acc{border-color:var(--acc-line);color:var(--acc);background:var(--acc-soft)}.tag.ok{color:var(--ok);background:var(--ok-soft);border-color:#2fd39f52}.tag.err{color:var(--err);background:var(--err-soft);border-color:#ff575752}.stat{border:1px solid var(--line);background:var(--panel);flex-direction:column;gap:3px;padding:11px 14px;display:flex}.stat .v{font-variant-numeric:tabular-nums;font-size:17px}.empty{text-align:center;color:var(--fg-mute);padding:38px 18px;font-size:12px}.note{border:1px solid var(--line-2);background:var(--panel-2);color:var(--fg-dim);gap:10px;padding:11px 14px;font-size:12.5px;display:flex}.note.err{background:var(--err-soft);color:#ffb3b3;border-color:#ff57574d}.note.warn{color:#ffd98a;background:#ffc04614;border-color:#ffc0464d}.note.ok{background:var(--ok-soft);color:#a6f0d8;border-color:#2fd39f47}.row{align-items:center;gap:10px;display:flex}.row.center{justify-content:center}.row.wrap{flex-wrap:wrap}.stack{flex-direction:column;gap:14px;display:flex}.stack.sm{gap:8px}.mt{margin-top:14px}.mt-lg{margin-top:26px}.py-md{padding-top:14px;padding-bottom:14px}.mx-lg{margin-left:20px;margin-right:20px}.spread{justify-content:space-between;align-items:center;gap:12px;display:flex}.panel-ft{border-top:1px solid var(--line-2);background:var(--panel-2);padding:10px 14px}.kv{grid-template-columns:104px 1fr;gap:6px 14px;font-size:13px;display:grid}.kv dt{color:var(--fg-mute);letter-spacing:.06em;text-transform:uppercase;padding-top:2px;font-size:11px}.kv dd{margin:0}.drop{border:1px dashed var(--line-2);background:var(--panel-2);text-align:center;cursor:pointer;padding:40px 20px;transition:border-color .15s,background .15s}.drop.over,.drop:hover{border-color:var(--acc);background:var(--acc-soft)}.drop .big{font-family:var(--display);margin-bottom:6px;font-size:17px}.file-indent{color:var(--fg-mute);display:inline-block}.file-path{font-family:var(--mono);font-size:12.5px}.file-dir{color:var(--fg-mute)}.file-name{color:var(--fg)}.bar-track{background:var(--line);width:100%;height:3px;overflow:hidden}.bar-fill{background:var(--acc);height:100%}.toasts{z-index:90;flex-direction:column;gap:9px;width:calc(min(420px,100vw - 44px));display:flex;position:fixed;bottom:22px;right:22px}.toast{background:var(--panel-2);border:1px solid var(--line-2);border-left:2px solid var(--acc);align-items:flex-start;gap:10px;padding:12px 14px;font-size:13px;animation:.22s cubic-bezier(.2,.9,.3,1) toast-in;display:flex;box-shadow:0 18px 40px #0000008c}.toast.ok{border-left-color:var(--ok)}.toast.err{border-left-color:var(--err)}.toast.warn{border-left-color:var(--warn)}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.rise{animation:.42s cubic-bezier(.16,1,.3,1) both rise}.rise-2{animation-delay:60ms}.rise-3{animation-delay:.12s}.rise-4{animation-delay:.18s}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.spin{border:1.5px solid var(--line-2);border-top-color:var(--acc);border-radius:50%;width:11px;height:11px;animation:.7s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(1turn)}}.bar{background:#ffffff1f;border-radius:999px;width:min(360px,80%);height:6px;overflow:hidden}.bar>i{background:var(--acc);height:100%;transition:width .25s;display:block}.footer{border-top:1px solid var(--line);color:var(--fg-mute);font-family:var(--mono);padding:16px 0 26px;font-size:11px}.overlay{z-index:80;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#040506de;justify-content:center;align-items:center;padding:3vh 3vw;animation:.18s both overlay-in;display:flex;position:fixed;inset:0}@keyframes overlay-in{0%{opacity:0}to{opacity:1}}.lightbox{background:var(--panel);border:1px solid var(--line-2);flex-direction:column;width:min(1120px,100%);max-height:94vh;animation:.26s cubic-bezier(.16,1,.3,1) both rise;display:flex;box-shadow:0 40px 100px #000000b8}.lightbox-bd{background:linear-gradient(#ffffff05 1px,transparent 1px) 0 0/100% 28px,linear-gradient(90deg,#ffffff05 1px,transparent 1px) 0 0/28px 100%,var(--bg);flex:1;justify-content:center;align-items:center;min-height:220px;display:flex;overflow:auto}.lightbox-img{max-width:100%;max-height:76vh;display:block}.lightbox-ft{border-top:1px solid var(--line);font-family:var(--mono);align-items:center;gap:12px;padding:10px 14px;display:flex}.lightbox-ft>.mono{text-align:center;flex:1}@media (width<=900px){.wrap{padding:0 16px}.grid-3,.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-2{grid-template-columns:1fr}h1{font-size:26px}.nav a{padding:6px 9px;font-size:12px}.hide-sm{display:none}.overlay{padding:0}.lightbox{border:none;width:100%;max-height:100vh}.lightbox-img{max-height:66vh}}
