@font-face{font-family:'Press Start 2P';font-style:normal;font-weight:400;font-display:swap;src:url('assets/press-start.ttf') format('truetype')}
@font-face{font-family:'VT323';font-style:normal;font-weight:400;font-display:swap;src:url('assets/vt323.ttf') format('truetype')}
:root{--ink:#382a20;--cream:#e8d6a5;--paper:#d5bd82;--green:#425440;--red:#7c3038;--gold:#af8040;--edge:#503820;--pixel:'Press Start 2P','Courier New',monospace;--body:'VT323','Courier New',monospace}*{box-sizing:border-box}body{margin:0;padding:36px 26px 28px;min-height:100vh;color:var(--ink);background-color:#91a17b;background-image:linear-gradient(90deg,#536a4918 8px,transparent 8px),linear-gradient(#536a4918 8px,transparent 8px);background-size:48px 48px;font:22px/1.2 var(--body)}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer;border-radius:0;font:12px/1.6 var(--pixel);color:var(--ink)}button:focus-visible,a:focus-visible{outline:4px solid #f6e694;outline-offset:5px}button:disabled{cursor:default;filter:saturate(.4);opacity:.65}.cabinet{max-width:1360px;margin:auto;background:var(--cream);border:6px solid var(--edge);box-shadow:0 0 0 4px #d9bd7d,0 0 0 8px #574228,12px 16px 0 #46523b66}header{min-height:126px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:25px 30px;background:#485641;border-bottom:6px solid var(--edge);box-shadow:inset 0 4px #708160,inset 0 -4px #293a2e}.brand{display:flex;gap:20px;text-decoration:none;color:#f1d999;font:28px/1.45 var(--pixel);text-shadow:3px 3px #282e26;align-items:center}.brand small{font:17px var(--body);letter-spacing:2px;display:block;margin-top:8px;color:#c4c9a2;text-shadow:none}.brand-mark{font:16px/54px var(--pixel);text-align:center;display:block;flex-shrink:0;width:62px;height:62px;color:var(--cream);background:var(--red);border:4px solid #b7955e;box-shadow:inset 0 0 0 4px #4e2926,4px 4px #273327}.head-actions{display:flex;align-items:center;gap:22px}.edition{font:17px var(--body);color:#c0c9a5;letter-spacing:1px}.icon-button{padding:12px 14px;background:#d4bf85;border:3px solid #382c21;box-shadow:inset 3px 3px #f0dfab,inset -3px -3px #aa884b,3px 3px #29392c;font-size:10px}.game-layout{display:grid;grid-template-columns:minmax(0,1fr) 290px;padding:16px;gap:16px;background:#b79a62}.play-section{min-width:0;border:4px solid var(--edge);background:var(--cream);box-shadow:3px 3px #80643c}.stage-top{min-height:64px;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 19px;color:#e5d8b0;background:#40392b;border-bottom:4px solid var(--edge);box-shadow:inset 0 3px #65543a;font:16px var(--body);letter-spacing:1px}.signal{display:flex;align-items:center;gap:12px;font:11px/1.5 var(--pixel);color:#e1ca8c}.signal i{display:block;flex-shrink:0;width:14px;height:14px;background:#92886a;box-shadow:0 0 0 3px #252e23,3px 3px 0 3px #30291f}.signal.green{color:#b5d28c}.signal.green i{background:#a3c47c;box-shadow:0 0 0 3px #252e23,0 0 0 5px #617e46}.signal.red{color:#ffd094}.signal.red i{background:#e5664c;box-shadow:0 0 0 3px #252e23,0 0 0 5px #ab443b}.scene{position:relative;aspect-ratio:8/5;background:#a9b797;overflow:hidden;isolation:isolate}canvas{width:100%;height:100%;display:block;image-rendering:pixelated}.scene:after{content:'';position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(transparent 0 3px,#1b220806 3px 4px);box-shadow:inset 0 0 0 3px #442e2425}.scene-label{position:absolute;bottom:13px;left:16px;font:14px var(--body);color:#3b3327;letter-spacing:2px;opacity:.7}.overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#29322565;z-index:3;padding:24px}.intro-card{width:405px;max-width:100%;padding:28px 25px 23px;text-align:center;background:#e5d3a0;border:4px solid #533a25;box-shadow:inset 0 0 0 4px #f7e7b8,0 0 0 4px #b59557,0 0 0 8px #4b3522,10px 14px #30271f77}.eyebrow{font:15px var(--body);letter-spacing:1.4px;color:#705330}.intro-card h1,.intro-card h2{font:18px/1.7 var(--pixel);letter-spacing:-.6px;margin:20px 0 15px;color:#63312b;text-shadow:2px 2px #c4ac74}.intro-card h2{font-size:19px}.intro-card p{font:22px/1.2 var(--body);color:#5e4c32;margin:0 0 22px}.intro-card small{display:block;margin-top:18px;font:17px var(--body);color:#75633f}.primary{width:100%;background:#526644;border:3px solid #2c392b;color:#f5e5b8;padding:16px;text-align:center;box-shadow:inset 3px 3px #839260,inset -3px -3px #364b32,0 5px #2b3728}.primary span{display:none}.primary:hover{background:#61774d}.primary:active{transform:translateY(3px);box-shadow:inset 3px 3px #364b32,0 2px #2b3728}.hidden{display:none!important}.control-deck{min-height:112px;padding:20px;display:flex;gap:14px;align-items:center;border-top:4px solid var(--edge);background:#dcc38c;box-shadow:inset 0 4px #f0dca7}.control-deck>div{flex:1}.control-deck p{font-size:21px;line-height:1.1;margin:7px 0 0;max-width:320px}.control-deck .eyebrow{font-size:15px;letter-spacing:1px}#sit{background:#863c3e;color:#ffe4ad;border:4px solid #492a26;box-shadow:inset 4px 4px #b95d54,inset -4px -4px #602c30,0 5px #4b3326;min-width:174px;padding:16px 15px;display:flex;justify-content:space-between;align-items:center;gap:14px}#sit span{font:20px var(--pixel)}kbd{font:16px var(--body);padding:3px 6px;border:2px solid #cf9b73;background:#572b2b;color:#e9cd9d}#sit:not(:disabled):active{transform:translateY(4px);box-shadow:inset 3px 3px #602c30,0 1px #4b3326}.pause{height:62px;flex-shrink:0;width:42px;background:#bfa16b;border:3px solid #604729;box-shadow:inset 3px 3px #edd39a,inset -3px -3px #967340,0 4px #604729;font:26px var(--body)}aside{padding:20px 16px;background:#c4c9a4;border:4px solid var(--edge);box-shadow:inset 0 0 0 3px #e2dfb4,3px 3px #80643c}.aside-title{display:flex;justify-content:space-between;align-items:center;padding-bottom:18px;margin-bottom:19px;border-bottom:3px solid #7c805e}.aside-title h2{font:11px/1.6 var(--pixel);margin:0}.aside-title>span{font:20px var(--body);background:#526044;padding:2px 6px;color:#e6dcae}.person{display:flex;gap:12px;align-items:center;margin-bottom:17px}.person img{width:60px;height:60px;object-fit:cover;image-rendering:pixelated;border:3px solid #6e5433;box-shadow:2px 2px #8b8e65}.person div{flex:1;min-width:0}.person strong{display:block;font:23px var(--body);font-weight:normal}.person small{display:block;font:17px/1.05 var(--body);margin-top:5px;color:#606344}.person .tag{font:14px var(--body);color:#e9deb6;background:#596746;padding:3px 5px}.person.out{opacity:.45}.person.out img{filter:grayscale(1)}.rules{margin-top:22px;padding-top:18px;border-top:3px solid #7c805e}.rules>.eyebrow{font:11px/1.6 var(--pixel);color:#4c4b32;letter-spacing:0}.rules>div{display:flex;align-items:flex-start;gap:13px;margin:18px 0}.rules p{margin:0;font:18px/1.1 var(--body);color:#5c6042}.rules strong{font:18px var(--body);color:#323e2b}.green-dot,.red-dot{flex-shrink:0;width:12px;height:12px;background:#6f884e;margin-top:4px;box-shadow:2px 2px #465638}.red-dot{background:#a64f42;box-shadow:2px 2px #6b362b}.rules .warning{font-size:17px;line-height:1.25;padding:1px 0 0 25px}.reaction{display:flex;justify-content:space-between;align-items:center;border-top:3px solid #7c805e;margin-top:21px;padding-top:16px}.reaction>span{font:15px var(--body);letter-spacing:1px}.reaction>strong{font:28px var(--body)}.reaction small{font-size:18px}footer{display:flex;justify-content:space-between;gap:24px;padding:17px 28px;border-top:4px solid var(--edge);background:#47563e;color:#d2d1a7;font:16px var(--body);letter-spacing:1px}.countdown{position:absolute;inset:0;display:flex;justify-content:center;align-items:center;font:90px var(--pixel);color:#f7e7bd;text-shadow:6px 6px #443422;pointer-events:none;z-index:4}.flash{animation:flash .15s 2}@keyframes flash{50%{filter:brightness(1.13)}}@media(min-width:1500px){body{padding-top:58px}}@media(max-width:1120px){body{padding:22px 18px}.brand{font-size:24px}.edition{display:none}.game-layout{grid-template-columns:minmax(0,1fr) 248px;padding:12px;gap:12px}aside{padding:17px 12px}.stage-top{padding:12px;font-size:14px;letter-spacing:0}.signal{font-size:9px;gap:8px}.control-deck{padding:16px 12px;gap:10px}.control-deck p{font-size:19px}#sit{min-width:130px;padding:14px 9px}#sit span{font-size:17px}.person{gap:9px}.person img{width:50px;height:50px}.person strong{font-size:21px}.person .tag{display:none}.intro-card{padding:22px 20px;width:365px}.intro-card h1{font-size:16px}.intro-card p{font-size:20px}}@media(max-width:780px){body{padding:14px 10px}.cabinet{border-width:4px;box-shadow:0 0 0 3px #d9bd7d,0 0 0 6px #574228,6px 8px #46523b66}header{min-height:96px;padding:17px 16px;gap:12px}.brand{font-size:20px;gap:11px}.brand-mark{display:none}.brand small{font-size:14px;letter-spacing:.5px}.icon-button{font:15px var(--body);padding:9px 11px;white-space:nowrap}.game-layout{display:block;padding:10px}.stage-top{font-size:15px;min-height:56px}.signal{font-size:9px}.stage-top>span:last-child{display:none}.scene{aspect-ratio:4/3}canvas{object-fit:cover}.overlay{padding:22px}.intro-card{width:330px;padding:20px 18px 17px}.intro-card h1{font-size:15px;line-height:1.8;margin:14px 0}.intro-card h2{font-size:16px}.intro-card p{font-size:20px;margin-bottom:18px}.intro-card .eyebrow{font-size:13px;letter-spacing:0}.intro-card small{font-size:16px;margin-top:15px}.primary{font-size:11px;padding:13px}.control-deck{padding:15px 10px;gap:8px;min-height:106px}.control-deck .eyebrow{font-size:13px;letter-spacing:0}.control-deck p{font-size:18px;margin-top:6px}.pause{width:30px;height:53px}#sit{min-width:104px;padding:13px 8px;gap:7px}#sit span{font-size:16px}kbd{font-size:14px;padding:2px 3px}.scene-label{font-size:12px;letter-spacing:1px}aside{margin-top:12px;padding:18px}.aside-title{margin-bottom:18px;padding-bottom:12px}.roster{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.person img{width:52px;height:52px}.person strong{font-size:21px}.person small{font-size:16px}.rules{display:grid;grid-template-columns:1fr 1fr;gap:0 18px;margin-top:7px;padding-top:16px}.rules>.eyebrow{grid-column:1/-1}.rules>div{margin:15px 0 12px;gap:10px}.rules .warning{grid-column:1/-1;padding:0;font-size:18px}.rules .warning br{display:none}.reaction{margin-top:14px;padding-top:12px}footer{padding:15px 17px;font-size:14px;line-height:1.2;gap:5px 18px;flex-wrap:wrap;justify-content:center;text-align:center}footer span:last-child{text-align:center}footer span:last-child{text-align:right}.credit{text-align:center;color:#a8ad86;text-transform:none;letter-spacing:1.5px;white-space:nowrap}.countdown{font-size:66px}}@media(max-width:380px){.brand{font-size:17px}.brand small{font-size:12px}.scene{aspect-ratio:1}.control-deck>div{min-width:0}.control-deck p{font-size:17px}#sit{min-width:84px;display:block}kbd{display:none}.roster{gap:0 10px}.person img{width:42px;height:42px}.person strong{font-size:19px}.person small{font-size:15px}.intro-card h1{font-size:13px}}
@media(min-width:900px) and (max-height:850px){body{padding:16px}.cabinet{max-width:min(1240px,calc((100svh - 330px)*1.6 + 298px))}header{min-height:82px;padding:15px 21px}.brand{font-size:23px}.brand-mark{width:46px;height:46px;line-height:38px;font-size:12px}.brand small{font-size:14px;margin-top:5px}.edition{display:none}.game-layout{grid-template-columns:minmax(0,1fr) 240px;padding:10px;gap:10px}.stage-top{min-height:48px;font-size:14px;padding:10px}.signal{font-size:9px}.control-deck{min-height:88px;padding:12px;gap:9px}.control-deck p{font-size:18px}.control-deck .eyebrow{font-size:13px}#sit{min-width:121px;padding:12px 8px}#sit span{font-size:16px}.pause{height:53px;width:32px}aside{padding:14px 12px}.aside-title{padding-bottom:12px;margin-bottom:14px}.person{margin-bottom:12px;gap:9px}.person img{width:48px;height:48px}.person strong{font-size:21px}.person small{font-size:16px}.person .tag{display:none}.rules{margin-top:13px;padding-top:14px}.rules>div{margin:13px 0}.rules p{font-size:17px}.rules .warning{font-size:16px}.reaction{margin-top:15px;padding-top:12px}footer{padding:12px 18px;font-size:14px}.intro-card{padding:20px;width:350px}.intro-card h1{font-size:15px}.intro-card p{font-size:20px}.intro-card .eyebrow{font-size:13px}.intro-card small{font-size:16px}}
@media(min-width:900px) and (max-height:850px){.rules{display:none}.intro-card{padding:14px 18px;width:330px}.intro-card h1{font-size:14px;line-height:1.6;margin:12px 0}.intro-card p{font-size:18px;margin-bottom:14px}.intro-card small{font-size:15px;margin-top:13px}.intro-card .primary{padding:12px}.stage-top>span:last-child{display:none}.reaction{margin-top:22px}}
