:root{--background:#09080d;--surface:#121019;--surface-raised:#191522;--surface-soft:#211a2d;--border:#31263f;--border-bright:#4a3760;--text:#f2eef6;--muted:#a9a0b4;--purple:#9a6cc2;--purple-bright:#c49be7;--silver:#c8c5ce;--green:#71c59a;--amber:#e2b66d;--red:#d87878;--shadow:0 24px 70px #00000059}*{box-sizing:border-box}html{background:var(--background)}body{min-height:100vh;color:var(--text);background:radial-gradient(circle at 80% -10%, #7140933d, transparent 32rem), radial-gradient(circle at -10% 30%, #4f376529, transparent 28rem), var(--background);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,select{font:inherit}button{color:inherit}.shell{width:min(1440px,100%);margin:0 auto;padding:26px}.topbar{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:24px;padding-bottom:24px;display:flex}.brand{align-items:center;gap:15px;display:flex}.brand-mark{border:1px solid var(--border-bright);width:46px;height:46px;color:var(--purple-bright);background:linear-gradient(145deg,#24182f,#120e18);border-radius:13px;place-items:center;font-family:Georgia,serif;font-size:22px;display:grid;box-shadow:inset 0 1px #ffffff14}.brand h1,.brand p{margin:0}.brand h1{letter-spacing:.02em;font-family:Georgia,Times New Roman,serif;font-size:21px;font-weight:500}.brand p,.eyebrow,.muted{color:var(--muted)}.brand p{margin-top:3px;font-size:13px}.session{align-items:center;gap:10px;display:flex}.status-dot{background:var(--muted);border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 4px #ffffff0a}.status-dot.running{background:var(--green);box-shadow:0 0 0 4px #71c59a1a,0 0 18px #71c59a4d}.status-dot.stopped{background:var(--silver)}.status-dot.failed{background:var(--red)}.content{padding-top:32px}.hero{justify-content:space-between;align-items:end;gap:24px;margin-bottom:22px;display:flex}.eyebrow{letter-spacing:.16em;text-transform:uppercase;margin:0 0 8px;font-size:11px;font-weight:700}.hero h2{max-width:720px;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(30px,4vw,46px);font-weight:400;line-height:1.08}.hero-copy{max-width:470px;color:var(--muted);margin:0;line-height:1.65}.grid{grid-template-columns:repeat(12,1fr);gap:18px;display:grid}.card{border:1px solid var(--border);box-shadow:var(--shadow);background:linear-gradient(155deg,#1a1623f0,#0f0d14f5);border-radius:18px}.primary-card{grid-column:span 8;min-height:270px;padding:25px}.action-card{grid-column:span 4;padding:25px}.broadcast-card{grid-column:span 12;padding:25px}.operations-card{grid-column:span 7;padding:25px}.schedule-card{grid-column:span 5;padding:25px}.memory-card,.metrics-export-card,.database-maintenance-card,.network-card{grid-column:span 12;padding:25px}.server-address{border:1px solid var(--border);background:#ffffff05;border-radius:13px;justify-content:space-between;align-items:baseline;gap:20px;margin-bottom:18px;padding:15px 17px;display:flex}.server-address span{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:11px}.server-address strong{overflow-wrap:anywhere;text-align:right}.port-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.port-status{border:1px solid var(--border);background:#ffffff05;border-radius:13px;grid-template-columns:auto 1fr auto;align-items:center;gap:11px;min-height:72px;padding:14px;display:grid}.port-status strong,.port-status span{display:block}.port-status div>span,.port-status small{color:var(--muted);margin-top:4px;font-size:11px}.port-light{border-radius:50%;width:10px;height:10px}.port-light.open{background:var(--green);box-shadow:0 0 0 4px #71c59a1a,0 0 16px #71c59a73}.port-light.closed{background:var(--red);box-shadow:0 0 0 4px #d878781a}.settings-card{grid-column:span 12;padding:25px}.card-heading{justify-content:space-between;align-items:center;gap:15px;margin-bottom:24px;display:flex}.card-heading h3{margin:0;font-size:16px;font-weight:650}.card-subtitle{color:var(--muted);margin:5px 0 0;font-size:12px}.badge{border:1px solid var(--border);color:var(--muted);letter-spacing:.08em;text-transform:uppercase;background:#ffffff08;border-radius:999px;padding:7px 10px;font-size:11px}.badge.running{color:var(--green);background:#71c59a14;border-color:#71c59a4d}.badge.stopped{color:var(--silver)}.badge.failed{color:var(--red);border-color:#d878784d}.state-line{align-items:center;gap:13px;margin:12px 0 28px;display:flex}.state-line strong{font-family:Georgia,Times New Roman,serif;font-size:32px;font-weight:400}.metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.metric{border:1px solid var(--border);background:#ffffff05;border-radius:13px;min-height:90px;padding:15px}.metric span{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin-bottom:9px;font-size:11px;display:block}.metric strong{font-size:15px;font-weight:600}.action-stack{gap:10px;display:grid}.button{border:1px solid var(--border-bright);cursor:pointer;background:var(--surface-soft);border-radius:11px;justify-content:space-between;align-items:center;width:100%;min-height:44px;padding:0 14px;transition:all .15s;display:flex}.button:hover:not(:disabled){border-color:var(--purple);transform:translateY(-1px)}.button.primary{background:linear-gradient(135deg,#57366f,#32203f);border-color:#785197}.button.danger{color:#efb1b1;background:#692f362e;border-color:#d8787859}.button:disabled{cursor:not-allowed;opacity:.45}.button small{color:var(--muted)}.notice{color:#d8bc8f;background:#e2b66d0f;border:1px solid #e2b66d3b;border-radius:10px;margin-top:13px;padding:12px;font-size:12px;line-height:1.5}.pending-settings-banner{color:#ead1aa;background:linear-gradient(110deg,#744d1e47,#e2b66d14);border:1px solid #e2b66d5c;border-radius:13px;justify-content:space-between;align-items:center;gap:18px;margin-bottom:18px;padding:15px 18px;display:flex;box-shadow:0 12px 35px #0003}.pending-settings-banner strong{font-size:14px}.pending-settings-banner span{color:#cdbb9d;text-align:right;font-size:12px;line-height:1.5}.operation-list{gap:10px;display:grid}.operation-row,.schedule-row{border-top:1px solid var(--border);align-items:center;gap:12px;padding:13px 0;display:grid}.operation-row{grid-template-columns:1fr auto auto}.operation-row:first-child,.schedule-row:first-child{border-top:0}.operation-name{margin:0 0 4px;font-size:14px;font-weight:600}.operation-meta{color:var(--muted);margin:0;font-size:12px}.schedule-row{grid-template-columns:auto 1fr auto}.schedule-entry{border-top:1px solid var(--border);padding:13px 0}.schedule-entry:first-child{border-top:0}.schedule-entry .schedule-row{border-top:0;padding:0}.schedule-actions{align-items:center;gap:8px;display:flex}.schedule-toggle{cursor:pointer}.warning-summary{color:var(--purple-bright);margin-top:5px}.warning-settings{color:var(--muted);margin:10px 0 0 74px;font-size:12px}.warning-settings summary{cursor:pointer;width:fit-content}.warning-form{border:1px solid var(--border);background:#ffffff05;border-radius:11px;grid-template-columns:130px 1fr auto;gap:10px;margin-top:12px;padding:13px;display:grid}.warning-form label{gap:6px;display:grid}.warning-form .warning-check{grid-column:1/-1;align-items:center;display:flex}.warning-form input{border:1px solid var(--border);min-width:0;color:var(--text);background:var(--surface);border-radius:8px;outline:none;padding:9px 10px}.warning-form input:focus{border-color:var(--purple)}.warning-form .warning-message{min-width:0}.warning-help,.schedule-help,.warning-result{color:var(--muted);margin:8px 0 0;font-size:11px}.warning-help{grid-column:1/3;align-self:center;margin:0}.warning-help code{color:var(--purple-bright)}.warning-result{color:var(--green)}.delete-button{width:30px;height:30px;color:var(--red);cursor:pointer;background:#d8787812;border:1px solid #d8787840;border-radius:8px;place-items:center;display:grid}.time-block{border:1px solid var(--border);text-align:center;background:#ffffff05;border-radius:10px;width:62px;padding:10px 8px;font-weight:700}.empty{color:var(--muted);text-align:center;padding:30px 0}.schedule-form{border-top:1px solid var(--border);grid-template-columns:1fr 112px auto;gap:8px;margin-top:18px;padding-top:18px;display:grid}.schedule-form input{border:1px solid var(--border);min-width:0;color:var(--text);background:var(--surface);border-radius:9px;outline:none;padding:10px 12px}.schedule-form input:focus{border-color:var(--purple)}.login-form{gap:8px;display:flex}.login-form input{border:1px solid var(--border);width:210px;color:var(--text);background:var(--surface);border-radius:10px;outline:none;padding:10px 12px}.login-form input:focus{border-color:var(--purple)}.compact-button{border:1px solid var(--border);cursor:pointer;background:var(--surface-raised);border-radius:9px;padding:9px 12px}.compact-button:disabled{cursor:not-allowed;opacity:.45}.form-error{color:var(--red);margin:8px 0 0;font-size:12px}.form-success{color:var(--green);margin:8px 0 0;font-size:12px}.broadcast-form>label,.broadcast-response>span{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin-bottom:7px;font-size:10px;display:block}.broadcast-composer{grid-template-columns:minmax(0,1fr) auto;gap:10px;display:grid}.broadcast-composer input{border:1px solid var(--border);min-width:0;color:var(--text);background:var(--surface);border-radius:9px;outline:none;padding:11px 13px}.broadcast-composer input:focus{border-color:var(--purple)}.broadcast-meta{color:var(--muted);justify-content:space-between;gap:15px;margin-top:8px;font-size:11px;display:flex}.broadcast-meta code{color:var(--silver)}.broadcast-response{border:1px solid var(--border);background:#ffffff05;border-radius:11px;margin-top:16px;padding:13px 14px}.broadcast-response pre{overflow-wrap:anywhere;color:var(--silver);white-space:pre-wrap;margin:0;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px}.memory-summary{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:18px;display:grid}.operation-detail{color:var(--purple-bright);margin-top:4px}.maintenance-controls{grid-template-columns:minmax(220px,1fr) minmax(220px,.7fr);align-items:end;gap:12px;display:grid}.maintenance-controls label{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;gap:7px;font-size:11px;display:grid}.maintenance-controls select{border:1px solid var(--border);min-height:44px;color:var(--text);background:var(--surface);border-radius:10px;outline:none;padding:0 12px}.maintenance-controls select:focus{border-color:var(--purple)}.maintenance-help{color:var(--muted);margin:13px 0 22px;font-size:12px;line-height:1.6}.maintenance-help code{color:var(--silver)}.backup-heading,.backup-row{justify-content:space-between;align-items:center;gap:15px;display:flex}.backup-heading{border-bottom:1px solid var(--border);padding-bottom:10px}.backup-heading span{color:var(--muted);font-size:11px}.backup-list{display:grid}.backup-row{border-bottom:1px solid var(--border);padding:13px 0}.backup-row:last-child{border-bottom:0}.backup-row>div{min-width:0}.backup-row .operation-name{overflow-wrap:anywhere}.compact-button.danger{color:#efb1b1;background:#692f362e;border-color:#d8787859}.cpu-summary{grid-template-columns:repeat(7,minmax(0,1fr))}.memory-stat small{color:var(--muted);margin-top:4px;font-size:10px;display:block}.cpu-state.healthy{color:#83d6a7}.cpu-state.busy{color:#e7cc74}.cpu-state.pressure,.cpu-state.saturated{color:#ed8f8f}.player-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.memory-stat{border:1px solid var(--border);background:#ffffff05;border-radius:11px;padding:13px 14px}.memory-stat span{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin-bottom:7px;font-size:10px;display:block}.memory-stat strong{font-size:16px;font-weight:650}.memory-range-bar{justify-content:space-between;align-items:center;gap:15px;margin-bottom:8px;display:flex}.memory-range-bar>span,.memory-message,.memory-help{color:var(--muted);font-size:11px}.memory-ranges{gap:5px;display:flex}.memory-ranges button{color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;padding:7px 10px;font-size:11px}.memory-ranges button:hover:not(:disabled),.memory-ranges button.active{border-color:var(--border-bright);color:var(--purple-bright);background:#9a6cc217}.memory-ranges button:disabled{cursor:wait;opacity:.55}.memory-chart{border:1px solid var(--border);background:linear-gradient(#9a6cc20d,#0000 55%),#07060a8c;border-radius:12px;width:100%;min-height:250px;overflow:hidden}.memory-chart svg{width:100%;height:auto;display:block}.memory-grid-line{stroke:#4a37608c;stroke-width:1px}.memory-axis-label{fill:var(--muted);font-size:11px}.memory-line{filter:drop-shadow(0 0 5px #c49be759);stroke:var(--purple-bright);stroke-linecap:round;stroke-linejoin:round;stroke-width:3px}.cpu-peak-line{stroke:#d7c9df;stroke-dasharray:7 7;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px;opacity:.82}.cpu-threshold{stroke-width:1px;stroke-dasharray:3 7;opacity:.38}.cpu-threshold.threshold-70{stroke:#d6b85f}.cpu-threshold.threshold-85,.cpu-threshold.threshold-95{stroke:#d76767}.cpu-legend{color:var(--muted);gap:20px;margin-top:10px;font-size:11px;display:flex}.cpu-legend span:before{border-top:3px solid var(--purple-bright);content:"";vertical-align:middle;width:24px;margin-right:7px;display:inline-block}.cpu-legend .peak:before{border-top:2px dashed #d7c9df}.memory-point{fill:var(--purple-bright)}.memory-hit-point{fill:#0000;stroke:#0000}.memory-chart-empty{min-height:250px;color:var(--muted);place-items:center;font-size:12px;display:grid}.memory-message{margin:9px 0 0}.memory-help{margin:10px 0 0}.metrics-export-control{grid-template-columns:minmax(220px,.7fr) minmax(280px,1fr);align-items:end;gap:12px;display:grid}.metrics-export-control label>span{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin-bottom:7px;font-size:10px;display:block}.metrics-export-control select{border:1px solid var(--border-bright);width:100%;min-height:44px;color:var(--text);background:var(--surface-soft);border-radius:11px;padding:0 12px}.metrics-export-control select:focus{border-color:var(--purple);outline:none}.metrics-export-download{text-decoration:none}.metrics-export-control>p{color:var(--muted);grid-column:1/-1;margin:0;font-size:11px}.settings-toolbar{justify-content:space-between;align-items:center;gap:15px;margin-bottom:15px;display:flex}.settings-toolbar input{border:1px solid var(--border);width:min(390px,100%);color:var(--text);background:var(--surface);border-radius:10px;outline:none;padding:11px 13px}.settings-toolbar input:focus{border-color:var(--purple)}.settings-toolbar span{color:var(--muted);font-size:12px}.settings-groups{gap:10px;display:grid}.settings-group{border:1px solid var(--border);background:#ffffff04;border-radius:12px;overflow:hidden}.settings-group summary{cursor:pointer;justify-content:space-between;align-items:center;padding:15px 17px;font-size:14px;font-weight:650;list-style:none;display:flex}.settings-group summary::-webkit-details-marker{display:none}.settings-group summary:before{border-right:1px solid var(--purple-bright);border-bottom:1px solid var(--purple-bright);content:"";width:7px;height:7px;margin-right:11px;transition:transform .12s;transform:rotate(-45deg)}.settings-group[open] summary:before{transform:rotate(45deg)}.settings-group summary span:first-child{margin-right:auto}.settings-group summary span:last-child{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:11px;font-weight:400}.settings-group[open] summary{border-bottom:1px solid var(--border)}.setting-row{border-top:1px solid #31263fa6;grid-template-columns:minmax(0,1fr) minmax(190px,34%);align-items:center;gap:22px;padding:16px 17px;display:grid}.setting-row:first-child{border-top:0}.setting-row.pending{background:#e2b66d0d;box-shadow:inset 3px 0 #e2b66da6}.setting-row.unavailable{opacity:.58}.setting-row label{font-size:13px;font-weight:600}.setting-row p{color:var(--muted);margin:5px 0 0;font-size:12px;line-height:1.45}.setting-row code{color:#776e81;margin-top:7px;font-size:10px;display:inline-block}.pending-label{color:var(--amber);letter-spacing:.08em;text-transform:uppercase;margin-left:9px;font-size:9px;font-weight:500}.setting-control{min-width:0}.setting-control select,.setting-value input{border:1px solid var(--border);width:100%;min-width:0;color:var(--text);background:var(--surface);border-radius:9px;outline:none;padding:10px 11px}.setting-control select:focus,.setting-value input:focus{border-color:var(--purple)}.setting-switch{color:var(--muted);cursor:pointer;justify-content:flex-end;align-items:center;gap:9px;display:flex}.setting-switch input{width:18px;height:18px;accent-color:var(--purple)}.setting-value{align-items:center;gap:9px;display:flex}.setting-value span,.setting-unavailable{color:var(--muted);white-space:nowrap;font-size:11px}.settings-footer{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:18px;margin-top:18px;padding-top:18px;display:flex}.settings-footer p{color:var(--muted);margin:0;font-size:12px}.settings-actions{gap:8px;display:flex}.settings-save{background:linear-gradient(135deg,#57366f,#32203f);border-color:#785197}@media (max-width:940px){.hero{display:block}.hero-copy{margin-top:16px}.primary-card,.action-card,.broadcast-card,.operations-card,.schedule-card,.memory-card{grid-column:span 12}.maintenance-controls{grid-template-columns:1fr}.memory-summary,.player-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.port-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:650px){.shell{padding:18px}.topbar{align-items:flex-start}.session{flex-direction:column;align-items:flex-end}.login-form{flex-direction:column;align-items:stretch}.login-form input{width:165px}.server-address{flex-direction:column;align-items:flex-start}.server-address strong{text-align:left}.port-grid,.broadcast-composer{grid-template-columns:1fr}.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.schedule-form{grid-template-columns:1fr}.warning-settings{margin-left:0}.warning-form{grid-template-columns:1fr}.warning-help{grid-column:auto}.pending-settings-banner,.settings-footer{flex-direction:column;align-items:flex-start}.pending-settings-banner span{text-align:left}.settings-toolbar{flex-direction:column;align-items:stretch}.setting-row{grid-template-columns:1fr;gap:13px}.setting-switch{justify-content:flex-start}.settings-actions{flex-wrap:wrap;width:100%}.memory-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.memory-range-bar{flex-direction:column;align-items:flex-start}.metrics-export-control{grid-template-columns:1fr}.metrics-export-control>p{grid-column:auto}.memory-chart{min-height:180px;overflow-x:auto}.memory-chart svg{min-width:680px}}
