:root{--bg:#a3a29e;--plastic-hi:#d8d7d3;--plastic:#c6c5c1;--plastic-lo:#b0afab;--panel:linear-gradient(180deg, var(--plastic-hi), #bcbbb7);--panel-2:linear-gradient(180deg, var(--plastic-lo), var(--plastic));--text:#24242a;--muted:#3b3b42;--accent:#1b4fc4;--charcoal:#33333a;--ok:#14713c;--danger:#ab2018;--edge-hi:#ffffffe6;--raise:inset 0 1px 0 var(--edge-hi), inset 0 -2px 4px #00000029, 0 2px 4px #0000002e;--sink:inset 0 2px 5px #00000042, inset 0 -1px 0 var(--edge-hi);--radius:14px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}button,select{font:inherit}.btn{background:linear-gradient(180deg, var(--plastic-hi), var(--plastic-lo));color:var(--text);cursor:pointer;box-shadow:var(--raise);border:0;border-radius:10px;padding:9px 16px;font-weight:600}.btn:hover{background:linear-gradient(180deg, #e4e3df, var(--plastic))}.btn:active{box-shadow:var(--sink);transform:translateY(1px)}.btn.primary{color:#f4f3f0;background:linear-gradient(#45454e,#26262c);font-weight:700;box-shadow:inset 0 1px #ffffff47,0 3px 5px #0000004d}.btn.primary:hover{background:linear-gradient(#51515b,#2e2e35)}.btn.small{padding:3px 8px;font-size:12px}.screen{justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.card{background:var(--panel);width:min(720px,100%);box-shadow:inset 0 2px 0 var(--edge-hi), inset 0 -3px 6px #0003, 0 16px 40px #00000061;border-radius:22px;padding:28px 32px}.card h1{margin:0 0 6px;font-size:32px}.card h2{margin:0 0 12px;font-size:20px}.card p.lead{color:var(--muted);margin:0 0 20px}.row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.stack{flex-direction:column;gap:14px;display:flex}.title-teams{gap:8px;margin:16px 0 24px;display:flex}.chip{color:#fff;border:3px solid #00000059;border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;font-size:14px;font-weight:700;display:inline-flex}.chip.jailed{opacity:.85;border-color:#374151;background:#9ca3af!important}.chip.active{outline:3px solid var(--accent);outline-offset:1px}.chip.carrying:after{content:"⚑";margin-left:1px;font-size:11px;position:relative}.settings-heading{grid-column:1/-1;margin:10px 0 0;font-size:15px;font-weight:800}.settings-heading .hint{color:var(--muted);font-size:12px;font-weight:400;display:block}.settings-grid{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px 16px;display:grid}.settings-grid label{color:var(--text)}.settings-grid .hint{color:var(--muted);font-size:12px;display:block}select.field{background:var(--panel-2);color:var(--text);box-shadow:var(--sink);border:0;border-radius:8px;padding:6px 9px;font-weight:600}.swatches{gap:6px;display:flex}.swatch{cursor:pointer;border:2px solid #0000;border-radius:50%;width:22px;height:22px;padding:0}.swatch.selected{box-shadow:0 0 0 2px var(--accent);border-color:#24242a}.match{grid-template-columns:minmax(0,1fr) 360px;gap:16px;height:100vh;padding:16px;display:grid}.hud{background:var(--panel);border-radius:var(--radius);min-width:0;box-shadow:inset 0 2px 0 var(--edge-hi), inset 0 -3px 6px #0000002e, 0 6px 18px #00000047;flex-direction:column;gap:12px;padding:14px;display:flex;overflow:auto}.hud h1{margin:0;font-size:18px}.hud-top{text-align:center;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;display:grid}.timer{font-variant-numeric:tabular-nums;font-size:22px;font-weight:700}.timer.warn{color:var(--danger)}.team-panel{background:var(--panel-2);box-shadow:var(--sink);border-radius:10px;padding:8px 10px}.team-panel header{justify-content:space-between;align-items:baseline;margin-bottom:6px;font-weight:600;display:flex}.team-panel .flag-status{color:var(--muted);font-size:12px}.team-panel .members{flex-wrap:wrap;gap:6px;display:flex}.roles{border-collapse:collapse;width:100%;font-size:13px}.roles td{padding:2px 4px}.controls{border-collapse:collapse;width:100%;font-size:12px}.controls td{padding:1px 4px}.events{color:var(--muted);margin:4px 0 0;padding-left:18px;font-size:12px}.field-wrap{min-width:0;min-height:0;box-shadow:0 0 0 8px var(--plastic-lo), 0 0 0 10px #0006, 0 8px 22px #00000059;border-radius:8px;position:relative}.latest{flex:none;min-height:74px}.section-title{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:4px;font-size:11px;font-weight:700}.toasts{flex-direction:column;gap:4px;display:flex}.toast{color:#fff;white-space:nowrap;text-overflow:ellipsis;background:#0f172ae0;border:1px solid #ffffff26;border-radius:8px;padding:4px 10px;font-size:12px;overflow:hidden}.setup-callout{text-align:center;pointer-events:none;text-shadow:0 2px 6px #0009,0 0 2px #000c;position:absolute;top:26%;left:50%;transform:translate(-50%)}.setup-title{color:#fff;letter-spacing:.02em;font-size:30px;font-weight:800}.setup-countdown{color:#ff3b3b;font-variant-numeric:tabular-nums;font-size:64px;font-weight:900;line-height:1.1}.setup-banner{color:#fff;white-space:nowrap;background:#0f172ae0;border:1px solid #ffffff26;border-radius:10px;align-items:center;gap:14px;padding:8px 14px;font-size:13px;display:flex;position:absolute;bottom:14px;left:50%;transform:translate(-50%)}.setup-banner .muted{color:#cbd5e1}.overlay{background:#0f172a8c;border-radius:8px;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.overlay .card{text-align:center;width:min(460px,90%)}.overlay .card h1{font-size:28px}.stats{grid-template-columns:repeat(3,1fr);gap:8px;margin:12px 0 18px;display:grid}.stats div{background:var(--panel-2);box-shadow:var(--sink);border-radius:10px;padding:8px}.stats b{font-size:20px;display:block}.muted{color:var(--muted)}.audible-menu{pointer-events:none;z-index:3;width:260px;height:260px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.audible-menu .arm,.audible-menu .hub{pointer-events:auto;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.audible-menu .arm{color:#fff;letter-spacing:.04em;cursor:pointer;background:#0f172ae6;border:2px solid #ffffff59;border-radius:10px;flex-direction:column;align-items:center;gap:2px;min-width:96px;padding:8px 10px;font-size:13px;font-weight:800;display:flex;box-shadow:0 6px 20px #00000073}.audible-menu .arm:hover{border-color:var(--accent)}.audible-menu .arm .arrow{color:var(--accent);font-size:18px}.audible-menu .arm-up{transform:translate(-50%,-50%)translateY(-92px)}.audible-menu .arm-down{transform:translate(-50%,-50%)translateY(92px)}.audible-menu .arm-left{transform:translate(-50%,-50%)translate(-100px)}.audible-menu .arm-right{transform:translate(-50%,-50%)translate(100px)}.audible-menu .hub{color:#1c1917;background:#facc15f2;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:800}.formation-menu{width:460px;height:460px}.formation-menu .formation-card.arm{pointer-events:auto;min-width:0;position:absolute;top:50%;left:50%}.formation-menu .arm-up{transform:translate(-50%,-50%)translateY(-150px)}.formation-menu .arm-down{transform:translate(-50%,-50%)translateY(150px)}.formation-menu .arm-left{transform:translate(-50%,-50%)translate(-130px)}.formation-menu .arm-right{transform:translate(-50%,-50%)translate(130px)}.formation-card{color:#fff;cursor:pointer;font:inherit;background:#1e293be6;border:2px solid #ffffff40;border-radius:10px;flex-direction:column;align-items:center;gap:3px;padding:6px;display:flex}.formation-card:hover{border-color:var(--accent)}.formation-card.called{background:#facc1540}.formation-card .thumb{border-radius:4px;overflow:hidden}.formation-card .ground{fill:#365314}.formation-card .jail{fill:#64748b}.formation-card .door{fill:#cbd5e1}.formation-card .spawn{fill:#ffffff2e}.formation-card .flag{fill:#facc15}.formation-card .tree{fill:#4ade80}.formation-card .name{letter-spacing:.03em;font-size:12px;font-weight:800}.formation-card .digit{text-align:center;background:#ffffff26;border-radius:4px;min-width:16px;padding:0 4px;display:inline-block}.formation-card .tagline{color:#fde68a;font-size:11px;font-style:italic}.setup-notice{color:#fde68a;background:#0f172ad9;border-radius:8px;margin-top:6px;padding:4px 10px;font-size:13px;font-weight:600}.map-picker{background:var(--panel-2);box-shadow:var(--sink);border-radius:12px;flex-direction:column;gap:10px;padding:12px;display:flex}.map-picker .hint{color:var(--muted);margin:0;font-size:13px}.map-picker .cards{flex-wrap:wrap;gap:8px;display:flex}.save-map .fields{grid-template-columns:auto 1fr;align-items:center;gap:10px 12px;margin:12px 0 16px;display:grid}.formation-badge.step-off{color:#fff;background:#f97316}.formation-badge{background:var(--accent);color:#f4f3f0;border-radius:999px;margin-left:8px;padding:1px 8px;font-size:11px;font-weight:800}.audible-badge{background:var(--panel-2);border:2px solid var(--accent);box-shadow:var(--sink);border-radius:10px;padding:8px 10px}.audible-badge .bar{background:#00000038;border-radius:999px;height:6px;margin-top:6px;overflow:hidden}.audible-badge .fill{background:var(--accent);height:100%}.audible-badge.item-badge{color:#0c1a2a;background:#38bdf8}.chip-item{margin-left:1px;font-size:10px;position:relative}.item-list{grid-column:1/-1;margin:0 0 8px;padding-left:18px;font-size:13px;line-height:1.4}.item-list li{margin-bottom:2px}[data-nav-focus]{outline:3px solid var(--accent);outline-offset:2px}.start-menu .menu-buttons{align-items:stretch;max-width:260px;margin:0 auto}.start-menu .menu-buttons .btn{width:100%}.chip.held{box-shadow:0 0 0 2px #1b1b20}.controllers{text-align:left;background:var(--panel-2);box-shadow:var(--sink);border:0;border-radius:12px;margin-top:16px;padding:10px 12px}.controllers.compact{margin-top:14px;font-size:13px}.controllers-body{align-items:flex-start;gap:14px;display:flex}.room-qr{background:#fff;border-radius:6px;flex:none;width:168px;height:168px;padding:4px}.controllers.compact .room-qr{width:110px;height:110px}.room-code{letter-spacing:.22em;font-variant-numeric:tabular-nums;font-size:34px;font-weight:800;line-height:1}.controllers.compact .room-code{font-size:24px}.room-url{color:#16337a;word-break:break-all;font-size:13px;font-weight:600}.pad-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.pad-list li{align-items:center;gap:8px;font-size:13px;display:flex}.pad-dot{background:var(--muted);border-radius:50%;flex:none;width:10px;height:10px}.pad-dot.team-left{background:var(--team-left,#0b63d2)}.pad-dot.team-right{background:var(--team-right,#e6242b)}.small{font-size:12px}.setup-banner.sound-locked{background:#78350fd9;top:auto;bottom:12px}.title-art{background:#f4f2ea;border-radius:8px;width:100%;max-width:620px;margin:10px auto 22px;display:block;box-shadow:0 0 0 10px #f4f2ea,0 0 0 11px #0000002e,0 4px 12px #00000040}.select-menu{z-index:60;background:linear-gradient(180deg, var(--plastic-hi), var(--plastic-lo));max-height:50vh;box-shadow:inset 0 1px 0 var(--edge-hi), 0 12px 32px #00000073;border:0;border-radius:12px;padding:5px;position:fixed;overflow-y:auto}.select-option{cursor:pointer;white-space:nowrap;border-radius:6px;padding:6px 10px}.select-option.on{background:var(--charcoal);color:#f4f3f0;font-weight:700}.select-option.off{color:var(--muted);cursor:not-allowed}.select-option:not(.on):not(.off):hover{background:#ffffff80}.console-vent{gap:5px;width:74px;margin-left:auto;display:grid}.console-vent i{height:8px;box-shadow:var(--sink);background:#9d9c98;border-radius:4px}.card-top{align-items:center;gap:16px;display:flex}.card-top .wordmark{letter-spacing:-.02em;color:#202024;text-shadow:0 1px #ffffffa6;margin:0;font-size:22px;font-style:italic;font-weight:800;line-height:.95}.card-top .wordmark span{display:block}.console-front{background:var(--panel-2);box-shadow:var(--sink);color:var(--muted);border-radius:14px;flex-wrap:wrap;align-items:center;gap:14px;margin-top:20px;padding:12px 16px;font-size:12px;display:flex}.console-front .slogan{letter-spacing:.3em;text-transform:uppercase;margin-left:auto;font-weight:700}.console-buttons{gap:9px;display:flex}.console-buttons i{border-radius:50%;width:20px;height:20px;box-shadow:inset 0 2px 2px #ffffff73,inset 0 -2px 3px #00000059,0 1px 2px #0000004d}.console-buttons i:first-child{background:#2c5fd0}.console-buttons i:nth-child(2){background:#1e9a52}.console-buttons i:nth-child(3){background:#d3352c}.console-buttons i:nth-child(4){background:#dfae15}@media (width<=560px){.screen{padding:10px}.card{border-radius:18px;padding:18px 16px}.settings-grid{grid-template-columns:minmax(0,1fr)}.settings-grid select.field,.settings-grid input[type=number],.settings-grid input[type=text]{width:100%}.item-list{padding-left:16px}.card-top .wordmark{font-size:18px}.console-front .slogan{margin-left:0}}
