:root{font-family:Arial,Helvetica,sans-serif;color:#efe9d7;background:#0b1219;font-synthesis:none;color-scheme:dark}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button{cursor:pointer}button:disabled{opacity:.45;cursor:wait}button:focus-visible,input:focus-visible{outline:2px solid #ffe3a2;outline-offset:5px}#app{height:100dvh;min-height:420px;display:flex;flex-direction:column;max-width:1920px;margin:auto;padding:14px 18px 0}#stage{position:relative;flex:1;min-height:0;overflow:hidden;border:1px solid #344049;border-radius:9px;background:radial-gradient(ellipse at 50% 42%,#39413d,#1b2830 65%,#0d1720)}#game{position:absolute;inset:0}canvas{display:block;cursor:none}.panel{position:absolute;border:1px solid #41505a80;background:linear-gradient(125deg,#111d27f5,#0c1721db);box-shadow:0 5px 18px #0003;border-radius:7px;padding:14px 17px;pointer-events:none}.gameplay-ui{opacity:0;transition:opacity .25s}.in-game .gameplay-ui{opacity:1}.mission-panel{position:absolute;left:24px;top:19px;display:flex;align-items:center;gap:22px;pointer-events:none}.mission-title{font-size:12px;letter-spacing:1.4px;color:#ccd1ca}.mission-title small{display:block;font:9px monospace;letter-spacing:1.5px;color:#8ea1a8;margin-top:8px}.wordmark{font-family:Impact,Arial Black,sans-serif;font-weight:1000;line-height:.85;letter-spacing:-4px;transform:rotate(-3deg);color:#f3e9cc;text-shadow:3px 5px 0 #111821}.wordmark span{display:block;color:#ffb554}.small-logo{font-size:29px;letter-spacing:-1px;line-height:.86;text-shadow:2px 2px 0 #111821}.health-panel{left:24px;top:97px;padding:9px 14px}.health-panel span{display:block;font:9px monospace;color:#b9c8c8;margin-top:4px}#hearts{font:27px Arial;font-style:normal;letter-spacing:4px;color:#ff776b;text-shadow:0 2px 0 #962f32}#health{font-weight:400}.wave-panel{right:23px;top:19px;min-width:191px;font:13px monospace;letter-spacing:1px}.wave-panel b{font-size:22px;margin-left:8px}.wave-panel em{font-style:normal;color:#83969f}.wave-panel small{display:block;font:9px monospace;letter-spacing:1px;color:#a3b5bd;margin-top:7px}.dart-panel{right:23px;top:105px;display:flex;gap:13px;align-items:center;font:11px monospace}.dart-panel b{display:block;font:700 27px Arial;margin:4px 0 7px}.foam-dart{display:block;height:47px;width:10px;background:#ffc175;border-radius:5px 5px 2px 2px;border-top:9px solid #6badd0;box-shadow:inset -3px 0 #d58a40}#ammo{display:flex;gap:3px}#ammo s{width:6px;height:15px;background:#ffbc69;border-radius:1px;box-shadow:inset -2px 0 #cc914f}#ammo s.empty{background:#35414a;box-shadow:none}.combat-bar{left:24px;bottom:22px;display:flex;align-items:center;gap:14px;min-width:244px}.weapon-details{display:flex;flex-direction:column;gap:7px}.weapon-details b{font:700 12px monospace;letter-spacing:1px}.weapon-details small{font:9px monospace;color:#9eb0b8}.weapon-keys{display:flex;gap:7px;margin-top:1px}kbd{font:10px monospace;border:1px solid #52636b;border-radius:3px;padding:4px 6px;display:inline-block;color:#becbd0}.weapon-keys kbd{padding:5px 10px;font-size:12px}.weapon-keys .selected{border-color:#ffb85e;color:#ffe1ac;box-shadow:0 0 7px #ffb85e25}.weapon-keys .locked{opacity:.28;border-style:dashed}#weapon-art{width:66px;height:55px;background-image:var(--art-pistol);background-size:463px 370px;background-position:-17px -34px;background-repeat:no-repeat}#weapon-art[data-weapon=shotgun]{background-image:var(--art-shotgun);height:41.29px;background-size:431.39px 287.59px;background-position:-12.64px -6.18px}.ground-panel{right:23px;bottom:22px;font:11px monospace;color:#ffcf86}.ground-panel small{display:block;font:9px monospace;color:#9eafb5;margin-top:8px}.dart-symbol{font-size:18px;margin-right:9px}#announcement{position:absolute;left:50%;top:85px;transform:translate(-50%);text-align:center;color:#ffcc89;font:700 24px monospace;letter-spacing:3px;pointer-events:none;text-shadow:0 2px 9px #0a1218;width:45%}#announcement small{display:block;font:10px monospace;letter-spacing:.4px;color:#e4e1cd;margin-top:8px}#toast{position:absolute;bottom:145px;left:50%;transform:translate(-50%);font:12px monospace;color:#ffd392;text-align:center;pointer-events:none;max-width:80%;text-shadow:0 1px 7px #000}#interaction{position:absolute;left:50%;bottom:93px;transform:translate(-50%);padding:12px 16px;background:#14212bef;border:1px solid #ad895a;border-radius:5px;color:#ffdb9c;font:12px monospace;pointer-events:none}#interaction progress{display:block;width:100%;height:5px;margin-top:8px;accent-color:#ffb75e}[hidden]{display:none!important}#overlay{position:absolute;inset:0;z-index:5;background:#0c151e;overflow:hidden}.hidden{display:none!important}.menu-art{position:absolute;right:0;top:0;bottom:0;width:67%;background-image:var(--art-menu);background-size:auto 116%;background-position:26% 34%;background-repeat:no-repeat;-webkit-mask-image:linear-gradient(90deg,transparent,#000 18%),linear-gradient(#000 65%,transparent 97%);mask-image:linear-gradient(90deg,transparent,#000 18%),linear-gradient(#000 65%,transparent 97%);-webkit-mask-composite:source-in;mask-composite:intersect;opacity:.86}.menu-content{position:relative;z-index:1;margin-left:5%;width:44%;height:100%;display:flex;flex-direction:column;justify-content:center;padding:30px 0 55px;max-width:550px}.eyebrow{font:9px monospace;letter-spacing:2px;color:#afbbc1}h1.wordmark{font-size:clamp(66px,8.5vw,132px);margin:30px 0 20px;width:fit-content}h1.wordmark span{margin-top:7px}.tagline{font:9px monospace;letter-spacing:2.3px;color:#f4e4c6;margin:2px 0 17px}#overlay-copy{font-size:12px;color:#aebcc1;line-height:1.85;margin:0 0 23px;max-width:360px}#overlay-copy strong{font-weight:400;color:#d5d9d1}.menu-actions{display:flex;flex-direction:column;gap:7px;width:min(315px,100%)}button{border:1px solid #ffce81;border-radius:4px;background:linear-gradient(110deg,#ffc574,#ffa947);color:#15202a;font-size:12px;font-weight:800;letter-spacing:1.3px;padding:16px 20px;text-align:left;min-height:46px;transition:background .15s,transform .15s}button:hover{background:#ffd398;transform:translate(2px)}button span{float:right}button.secondary{background:#14202a88;color:#b9c9d0;border-color:#41515d60}button.secondary:hover{background:#253640;color:#fff}#overlay-hint,#loading{font:9px monospace;letter-spacing:.4px;color:#8e9faa;margin-top:15px;min-height:11px}#loading:empty{display:none}.menu-note{position:absolute;right:4%;top:6%;font:14px monospace;letter-spacing:2px;line-height:1.7;transform:rotate(-9deg);color:#dbd9c4;opacity:.7}.menu-footnote{position:absolute;bottom:22px;left:5%;right:4%;font:8px monospace;letter-spacing:2px;color:#778c98}.menu-footnote span{float:right}.results .menu-art{opacity:.28}.results h1.wordmark{font-family:Arial,sans-serif;font-size:clamp(37px,5vw,64px);letter-spacing:-2px;line-height:1.08;transform:none}.results .tagline{display:none}footer{flex-shrink:0;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 7px;color:#8fa4ae;font-size:10px}footer>div{display:flex;gap:8px;align-items:center}footer span{color:#81969f}dialog{border:1px solid #52636c;border-radius:10px;background:linear-gradient(140deg,#1d2b34,#101a23);color:#ebe7d8;width:min(540px,92vw);max-height:90dvh;overflow:auto;padding:35px;box-shadow:0 25px 100px #0009}dialog::backdrop{background:#050e18c9;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}dialog h2{font-size:32px;letter-spacing:-1px;line-height:1.12;margin:15px 0}dialog p{font-size:13px;color:#a9bdc6;line-height:1.65}dialog label{display:block;margin-top:25px;font-size:13px}dialog output{float:right;color:#ffd08b;font:12px monospace}dialog input{width:100%;accent-color:#ffb75c;margin:13px 0 20px}dialog button{display:block;width:100%;margin-top:12px}dialog .track-credit{font-size:11px;margin:20px 0}.portrait{float:right;width:130px;margin:-18px -30px 0 0}dl{display:grid;grid-template-columns:96px 1fr;gap:14px 9px;margin:26px 0}dt{font:10px monospace;color:#ffd28d}dd{margin:0;font-size:12px;line-height:1.55;color:#bdcbd0}@media(max-height:730px){#app{padding-top:8px}h1.wordmark{font-size:clamp(56px,7.4vw,95px);margin:22px 0 16px}.menu-content{padding-top:16px;padding-bottom:38px}.menu-actions{gap:5px}button{padding:12px 17px;min-height:40px}#overlay-copy{margin-bottom:15px;font-size:11px}.tagline{font-size:8px}footer{padding:8px 5px}.mission-panel{top:14px}.health-panel{top:81px}.small-logo{font-size:25px}.wave-panel{top:14px}.dart-panel{top:94px}.combat-bar,.ground-panel{bottom:14px}}@media(max-width:850px){#app{padding:7px 7px 0}.menu-content{width:55%;margin-left:5%}.menu-art{width:76%;opacity:.5}.menu-note{font-size:10px}.mission-title{display:none}.mission-panel,.health-panel,.combat-bar{left:12px}.wave-panel,.dart-panel,.ground-panel{right:12px}.ground-panel{padding:10px;font-size:10px}.ground-panel small{max-width:130px;line-height:1.5}.combat-bar{min-width:210px;padding:10px;gap:7px}.wave-panel{min-width:165px}.panel{padding:10px 12px}footer{font-size:9px;flex-wrap:wrap;gap:5px}footer>div{gap:5px}#announcement{font-size:19px;width:45%;top:55px}#announcement small{font-size:9px}}@media(max-width:540px){.menu-content{width:85%}.menu-art{width:100%;opacity:.24}.menu-note{display:none}.tagline{letter-spacing:1.5px}.mission-panel{display:none}.health-panel{top:14px}.dart-panel{top:90px}.combat-bar{bottom:12px;min-width:190px}.ground-panel{bottom:118px}.ground-panel small{display:none}#announcement{top:175px;width:75%}#game{inset:60px 0 90px}.portrait{width:100px}dialog{padding:24px}}.objective-panel{position:absolute;top:91px;left:50%;transform:translate(-50%);width:min(47%,580px);padding:10px 14px;background:#10202cdd;border:1px solid #63746660;border-radius:5px;pointer-events:none;text-align:center;font:11px monospace;color:#ffda9b;line-height:1.5}.objective-panel small{display:block;margin-top:4px;color:#90a7ae;font-size:9px}#announcement{top:162px}@media(max-width:850px){.objective-panel{top:20px;width:42%;font-size:10px;padding:8px}#announcement{top:170px}.mission-panel{display:none}}@media(max-width:540px){.objective-panel{top:175px;width:84%}#announcement{top:260px}}#pause-dialog{width:min(440px,92vw)}#exit-indicator{position:absolute;z-index:2;transform:translate(-50%,-50%);pointer-events:none;text-align:center;color:#ffce7d;text-shadow:0 2px 4px #0b151e}#exit-indicator b{display:block;font-size:29px;line-height:1.2}#exit-indicator span{font:9px monospace;letter-spacing:1px;background:#152832cf;padding:3px}.dart-panel #capacity{display:inline;font:14px monospace;color:#9eafb5}#ammo{flex-wrap:wrap;max-width:162px}#end-restart{margin-top:12px;font-size:10px;width:min(315px,100%)}#debug-menu{margin-top:12px;max-width:315px;font-size:11px}#debug-menu summary{cursor:pointer;color:#b8c8ca;padding:6px 0}#debug-menu p{font-size:11px;line-height:1.4;margin:6px 0}#debug-area{background:#15252d;color:#f5e6cb;border:1px solid #617780;padding:6px;margin:0 8px}#debug-start{margin-top:8px;font-size:11px;padding:8px 12px}#tactical-status{position:absolute;bottom:124px;left:24px;z-index:3;background:#10222bd9;color:#f1d5a6;padding:8px 10px;font:11px monospace;pointer-events:none;border-radius:4px}.wave-panel{display:none!important}.mission-title{display:none}.health-panel{width:185px;top:100px;left:24px;padding:14px;box-sizing:border-box}.stamina-section,.inventory-section{margin-top:14px;padding-top:12px;border-top:1px solid #ffffff20}.hud-row{display:flex;align-items:center;justify-content:space-between;font-size:10px}#stamina-bar{display:block;width:100%;height:12px;margin:8px 0;appearance:none;border:0;border-radius:6px;overflow:hidden;background:#09151c}#stamina-bar::-webkit-progress-bar{background:#09151c}#stamina-bar::-webkit-progress-value{background:#74d5b3;transition:width .08s linear}#stamina-bar.recovering::-webkit-progress-value{background:#e9af62}#stamina-bar::-moz-progress-bar{background:#74d5b3}#stamina-state,.inventory-section small{display:block;font-size:10px;line-height:1.4;color:#b9cacd}.inventory-item{display:flex;align-items:center;gap:8px;margin:8px 0}.inventory-item b{font-size:10px}.health-panel #decoy-count{display:inline;font-size:14px;color:#ffcd83}.inventory-note{opacity:.7}.pickup-icon{display:block;flex:0 0 36px;height:36px;background-repeat:no-repeat;background-size:contain;background-position:center}.objective-panel{top:20px;left:50%;transform:translate(-50%);width:min(480px,43%);padding:13px 20px;box-sizing:border-box;background:#101f29ed;border:1px solid #637a7a66;border-radius:8px;text-align:center}#objective-title{display:block;font-size:19px;letter-spacing:2px;color:#ffcd83;margin-bottom:6px}#objective{display:block;font-size:13px;line-height:1.45;color:#fff0d3}#objective-metric{display:block;font-size:14px;margin-top:8px;color:#b9ded0}#objective-metric.countdown{font-size:34px;font-variant-numeric:tabular-nums;letter-spacing:3px;color:#ffdd9c}#objective-metric.urgent{color:#ff9277}#run-time{display:none}.dart-panel{top:100px}#announcement{top:36%;font-size:30px;width:min(600px,65%);pointer-events:none}#announcement small{font-size:15px;line-height:1.5}@media(max-width:800px){.health-panel{left:12px;width:155px;top:86px;padding:10px}.objective-panel{width:43%;top:12px;padding:10px}#objective-title{font-size:15px}#objective{font-size:11px}.dart-panel{top:86px}#objective-metric.countdown{font-size:28px}.inventory-note{display:none}}.decoy-icon{background-image:var(--art-pickups);background-size:300% 100%;background-position:100% 50%}#character-select{position:relative;z-index:1;display:flex;flex-direction:column;height:100%;padding:16px clamp(14px,3vw,48px) 14px;overflow-y:auto;overscroll-behavior:contain}#character-select h2{font-size:clamp(17px,2.4vw,32px);margin:4px 0 2px;color:#f4e4c6}.select-hint{font:9px monospace;letter-spacing:1.4px;color:#8e9faa;margin:0 0 10px}.select-body{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(12px,2vw,30px);align-items:stretch;min-height:0}#character-cards{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;margin-bottom:12px}.character-card{display:flex;flex-direction:column;gap:3px;text-align:left;padding:11px 13px 12px;min-width:0;background:#111d2799;border:1px solid #41515d55;border-radius:10px;color:#9fb0ba;font-weight:400;letter-spacing:normal;opacity:.74;transition:border-color .15s,background .15s,box-shadow .15s,opacity .15s}.character-card:hover{background:#17242f;transform:none;opacity:.92}.character-card.selected{border-color:#ffce81;background:#182633;color:#d7e2e8;opacity:1;box-shadow:0 0 0 1px #ffce8144,0 10px 30px -18px #ffce8188}.character-card header{display:flex;align-items:center;gap:10px;margin-bottom:4px}.card-bust{flex:none;width:52px;height:52px;border-radius:9px;overflow:hidden;border:1px solid #41515d66;background:#0c151e}.card-bust img{width:100%;height:100%;object-fit:cover;object-position:50% 7%;display:block}.card-id{display:flex;flex-direction:column;gap:2px;min-width:0}.card-id b{font-size:18px;letter-spacing:2.4px;color:#ffce81;line-height:1}.card-tagline{font-size:11px;line-height:1.45;color:#9fb0ba}.card-heading{font:8px monospace;letter-spacing:1.7px;color:#8e9faa;margin-top:6px;display:flex;align-items:center;gap:5px}.card-heading.perks:before{content:"⚡";color:#ffce81;font-size:9px}.card-heading.limits:before{content:"⚠";color:#d8877e;font-size:9px}.character-card ul{margin:2px 0 0;padding-left:14px;font-size:11px;line-height:1.6}.card-perks li::marker{content:"+ ";color:#9fd39b}.card-limits li::marker{content:"− ";color:#d8877e}.card-ability{margin-top:9px;padding:8px 9px;border-radius:8px;background:#0d1721aa;border:1px solid #41515d44;display:flex;align-items:flex-start;gap:8px}.character-card.selected .card-ability{border-color:#ffce8144;background:#16232ecc}.ability-glyph{flex:none;font-size:14px;line-height:1.2}.ability-body{display:flex;flex-direction:column;gap:2px;min-width:0}.ability-body b{font-size:12px;letter-spacing:1px;color:#f4e4c6}.ability-body small{font-size:10.5px;line-height:1.45;color:#9fb0ba}.ability-cd{color:#8e9faa!important}.card-ability kbd{flex:none;margin-left:auto}#character-stage{display:none;position:relative;margin:0;min-width:0;align-items:flex-end;justify-content:center}#character-stage:after{content:"";position:absolute;inset:auto 8% 3%;height:16%;border-radius:50%;background:radial-gradient(ellipse at center,#04080d99,transparent 70%)}#character-stage img{position:relative;z-index:1;width:100%;height:100%;object-fit:contain;object-position:50% 100%;display:block;filter:drop-shadow(0 12px 22px #04080daa)}#character-select .menu-actions{flex-direction:row;width:min(400px,100%)}#character-select .menu-actions button{flex:1 1 0;padding:13px 16px;min-height:40px}@media(min-width:460px){#character-cards{grid-template-columns:1fr 1fr;gap:10px}#character-select{justify-content:center}.card-bust{width:44px;height:44px}.card-id b{font-size:16px;letter-spacing:1.8px}.card-tagline,.character-card ul{font-size:10.5px}.ability-body small{font-size:10px}}@media(min-width:860px){#character-cards{gap:12px}.card-bust{width:54px;height:54px}.card-id b{font-size:19px;letter-spacing:2.4px}.card-tagline,.character-card ul{font-size:11px}}@media(min-width:1080px){.select-body{grid-template-columns:minmax(0,1fr) minmax(0,.6fr)}#character-stage{display:flex}.card-bust{width:58px;height:58px}.card-id b{font-size:20px}}.ability-section{display:flex;flex-direction:column;gap:3px;margin-top:8px}#ability-bar{width:100%;height:5px}#ability-bar.recovering::-webkit-progress-value{background:#d8877e}#character-name{color:#ffce81;letter-spacing:2px}#celebration{position:absolute;left:50%;top:34%;transform:translate(-50%,-50%);z-index:6;display:flex;flex-direction:column;align-items:center;gap:8px;padding:20px 34px;text-align:center;border-radius:14px;background:#0c161dd1;border:1px solid #ffce8155;box-shadow:0 18px 50px -24px #000;animation:celebrate .5s ease-out both}#celebration b{font-size:clamp(20px,3.4vw,38px);letter-spacing:3px;color:#ffce81;text-shadow:0 3px 0 #00000055}#celebration span{font:11px monospace;letter-spacing:2px;color:#cbd8de}@keyframes celebrate{0%{opacity:0;transform:translate(-50%,calc(-50% + 14px)) scale(.94)}}.results .menu-content{gap:4px}.results #overlay-eyebrow{color:#8fa4ae}.results.won #overlay-eyebrow{color:#9fd39b}.results.lost #overlay-eyebrow{color:#d8877e}.results h1.wordmark span{display:block;font-size:.52em;letter-spacing:0;color:#cbd8de}.results.won h1.wordmark{color:#ffce81}.results.lost h1.wordmark{color:#e8b0a6}.results #overlay-copy{padding:11px 14px;border-left:2px solid #41515d;background:#0c161d80;border-radius:0 8px 8px 0;line-height:1.7}.results.won #overlay-copy{border-left-color:#ffce81}.results.lost #overlay-copy{border-left-color:#d8877e}.results #overlay-hint{color:#8fa4ae}#overlay.results{background:linear-gradient(90deg,#09121af7,#09121ab8 60%,#09121a7a);animation:result-reveal .85s ease-out both}.results .menu-art{display:none}.results .menu-content{animation:result-content .65s .18s ease-out both}@keyframes result-reveal{0%{opacity:0}to{opacity:1}}@keyframes result-content{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){#overlay.results,.results .menu-content{animation-duration:1ms;animation-delay:0ms}}#overlay.results .menu-content{background:var(--paper-fill);color:var(--ink);height:auto;max-height:calc(100% - 48px);overflow:auto;margin:24px 0 24px 5%;padding:28px;width:min(480px,80%);border-left:7px dotted #9d8864;box-shadow:4px 8px 24px #08131b55}#overlay.results h1.wordmark{color:var(--ink);font-size:clamp(32px,5vw,62px);margin:15px 0;text-shadow:none}#overlay.results h1.wordmark span{text-shadow:none}#overlay.results h1.wordmark span,#overlay.results #overlay-copy,#overlay.results #overlay-hint,#overlay.results #overlay-eyebrow{color:#374b4d}#overlay.results #overlay-copy{background:#dbc8a34a}#overlay.results .menu-actions,#overlay.results #end-restart,#overlay.results #end-menu{width:100%}#overlay.results #end-menu{margin-top:10px}#overlay.results button{background:#d5d5ab;color:var(--ink);border:1px solid #a38c64}#overlay.results button.secondary{background:#e4d1ae}#overlay.results button:hover{background:#e9bf7f}#overlay.results .menu-note,#overlay.results .menu-footnote{display:none}:root{--ink: #182a35;--paper: #efdab4;--paper-fill: radial-gradient(ellipse at 8% 90%, #9e713522, transparent 35%), radial-gradient(ellipse at 90% 10%, #fff6dc77, transparent 50%), linear-gradient(115deg, #f5e6c9, #e8cca0)}#overlay:not(.results) .menu-art{inset:0;width:100%;background-image:var(--art-home);background-size:cover;background-position:center;-webkit-mask-image:none;mask-image:none;opacity:1}#overlay:not(.results) .menu-content{margin-left:4%;width:29%;max-width:400px;padding:20px 0;overflow-y:auto;overflow-x:hidden}#overlay:not(.results) .menu-content>.eyebrow,#overlay:not(.results) .tagline,#overlay:not(.results) #overlay-copy,#overlay:not(.results) .menu-note,#overlay:not(.results) .menu-footnote{display:none}#overlay:not(.results) h1.wordmark{background:var(--paper-fill);color:var(--ink);font-family:Arial Black,Impact,sans-serif;font-size:clamp(42px,6vw,88px);line-height:.95;padding:18px 16px;margin:0 0 24px;transform:rotate(-3deg);text-shadow:1px 2px #182a3520;letter-spacing:-3px;box-shadow:3px 5px #16263055}#overlay:not(.results) h1.wordmark span{color:var(--ink)}#overlay:not(.results) .menu-actions{width:100%;gap:12px}#overlay:not(.results) .menu-actions button{background:var(--paper-fill);color:var(--ink);border:0;border-radius:1px;font-size:clamp(14px,1.7vw,24px);font-family:Arial Black,sans-serif;letter-spacing:.2px;box-shadow:2px 3px #172d3455;transform:rotate(-1deg);text-align:center;padding:12px}#overlay:not(.results) .menu-actions button:hover{background:#e9c27f;transform:rotate(0) translate(3px)}#overlay:not(.results) #overlay-hint,#debug-menu{color:#f3e5cb;text-shadow:0 1px 3px #182a35}#debug-menu{background:#172831b8;padding:5px 8px}#overlay:not(.results) #loading{color:var(--paper)}.in-game .panel,.in-game .objective-panel{background:var(--paper-fill);color:var(--ink);border:1px solid #ab8d5c;border-radius:2px;box-shadow:2px 4px #081c2950}.in-game .panel:before,.in-game .objective-panel:before{content:"";position:absolute;width:32px;height:12px;background:#c8b081b3;left:-9px;top:0;transform:rotate(-40deg);pointer-events:none}.in-game .mission-panel{display:none}.in-game .health-panel{top:20px;left:20px;width:202px;padding:10px 13px}.health-panel span,.health-panel small,.health-panel #decoy-count,.inventory-section small,.objective-panel small,.dart-panel #capacity,#objective-title,#objective,#objective-metric,#run-time,.combat-bar small,.ground-panel small{color:var(--ink)}#hearts{font-size:30px;color:#bc4943;text-shadow:1px 1px #562a28}.health-panel>span{display:none}.stamina-section,.ability-section{margin-top:7px;padding-top:6px;border-color:#816d4740}.inventory-section{margin-top:7px;padding-top:7px;border-color:#816d4740}.inventory-note,.inventory-section>small:first-child{display:none}.health-panel .inventory-note{display:none}.health-panel #stamina-state,.health-panel #ability-state{color:#34443e}.inventory-item{margin:0}#stamina-bar,#ability-bar{border:2px solid var(--ink);border-radius:3px;height:12px;background:#e4cfa7}#stamina-bar::-webkit-progress-bar,#ability-bar::-webkit-progress-bar{background:#e4cfa7}#stamina-bar::-webkit-progress-value{background:#649779}#ability-bar::-webkit-progress-value{background:#cc8747}.in-game kbd{color:var(--ink);background:#eddbb7;border:1px solid #37444a}.in-game kbd.selected{background:var(--ink);color:var(--paper)}.in-game .objective-panel{top:20px;width:min(440px,40%);padding:9px 15px}#objective-title{font-size:12px;letter-spacing:1px}#objective{font-size:12px}#objective-metric{font-family:Arial Black,monospace;font-size:26px}#objective-metric.countdown{color:var(--ink)}#objective-metric.urgent{color:#9c2b1c}.in-game .combat-bar{bottom:20px;left:20px;min-width:0;width:210px;padding:10px}.in-game .dart-panel{inset:auto auto 20px 246px;padding:10px 13px}.dart-panel .foam-dart,#ammo{display:none}.dart-panel b{font-family:Arial Black,monospace;font-size:25px}.in-game .ground-panel{bottom:20px;right:20px;padding:8px}dialog{background:var(--paper-fill);color:var(--ink);border:1px solid #b39a71;border-radius:2px}dialog p,dialog .eyebrow,dialog output,dialog dd{color:#43505a}dialog .pad-heading{margin:30px 0 4px;font-size:15px;letter-spacing:1px;color:var(--ink)}dialog .pad-note{margin:0;font-size:11.5px;line-height:1.55}dialog dt{color:var(--ink);font-weight:700;letter-spacing:.4px}dialog dl{grid-template-columns:108px 1fr;gap:15px 12px}dialog::backdrop{background:#08131bbb;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}dialog button,dialog button.secondary{background:#d9c49e;color:var(--ink);border:1px solid #7d705750;border-radius:2px}dialog button:hover{background:#c5c29a;color:var(--ink)}dialog button:focus-visible,button:focus-visible{outline:3px solid #ce622f;outline-offset:3px}#pause-dialog{width:min(440px,90vw);padding:30px 30px 24px 45px;border-left:9px dotted #897656}#pause-title{font-family:Arial Black,sans-serif;font-size:56px;margin:10px 0;transform:rotate(-2deg)}#pause-dialog #resume-game{background:#b8c197;font-size:18px}#pause-dialog button{margin-top:8px;padding:12px;min-height:40px}#pause-dialog #pause-help,#pause-dialog #retry-checkpoint,#pause-dialog #pause-restart{font-size:10px;padding:7px 12px;min-height:30px}#overlay:not(.results) h1.wordmark,#overlay:not(.results) .menu-actions button{clip-path:polygon(1% 1%,18% 0,36% 1%,57% 0,78% 1%,99% 0,100% 28%,99% 51%,100% 76%,99% 99%,73% 100%,49% 99%,26% 100%,0 99%,1% 70%,0 42%)}#character-select{color:var(--ink);background:var(--paper-fill)}#character-select .eyebrow,#character-select .select-hint{color:#43505a}@media(max-width:800px){.in-game .health-panel{width:163px;left:12px;top:12px;padding:8px}.in-game .objective-panel{right:12px;left:auto;transform:none;width:min(370px,52%);top:12px}.in-game .combat-bar{left:12px;bottom:12px;width:182px}.in-game .dart-panel{left:208px;bottom:12px}.in-game .ground-panel{display:none}#overlay:not(.results) .menu-content{width:36%;margin-left:3%}#overlay:not(.results) h1.wordmark{font-size:clamp(34px,7vw,58px);margin-bottom:16px}}@media(max-height:600px){#overlay:not(.results) h1.wordmark{font-size:42px;padding:10px;margin-bottom:12px}#overlay:not(.results) .menu-actions button{min-height:36px;padding:8px;font-size:16px}.health-panel .inventory-item small,#ability-state,#stamina-state{font-size:8px}}body.pad .pad-focus{outline:3px solid #ce622f;outline-offset:3px;position:relative;z-index:2}body.pad .pad-focus.character-card{outline-offset:1px}html.touch{overscroll-behavior:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}html.touch #game{touch-action:none}html.touch #character-select{touch-action:pan-y}html.touch .select-hint{display:none}html.touch #overlay:not(.results) #overlay-hint{display:none}html.touch #app{min-height:0;padding:0;max-width:none}html.touch #stage{border:0;border-radius:0}html.touch #app{padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}html.touch canvas{pointer-events:none}html.touch footer,html.touch .in-game .mission-panel,html.touch .in-game .ground-panel,html.touch .in-game .inventory-note,html.touch .in-game .hud-row kbd,html.touch .in-game #stamina-state,html.touch .in-game #ability-state,html.touch .in-game .inventory-item small,html.touch .in-game .inventory-section>small,html.touch .in-game #weapon-art,html.touch .in-game .weapon-keys,html.touch .in-game #weapon-cost,html.touch .in-game #objective,html.touch .in-game .foam-dart,html.touch .track-credit{display:none}html.touch .in-game .health-panel{top:8px;left:8px;width:132px;padding:6px 10px;font-size:10px}html.touch .in-game .health-panel #hearts{font-size:18px}html.touch .in-game .health-panel progress{height:6px}html.touch .in-game .stamina-section,html.touch .in-game .ability-section,html.touch .in-game .inventory-section{margin-top:4px;padding-top:4px}html.touch .in-game .inventory-item .pickup-icon{width:18px;height:18px}html.touch .in-game .objective-panel{left:50%;right:auto;transform:translate(-50%);top:8px;width:min(300px,34%);padding:5px 12px}html.touch .in-game #objective-title{font-size:10px}html.touch .in-game #objective-metric{font-size:15px;margin-top:2px}html.touch .in-game #objective-metric.countdown{font-size:22px;letter-spacing:2px}html.touch .in-game .wave-panel{top:8px;right:60px;padding:5px 10px;font-size:10px}html.touch .in-game .dart-panel{display:block;inset:8px 60px auto auto;width:auto;padding:5px 10px;font-size:10px}html.touch .in-game .dart-panel b{font-size:16px}html.touch .in-game .combat-bar{display:flex;inset:57px 60px auto auto;width:auto;min-width:0;padding:5px 10px;font-size:10px}html.touch .in-game #announcement{font-size:20px}html.touch .in-game #announcement small,html.touch #toast{font-size:12px}html.touch #interaction{bottom:42%}#touch-controls{position:absolute;inset:0;z-index:30;pointer-events:none;font-family:Arial Black,Arial,sans-serif}#touch-controls[hidden]{display:none}.touch-zone{position:absolute;top:35%;bottom:0;width:44%;pointer-events:auto;touch-action:none}.touch-zone.move{left:0}.touch-zone.aim{right:0}.touch-stick-hint{position:absolute;bottom:86px;left:12%;right:12%;text-align:center;color:#f1dfbe;opacity:.65;font:9px Arial,sans-serif;letter-spacing:.5px;text-shadow:0 1px 3px #000;pointer-events:none}.touch-zone.engaged .touch-stick-hint{opacity:0}.stick{position:absolute;width:124px;height:124px;margin:-62px 0 0 -62px;border-radius:50%;border:2px solid #efdab466;background:#0b121966;display:none;pointer-events:none}.stick.active{display:block}.stick.firing{border-color:#ff9277cc;box-shadow:0 0 0 3px #ff927733}.stick .knob{position:absolute;left:50%;top:50%;width:46px;height:46px;margin:-23px 0 0 -23px;border-radius:50%;background:#efdab4dd;box-shadow:0 2px 6px #0008}.stick.firing .knob{background:#ff9277}.touch-button{pointer-events:auto;touch-action:none;border:1px solid #ab8d5c;border-radius:8px;background:#efdab4d9;color:#182a35;font:inherit;font-size:10px;letter-spacing:.5px;padding:0;box-shadow:1px 2px #081c2950;transition:transform 60ms}.touch-button.down{transform:scale(.92);background:#ffe3a2}.touch-actions{position:absolute;left:50%;bottom:8px;transform:translate(-50%);display:flex;gap:6px;pointer-events:none}.touch-actions .touch-button{width:62px;height:44px}html.touch .in-game .wave-panel{display:none}html.touch .in-game .health-panel:before,html.touch .in-game .health-panel:after,html.touch .in-game .objective-panel:before,html.touch .in-game .objective-panel:after{display:none}html.touch .in-game .inventory-section{border-top:0}html.touch .in-game .inventory-item{flex-wrap:nowrap;white-space:nowrap;gap:3px;font-size:9px}html.touch .in-game #decoy-count{white-space:nowrap;font-size:11px}.touch-actions .touch-button{font-size:9px;letter-spacing:0}html.touch .in-game #objective{display:block;font-size:9px;line-height:1.2}html.touch .in-game #announcement{max-width:65%}@media(max-height:450px)and (orientation:landscape){html.touch .in-game .health-panel{width:116px}html.touch .in-game .health-panel .hud-row{font-size:8px}html.touch .in-game .objective-panel{width:32%;padding:5px 8px}html.touch .in-game .inventory-item .pickup-icon{display:none}html.touch .in-game .combat-bar{top:55px;padding:4px 8px}html.touch #overlay.results .menu-content{margin:8px auto;max-height:calc(100% - 16px)}html.touch #overlay:not(.results) .menu-content{width:40%;padding:10px 0}html.touch #overlay:not(.results) h1.wordmark{font-size:35px;margin-bottom:12px}}.touch-actions .touch-button.interact{background:#b9ded0d9}.touch-button.pause{position:absolute;top:8px;right:10px;width:42px;height:42px;font-size:12px}#rotate-hint{display:none}@media(orientation:portrait){html.touch #rotate-hint{position:fixed;inset:0;z-index:100;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;background:#0b1219;color:#efdab4;text-align:center;font-family:Arial Black,Arial,sans-serif;letter-spacing:1px}html.touch #rotate-hint b{font-size:54px;animation:turn 1.6s ease-in-out infinite alternate}@keyframes turn{0%{transform:rotate(0)}to{transform:rotate(-90deg)}}}
