:root{color-scheme:dark;--bg:#152737;--rail:#0f1e2d;--surface:#213648;--hover:#2a4257;--ink:#eef2f6;--muted:#bac9d5;--line:#3a5063;--accent:#a7c9e5;--button:#436c8e;--amber:#d3b388;--success:#86c7a0;--danger:#f0a0a0;--warning:#edc47f;--focus:#a7c9e5;--mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
[data-theme=light]{color-scheme:light;--bg:#eef3f7;--rail:#142b3f;--surface:#fff;--hover:#e4edf4;--ink:#1c3346;--muted:#4f6577;--line:#cedbe5;--accent:#285f8a;--button:#2e648e;--amber:#845e28;--success:#27674c;--danger:#a63333;--warning:#8a5d13;--focus:#285f8a}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:15px;line-height:1.5;font-variant-numeric:tabular-nums}button,input,select,textarea{font:inherit}a{color:var(--accent);text-underline-offset:3px}button,a,input,select,textarea{ -webkit-tap-highlight-color:transparent}button{min-height:40px;padding:9px 16px;border:1px solid var(--line);border-radius:7px;background:var(--surface);color:var(--ink);cursor:pointer;transition:background 160ms ease-out}button:hover{background:var(--hover)}button:active{transform:translateY(1px)}button:disabled{cursor:not-allowed;opacity:.45;transform:none}.primary{background:var(--button);color:#fff;border-color:var(--button)}.primary:hover{background:#4b7392}.danger{color:var(--danger)}.quiet{background:transparent;border-color:transparent}.small{font-size:13px;min-height:34px;padding:6px 10px}button svg,.icon{width:19px;height:19px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--focus);outline-offset:3px}::selection{background:var(--button);color:#fff}input,textarea{caret-color:var(--accent)}input,select,textarea{width:100%;min-height:42px;border:1px solid var(--line);border-radius:7px;padding:9px 12px;background:var(--surface);color:var(--ink)}input::placeholder,textarea::placeholder{color:var(--muted)}input[type=checkbox]{width:17px;min-height:17px;accent-color:var(--button)}input[type=file]{padding:8px}textarea{resize:vertical}label{display:grid;gap:7px;font-size:14px}label small,.help{color:var(--muted);font-size:13px}p{color:var(--muted);max-width:72ch;margin:7px 0 18px}h1,h2,h3{line-height:1.25;letter-spacing:-.02em;text-wrap:balance}h1{font-size:29px;font-weight:650;margin:0 0 9px}h2{font-size:19px;font-weight:600;margin:0 0 17px}h3{font-size:16px;margin:20px 0 12px}svg{overflow:visible}.skip{position:fixed;top:-80px;left:12px;z-index:100;padding:12px;background:var(--surface)}.skip:focus{top:12px}.sidebar{width:230px;position:fixed;inset:0 auto 0 0;background:var(--rail);padding:34px 23px;color:#eef2f6;display:flex;flex-direction:column;z-index:20}.brand{display:flex;align-items:center;gap:9px;color:#eef2f6;text-decoration:none;font-weight:650;font-size:19px;letter-spacing:-.025em;white-space:nowrap}.brand svg{width:29px;height:29px;stroke:#d3b388;stroke-width:1.5;fill:var(--rail)}.brand-note{font-size:12px;color:#bac9d5;margin:9px 0 34px}.sidebar nav{display:grid;gap:6px}.nav-link{display:flex;align-items:center;gap:12px;color:#bac9d5;text-decoration:none;padding:11px 13px;border-radius:7px;font-size:14px}.nav-link:hover{background:#ffffff09;color:#fff}.nav-link[aria-current=page]{background:#29445b;color:#f5f8fa}.sidebar-bottom{margin-top:auto;display:grid;gap:5px;padding-top:30px}.sidebar-bottom button{text-align:left;color:#bac9d5;font-size:12px;padding:5px 0;min-height:30px}.sidebar-bottom button:hover{color:white;background:transparent}.local-label{display:flex;gap:9px;align-items:center;font-size:12px;color:#bac9d5;margin-bottom:10px}.dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--success);flex-shrink:0}.dot.offline{background:var(--muted)}.dot.warning{background:var(--warning)}#workspace{margin-left:230px;padding:30px 46px 20px;max-width:1720px;min-height:100vh}.topbar{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding-bottom:22px;color:var(--muted);font-size:13px;gap:15px}.connection{display:flex;gap:8px;align-items:center}.icon-button{padding:8px;display:none}.page{padding-top:34px;min-height:calc(100vh - 165px)}.page-head{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:25px}.page-head p{margin-bottom:0}.actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.server-strip{display:flex;align-items:center;gap:20px;border:1px solid var(--line);border-radius:12px;padding:23px 25px;background:var(--surface);margin-bottom:32px}.server-strip>.dot{width:12px;height:12px}.server-title{font-size:18px;font-weight:600}.server-strip p{font-size:13px;margin:3px 0 0}.grow{flex:1;min-width:0}.strip-facts{display:flex;gap:27px;font-size:12px;color:var(--muted)}.strip-facts strong{display:block;color:var(--ink);font-size:15px;margin-bottom:3px}.columns{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(260px,1fr);gap:32px}.section{border-top:1px solid var(--line);padding:25px 0 0;margin-bottom:28px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:17px}.section-head h2{margin:0}.section-head a{font-size:13px}.chart{background:var(--surface);padding:16px 20px 13px;border-radius:8px;margin-bottom:16px}.chart-header{display:flex;justify-content:space-between;font-size:13px;gap:10px;margin-bottom:8px}.chart-header strong{font-weight:600}.chart svg{display:block;width:100%;height:110px}.axis{color:var(--muted);display:flex;justify-content:space-between;font-size:11px}.chart-line{stroke:var(--accent);fill:none;stroke-width:2;vector-effect:non-scaling-stroke}.chart-line.memory{stroke:var(--amber)}.chart-grid{stroke:var(--line);stroke-width:1;vector-effect:non-scaling-stroke}.measurement-note{font-size:12px;color:var(--muted)}.fact-row{display:flex;justify-content:space-between;gap:20px;padding:12px 0;border-bottom:1px solid var(--line);font-size:13px}.fact-row span{color:var(--muted)}.player-row{display:flex;align-items:center;gap:12px;padding:15px 0;border-bottom:1px solid var(--line)}.avatar{width:35px;height:35px;background:var(--surface);border-radius:50%;display:grid;place-items:center;color:var(--accent);font-size:13px;font-weight:600;flex-shrink:0}.player-row strong{font-size:14px;font-weight:550}.player-row small{display:block;font-size:12px;color:var(--muted)}.badge{display:inline-flex;align-items:center;gap:6px;font-size:12px;white-space:nowrap;color:var(--muted)}.badge.online{color:var(--success)}.badge.warning{color:var(--warning)}.activity{padding:0;margin:0;list-style:none}.activity li{display:flex;gap:15px;padding:13px 0;align-items:flex-start}.activity .dot{margin-top:7px;width:6px;height:6px;background:var(--amber)}.activity time{min-width:62px;font-size:12px;color:var(--muted);margin-top:3px}.activity strong{font-weight:550;font-size:14px}.activity p{font-size:13px;margin:1px 0 0}.toolbar{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin-bottom:22px}.toolbar label{min-width:170px;flex:1;max-width:360px}.toolbar .search{max-width:480px}.table-wrap{overflow:auto;max-width:100%;scrollbar-color:var(--line) var(--surface)}table{border-collapse:collapse;width:100%;font-size:13px;text-align:left}th{font-weight:550;color:var(--muted);font-size:12px;padding:12px;border-bottom:1px solid var(--line);white-space:nowrap}td{padding:14px 12px;border-bottom:1px solid var(--line);vertical-align:middle}td:first-child,th:first-child{padding-left:0}td:last-child,th:last-child{padding-right:0}td small{display:block;color:var(--muted);font-size:11px;margin-top:3px}.row-actions{display:flex;gap:5px;justify-content:flex-end}.tabs{display:flex;gap:8px;border-bottom:1px solid var(--line);margin-bottom:25px;padding-bottom:12px;flex-wrap:wrap}.tabs button{background:transparent;border-color:transparent;color:var(--muted)}.tabs .selected{background:var(--surface);border-color:var(--line);color:var(--ink)}.empty{padding:35px 0;color:var(--muted);max-width:65ch}.empty h2{color:var(--ink);margin-bottom:10px}.notice{padding:14px 17px;border:1px solid var(--line);border-radius:8px;margin-bottom:20px;color:var(--muted);font-size:13px;background:var(--surface)}.notice.warning{color:var(--warning)}.notice.error{color:var(--danger)}.notice p{margin:5px 0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;max-width:900px}.form-grid .full{grid-column:1/-1}.check-label{display:flex;align-items:center;gap:10px}.form-actions{display:flex;align-items:center;gap:14px;margin:25px 0}.form-actions .hint{font-size:13px;color:var(--muted)}.editor{font-family:var(--mono);font-size:13px;line-height:1.6;min-height:400px;tab-size:2;scrollbar-color:var(--line) var(--surface)}details{margin:20px 0}summary{cursor:pointer;color:var(--accent);padding:8px 0}.mod-row{padding:23px 0;border-bottom:1px solid var(--line);display:flex;gap:20px;align-items:flex-start}.mod-row h2{font-size:17px;margin:0 0 6px}.mod-row p{margin-bottom:8px;font-size:13px}.mod-meta{display:flex;gap:16px;color:var(--muted);font-size:12px;flex-wrap:wrap}.catalog-controls{margin-bottom:24px}.file-name{font-family:var(--mono);font-size:12px;overflow-wrap:anywhere}.breadcrumbs{display:flex;gap:8px;align-items:center;margin-bottom:20px;flex-wrap:wrap}.breadcrumbs button{padding:5px 8px;font-size:13px;min-height:32px}.console{background:#0e1b27;border:1px solid var(--line);border-radius:8px;min-height:350px;height:53vh;overflow:auto;padding:18px;white-space:pre-wrap;overflow-wrap:anywhere;font-family:var(--mono);font-size:12px;line-height:1.65;scrollbar-color:#395166 #0e1b27;color:#d5e2ee}.console .error-line{color:#f0a0a0}.console .warning-line{color:#edc47f}.command-form{display:flex;gap:10px;margin-top:14px}.command-form input{font-family:var(--mono);font-size:13px}.app-footer{display:flex;justify-content:space-between;gap:15px;margin-top:26px;padding-top:18px;border-top:1px solid var(--line);color:var(--muted);font-size:11px}.notifications{position:fixed;bottom:22px;right:25px;z-index:80;max-width:min(440px,calc(100vw - 32px));display:grid;gap:8px}.toast{padding:14px 18px;background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:0 8px 24px #07111a55;font-size:13px;animation:toast-in 180ms ease-out}.toast.error{color:var(--danger)}@keyframes toast-in{from{translate:0 7px;opacity:.8}to{translate:0 0;opacity:1}}dialog{background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:12px;padding:28px;max-width:500px;width:calc(100% - 32px);box-shadow:0 20px 80px #020a1255}dialog::backdrop{background:#06101bcc}dialog p{margin-bottom:22px}dialog .actions{justify-content:flex-end;margin-top:25px}dialog label{margin-top:15px}.auth-screen{min-height:100vh;display:grid;place-items:center;padding:28px}.auth-box{width:100%;max-width:420px}.auth-box h1{font-size:30px}.auth-box form{display:grid;gap:19px;margin-top:32px}.auth-box button{margin-top:7px}.auth-box .auth-note{font-size:12px;margin-top:27px;padding-top:18px;border-top:1px solid var(--line)}.skeleton{height:120px;border-radius:8px;background:var(--surface);margin-top:25px}.muted{color:var(--muted)}.text-link{padding:0;border:0;background:transparent;min-height:auto;color:var(--accent);text-align:left}.text-link:hover{background:transparent;text-decoration:underline}.right{text-align:right}.hidden,[hidden]{display:none!important}
@media(max-width:1180px){#workspace{padding:26px 30px 18px}.server-strip{flex-wrap:wrap}.server-strip .actions{margin-left:auto}.strip-facts{gap:20px}.columns{gap:25px;grid-template-columns:minmax(0,1.3fr) minmax(245px,1fr)}}
@media(max-width:900px){.sidebar{transform:translateX(-100%);transition:transform 180ms ease-out}.nav-open .sidebar{transform:translateX(0)}#nav-shade{position:fixed;inset:0;background:#07121bb3;z-index:19}.icon-button{display:flex}#workspace{margin-left:0;padding:20px 24px}.topbar{padding-bottom:16px}.topbar #breadcrumb{flex:1}.page{padding-top:28px}.columns{grid-template-columns:minmax(0,1.45fr) minmax(220px,1fr)}.nav-open #nav-shade{display:block!important}}
@media(max-width:620px){#workspace{padding:17px 18px}.connection{font-size:11px}.page-head{align-items:flex-start;gap:12px}.page-head>.actions{flex-shrink:0}.page-head h1{font-size:25px}.page-head p{font-size:13px}.server-strip{padding:20px;gap:14px}.strip-facts{width:100%;justify-content:space-between}.server-strip .actions{width:100%;margin-top:4px}.columns{grid-template-columns:1fr}.section{margin-bottom:25px}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:1}.toolbar label{min-width:140px;max-width:none}.mod-row{flex-direction:column;gap:12px}.mod-row>.actions{width:100%}.command-form{flex-wrap:wrap}.command-form input{flex:1;min-width:220px}.app-footer{font-size:10px}.console{height:55vh;font-size:11px}.notifications{bottom:16px;right:16px}.page-head .actions button{font-size:12px;padding:7px 10px}.row-actions{flex-wrap:wrap}.auth-box h1{font-size:28px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.gap-top{margin-top:18px}

/* Keep help text from stretching neighbouring form controls. */
label{align-content:start;min-width:0}
.form-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start}
.form-grid .check-label{min-height:42px;align-self:end}
select{height:42px;appearance:none;padding-inline-end:36px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='m2 4 4 4 4-4' fill='none' stroke='%23bac9d5' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:12px}
[data-theme=light] select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='m2 4 4 4 4-4' fill='none' stroke='%234f6577' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
.form-actions{flex-wrap:wrap}
@media(max-width:620px){.form-grid{grid-template-columns:minmax(0,1fr)}.form-grid .check-label{align-self:start}}
@media(forced-colors:active){select{appearance:auto;background-image:none;padding-inline-end:12px}}

.mod-row.with-art{display:grid;grid-template-columns:80px minmax(0,1fr) auto;gap:20px;align-items:start}.mod-art{width:80px;height:80px;position:relative;flex:none;overflow:hidden;border-radius:8px;background:var(--surface);display:grid;place-items:center;color:var(--muted);font-weight:600;font-size:19px}.mod-art img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:var(--surface)}.mod-row h2{overflow-wrap:anywhere}.mod-actions{align-self:center}.mod-error{color:var(--danger);margin:10px 0 0!important}.mod-detail-head{display:flex;align-items:flex-start;gap:20px;margin-bottom:24px}.mod-detail-head>div:last-child{min-width:0}.mod-detail-head h2{margin-bottom:6px}.mod-detail-head p{margin-bottom:8px}
@media(max-width:1180px){.mod-row.with-art{grid-template-columns:80px minmax(0,1fr)}.mod-actions{grid-column:2;justify-self:start}}
@media(max-width:620px){.mod-row.with-art{grid-template-columns:56px minmax(0,1fr);gap:12px 16px}.mod-art{width:56px;height:56px;font-size:15px}.mod-row>.mod-actions{width:auto;grid-column:2;gap:8px}.mod-detail-head{gap:16px}.mod-row.with-art .mod-meta{gap:4px 12px}}

.wide-table table{min-width:800px}.wide-table td,.wide-table th{white-space:nowrap}.table-wrap:focus-visible{outline:2px solid var(--focus);outline-offset:3px}.table-hint{display:none;font-size:12px;margin:5px 0 12px}
@media(max-width:900px){.sidebar{visibility:hidden}.nav-open .sidebar{visibility:visible}.table-hint{display:block}}
