:root{color-scheme:dark;--bg:#090d14;--panel:#131b29;--border:#2a374b;--text:#edf3ff;--muted:#a1b0c6;--green:#83b8ff}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:15px/1.5 system-ui,sans-serif}aside{width:235px;position:fixed;inset:0 auto 0 0;padding:36px 24px;border-right:1px solid var(--border);background:#0d1420}.brand{color:var(--green);display:flex;gap:12px;align-items:center;text-decoration:none;font-size:30px}.brand span{font-size:21px;font-weight:750;letter-spacing:3px}.brand small{display:block;color:var(--muted);font-size:9px;letter-spacing:2px}.nav{margin-top:60px;padding:13px;border:1px solid #37547b;border-radius:8px;background:#17283e;color:var(--green)}.aside-bottom{position:absolute;bottom:35px;font-size:18px}.aside-bottom span{display:block;font-size:11px;margin-top:14px}main{margin-left:235px;padding:30px 48px;max-width:1600px}header{display:flex;justify-content:space-between;align-items:center;height:40px;font-size:11px;letter-spacing:1.5px;margin-bottom:48px}h1{font-size:44px;line-height:1.12;letter-spacing:-1.5px;margin:8px 0 15px}h2{font-size:25px;margin:5px 0 18px}.dot{color:var(--green)}.eyebrow{font-size:10px;letter-spacing:2px;color:var(--green);font-weight:700}.muted,.hint{color:var(--muted)}.hint{font-size:12px}.heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:25px 0 35px}article,.card{border:1px solid var(--border);background:var(--panel);border-radius:12px;padding:22px}article small{color:var(--muted);font-size:10px;letter-spacing:1px}article strong{display:block;font-weight:500;font-size:29px;margin-top:8px}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(255px,1fr));gap:18px}.card{cursor:pointer;text-align:left;min-height:170px}.card.selected{border-color:var(--green)}.card h3{font-size:20px;margin:20px 0 6px}.card p{color:var(--muted);font-size:12px;margin:0}.badge{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:var(--muted)}.badge.running{color:var(--green)}.badge.error{color:#ff9b8d}.badge.updating{color:#f5cf7b}button,.upload{border:1px solid var(--border);background:#1b273a;color:var(--text);padding:10px 16px;border-radius:7px;cursor:pointer;font:inherit;font-size:13px}button:hover,.upload:hover{border-color:#83b8ff}button:disabled{opacity:.5;cursor:wait}.primary{background:var(--green);border-color:var(--green);color:#081526;font-weight:650}.danger{color:#f89c90}#detail{margin-top:40px;border-top:1px solid var(--border);padding-top:25px}.actions,.toolbar,.tabs{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.tabs{border-bottom:1px solid var(--border);margin:24px 0 15px;padding-bottom:12px}.tabs .active{color:var(--green);border-color:var(--green)}pre{background:#070b12;padding:20px;border:1px solid var(--border);border-radius:8px;height:340px;overflow:auto;font:12px/1.7 ui-monospace,monospace;white-space:pre-wrap;overflow-wrap:anywhere}.toolbar{justify-content:flex-start;margin:12px 0}.toolbar code{flex:1;overflow-wrap:anywhere}label{display:block;color:var(--muted);font-size:12px;margin:14px 0}input,select,textarea{display:block;width:100%;border:1px solid var(--border);border-radius:6px;background:#0b1220;padding:11px;color:var(--text);margin-top:6px;font:14px system-ui}textarea{font-family:ui-monospace,monospace;resize:vertical}#text{height:340px;tab-size:2}dialog{background:var(--panel);color:var(--text);border:1px solid var(--border);border-radius:14px;width:580px;max-width:95vw;max-height:90vh;padding:25px}dialog::backdrop{background:#000a;backdrop-filter:blur(3px)}.two{display:grid;grid-template-columns:1fr 1fr;gap:15px}#login{max-width:460px;padding-top:45px}#login-form{margin-top:32px}#notice{position:sticky;top:12px;z-index:5;border:1px solid #8e8762;background:#383323;padding:14px;border-radius:8px;white-space:pre-wrap;overflow-wrap:anywhere}.file-row{display:flex;width:100%;text-align:left;border-radius:0;border-width:0 0 1px;gap:15px;background:transparent}.file-row span:first-child{flex:1;overflow-wrap:anywhere}.empty{padding:45px;border:1px dashed var(--border);border-radius:10px;color:var(--muted)}[hidden]{display:none!important}:focus-visible{outline:2px solid var(--green);outline-offset:3px}@media(max-width:850px){aside{width:75px;padding:25px 15px}.brand span,.nav,.aside-bottom{display:none}main{margin-left:75px;padding:20px}.stats{grid-template-columns:repeat(2,1fr)}h1{font-size:34px}.heading{align-items:flex-start}}@media(max-width:500px){aside{display:none}main{margin-left:0}.heading{flex-direction:column}.stats{gap:8px}article{padding:15px}}

.check{display:flex;align-items:center;gap:10px}.check input{width:auto;margin:0}fieldset{border:1px solid var(--border);border-radius:8px;max-height:240px;overflow:auto}.event{padding:12px 0;border-bottom:1px solid var(--border);overflow-wrap:anywhere}.event small{color:var(--muted)}.dialog-notice{color:#f5cf7b;white-space:pre-wrap}#user-list{max-height:200px;overflow:auto;margin-bottom:15px}header{height:auto;min-height:40px;flex-wrap:wrap;gap:12px}#diagnostic{font-size:13px;color:#f5cf7b}

#tools-dialog{width:760px}#tools-dialog article,#history-list article,#session-list article{margin:12px 0}#history-list pre{height:180px}#assignments select{width:125px;margin:0 0 0 auto}#game-health{font-size:14px;color:var(--green)}#session-list p{overflow-wrap:anywhere}.toolbar select{width:auto}#session-list button{display:block;margin-top:10px}

.brand{gap:10px}.brand span{font-size:15px;letter-spacing:1px}.brand-mark{font-size:20px;letter-spacing:-1px;border:1px solid var(--border);border-radius:10px;padding:9px;background:#17283e}.card{transition:border-color .15s,background .15s}.card:hover{background:#19253a}.card.selected{box-shadow:inset 0 0 0 1px var(--green)}a{color:var(--green)}button:active{transform:translateY(1px)}@media(prefers-reduced-motion:reduce){.card{transition:none}}

/* Workspace navigation and resource pages */
aside{display:flex;flex-direction:column;gap:30px}.aside-bottom{position:static;margin-top:auto}#workspace-nav{display:grid;gap:8px}.nav-label{font-size:10px;letter-spacing:2px;color:var(--muted);margin:16px 12px 6px}.nav-link{width:100%;text-align:left;background:transparent;border-color:transparent;padding:13px 12px;font-size:14px}.nav-link.active{background:#17283e;border-color:#37547b;color:var(--green)}.workspace-page{min-height:65vh}.workspace-page>.heading{margin-bottom:24px}.resource-cards{margin:24px 0}.resource-cards .card{min-height:145px}.resource-detail{margin:28px 0;padding:26px;background:var(--panel);border:1px solid var(--border);border-radius:12px}.resource-detail button{margin:4px 8px 4px 0}.resource-detail label{max-width:720px}#ftp-connection,#database-state{padding:18px 22px;border:1px solid var(--border);border-radius:10px;background:#101b2b;overflow-wrap:anywhere}#docker-list section{padding:20px;margin:18px 0;background:var(--panel);border:1px solid var(--border);border-radius:12px}#database-jobs p,#docker-jobs p,#database-exports p{padding:10px 0;border-bottom:1px solid var(--border);overflow-wrap:anywhere}#database-detail p{overflow-wrap:anywhere}header{margin-bottom:32px}.workspace-page h1{font-size:38px}
@media(max-width:850px){aside{position:static;width:auto;padding:18px 20px;gap:12px;border-right:0;border-bottom:1px solid var(--border)}aside .brand span{display:block}aside .aside-bottom{display:none}#workspace-nav{display:flex;flex-wrap:wrap;gap:6px}.nav-label{display:none}.nav-link{width:auto;padding:9px 12px}main{margin-left:0;padding:24px 20px}header{margin-bottom:24px}.resource-detail{padding:18px}.workspace-page h1{font-size:32px}}
@media(max-width:500px){aside{display:flex}.nav-link{font-size:12px;padding:8px}.resource-cards{grid-template-columns:minmax(0,1fr)}.workspace-page>.heading{gap:12px}}

#task-list{display:grid;gap:14px}#task-list article h3{margin:0}#task-list article p{overflow-wrap:anywhere}#task-list progress{width:100%;height:8px;accent-color:var(--green)}.badge.starting,.badge.restarting{color:#f5cf7b}.badge.unhealthy{color:#ff9b8d}
