:root{color-scheme:dark;--ink:#f5f3ed;--muted:#9a9ca2;--panel:rgba(10,12,16,.88);--line:rgba(255,255,255,.12);--hot:#ff3d20;--amber:#ffc445;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);font-family:Inter,Roboto,"Helvetica Neue",Arial,sans-serif;background:#080a0d;color:var(--ink)}
*{box-sizing:border-box}
html,body{width:100%;height:100%;margin:0;overflow:hidden;background:#080a0d}
button,a{font:inherit}
button{color:inherit}
button:focus-visible,a:focus-visible,#game-canvas:focus-visible{outline:3px solid var(--amber);outline-offset:3px}
.skip-link{position:fixed;z-index:100;top:8px;left:8px;transform:translateY(-160%);padding:.7rem 1rem;background:#fff;color:#000;border-radius:4px}.skip-link:focus{transform:none}
.game-shell{height:100dvh;display:grid;grid-template-rows:auto minmax(0,1fr) auto;background:#080a0d;isolation:isolate}
.topbar{height:72px;padding:calc(10px + var(--safe-top)) clamp(12px,2vw,28px) 10px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;border-bottom:1px solid var(--line);background:linear-gradient(180deg,#11151b,#0b0e12);z-index:5}
.brand{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none;font:800 1.15rem/1 "Arial Narrow",Impact,sans-serif;letter-spacing:.18em}.brand-mark{display:grid;place-items:center;width:34px;height:34px;background:var(--hot);clip-path:polygon(9% 0,100% 0,87% 86%,57% 100%,0 82%);font-size:1.25rem;letter-spacing:0;transform:rotate(-3deg)}
.scoreboard{display:flex;align-items:center;gap:clamp(20px,5vw,70px);text-align:center}.scoreboard>div{display:grid}.hud-label,.eyebrow{font:700 .62rem/1 "Arial Narrow",Impact,sans-serif;text-transform:uppercase;letter-spacing:.18em;color:var(--muted)}.scoreboard strong{font:800 clamp(1.15rem,3vw,1.55rem)/1 "Arial Narrow",Impact,sans-serif;font-variant-numeric:tabular-nums;letter-spacing:.08em}.combo-box strong{color:var(--amber)}.combo-box.pulse{animation:combo-pulse .22s ease-out}
.utility-controls{justify-self:end;display:flex;gap:7px}.icon-button{width:38px;height:38px;border:1px solid var(--line);border-radius:5px;background:#171a20;cursor:pointer;font-weight:800;font-size:1.1rem;transition:.18s}.icon-button:hover{background:#242932;border-color:#4c515b}.icon-button[aria-pressed=true]{color:var(--hot)}
.arena{position:relative;min-height:0;overflow:hidden;background:#050608;touch-action:none}.arena:before{content:"";position:absolute;z-index:2;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(0,0,0,.42),transparent 22%,transparent 77%,rgba(0,0,0,.35)),linear-gradient(0deg,rgba(0,0,0,.48),transparent 27%)}
#game-canvas{position:absolute;inset:0;width:100%;height:100%;display:block;cursor:crosshair;touch-action:none}
.room-heading{position:absolute;z-index:3;left:clamp(16px,3vw,42px);top:clamp(14px,3vw,32px);pointer-events:none;text-shadow:0 2px 12px #000}.room-heading h1{margin:.18rem 0 0;font:800 clamp(1.35rem,4vw,2.35rem)/.95 "Arial Narrow",Impact,sans-serif;text-transform:uppercase;letter-spacing:.045em}.room-progress{display:inline-block;margin-top:.5rem;padding:.28rem .55rem;background:rgba(0,0,0,.5);border-left:2px solid var(--hot);font:600 .66rem/1 Inter,Arial,sans-serif;text-transform:uppercase;letter-spacing:.1em;color:#d3d4d6}
.gesture-hint{position:absolute;z-index:3;left:50%;bottom:17px;transform:translateX(-50%);margin:0;padding:.55rem .8rem;background:rgba(4,5,7,.68);border:1px solid rgba(255,255,255,.13);border-radius:99px;backdrop-filter:blur(6px);font:600 .7rem/1 Inter,Arial,sans-serif;color:#ddd;pointer-events:none;animation:hint-fade 1s 6s forwards}.gesture-hint span{color:var(--amber);font-size:1rem;margin-right:.25rem}
.reticle{position:absolute;z-index:4;width:32px;height:32px;margin:-16px 0 0 -16px;border:1px solid rgba(255,255,255,.65);border-radius:50%;pointer-events:none;opacity:0;transition:opacity .2s}.reticle:before,.reticle:after{content:"";position:absolute;background:#fff}.reticle:before{width:8px;height:1px;left:11px;top:15px}.reticle:after{width:1px;height:8px;left:15px;top:11px}.reticle.keyboard{opacity:.8}
.impact-word{position:absolute;z-index:7;pointer-events:none;opacity:0;font:900 clamp(1.6rem,5vw,3.8rem)/.8 "Arial Narrow",Impact,sans-serif;color:#fff;text-shadow:3px 3px 0 var(--hot),0 8px 22px #000;letter-spacing:.04em;text-transform:uppercase;transform:translate(-50%,-50%) rotate(-7deg) scale(.5)}.impact-word.show{animation:impact-word .48s ease-out}
.room-cleared{position:absolute;z-index:8;inset:0;display:grid;place-content:center;text-align:center;background:rgba(3,4,6,.65);backdrop-filter:blur(8px);opacity:0;visibility:hidden;transition:.35s}.room-cleared.show{opacity:1;visibility:visible}.room-cleared span{color:var(--hot);font:800 .72rem/1 "Arial Narrow",Impact;letter-spacing:.2em;text-transform:uppercase}.room-cleared strong{font:900 clamp(2rem,7vw,5rem)/1 "Arial Narrow",Impact;text-transform:uppercase;margin:.45rem 1rem 1rem}.room-cleared button,.start-button{justify-self:center;border:0;border-radius:3px;background:var(--hot);padding:.85rem 1.25rem;cursor:pointer;font-weight:800;text-transform:uppercase;letter-spacing:.05em;box-shadow:0 8px 32px rgba(255,61,32,.25)}
.control-dock{position:relative;z-index:6;display:grid;grid-template-columns:1fr 1px 1fr;gap:clamp(14px,2vw,28px);align-items:center;padding:10px clamp(12px,2vw,28px) calc(10px + var(--safe-bottom));border-top:1px solid var(--line);background:linear-gradient(180deg,#101319,#080a0d);min-height:104px}.control-group{display:flex;align-items:center;gap:clamp(10px,2vw,25px);min-width:0}.control-label{min-width:83px;display:grid;gap:5px}.control-label span{font:800 .72rem/1 "Arial Narrow",Impact;letter-spacing:.15em;text-transform:uppercase}.control-label small{color:#70737b;font-size:.57rem;white-space:nowrap}.choice-row{display:flex;gap:8px;min-width:0}.choice{min-width:78px;height:66px;display:flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--line);border-radius:4px;background:#15181e;cursor:pointer;font:700 .66rem/1 "Arial Narrow",Impact;letter-spacing:.08em;text-transform:uppercase;transition:.16s}.choice:hover{background:#20242c}.choice.active{border-color:var(--hot);background:linear-gradient(135deg,rgba(255,61,32,.2),#171a20);box-shadow:inset 0 -2px var(--hot)}.choice-icon{position:relative;display:block;width:9px;height:38px;border-radius:3px;background:linear-gradient(90deg,#5a3017,#c27d3f,#4a2614);transform:rotate(25deg)}.bat-icon:after{content:"";position:absolute;left:1px;top:-4px;width:7px;height:10px;border-radius:50%;background:#b46f36}.crowbar-icon{width:6px;background:linear-gradient(90deg,#61666b,#c6cbd0,#4d5155)}.crowbar-icon:after{content:"";position:absolute;width:16px;height:6px;left:-9px;top:-3px;border-radius:6px 0 0 6px;background:#aaaeb2}.sledge-icon{height:32px;width:7px}.sledge-icon:after{content:"";position:absolute;left:-12px;top:-7px;width:30px;height:13px;border-radius:2px;background:linear-gradient(#85888b,#2f3337)}.room-thumb{width:38px;height:38px;border-radius:3px;background-size:cover;background-position:center;box-shadow:inset 0 0 0 1px rgba(255,255,255,.18)}.office-thumb{background-image:url('../images/room-office.webp')}.garage-thumb{background-image:url('../images/room-garage.webp')}.kitchen-thumb{background-image:url('../images/room-kitchen.webp')}.dock-divider{width:1px;height:52px;background:var(--line)}
.onboarding{position:fixed;z-index:50;inset:0;display:grid;place-items:center;padding:20px;background:radial-gradient(circle at 50% 35%,rgba(32,38,47,.75),rgba(2,3,5,.95));opacity:0;visibility:hidden;transition:.3s}.onboarding.open{opacity:1;visibility:visible}.onboarding-card{position:relative;width:min(470px,100%);max-height:calc(100dvh - 40px);padding:clamp(26px,6vw,48px);overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;background:linear-gradient(145deg,#171b22,#090b0f 65%);border:1px solid rgba(255,255,255,.15);box-shadow:0 30px 100px #000;text-align:center}.warning-stripe{position:absolute;left:0;top:0;right:0;height:6px;background:repeating-linear-gradient(135deg,var(--amber) 0 14px,#17191c 14px 28px)}.onboarding h2{margin:.6rem 0 1rem;font:900 clamp(2.1rem,8vw,4.2rem)/.85 "Arial Narrow",Impact,sans-serif;text-transform:uppercase;letter-spacing:-.02em}.onboarding h2 em{font-style:normal;color:var(--hot)}.onboarding p{margin:0 auto;max-width:340px;color:#b7b9bd;font-size:.86rem;line-height:1.6}.onboarding small{display:block;margin-top:13px;color:#6e7178;font-size:.65rem}.start-button{width:100%;font-size:.8rem}.start-button span{float:right;font-size:1.2rem}.instruction-demo{position:relative;height:92px;margin:16px auto;width:250px}.demo-object{position:absolute;left:96px;top:15px;width:54px;height:56px;border:3px solid #8a8e93;background:linear-gradient(135deg,#30353c,#11151a);box-shadow:0 0 18px rgba(255,255,255,.1)}.demo-trail{position:absolute;left:24px;top:49px;width:190px;height:2px;transform:rotate(-14deg);background:linear-gradient(90deg,transparent,var(--hot),transparent)}.demo-hand{position:absolute;left:30px;top:47px;font-size:1.7rem;animation:demo-swipe 1.8s ease-in-out infinite}
.game-facts{margin-top:18px;border-top:1px solid var(--line);padding-top:13px;text-align:left;color:#aeb1b6}.game-facts summary{cursor:pointer;text-align:center;color:#d7d9dc;font-size:.68rem;font-weight:750;letter-spacing:.06em;text-transform:uppercase}.game-facts summary:hover{color:#fff}.facts-copy{padding:13px 3px 0}.facts-copy h3{margin:12px 0 3px;color:#f1f1ef;font-size:.72rem;letter-spacing:.03em}.facts-copy h3:first-child{margin-top:0}.facts-copy p{max-width:none;font-size:.7rem;line-height:1.45}.facts-copy .verified{margin-top:12px;color:#777b82;font-size:.61rem;text-align:center}
.noscript{position:fixed;z-index:100;inset:0;display:grid;place-items:center;background:#080a0d;padding:30px;text-align:center}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
@keyframes demo-swipe{0%,15%{transform:translate(0,15px) rotate(-15deg)}70%,100%{transform:translate(175px,-27px) rotate(15deg)}}@keyframes impact-word{0%{opacity:0;transform:translate(-50%,-50%) rotate(-8deg) scale(.4)}22%{opacity:1;transform:translate(-50%,-50%) rotate(-5deg) scale(1.18)}100%{opacity:0;transform:translate(-50%,-70%) rotate(-2deg) scale(1)}}@keyframes combo-pulse{50%{transform:scale(1.22)}}@keyframes hint-fade{to{opacity:0}} 
@media(max-width:780px){.topbar{height:62px;grid-template-columns:1fr auto auto}.brand{font-size:.92rem;letter-spacing:.13em}.brand-mark{width:29px;height:29px}.scoreboard{gap:16px}.hud-label{font-size:.52rem}.scoreboard strong{font-size:1.02rem}.utility-controls{margin-left:10px}.icon-button{width:32px;height:32px;font-size:.92rem}.utility-controls #help-button{display:none}.control-dock{grid-template-columns:1fr;padding-top:7px;gap:7px;min-height:164px}.control-group{display:grid;grid-template-columns:69px 1fr;gap:6px}.control-label{min-width:0}.control-label small{display:none}.choice-row{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.choice{min-width:0;width:100%;height:55px;gap:6px}.room-thumb{width:30px;height:30px}.choice-icon{height:30px}.dock-divider{display:none}.room-heading{top:12px;left:14px}.room-heading h1{font-size:1.4rem}.gesture-hint{bottom:10px;white-space:nowrap;font-size:.63rem}.arena:before{background:linear-gradient(0deg,rgba(0,0,0,.5),transparent 30%)}}
@media(max-width:390px){.brand>span:last-child{display:none}.scoreboard{gap:10px}.choice{font-size:.57rem}.control-dock{min-height:158px}.control-label{font-size:.65rem}.onboarding-card{padding:28px 22px}.instruction-demo{height:75px;transform:scale(.82);margin:7px auto}}
@media(orientation:landscape) and (max-height:620px){.topbar{height:54px;padding-top:calc(6px + var(--safe-top));padding-bottom:6px}.control-dock{min-height:80px;grid-template-columns:1fr 1px 1fr;padding-top:6px;padding-bottom:calc(6px + var(--safe-bottom))}.control-group{display:flex}.choice{height:50px}.control-label{display:none}.dock-divider{display:block}.onboarding-card{padding:24px;max-width:620px}.onboarding h2{font-size:2.5rem}.instruction-demo{display:none}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}.gesture-hint{animation:none}}
