:root{--bg:#f4f3ee;--surface:#fff;--surface-2:#ecebe4;--border:#d8d6cb;--text:#1f2119;--muted:#6a6c60;--accent:#556b2f;--accent-text:#fff;--accent-soft:#e3e9d4;--ok:#2f7d32;--warn:#9a6a00;--warn-soft:#fbf0d0;--danger:#b3261e;--danger-soft:#f9dedc;--mono:ui-monospace, "Cascadia Code", "JetBrains Mono", Consolas, monospace;--radius:8px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--bg:#14160f;--surface:#1c1f16;--surface-2:#252920;--border:#353a2c;--text:#e6e5dc;--muted:#9a9c8d;--accent:#a3b86c;--accent-text:#14160f;--accent-soft:#2c3420;--ok:#7cc47f;--warn:#e0b54a;--warn-soft:#3a3016;--danger:#f2827a;--danger-soft:#3d1f1c;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}html,body{margin:0}body{background:var(--bg);color:var(--text);font:15px/1.5 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}a{color:var(--accent)}h1{margin:0 0 1rem;font-size:1.4rem}h2{margin:0 0 .75rem;font-size:1.05rem}code,.mono{font-family:var(--mono);overflow-wrap:anywhere;font-size:.85em}.muted{color:var(--muted)}.small{font-size:.85rem}.shell{grid-template-columns:220px 1fr;min-height:100vh;display:grid}.side{background:var(--surface);border-right:1px solid var(--border);flex-direction:column;gap:.25rem;height:100vh;padding:1rem .75rem;display:flex;position:sticky;top:0}.brand{align-items:center;gap:.5rem;padding:.25rem .5rem 1rem;font-weight:700;display:flex}.brand img{width:28px;height:28px}.side a{color:var(--text);border-radius:6px;padding:.45rem .6rem;text-decoration:none}.side a:hover{background:var(--surface-2)}.side a.router-link-exact-active,.side a.active{background:var(--accent-soft);color:var(--accent);font-weight:600}.side .spacer{flex:1}main{width:100%;max-width:1200px;padding:1.5rem 2rem}@media (width<=760px){.shell{grid-template-columns:1fr}.side{border-right:0;border-bottom:1px solid var(--border);flex-flow:wrap;height:auto;padding:.5rem;position:static}.brand{width:100%;padding:.25rem .5rem}.side .spacer{display:none}main{padding:1rem}}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1rem 1.25rem}.grid{gap:1rem;display:grid}.grid.cols-4{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.grid.cols-2{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.row.between{justify-content:space-between}.stack{flex-direction:column;gap:1rem;display:flex}.stat .label{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:.8rem}.stat .value{font-variant-numeric:tabular-nums;font-size:1.5rem;font-weight:650}.stat .sub{color:var(--muted);font-size:.85rem}.bar{background:var(--surface-2);border-radius:3px;height:6px;margin-top:.4rem;overflow:hidden}.bar>span{background:var(--accent);height:100%;transition:width .4s;display:block}button,.btn{font:inherit;cursor:pointer;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:6px;align-items:center;gap:.4rem;padding:.45rem .9rem;text-decoration:none;display:inline-flex}button:hover:not(:disabled){background:var(--surface-2)}button:disabled{opacity:.5;cursor:not-allowed}button.primary{background:var(--accent);color:var(--accent-text);border-color:var(--accent);font-weight:600}button.primary:hover:not(:disabled){filter:brightness(1.08);background:var(--accent)}button.danger{color:var(--danger)}button.danger:hover:not(:disabled){background:var(--danger-soft)}button.sm{padding:.2rem .55rem;font-size:.85rem}input,select,textarea{font:inherit;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:6px;width:100%;padding:.45rem .6rem}input:focus,select:focus,textarea:focus,button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}input[type=checkbox]{width:auto;accent-color:var(--accent)}label.field{flex-direction:column;gap:.25rem;font-size:.9rem;display:flex}label.field>span{color:var(--muted)}label.check{align-items:center;gap:.4rem;display:inline-flex}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid var(--border);vertical-align:top;padding:.55rem .5rem}th{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:.8rem;font-weight:500}tr:last-child td{border-bottom:0}.table-wrap{overflow-x:auto}.badge{background:var(--surface-2);color:var(--muted);white-space:nowrap;border-radius:999px;align-items:center;gap:.3rem;padding:.1rem .5rem;font-size:.78rem;display:inline-flex}.badge.ok{background:color-mix(in srgb, var(--ok) 18%, transparent);color:var(--ok)}.badge.warn{background:var(--warn-soft);color:var(--warn)}.badge.danger{background:var(--danger-soft);color:var(--danger)}.badge.accent{background:var(--accent-soft);color:var(--accent)}.dot{background:currentColor;border-radius:50%;width:8px;height:8px}.alert{border-radius:var(--radius);border:1px solid;padding:.65rem .9rem}.alert.warn{background:var(--warn-soft);border-color:color-mix(in srgb, var(--warn) 40%, transparent);color:var(--warn)}.alert.danger{background:var(--danger-soft);border-color:color-mix(in srgb, var(--danger) 40%, transparent);color:var(--danger)}.alert.info{background:var(--accent-soft);border-color:color-mix(in srgb, var(--accent) 35%, transparent);color:var(--text)}.logs{font-family:var(--mono);color:#cfd2c0;border-radius:var(--radius);white-space:pre-wrap;word-break:break-all;background:#0e100b;height:420px;padding:.75rem;font-size:.78rem;line-height:1.45;overflow:auto}.logs .err{color:#ff8a80}.logs .warn{color:#ffd166}.logs .mod{color:#9ccc65}.logs .net{color:#81d4fa}pre.json{font-family:var(--mono);background:var(--surface-2);border-radius:var(--radius);max-height:480px;margin:0;padding:.75rem;font-size:.78rem;overflow:auto}.toasts{z-index:50;flex-direction:column;gap:.5rem;max-width:min(420px,100vw - 2rem);display:flex;position:fixed;bottom:1rem;right:1rem}.toast{background:var(--surface);border:1px solid var(--border);border-left:4px solid var(--ok);border-radius:6px;padding:.6rem .9rem;box-shadow:0 4px 16px #00000026}.toast.error{border-left-color:var(--danger)}.center{place-items:center;min-height:100vh;padding:1rem;display:grid}.login{width:min(380px,100%)}.modlist{border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;max-height:520px;display:flex;overflow:auto}.modlist .item{border-bottom:1px solid var(--border);align-items:center;gap:.6rem;padding:.45rem .7rem;display:flex}.modlist .item:last-child{border-bottom:0}.modlist .item.on{background:var(--accent-soft)}.modlist .item .name{flex:1;min-width:0}.order{gap:.15rem;display:inline-flex}
