@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@600;700;800&family=Inter:wght@400;500;600;700&display=swap');
:root{color-scheme:dark;--bg:#10171e;--panel:#1a242e;--line:#33414d;--orange:#ff9e52;--blue:#7ac6ee;--muted:#a3b3c0}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:#f0f3f4;font:15px Inter,system-ui,sans-serif}header,main,footer{max-width:1400px;margin:auto;padding:28px 5%}header{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;gap:14px;align-items:center;color:inherit;text-decoration:none;font-weight:800;letter-spacing:2px}.brand small{display:block;color:var(--muted);font-size:10px;margin-top:5px}.logo{border:2px solid var(--orange);border-radius:9px;padding:10px;font-size:24px;color:var(--orange);letter-spacing:-2px}.logo span{color:#fff;font-size:15px;padding:3px}nav,.row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}button{border:1px solid var(--line);border-radius:7px;background:#24313c;color:#fff;padding:12px 18px;font:600 14px Inter,system-ui;cursor:pointer}button:hover{filter:brightness(1.2)}button:focus-visible,input:focus-visible{outline:3px solid var(--blue);outline-offset:3px}button:disabled{opacity:.4;cursor:wait}.primary{background:var(--orange);color:#17212a;border-color:var(--orange)}.eyebrow{font-size:11px;letter-spacing:2px;color:var(--orange);font-weight:700;margin-top:28px}h1{font:800 clamp(56px,8vw,104px)/.96 'Barlow Condensed',Impact,sans-serif;text-transform:uppercase;letter-spacing:-1px;margin:24px 0}h1 em{font-style:normal;color:var(--orange)}.intro{max-width:580px;color:var(--muted);font-size:18px;line-height:1.7}h2{font-size:25px}p{line-height:1.7}.roles{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:36px 0}.role{position:relative;border:1px solid var(--line);padding:30px 130px 30px 30px;border-radius:12px;overflow:hidden}.role span{font-size:11px;letter-spacing:2px;color:var(--orange)}.role p{color:var(--muted);max-width:360px}.role.officer span{color:var(--blue)}.inmate{background:linear-gradient(120deg,#2e2822,#1a242e)}.officer{background:linear-gradient(120deg,#1b303e,#1a242e)}.glyph{position:absolute;right:25px;top:45px;font-size:100px;color:var(--orange);opacity:.7}.officer .glyph{color:var(--blue)}form,.panel{background:var(--panel);border:1px solid var(--line);padding:24px;border-radius:12px}form{max-width:620px}label{display:block;color:var(--muted);margin:15px 0}input{display:block;width:100%;background:#111b24;border:1px solid var(--line);border-radius:7px;padding:14px;color:white;margin-top:8px;font:inherit}.choices{margin:25px 0}.choices button{padding:24px 40px;font-size:20px}.selected{border-color:var(--orange);color:var(--orange)}#hub .panel{max-width:600px}hr{border:0;border-top:1px solid var(--line);margin:25px 0}.gamehead,.scorebar{display:flex;justify-content:space-between;align-items:center;gap:12px}.arena{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:22px}.scorebar{background:var(--panel);padding:16px;border-radius:10px 10px 0 0;color:var(--orange);font-size:13px}canvas{width:100%;display:block;background:#15212c;border:1px solid var(--line);border-radius:0 0 10px 10px;touch-action:none}.clock{font:700 30px monospace;color:var(--orange)}aside .panel{margin-bottom:18px}aside button{width:100%;margin-top:10px}.person{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--line);font-size:13px}.person small{color:var(--muted)}#events p{font-size:12px;color:var(--muted);border-bottom:1px solid var(--line);padding-bottom:10px}.controls{display:flex;align-items:center;gap:18px;margin-top:18px;flex-wrap:wrap}.controls small{display:block;font-size:10px;margin-top:5px}.dpad{text-align:center}.dpad button{min-width:45px;padding:10px}.dpad>button{margin-bottom:4px}.muted,footer{color:var(--muted);font-size:12px}.result{padding:20px;background:#29463b;color:#b6f6cd;font-size:24px;text-align:center}footer{border-top:1px solid var(--line);display:flex;justify-content:space-between;margin-top:45px}dialog{max-width:650px;width:90%;background:var(--panel);color:#fff;border:1px solid var(--line);border-radius:12px;padding:30px}dialog::backdrop{background:#000b}.close{float:right}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:#fff;color:#17212a;border-radius:8px;padding:16px;z-index:100;max-width:90%}table{width:100%;border-collapse:collapse}td,th{text-align:left;padding:12px;border-bottom:1px solid var(--line)}[hidden]{display:none!important}@media(max-width:850px){.arena{grid-template-columns:1fr}.roles{grid-template-columns:1fr}header{gap:12px;flex-wrap:wrap}nav button{padding:8px}main{padding:18px 4%}.role{padding-right:110px}footer{gap:20px;flex-direction:column}.gamehead{align-items:flex-start}canvas{min-height:220px}.controls{gap:10px}}

.brandmark{height:62px;width:62px;object-fit:contain}.coverart{width:100%;max-height:390px;object-fit:cover;border:1px solid var(--line);border-radius:14px;margin-top:22px}select{display:block;width:100%;padding:14px;background:#111b24;color:white;border:1px solid var(--line);border-radius:7px;margin-top:8px;font:inherit}.facilityform{border-top:1px solid var(--line);margin:20px 0}.reviewlabel{color:var(--blue)}

.legalpage{max-width:920px}.legalpage h1{font-size:clamp(40px,7vw,70px);line-height:1.1}.legalpage h2{margin-top:32px}.legalpage p,.legalpage li{line-height:1.8;color:#c8d2db}a{color:var(--blue)}textarea{display:block;width:100%;background:#111b24;color:white;border:1px solid var(--line);border-radius:7px;padding:14px;margin-top:8px;font:inherit}

.viewtools{display:flex;gap:8px;background:#111f29;padding:10px}.viewtools button{font-size:11px;padding:8px 12px}.fpsviewport{position:relative;background:#08131a;overflow:hidden;border:1px solid #4d6576;border-radius:0 0 10px 10px}.fpsviewport canvas{aspect-ratio:16/10;min-height:0;cursor:crosshair;border:0;outline-offset:-4px}.fpsviewport:fullscreen{display:flex;align-items:center;justify-content:center;background:#000}.fpsviewport:fullscreen canvas{width:100%;height:100%;object-fit:contain}.controls button[aria-pressed=true]{background:#326553;border-color:#80d9bc}.scorebar{border-top:2px solid #ff9e52}.arena{grid-template-columns:minmax(0,1fr) 250px}.gamehead h2{font-family:'Barlow Condensed',Impact,sans-serif;font-size:36px;text-transform:uppercase}@media(max-width:850px){.arena{grid-template-columns:1fr}.fpsviewport{margin:0 -1%;}.fpsviewport canvas{aspect-ratio:4/3;object-fit:cover}.controls>button{font-size:12px;padding:11px}.dpad button{padding:14px;min-width:48px}.viewtools{flex-wrap:wrap}}

#game:fullscreen{overflow-y:auto;background:#10171e;padding:20px;width:100%}#game:fullscreen canvas{max-height:70vh;object-fit:contain}

.button{display:inline-block;padding:12px 18px;border:1px solid var(--line);border-radius:7px;text-decoration:none;font-weight:600}.legalpage>.panel{margin:20px 0}
