:root{font-family:Chakra Petch,Trebuchet MS,sans-serif;line-height:1.35;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%;color:#f4ffe7;background:radial-gradient(circle at 14% 14%,#d8f0ba,#a9c788 42%,#6f8f5a)}*{box-sizing:border-box}html,body,#app{width:100%;min-height:100%;margin:0}body{min-height:100vh}.game-shell{width:100dvw;height:100dvh;position:relative;overflow:hidden;padding:0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.game-frame{position:absolute;inset:0;overflow:hidden;display:grid;place-items:center;background:linear-gradient(140deg,#8fb773,#aac68b 52%,#7ba968)}.arena-canvas{position:absolute;left:50%;top:50%;width:max(100dvw,calc(100dvh * (16 / 9)));height:max(100dvh,56.25dvw);display:block;transform:translate(-50%,-50%);image-rendering:pixelated;image-rendering:crisp-edges;cursor:none;touch-action:none}.hud{position:absolute;pointer-events:none}.hud-top{top:.8rem;left:.8rem;right:.8rem;display:flex;align-items:center;gap:.7rem}.hud-pill{padding:.42rem .66rem;background:#142a13bf;border:1px solid #d5ebc0;color:#f2ffe6;text-transform:uppercase;letter-spacing:.08em;font-size:.73rem;font-weight:700;white-space:nowrap}.hud-pill-warn{background:#372410c7;border-color:#ffd894;color:#ffe5bd}.hud-pill-fps{min-width:4.8rem;text-align:right}.hud-button{pointer-events:auto;font-family:inherit;cursor:pointer}.debug-panel{top:4.05rem;right:.8rem;pointer-events:auto;display:grid;gap:.45rem;background:#08180db8;border:1px solid #d5ebc0;padding:.45rem .55rem}.menu-layer{inset:0;display:grid;place-items:center;pointer-events:auto;z-index:40;background:radial-gradient(1200px 700px at 50% 45%,#102c1b2e,#00000061),linear-gradient(180deg,#0a1a0f33,#08120b61)}.pause-layer{inset:0;display:grid;place-items:center;pointer-events:auto;z-index:35;background:#030a056b}.pause-panel{display:grid;gap:.62rem;width:min(90vw,440px);background:linear-gradient(155deg,#081a14e6,#0e2816db);border:1px solid rgba(210,236,188,.94);padding:.92rem;box-shadow:0 12px 32px #0006}.pause-title{color:#f4ffe7;font-size:1.1rem;text-transform:uppercase;letter-spacing:.08em}.pause-hint{color:#c7dfb1;font-size:.74rem;text-transform:uppercase;letter-spacing:.06em}.option-language-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.42rem}.option-language-button{border:1px solid rgba(202,234,182,.5);background:#122c1ab8;color:#e9ffda;text-transform:uppercase;letter-spacing:.06em;font-size:.69rem;font-family:inherit;cursor:pointer;padding:.4rem .5rem}.option-language-button.active{border-color:#efffda;background:linear-gradient(135deg,#2d5626db,#22461fdb)}.pause-resume-button{border:1px solid #d5ebc0;color:#f2ffe8;background:#23401df0;text-transform:uppercase;letter-spacing:.1em;font-size:.78rem;font-family:inherit;cursor:pointer;padding:.58rem .64rem}.pause-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.42rem}.pause-main-menu-button{border:1px solid rgba(213,235,192,.82);color:#f2ffe8;background:#352a18f0;text-transform:uppercase;letter-spacing:.1em;font-size:.78rem;font-family:inherit;cursor:pointer;padding:.58rem .64rem}.menu-panel{display:grid;gap:.8rem;width:min(94vw,760px);max-height:calc(100vh - 2rem);overflow:auto;background:linear-gradient(155deg,#081a14e0,#0e2816d1);border:1px solid rgba(210,236,188,.92);padding:1.2rem 1.3rem;box-shadow:0 14px 40px #00000061}.menu-viewport-links{position:absolute;right:max(.9rem,calc(env(safe-area-inset-right) + .45rem));bottom:max(.9rem,calc(env(safe-area-inset-bottom) + .45rem));display:flex;align-items:center;justify-content:flex-end;flex-direction:row;gap:.45rem;pointer-events:auto;z-index:4}.menu-github-fab{width:2.7rem;height:2.7rem;border-radius:999px;border:1px solid rgba(244,255,232,.92);background:linear-gradient(155deg,#112418f2,#0c1812f2);color:#efffda;text-decoration:none;font-size:.72rem;letter-spacing:.12em;font-weight:700;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 8px 18px #00000047;padding:0}.menu-github-icon{width:1.26rem;height:1.26rem;fill:currentColor}.menu-credits-panel{width:fit-content;max-width:min(88vw,27rem)}.menu-credits-summary{width:fit-content}.menu-github-fab:hover{background:linear-gradient(155deg,#18301ff5,#111f16f5)}.menu-github-fab:active{transform:translateY(1px)}.menu-credits-panel>summary{list-style:none;border:1px solid rgba(213,235,192,.84);color:#f2ffe8;background:#352a18f0;text-transform:uppercase;letter-spacing:.09em;font-size:.74rem;cursor:pointer;padding:.46rem .62rem;-webkit-user-select:none;user-select:none;text-align:center;white-space:nowrap}.menu-credits-panel>summary::-webkit-details-marker{display:none}.menu-credits-content{margin-top:.36rem;border:1px solid rgba(213,235,192,.84);background:linear-gradient(160deg,#081810f2,#0a1d11f2);padding:.55rem .62rem;max-height:min(56vh,24rem);overflow:auto}.menu-credits-section-title{color:#e7ffcf;text-transform:uppercase;font-size:.64rem;letter-spacing:.08em;margin-top:.24rem}.menu-credits-list{margin:.26rem 0 .38rem;padding-left:1rem;display:grid;gap:.3rem}.menu-credits-list a{color:#e8ffcc;font-size:.69rem;letter-spacing:.02em}.menu-title{color:#f4ffe7;font-size:1.9rem;text-transform:uppercase;letter-spacing:.08em;line-height:1}.menu-subtitle{color:#c7dfb1;font-size:.84rem;text-transform:uppercase;letter-spacing:.07em}.mode-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.mode-card{display:grid;gap:.34rem;text-align:left;padding:.92rem 1rem;border:1px solid rgba(202,234,182,.42);background:#122c1aa8;color:#e9ffda;cursor:pointer;transition:border-color .1s linear,transform .1s linear,background .1s linear}.mode-card:hover{border-color:#daf5c4d6;background:#1a3820c7}.mode-card:active{transform:translateY(1px)}.mode-card.active{border-color:#efffda;background:linear-gradient(135deg,#2d5626d6,#22461fd6);box-shadow:inset 0 0 0 1px #f5ffe838}.mode-card-title{font-size:1.02rem;text-transform:uppercase;letter-spacing:.07em;font-weight:700}.mode-card-detail{font-size:.76rem;text-transform:uppercase;letter-spacing:.06em;color:#c4ddb0}.menu-start-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.menu-start-button{border:1px solid #d5ebc0;color:#f2ffe8;background:#23401deb;text-transform:uppercase;letter-spacing:.1em;font-size:.9rem;font-family:inherit;cursor:pointer;padding:.72rem .78rem}.menu-start-button:hover{background:#284023f0}.menu-start-button:active{transform:translateY(1px)}.menu-start-easy{background:linear-gradient(135deg,#2e522ceb,#224221eb)}.menu-start-hard{background:linear-gradient(135deg,#4c2f1cf0,#3a2114f0);border-color:#ebcdadeb}.menu-load-replay{grid-column:1 / -1;background:#233540eb}.mode-row{display:grid;gap:.4rem}.mode-row span{color:#e8ffcc;font-size:.84rem;text-transform:uppercase;letter-spacing:.08em}.mode-row input[type=range]{width:100%}.mode-row-slider input[type=range]{accent-color:#f2ffe8}.debug-row{display:inline-flex;align-items:center;gap:.32rem;color:#e8ffcc;font-size:.67rem;text-transform:uppercase;letter-spacing:.06em}.debug-row input{margin:0;accent-color:#f2ffe8}.debug-speed{display:grid;gap:.22rem}.debug-speed span{color:#e8ffcc;font-size:.62rem;text-transform:uppercase;letter-spacing:.06em}.debug-speed input[type=range]{width:min(12rem,38vw);accent-color:#f2ffe8}.debug-skip{border:1px solid #d5ebc0;color:#f2ffe8;background:#182c16d1;text-transform:uppercase;letter-spacing:.06em;font-size:.61rem;font-family:inherit;cursor:pointer;padding:.34rem .56rem;white-space:nowrap;width:fit-content}.debug-skip:hover{background:#243a22e6}.debug-skip:active{transform:translateY(1px)}.score-panel{flex:1;min-width:0;display:grid;gap:.24rem}.score-track{height:18px;background:#070c0bad;border:1px solid #d5ebc0;display:flex;overflow:hidden}.score-track-ffa{gap:1px;padding:1px}.score-slice{height:100%;min-width:2px}.score-white{background:linear-gradient(90deg,#f2ffe8,#d8f3bc)}.score-blue{background:linear-gradient(90deg,#74a9ff,#4f88eb)}.score-meta{display:flex;justify-content:space-between;color:#effadc;font-size:.64rem;text-transform:uppercase;letter-spacing:.06em}.score-meta-ffa{display:flex;flex-wrap:wrap;gap:.22rem .55rem;justify-content:flex-start}.score-meta-ffa span{display:inline-flex;align-items:center;gap:.22rem}.score-meta-ffa i{width:.5rem;height:.5rem;border:1px solid rgba(244,255,232,.5);flex-shrink:0}.status-text{top:3.1rem;left:50%;transform:translate(-50%);background:#0f2611b8;border:1px solid rgba(219,236,198,.88);color:#edffd2;padding:.28rem .64rem;font-size:.68rem;text-transform:uppercase;letter-spacing:.06em}.hud-left{left:.8rem;bottom:.9rem;display:grid;gap:.45rem}.weapon-card{width:min(42vw,212px);background:#0b190cc2;border:1px solid #d5ebc0;padding:.45rem .56rem}.primary-slot-list{margin-top:.3rem;display:grid;gap:.3rem}.primary-slot{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:.45rem;padding:.22rem;border:1px solid rgba(193,219,165,.5);background:#65834f24}.primary-slot .weapon-icon{width:2.2rem;height:2.2rem;min-width:2.2rem}.primary-slot.selected{border-color:#e9fccde6;background:#afd68c33}.primary-slot.dimmed{opacity:.7}.perk-list{margin-top:.3rem;display:grid;gap:.28rem}.perk-row{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:.45rem;padding:.2rem;border:1px solid rgba(255,149,149,.45);background:#902a2a1f}.perk-row .weapon-icon{width:1.55rem;height:1.55rem;min-width:1.55rem}.weapon-title{font-size:.62rem;text-transform:uppercase;letter-spacing:.08em;color:#bdd7ac}.weapon-title-row{display:flex;align-items:center;justify-content:space-between;gap:.32rem}.weapon-icon{min-width:1.2rem;width:3.6rem;height:3.6rem;text-align:center;border:1px solid rgba(218,238,194,.72);background:#a6ca8338;padding:0;letter-spacing:.06em;display:inline-flex;align-items:center;justify-content:center;overflow:hidden}.weapon-icon-fallback{font-size:.62rem;font-weight:700;color:#f8ffd8;letter-spacing:.06em}.weapon-icon img{width:100%;height:100%;transform:scale(1.14);transform-origin:center;object-fit:contain;image-rendering:pixelated;image-rendering:crisp-edges}@media(max-width:760px){.weapon-icon{width:3.2rem;height:3.2rem}}.weapon-value{margin-top:.1rem;font-size:.9rem;color:#f7ffe7;font-weight:700}.weapon-value.compact{margin-top:.12rem;font-size:.8rem;letter-spacing:.02em;text-transform:uppercase}.weapon-sub{font-size:.66rem;color:#d7ebc0}.hp-card .weapon-sub{margin-top:.2rem}.hp-card .weapon-title,.hp-card .weapon-sub{color:#ffd9d9}.hp-card .weapon-value{color:#fdd}.hp-track{margin-top:.2rem;height:8px;border-radius:99px;overflow:hidden;background:#00000085;border:1px solid rgba(227,241,208,.5)}.hp-fill{height:100%;background:linear-gradient(90deg,#ff5e5e,#ff9c9c)}.match-result{left:50%;top:50%;transform:translate(-50%,-50%);width:min(94vw,760px);background:#0c1c0de0;border:1px solid #d5ebc0;padding:1.1rem 1.2rem;display:grid;gap:.75rem;box-shadow:0 12px 40px #00000059;pointer-events:auto}.match-result-title{color:#cbe2b4;font-size:.68rem;text-transform:uppercase;letter-spacing:.1em}.match-result-name{font-size:1.55rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;line-height:1;text-shadow:0 0 6px rgba(0,0,0,.55)}.match-result-content{display:grid;grid-template-columns:auto 1fr;gap:1.25rem;align-items:center}.match-result-pie{width:min(48vw,340px);aspect-ratio:1;border-radius:50%;border:1px solid rgba(238,250,223,.7);box-shadow:inset 0 0 0 2px #00000042,0 0 24px #00000038}.match-result-standings{display:grid;gap:.24rem}.match-result-standing{display:flex;align-items:center;justify-content:space-between;gap:.7rem;color:#f2ffe8;font-size:.73rem;letter-spacing:.04em;text-transform:uppercase}.match-result-standing-main{display:inline-flex;align-items:center;gap:.24rem;min-width:0}.match-result-standing-main i{width:.56rem;height:.56rem;border:1px solid rgba(244,255,232,.58);flex-shrink:0}.match-result-standing-rank{color:#bfdca8;min-width:1.45rem}.match-result-standing-values{display:inline-flex;gap:.48rem;color:#d8efc2}.match-result-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.45rem}.match-result-stat{border:1px solid rgba(213,235,192,.42);background:#08140980;padding:.45rem .5rem}.match-result-stat-label{color:#bfd8ad;font-size:.55rem;text-transform:uppercase;letter-spacing:.08em}.match-result-stat-value{color:#f3ffe9;font-size:.86rem;font-weight:700;margin-top:.06rem}.match-result-rematch{width:fit-content;justify-self:center;padding:.5rem 1.05rem;border:1px solid #d5ebc0;color:#f2ffe8;background:#182c16b8;text-transform:uppercase;letter-spacing:.1em;font-size:.62rem;font-family:inherit;cursor:pointer;-webkit-user-select:none;user-select:none}.match-result-rematch:focus-visible{outline:2px solid #f2ffe8;outline-offset:2px}.match-result-rematch:hover{background:#264022d1}.match-result-rematch:active{transform:translateY(1px)}.crosshair{position:absolute;left:0;top:0;width:20px;height:20px;will-change:transform;pointer-events:none;opacity:0;transition:opacity .12s linear}.crosshair:before,.crosshair:after{content:"";position:absolute;background:#f6ffea;box-shadow:0 0 8px #f6ffea8c}.crosshair:before{left:9px;top:2px;width:2px;height:16px}.crosshair:after{top:9px;left:2px;width:16px;height:2px}.crosshair.visible{opacity:1}.mobile-controls{display:none;left:0;right:0;bottom:0;padding:.85rem max(.85rem,env(safe-area-inset-right)) max(.95rem,env(safe-area-inset-bottom)) max(.85rem,env(safe-area-inset-left));align-items:end;justify-content:space-between;z-index:22}.mobile-stick-zone{width:128px;height:128px;border-radius:50%;border:1px solid rgba(236,251,219,.56);background:radial-gradient(circle at 34% 30%,#e1f8c652,#0a180a8a);position:relative;pointer-events:auto;touch-action:none}.mobile-stick-thumb{width:54px;height:54px;border-radius:50%;border:1px solid rgba(243,255,231,.76);background:radial-gradient(circle at 32% 32%,#f5ffe6b8,#2b5124e0);box-shadow:0 4px 14px #00000047;position:absolute;left:50%;top:50%;transform:translate(0);margin-left:-27px;margin-top:-27px}.mobile-secondary-button{pointer-events:auto;touch-action:none;border:1px solid rgba(249,223,175,.92);background:linear-gradient(140deg,#5e4118e6,#38250ee6);color:#ffe8bf;text-transform:uppercase;letter-spacing:.07em;font-size:.68rem;padding:.66rem .74rem;min-width:5.4rem;border-radius:.58rem}.mobile-secondary-button:active{transform:translateY(1px)}@media(max-width:760px){.hud-top{top:.55rem;left:.55rem;right:.55rem;gap:.42rem}.debug-panel{top:3.85rem;right:.55rem;gap:.32rem;padding:.35rem}.menu-layer{padding:.5rem}.pause-panel{width:min(95vw,440px);padding:.72rem;gap:.52rem}.pause-title{font-size:.88rem}.pause-hint,.option-language-button,.pause-resume-button,.pause-main-menu-button{font-size:.62rem}.pause-actions{grid-template-columns:1fr}.menu-panel{gap:.5rem;width:min(96vw,560px);max-height:calc(100vh - 1rem);padding:.8rem .86rem}.menu-viewport-links{right:max(.55rem,calc(env(safe-area-inset-right) + .3rem));bottom:max(.55rem,calc(env(safe-area-inset-bottom) + .3rem));gap:.35rem}.menu-github-fab{width:2.3rem;height:2.3rem;font-size:.62rem}.menu-credits-panel{max-width:min(92vw,22rem)}.menu-credits-panel>summary{font-size:.62rem;padding:.4rem .56rem}.menu-credits-content{max-height:min(52vh,19rem);padding:.5rem .52rem}.menu-credits-section-title{font-size:.58rem}.menu-credits-list a{font-size:.6rem}.menu-title{font-size:1.2rem}.menu-subtitle,.mode-row span{font-size:.64rem}.mode-cards{grid-template-columns:1fr;gap:.34rem}.mode-card{padding:.56rem .62rem}.mode-card-title{font-size:.8rem}.mode-card-detail{font-size:.62rem}.menu-start-button{font-size:.74rem;padding:.52rem .56rem}.menu-start-actions{grid-template-columns:1fr;gap:.34rem}.debug-row{font-size:.57rem}.debug-speed span{font-size:.55rem}.debug-speed input[type=range]{width:min(10rem,42vw)}.debug-skip{font-size:.55rem;padding:.32rem .5rem}.status-text{top:2.8rem;font-size:.58rem}.weapon-card{width:min(46vw,180px)}.weapon-value{font-size:.76rem}.match-result{width:min(96vw,620px);padding:.86rem .78rem;gap:.5rem}.match-result-name{font-size:1.2rem}.match-result-content{grid-template-columns:1fr;justify-items:center;gap:.55rem}.match-result-pie{width:min(74vw,260px)}.match-result-standings{width:100%}.match-result-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.match-result-standing,.match-result-stat-value{font-size:.74rem}}@media(hover:none),(pointer:coarse){.debug-panel{display:none}.hud-left{left:.5rem;bottom:max(7.6rem,calc(env(safe-area-inset-bottom) + 6.8rem));gap:.25rem;transform:scale(.84);transform-origin:bottom left}.weapon-card{width:min(46vw,176px)}.mobile-controls{display:flex}.crosshair{width:18px;height:18px}.crosshair:before{left:8px;height:14px}.crosshair:after{top:8px;width:14px}}
