:root{color-scheme:dark;--bg:#111b20;--panel:#15232a;--line:#33474d;--muted:#9bb0b4;--mint:#b4f27b;--ink:#ebeee3;font:14px/1.5 'Segoe UI',sans-serif;color:var(--ink)}*{box-sizing:border-box}body{margin:0;overflow:hidden;background:#263b36}button,input,select,textarea{font:inherit}button{cursor:pointer;border:0;background:var(--mint);color:#14201c;padding:12px 18px;font-weight:700;border-radius:3px}button:hover{filter:brightness(1.12)}button:disabled{opacity:.5;cursor:wait}button span{float:right}input,select,textarea{width:100%;background:#101b21;border:1px solid var(--line);padding:11px 12px;border-radius:3px;color:var(--ink);outline:none}input:focus,textarea:focus,select:focus{border-color:var(--mint)}label{display:block;margin:15px 0;font-size:12px;color:#bccdce}label input,label select{display:block;margin-top:7px}h1,h2,h3,p{margin-top:0}h2{font-size:25px;letter-spacing:-.7px;margin-bottom:8px}h3{font-size:18px}p{color:var(--muted)}small{color:var(--muted);font-size:11px}.eyebrow{font:10px/1.5 Consolas,monospace;letter-spacing:1.8px;color:var(--mint);display:block;margin-bottom:12px}#game{display:block;width:100vw;height:100vh;image-rendering:pixelated}header{position:fixed;top:0;left:0;right:0;height:91px;display:flex;align-items:center;padding:22px 30px;gap:28px;background:linear-gradient(#101b23ef,#101b2300);pointer-events:none}.brand{font-size:34px;line-height:1;font-weight:950;letter-spacing:-2px;color:var(--ink);text-decoration:none;pointer-events:auto}.brand span{color:var(--mint);margin-left:5px}.brand small{display:block;font:8px Consolas,monospace;letter-spacing:1.3px;margin-top:8px}.district{margin-left:auto;font:11px Consolas,monospace;letter-spacing:1px}.district b{margin-left:18px;color:var(--mint)}.badge{font:10px Consolas,monospace;letter-spacing:1px;padding:6px 9px;border:1px solid #7a9d68;color:var(--mint);border-radius:2px}footer{position:fixed;bottom:0;left:0;right:0;padding:15px 28px;display:flex;gap:25px;align-items:center;background:#101b23ed;font-size:11px;color:#afc0bd}kbd,.key{border:1px solid #5f7473;padding:3px 6px;border-radius:3px;color:#f2f2dc;margin-right:5px;font:10px Consolas,monospace}.quiet{background:transparent;border:1px solid #45605e;color:var(--ink);padding:6px 10px;font-size:11px}.secondary{background:transparent;border:1px solid #40595d;color:var(--ink)}dialog{border:1px solid #48605f;border-radius:8px;background:var(--bg);color:var(--ink);box-shadow:0 30px 120px #0008;padding:30px;max-height:90vh;overflow:auto}dialog::backdrop{background:#09121699;backdrop-filter:blur(3px)}#welcome{padding:0;width:850px;max-width:94vw}#welcome[open]{display:grid;grid-template-columns:1fr 1fr}#welcome form{padding:40px 35px}.intro-art{position:relative;padding:40px 30px;overflow:hidden;min-height:540px;background:linear-gradient(135deg,#294e48,#15272a)}.intro-art:before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent 0 31px,#b4f27b08 32px),repeating-linear-gradient(90deg,transparent 0 31px,#b4f27b08 32px);pointer-events:none}h1{font-size:48px;line-height:1.05;letter-spacing:-2px;margin:40px 0 22px}h1 em{font-style:normal;color:var(--mint)}.intro-art p{max-width:260px}.stamp{position:absolute;right:36px;bottom:68px;border:3px solid #8cbf82;color:#b4f27b;font-size:53px;font-weight:900;line-height:.8;padding:20px;transform:rotate(-9deg);opacity:.65}.stamp small{font:8px monospace;color:inherit}.edition{position:absolute;bottom:24px;left:30px;font:9px Consolas,monospace;letter-spacing:1px;color:#b7c7b5}form button{width:100%;margin-top:10px}.error{color:#ffb79e;font-size:12px;margin:12px 0;min-height:18px}#creator{width:460px}#preview{float:right;image-rendering:pixelated;width:110px;height:110px;background:#203632;border:1px solid var(--line)}.colors{display:flex;gap:12px}.colors label{flex:1}.colors input{height:40px;padding:2px}.identity{position:fixed;top:116px;left:28px;background:#111f26ed;border-left:3px solid var(--mint);padding:18px 24px;min-width:235px}.identity h2{font-size:20px}.identity p{font-size:11px;margin-bottom:12px}.identity .eyebrow{margin-bottom:5px}#stats{font:12px Consolas,monospace;color:#c9e9ad}.objective{position:fixed;right:28px;top:116px;width:270px;padding:20px;background:#111f26ed;border:1px solid #344d4a}.objective h3{margin-bottom:8px}.objective p{font-size:12px}.objective button{margin-top:14px;display:block}#minimap{position:fixed;bottom:80px;right:28px;border:5px solid #14252c;outline:1px solid #59736b;width:192px;height:144px}#toast{position:fixed;left:50%;bottom:85px;transform:translateX(-50%);background:#172a28ee;color:var(--mint);padding:10px 20px;border:1px solid #789f67;border-radius:3px;display:none}#helpdesk{width:650px}.desk-top{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:18px;margin-bottom:20px}.desk-top h2{margin:0}.ticket-meta{display:flex;gap:15px;align-items:center;font:10px Consolas,monospace;color:var(--muted);margin-bottom:20px}.terminal{white-space:pre-wrap;padding:18px;background:#09191b;border:1px solid #31504b;font:12px/1.8 Consolas,monospace;color:#b4f27b;margin:18px 0;max-height:200px;overflow:auto}#ticket-actions{display:grid;gap:8px}#ticket-actions button{text-align:left}#ticket-actions textarea{min-height:95px}#ticket-state{font:11px Consolas,monospace;letter-spacing:1px;color:var(--mint)}#chat{position:fixed;left:28px;bottom:80px;width:340px;background:#101d24ed;border:1px solid var(--line);padding:18px}#chat h3{font-size:12px;color:var(--mint)}#messages{height:150px;overflow:auto;font-size:12px;overflow-wrap:anywhere}#chat form{display:flex;gap:7px}#chat input{min-width:0}#chat button{width:auto;margin:0;padding:8px}#logout{margin-left:auto}.admin-page{overflow:auto;background:var(--bg);max-width:1100px;margin:50px auto;padding:30px}.admin-page table{width:100%;border-collapse:collapse}.admin-page td,.admin-page th{text-align:left;padding:12px;border-bottom:1px solid var(--line)}.admin-page input,.admin-page select{min-width:130px}#admin-auth{max-width:380px}@media(max-width:800px){.objective{width:220px;right:14px}.identity{left:14px;min-width:180px;padding:12px}.district{display:none}footer{gap:10px;flex-wrap:wrap}#welcome[open]{grid-template-columns:1fr}.intro-art{display:none}header{padding:18px}#minimap{right:14px;width:144px;height:108px}.ticket-meta{flex-wrap:wrap}}
