:root{--bg-base:#0a0e0a;--bg-surface:#111a11;--bg-elevated:#162016;--bg-header:#0d120d;--border:#1e3a1e;--border-dim:#162a16;--accent:#39ff14;--accent-dim:#1a7a0a;--accent-glow:#39ff1426;--accent-warn:#ff9f1a;--text:#c8e6c8;--text-bright:#e0ffe0;--text-dim:#5a8a5a;--error:#f44;--shadow:#39ff1414;--shadow-heavy:#0009;--font-mono:"Fira Code", "JetBrains Mono", "SF Mono", "Cascadia Code", Consolas, monospace}*{box-sizing:border-box}body{font-family:var(--font-mono);background:var(--bg-base);color:var(--text);margin:0}button{cursor:pointer;border:1px solid var(--accent-dim);background:var(--bg-elevated);color:var(--accent);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.05em;border-radius:3px;margin-right:4px;padding:6px 14px;font-size:.85rem;transition:all .15s}button:hover{background:var(--accent-dim);color:var(--text-bright);box-shadow:0 0 8px var(--accent-glow)}input[type=email],input[type=text],input[type=password],input[type=number],select{border:1px solid var(--border);background:var(--bg-base);color:var(--text);font-family:var(--font-mono);border-radius:3px;margin-right:8px;padding:6px 10px;font-size:.85rem;transition:border-color .15s}input:focus,select:focus{border-color:var(--accent-dim);box-shadow:0 0 6px var(--accent-glow);outline:none}table{background:var(--bg-surface);border:1px solid var(--border);border-radius:4px}th{background:var(--bg-elevated);color:var(--accent);text-transform:uppercase;letter-spacing:.08em;font-size:.75rem}td{border-top:1px solid var(--border-dim)}a,details>summary{color:var(--accent)}fieldset{border-color:var(--border)}::selection{background:var(--accent-dim);color:var(--text-bright)}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--bg-base)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--accent-dim)}.game-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;margin-top:12px;display:grid}.game-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:6px;text-decoration:none;transition:border-color .2s,box-shadow .2s,transform .2s;display:block;overflow:hidden}.game-card:hover{border-color:var(--accent-dim);box-shadow:0 0 16px var(--accent-glow), 0 4px 12px var(--shadow-heavy);transform:translateY(-2px)}.game-card img{aspect-ratio:460/215;object-fit:cover;width:100%;height:auto;display:block}.game-card-name{color:var(--text-bright);letter-spacing:.03em;border-top:1px solid var(--border-dim);padding:10px 14px;font-size:.9rem;display:block}.worlds-banner{align-items:center;gap:16px;margin-bottom:8px;display:flex}.worlds-banner img{aspect-ratio:460/215;object-fit:cover;border:1px solid var(--border);border-radius:6px;flex-shrink:0;width:160px;height:auto}.worlds-banner h2{flex:1;margin:0}.world-list{gap:16px;margin-top:12px;display:grid}.world-panel{background:var(--bg-surface);border:1px solid var(--border);border-radius:6px;padding:16px 18px}.world-panel-header{align-items:center;gap:12px;margin-bottom:14px;display:flex}.world-panel-title{color:var(--text-bright);letter-spacing:.03em;flex:1;margin:0;font-size:1rem}.world-panel-title a{color:var(--text-bright);text-decoration:none}.world-panel-title a:hover{color:var(--accent)}.status-pill{text-transform:uppercase;letter-spacing:.08em;border:1px solid var(--border);background:var(--bg-elevated);color:var(--text-dim);border-radius:999px;align-items:center;gap:6px;padding:3px 10px;font-size:.7rem;display:inline-flex}.status-pill:before{content:"";background:currentColor;border-radius:50%;width:8px;height:8px}.status-pill.is-running{color:var(--accent);border-color:var(--accent-dim);box-shadow:0 0 8px var(--accent-glow)}.status-pill.is-pending{color:var(--accent-warn);border-color:var(--accent-warn)}.status-pill.is-stopped{color:var(--text-dim)}.world-meta{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px 18px;margin-bottom:14px;display:grid}.world-meta dt{text-transform:uppercase;letter-spacing:.08em;color:var(--text-dim);margin:0 0 2px;font-size:.7rem}.world-meta dd{color:var(--text-bright);word-break:break-word;margin:0;font-size:.85rem}.world-actions{border-top:1px solid var(--border-dim);flex-wrap:wrap;gap:6px;padding-top:12px;display:flex}.world-actions a.button-link{text-decoration:none}.world-panel button.danger{border-color:var(--error);color:var(--error)}.world-panel button.danger:hover{background:var(--error);color:var(--text-bright);box-shadow:0 0 8px #ff44444d}
