:root{--bg:#090b12;--panel:#12151f;--panel-2:#171b27;--line:#262b3a;--text:#f5f6fb;--muted:#8e95a8;--violet:#7c5cff;--violet-2:#9d78ff;--green:#36d399;--red:#ff5c70;--amber:#f4b942;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body{background:var(--bg);min-height:100%;color:var(--text);margin:0}body{font-size:15px}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}h1,h2,h3,p{margin-top:0}h1{letter-spacing:-.04em;margin-bottom:.5rem;font-size:clamp(1.9rem,3vw,2.7rem)}h2{font-size:1.15rem}small{color:var(--muted);display:block}.muted{color:var(--muted)}.eyebrow{color:var(--violet-2);letter-spacing:.16em;margin-bottom:.65rem;font-size:.72rem;font-weight:800}.brand-mark{background:linear-gradient(145deg,var(--violet),#4c2ed3);border-radius:11px;place-items:center;width:38px;height:38px;font-style:italic;font-weight:900;display:grid;box-shadow:0 10px 30px #6e4cff55}.brand-mark.large{width:56px;height:56px;font-size:1.45rem}.button{border:1px solid var(--line);background:var(--panel-2);color:var(--text);border-radius:9px;padding:.72rem 1rem;font-weight:750;transition:all .18s}.button:hover:not(:disabled){border-color:#4a5063;transform:translateY(-1px)}.button:disabled{opacity:.48;cursor:not-allowed}.button.primary{background:linear-gradient(135deg,var(--violet),#6441df);border-color:#0000;box-shadow:0 8px 28px #7251ef30}.button.success{color:#74ebb8;background:#173a31;border-color:#23664e}.button.danger{color:#ff93a0;background:#3d1820;border-color:#7e2d3b}.button.ghost{background:0 0}.button.wide{width:100%}.button.tiny{padding:.42rem .65rem;font-size:.78rem}.icon-button{color:var(--muted);background:0 0;border:0;padding:.4rem;font-size:1.1rem}.login-page{grid-template-columns:1.15fr .85fr;min-height:100vh;display:grid}.login-visual{background:radial-gradient(circle at 30% 40%,#281d5b 0,#0000 38%),linear-gradient(145deg,#10131d,#090a10);flex-direction:column;justify-content:center;padding:clamp(3rem,8vw,9rem);display:flex;position:relative;overflow:hidden}.login-visual h1{max-width:800px;font-size:clamp(3rem,6vw,6rem);line-height:.94}.login-visual h1 span{color:#a88bff}.login-visual>p:last-of-type{color:#a7adbd;max-width:520px;font-size:1.08rem}.orb{filter:blur(2px);background:linear-gradient(135deg,#7d59ff44,#4ee5c422);border:1px solid #917aff26;border-radius:50%;position:absolute}.orb-one{width:300px;height:300px;top:15%;right:-90px}.orb-two{width:180px;height:180px;bottom:-80px;left:15%}.login-panel{background:#0d0f16;place-items:center;padding:2rem;display:grid}.auth-card{flex-direction:column;gap:1.15rem;width:min(430px,100%);display:flex}.auth-card h2{margin-bottom:.35rem;font-size:2rem}.brand-inline,.sidebar-brand{align-items:center;gap:.75rem;display:flex}.brand-inline{margin-bottom:2rem}.brand-inline strong{letter-spacing:.18em}.fine-print{text-align:center;color:#62697a;font-size:.75rem}label{color:#b8bdca;gap:.45rem;font-size:.82rem;font-weight:650;display:grid}input,select,textarea{border:1px solid var(--line);width:100%;color:var(--text);background:#0d1018;border-radius:8px;outline:none;padding:.76rem .82rem}input:focus,select:focus,textarea:focus{border-color:var(--violet);box-shadow:0 0 0 3px #7957ff1c}.app-shell{grid-template-columns:250px 1fr;min-height:100vh;display:grid}.sidebar{border-right:1px solid var(--line);background:#0d1017;flex-direction:column;height:100vh;padding:1.2rem;display:flex;position:sticky;top:0}.sidebar-brand{padding:.35rem .35rem 1.6rem}.sidebar-brand strong{letter-spacing:.15em;display:block}.sidebar-brand small{letter-spacing:.12em;font-size:.57rem}.sidebar nav{flex-direction:column;gap:.25rem;display:flex}.sidebar nav p{color:#555d70;letter-spacing:.13em;margin:1.2rem .7rem .4rem;font-size:.64rem;font-weight:800}.sidebar nav a{color:#aeb4c2;border-radius:8px;padding:.72rem .8rem;font-weight:600}.sidebar nav a:hover{color:#fff;background:#181c28}.sidebar-user{border-top:1px solid var(--line);grid-template-columns:auto 1fr auto;align-items:center;gap:.65rem;margin-top:auto;padding-top:1rem;display:grid}.avatar{color:#baf;background:#2b2349;border-radius:50%;place-items:center;width:34px;height:34px;font-weight:800;display:grid}.sidebar-user strong{font-size:.83rem}.sidebar-user small{font-size:.68rem}.content-shell{min-width:0}.topbar{border-bottom:1px solid var(--line);height:64px;color:var(--muted);justify-content:space-between;align-items:center;padding:0 2rem;font-size:.78rem;display:flex}.status-dot{background:var(--green);width:7px;height:7px;box-shadow:0 0 10px var(--green);border-radius:50%;margin-right:.45rem;display:inline-block}.host-pill{border:1px solid var(--line);background:#141823;border-radius:999px;padding:.4rem .65rem}.content{max-width:1500px;margin:0 auto;padding:2rem}.page-heading{justify-content:space-between;align-items:flex-end;gap:2rem;margin-bottom:2rem;display:flex}.page-heading>div>p:last-child{color:var(--muted);margin-bottom:0}.stats-grid{grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:1.4rem;display:grid}.stat-card{background:linear-gradient(145deg,var(--panel),#10131c);border:1px solid var(--line);border-radius:12px;align-items:center;gap:1rem;padding:1.25rem;display:flex}.stat-card small{letter-spacing:.1em;font-size:.65rem;font-weight:800}.stat-card strong{margin-top:.25rem;font-size:1.8rem;display:block}.stat-icon{border-radius:10px;place-items:center;width:44px;height:44px;font-weight:800;display:grid}.stat-icon.violet{color:#a98dff;background:#2c2350}.stat-icon.green{color:var(--green);background:#15392f}.stat-icon.amber{color:var(--amber);background:#3c3018}.stat-icon.red{color:var(--red);background:#421c25}.panel{background:var(--panel);border:1px solid var(--line);border-radius:12px;margin-bottom:1.25rem;padding:1.35rem}.panel-heading{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.2rem;display:flex}.panel-heading h2{margin-bottom:.25rem}.panel-heading p{color:var(--muted);margin-bottom:0;font-size:.85rem}.server-grid{grid-template-columns:repeat(3,1fr);gap:1rem;display:grid}.server-card{border:1px solid var(--line);background:#0e1119;border-radius:10px;padding:1.15rem;transition:all .2s}.server-card:hover{background:#11151f;border-color:#51466f;transform:translateY(-2px)}.server-card-top{justify-content:space-between;align-items:flex-start;margin-bottom:1.4rem;display:flex}.game-icon{color:#bca8ff;background:linear-gradient(145deg,#28203e,#171526);border-radius:9px;place-items:center;width:42px;height:42px;font-size:.74rem;font-weight:900;display:grid}.server-card h3{margin-bottom:.35rem}.server-card p{color:var(--muted)}.server-meta{color:#697184;border-top:1px solid var(--line);justify-content:space-between;padding-top:.8rem;font-size:.72rem;display:flex}.badge{border:1px solid var(--line);color:#a6adbd;text-transform:uppercase;background:#1a1e29;border-radius:999px;align-items:center;gap:.4rem;width:max-content;padding:.3rem .5rem;font-size:.68rem;font-weight:800;display:inline-flex}.badge i{background:currentColor;border-radius:50%;width:6px;height:6px}.status-running,.status-succeeded{color:#5fe0ab;background:#12342b;border-color:#225843}.status-failed{color:#ff7c8c;background:#39171e;border-color:#6a2935}.status-installing,.status-starting,.status-stopping,.status-updating,.status-queued{color:#b89eff;background:#251e42;border-color:#49387d}.status-stopped{color:#9aa2b4}.neutral{color:#bcb2da}.empty-state{text-align:center;color:var(--muted);padding:4rem 1rem}.empty-state>span{color:var(--violet);font-size:2rem}.empty-state h3{color:var(--text);margin-top:1rem}.form-panel{max-width:1000px}.form-section{border-bottom:1px solid var(--line);align-items:flex-start;gap:1rem;margin:1rem 0;padding-bottom:1rem;display:flex}.form-section .step{color:#b69cff;background:#2b234a;border-radius:8px;place-items:center;width:30px;height:30px;font-weight:900;display:grid}.form-section h2{margin-bottom:.3rem}.form-section p{color:var(--muted);margin:0}.form-grid{grid-template-columns:repeat(2,1fr);gap:1rem;display:grid}.port-list{gap:.6rem;display:grid}.port-row{grid-template-columns:1fr 120px 2fr auto;gap:.6rem;display:grid}.form-actions,.action-row,.action-group{justify-content:flex-end;align-items:center;gap:.65rem;display:flex}.form-actions{border-top:1px solid var(--line);margin-top:1.4rem;padding-top:1.2rem}.inline-form{border:1px solid var(--line);background:#0d1018;border-radius:10px;grid-template-columns:repeat(4,1fr) auto;align-items:end;gap:.75rem;margin-bottom:1rem;padding:1rem;display:grid}.table-wrap{overflow:auto}table{border-collapse:collapse;text-align:left;width:100%}th{color:#777f91;letter-spacing:.09em;text-transform:uppercase;padding:.8rem;font-size:.67rem}td{border-top:1px solid var(--line);color:#cbd0dc;padding:.85rem}td small{margin-top:.2rem}code{color:#c5b6ff}.server-hero{justify-content:space-between;align-items:flex-end;gap:2rem;margin-bottom:1.4rem;display:flex}.breadcrumbs{color:#6f7688;margin-bottom:1rem;font-size:.75rem}.server-title{align-items:center;gap:1rem;display:flex}.server-title h1{margin:0;font-size:2rem}.server-title p{color:var(--muted);margin:0}.large-icon{width:58px;height:58px}.tabs{border-bottom:1px solid var(--line);gap:.25rem;margin-bottom:1.2rem;display:flex}.tabs button{color:var(--muted);background:0 0;border:0;border-bottom:2px solid #0000;padding:.8rem 1rem;font-weight:700}.tabs button.active{color:#fff;border-bottom-color:var(--violet)}.detail-grid{grid-template-columns:1.15fr .85fr;gap:1rem;display:grid}.details{grid-template-columns:repeat(2,1fr);gap:1rem;display:grid}.details div{border:1px solid var(--line);background:#0e1119;border-radius:8px;padding:.9rem}.details dt{color:var(--muted);text-transform:uppercase;font-size:.7rem}.details dd{margin:.35rem 0 0;font-weight:700}.port-chips{flex-wrap:wrap;gap:.6rem;display:flex}.port-chips span{border:1px solid var(--line);color:var(--muted);border-radius:8px;padding:.75rem;font-size:.75rem}.port-chips strong{color:#fff;margin-top:.25rem;display:block}.danger-zone{border-top:1px solid #492530;margin-top:2rem;padding-top:1rem}.danger-zone h3{color:#ff8291}.config-panel label{margin-bottom:1rem}.steam-box{border:1px solid var(--line);background:#0d1018;border-radius:9px;margin:0 0 1rem;padding:1rem}.steam-box h3{margin-bottom:.35rem}.steam-box p{color:var(--muted);margin-bottom:.8rem;font-size:.85rem}.structured-fields{grid-template-columns:2fr 1fr;gap:1rem;display:grid}.code-editor{resize:vertical;min-height:420px;font-family:Cascadia Code,Consolas,monospace;font-size:.82rem;line-height:1.6}.log-view{border:1px solid var(--line);color:#aeb8cb;white-space:pre-wrap;background:#090b10;border-radius:8px;min-height:380px;max-height:65vh;padding:1rem;font:12px/1.55 Cascadia Code,Consolas,monospace;overflow:auto}.alert{border-radius:8px;padding:.8rem 1rem}.alert.error{color:#ff9aaa;background:#35171e;border:1px solid #672937}.alert.info{color:#c7baff;background:#1c1937;border:1px solid #423776}.security-card{gap:1.2rem;max-width:760px;display:flex}.setup-box{border:1px solid var(--line);background:#0d1018;border-radius:9px;margin-top:1rem;padding:1rem}.secret-code{word-break:break-all;background:#080a0f;border-radius:6px;margin-bottom:1rem;padding:.8rem;display:block}.recovery-codes{grid-template-columns:repeat(2,1fr);gap:.5rem;display:grid}.recovery-codes code{background:#090b10;border-radius:5px;padding:.55rem}.fine-print{margin-bottom:0}@media (max-width:1050px){.stats-grid,.server-grid,.inline-form{grid-template-columns:repeat(2,1fr)}.detail-grid{grid-template-columns:1fr}}@media (max-width:760px){.login-page{grid-template-columns:1fr}.login-visual{display:none}.app-shell{display:block}.sidebar{width:100%;height:auto;padding:.8rem;position:static}.sidebar nav{grid-template-columns:repeat(2,1fr);display:grid}.sidebar nav p,.sidebar-user{display:none}.topbar{padding:0 1rem}.content{padding:1rem}.page-heading,.server-hero{flex-direction:column;align-items:flex-start}.stats-grid,.server-grid,.form-grid{grid-template-columns:1fr}.port-row{grid-template-columns:1fr 90px}.port-row input:nth-of-type(2){grid-column:1/3}.action-group{flex-wrap:wrap}.details,.inline-form{grid-template-columns:1fr}.panel-heading{flex-direction:column;align-items:flex-start}.structured-fields{grid-template-columns:1fr}}
.config-history{flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:1rem;display:flex}.config-history h3{margin:0 .5rem 0 0}
