:root{--bg:#15171b;--panel:#23262d;--text:#eceef1;--muted:#a9aeb8;--accent:#e0b44c;--border:#3a3f48;color:var(--text);background:var(--bg);font:15px/1.4 system-ui,sans-serif}*{box-sizing:border-box}html,body{height:100%;margin:0}body{grid-template-rows:auto 1fr;min-width:1280px;min-height:720px;display:grid}.hud{background:var(--panel);border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:16px;padding:8px 16px;display:flex}.hud strong{font-variant-numeric:tabular-nums}.speed{gap:4px;display:flex}button{font:inherit;color:var(--text);border:1px solid var(--border);cursor:pointer;background:#2f333b;border-radius:4px;padding:4px 10px}button[aria-pressed=true]{background:var(--accent);color:#1b1b1b;border-color:var(--accent)}button:focus-visible,select:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.layout{grid-template-columns:1fr 320px;min-height:0;display:grid}.stage{min-height:0;position:relative;overflow:hidden}.stage canvas{display:block}.side{background:var(--panel);border-left:1px solid var(--border);padding:8px 16px;overflow-y:auto}.side h2{margin:12px 0 6px;font-size:1rem}.build{grid-template-columns:1fr 1fr;gap:6px;display:grid}.build label{color:var(--muted);gap:2px;font-size:.85rem;display:grid}.build button{grid-column:1/-1}select,input{font:inherit;color:var(--text);border:1px solid var(--border);background:#1b1e23;border-radius:4px;max-width:100%;padding:3px 6px}.actions,.save{flex-wrap:wrap;align-items:end;gap:6px;margin:6px 0;display:flex}.actions label{color:var(--muted);gap:2px;font-size:.85rem;display:grid}.hint{color:var(--muted);font-size:.85rem}.side h3{margin:8px 0 4px;font-size:.9rem}.side ul{margin:0;padding-left:18px}.slots li,#applicant-list li,#staff-list li,#case-list li,#backroom-risks li,#poach-offers li,#dossier-list li,#court-list li{margin:3px 0}.newspaper h3{color:var(--accent)}.newspaper p{color:var(--muted);font-size:.85rem}.warnings{padding-left:0;list-style:none}.warnings li{border-left:4px solid var(--border);margin:2px 0;padding:2px 6px}.warnings .warning-critical{border-color:#e0352b}.warnings .warning-important{border-color:var(--accent)}.warnings .warning-info{border-color:#6f8fb8}table{border-collapse:collapse;width:100%;font-size:.9rem}th,td{text-align:left;padding:2px 4px}#room-list{color:var(--muted);margin:0;padding-left:18px}.log{max-height:180px;color:var(--muted);font-size:.85rem;overflow-y:auto}.log p{margin:2px 0}.boot-error{color:#ff8a80;padding:16px}
