:root{--ink:#070b14;--panel:#0d1422;--paper:#f4ead8;--red:#d4333f;--gold:#f4c35b}*{box-sizing:border-box}body,html{min-height:100%;min-height:100dvh;overscroll-behavior:none}body{margin:0;color:var(--paper);background:radial-gradient(circle at 50% -15%,#263859 0,transparent 38%),linear-gradient(145deg,#080c15,#0c1322 50%,#070a11);font-family:Arial,Helvetica,sans-serif;-webkit-text-size-adjust:100%}button,canvas{-webkit-tap-highlight-color:transparent}.kb-mobile{display:none}.game-shell{position:relative;isolation:isolate;min-height:100vh;min-height:100dvh;overflow-x:hidden;overflow-y:auto;display:grid;place-items:center;padding:max(16px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left))}.game-shell:before{content:"";position:absolute;inset:0;z-index:-2;opacity:.2;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 0),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 0);background-size:32px 32px;-webkit-mask-image:linear-gradient(180deg,black,transparent 72%);mask-image:linear-gradient(180deg,black,transparent 72%)}.ambient{position:absolute;z-index:-1;width:min(420px,70vw);height:min(420px,70vw);border-radius:999px;filter:blur(110px);opacity:.13;pointer-events:none}.ambient-one{left:-180px;top:18%;background:#e84450}.ambient-two{right:-170px;bottom:-60px;background:#efb752}.game-card{width:min(1120px,100%);background:rgba(8,13,23,.92);border:1px solid rgba(244,195,91,.23);box-shadow:0 38px 110px rgba(0,0,0,.5)}.game-header{min-height:106px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px 28px 20px;border-bottom:1px solid rgba(255,255,255,.09)}.eyebrow{margin:0 0 4px;color:#9ca8ba;font-size:10px;font-weight:800;letter-spacing:.32em}.game-header h1{margin:0;color:#f7f0e5;font-family:Impact,Haettenschweiler,Arial Narrow Bold,sans-serif;font-size:clamp(28px,5vw,50px);font-style:italic;font-weight:900;letter-spacing:.035em;line-height:.9;transform:skewX(-5deg)}.game-header h1 span{color:var(--red);text-shadow:3px 3px 0 #5f121a}.scoreboard{display:flex;align-items:center;gap:34px;flex-shrink:0}.scoreboard>div{display:grid;grid-gap:2px;gap:2px;text-align:right}.scoreboard span{color:#8994a7;font-size:10px;font-weight:800;letter-spacing:.22em}.scoreboard strong{color:#f4ead8;font-family:Courier New,monospace;font-size:25px;letter-spacing:.08em}.canvas-frame{position:relative;overflow:hidden;cursor:pointer;background:#121c32;touch-action:manipulation;-moz-user-select:none;user-select:none;-webkit-user-select:none}.canvas-frame canvas{display:block;width:100%;height:auto;aspect-ratio:2/1;margin-inline:auto;image-rendering:pixelated}.game-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:max(12px,3vw);text-align:center;background:linear-gradient(rgba(3,8,18,.35),rgba(3,8,18,.78));-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);overflow-y:auto;-webkit-overflow-scrolling:touch}.overlay-kicker{margin:0 0 9px;color:var(--gold);font-size:11px;font-weight:900;letter-spacing:.3em}.game-overlay h2{margin:0;font-family:Impact,Haettenschweiler,Arial Narrow Bold,sans-serif;font-size:clamp(28px,7vw,70px);font-style:italic;letter-spacing:.03em;text-transform:uppercase;text-shadow:4px 5px 0 rgba(0,0,0,.35)}.game-overlay p:not(.overlay-kicker){max-width:540px;margin:13px 0 22px;color:#d8dce3;font-size:clamp(13px,2vw,16px);line-height:1.55}.game-overlay button{min-width:min(190px,100%);min-height:48px;border:1px solid #f95d67;padding:13px 26px;color:white;background:linear-gradient(180deg,#e13b47,#a91e29);box-shadow:0 8px 0 #631019,0 14px 28px rgba(0,0,0,.3);font-size:13px;font-weight:900;letter-spacing:.16em;text-transform:uppercase;cursor:pointer;transform:translateY(-4px) skewX(-4deg);touch-action:manipulation}.game-overlay button:hover{filter:brightness(1.12)}.game-overlay button:active{box-shadow:0 3px 0 #631019;transform:translateY(1px) skewX(-4deg)}.game-overlay>span{margin-top:18px;color:#99a5b7;font-family:Courier New,monospace;font-size:10px;font-weight:700;letter-spacing:.2em}.overlay-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;width:100%;max-width:420px}.game-overlay button.secondary-btn{border-color:#566176;background:linear-gradient(180deg,#2a3548,#1a2333);box-shadow:0 8px 0 #0d121c,0 14px 28px rgba(0,0,0,.3)}.role-select .role-cards{display:flex;flex-wrap:wrap;gap:16px;justify-content:center;margin-top:4px;width:100%}.role-card{min-width:min(180px,calc(50% - 10px));flex:1 1 150px;max-width:220px;display:grid;grid-gap:8px;gap:8px;border:1px solid #f95d67;padding:18px 22px;color:white;background:linear-gradient(180deg,#e13b47,#a91e29);box-shadow:0 8px 0 #631019,0 14px 28px rgba(0,0,0,.3);font-size:13px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transform:translateY(-4px) skewX(-4deg);text-align:center;touch-action:manipulation;min-height:88px}.role-card.elliot{border-color:#f4a4c8;background:linear-gradient(180deg,#db2777,#9d174d);box-shadow:0 8px 0 #701a3a,0 14px 28px rgba(0,0,0,.3)}.role-card:hover{filter:brightness(1.12)}.role-card:active{box-shadow:0 3px 0 #631019;transform:translateY(1px) skewX(-4deg)}.role-card.elliot:active{box-shadow:0 3px 0 #701a3a}.role-card strong{font-family:Impact,Haettenschweiler,Arial Narrow Bold,sans-serif;font-size:clamp(22px,5vw,28px);letter-spacing:.04em}.role-card span{color:rgba(255,255,255,.82);font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:none}.combo{position:absolute;top:22px;left:50%;display:flex;align-items:center;gap:8px;color:var(--gold);text-shadow:2px 2px 0 #8c3a1d;transform:translateX(-50%) rotate(-2deg);animation:combo-pop .18s ease-out}.combo strong{font-family:Impact,sans-serif;font-size:30px}.combo span{font-size:10px;font-weight:900;letter-spacing:.14em}@keyframes combo-pop{0%{opacity:0;transform:translateX(-50%) scale(.55) rotate(-8deg)}to{opacity:1;transform:translateX(-50%) scale(1) rotate(-2deg)}}.game-footer{min-height:92px;gap:38px;padding:18px 28px max(18px,env(safe-area-inset-bottom));border-top:1px solid rgba(255,255,255,.08)}.game-footer,.instruction{display:flex;align-items:center}.instruction{gap:12px}.instruction kbd,.kaiju-mark{min-width:54px;height:38px;display:grid;place-items:center;border:1px solid #566176;color:#e8ecf2;background:#161f30;box-shadow:inset 0 -3px 0 rgba(0,0,0,.4);font-family:Courier New,monospace;font-size:10px;font-weight:900}.kaiju-mark{min-width:38px;border-color:#8f353c;color:#ff6872;background:#27171d;font-size:19px}.instruction div{display:grid;grid-gap:3px;gap:3px}.instruction strong{color:#eef0f4;font-size:12px;letter-spacing:.08em;text-transform:uppercase}.instruction span{color:#7f8a9c;font-size:11px}.status-pill{margin-left:auto;display:flex;align-items:center;gap:8px;color:#7f8a9c;font-size:9px;font-weight:800;letter-spacing:.18em}.status-pill i{width:7px;height:7px;border-radius:50%;background:#59d38b;box-shadow:0 0 12px #59d38b}.legal-note{margin:16px 0 0;color:#596477;font-size:9px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;text-align:center;padding-inline:12px}@media (max-width:700px){.kb-desktop{display:none}.kb-mobile{display:inline}.game-shell{padding:env(safe-area-inset-top) 0 env(safe-area-inset-bottom);align-items:stretch;place-items:stretch;width:100%;max-width:100vw}.ambient{display:none}.game-card{border-radius:0;border-left:none;border-right:none;width:100%;max-width:100%;display:flex;flex-direction:column;min-height:100dvh;min-height:100svh;overflow:hidden;box-shadow:none}.game-header{min-height:58px;padding:12px 16px;gap:12px;flex-shrink:0}.eyebrow{display:none}.game-header h1{font-size:clamp(26px,8vw,34px)}.scoreboard{gap:14px}.scoreboard span{font-size:10px}.scoreboard strong{font-size:18px}.canvas-frame{flex:1 1 auto;min-height:0;height:auto;max-height:none;position:relative;display:flex;align-items:center;justify-content:center;background:#070b14}.canvas-frame canvas{position:relative;inset:auto;display:block;width:100%;height:50dvh;max-height:50dvh;aspect-ratio:auto}.game-overlay{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);height:50dvh;bottom:auto;inset:unset;width:100%;padding:16px;justify-content:center;overflow:hidden;gap:0;background:linear-gradient(rgba(3,8,18,.45),rgba(3,8,18,.88))}.overlay-kicker{font-size:11px;letter-spacing:.2em;margin:0 0 8px}.game-overlay h2{font-size:clamp(32px,10vw,44px);line-height:1}.game-overlay p:not(.overlay-kicker){margin:10px 0 16px;font-size:14px;line-height:1.4;max-width:30ch}.role-select p:not(.overlay-kicker){margin-bottom:14px}.game-overlay button{min-height:52px;padding:14px 18px;font-size:14px;letter-spacing:.1em;transform:none;box-shadow:0 4px 0 #631019,0 8px 16px rgba(0,0,0,.28)}.game-overlay button:active{transform:translateY(2px);box-shadow:0 2px 0 #631019}.role-select .role-cards{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px;width:100%;max-width:400px;margin:0 auto}.role-card{max-width:none;min-width:0;width:100%;min-height:88px;padding:16px 10px;transform:none!important;box-shadow:0 4px 0 #631019,0 8px 16px rgba(0,0,0,.28)}.role-card.elliot{box-shadow:0 4px 0 #701a3a,0 8px 16px rgba(0,0,0,.28)}.role-card:active{transform:translateY(2px)!important;box-shadow:0 2px 0 #631019}.role-card.elliot:active{box-shadow:0 2px 0 #701a3a}.role-card strong{font-size:24px}.role-card span{font-size:11px;letter-spacing:.04em}.overlay-actions{flex-direction:column;align-items:stretch;max-width:320px;margin-inline:auto;gap:10px}.overlay-actions button{width:100%;transform:none}.overlay-actions button:active{transform:translateY(2px)}.game-overlay>span{margin-top:14px;font-size:11px}.combo{top:12px}.combo strong{font-size:26px}.game-footer{min-height:56px;gap:20px;padding:12px 16px max(12px,env(safe-area-inset-bottom));flex-shrink:0;justify-content:center}.instruction{gap:10px}.instruction kbd,.kaiju-mark{min-width:48px;height:36px;font-size:11px}.instruction strong{font-size:13px}.instruction span,.legal-note,.status-pill{display:none}}@media (max-width:430px){.game-header h1{font-size:26px}.scoreboard span{font-size:9px}.scoreboard strong{font-size:16px}.role-card{min-height:80px}}@media (max-height:480px) and (orientation:landscape){.game-shell{padding:0}.game-card{min-height:100dvh}.game-header{min-height:auto;padding:6px 12px}.game-header h1{font-size:20px}.scoreboard strong{font-size:14px}.canvas-frame{min-height:0}.game-overlay{padding:8px}.game-overlay h2{font-size:22px}.game-footer,.game-overlay p:not(.overlay-kicker){display:none}.role-select .role-cards{max-width:420px}.role-card{min-height:56px;padding:8px}}@media (prefers-reduced-motion:reduce){.combo{animation:none}}