:root{font-family:Segoe UI,system-ui,sans-serif;color:#eaf1f6;background:#0c1c2d;font-synthesis:none;--muted:#9aafc1;--cyan:#68dfd4;--gold:#ffd277}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 20% 50%,#17374a 0,transparent 58%),#0c1c2d}button,input,select{font:inherit}button{cursor:pointer;border:1px solid #375168;color:#eaf1f6;background:#21394f;border-radius:9px;padding:12px 16px;font-size:13px;font-weight:700;transition:background .15s,transform .15s}button:hover:not(:disabled){background:#31526b;transform:translateY(-1px)}button:disabled{opacity:.4;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--gold);outline-offset:3px}a{color:inherit;text-decoration:none}header{height:100px;margin:0 auto;padding:0 5%;border-bottom:1px solid #ffffff10;display:flex;align-items:center;justify-content:space-between;gap:16px}.brand{display:flex;align-items:center;gap:12px;font-size:17px;font-weight:800;letter-spacing:1px}.brand b{color:var(--cyan)}.brand small{display:block;font-size:8px;color:var(--muted);letter-spacing:3px;margin-top:7px}.brand-mark{display:grid;place-items:center;color:var(--gold);border:2px solid #d4b76c;border-radius:13px;transform:rotate(-8deg);width:45px;height:45px;font-size:38px}.header-right{display:flex;align-items:center;gap:10px;font-size:10px;font-weight:700;color:var(--muted);letter-spacing:1px}.online-dot{height:6px;width:6px;border-radius:50%;background:var(--cyan);box-shadow:0 0 9px #68dfd466}.version{border:1px solid #ffffff16;border-radius:5px;padding:6px 8px;margin-left:12px;font-size:8px}.quiet{font-size:11px;background:transparent;padding:9px 12px}.home{max-width:1450px;margin:auto;min-height:calc(100vh - 170px);padding:60px 5% 38px;display:grid;grid-template-columns:1.3fr 1fr;gap:7%;align-items:center}.eyebrow{font-size:10px;font-weight:800;letter-spacing:2px;color:var(--cyan)}h1,h2,p{margin-top:0}h1{font-size:clamp(28px,3.2vw,48px);line-height:1.35;font-weight:900;letter-spacing:-1.5px;margin:20px 0}h1 em{font-style:normal;color:var(--gold)}p{color:var(--muted);font-size:13px;line-height:1.9}.intro>p{max-width:530px}.feature-row{display:flex;gap:12px;flex-wrap:wrap;margin:26px 0;font-size:10px;font-weight:600;color:#c6d7df}.feature-row span{border:1px solid #ffffff15;background:#ffffff04;padding:9px 12px;border-radius:6px}.card{background:linear-gradient(130deg,#20364b,#172b3f);border:1px solid #ffffff13;border-radius:18px;box-shadow:0 20px 60px #00000020}.entry{padding:34px;max-width:475px}.entry h2{font-size:24px;margin:15px 0 8px;letter-spacing:-.6px}.entry>p{font-size:12px;margin-bottom:30px}label{display:block;font-size:10px;font-weight:800;letter-spacing:1px;color:#c0d1df}input:not([type=range]),select{width:100%;color:#fff;background:#102236;border:1px solid #385065;border-radius:8px;min-height:48px;padding:12px 14px;margin-top:10px;font-size:13px;letter-spacing:0}input::placeholder{color:#688094}select:disabled{opacity:.65}.primary{color:#142b35;background:var(--cyan);border-color:var(--cyan)}.primary:hover:not(:disabled){background:#9ef0e7}.large{width:100%;padding:15px;font-size:13px}.entry>.primary{margin-top:18px}.divider{display:flex;align-items:center;gap:12px;font-size:8px;color:#839bb0;letter-spacing:1px;margin:30px 0}.divider:before,.divider:after{content:"";height:1px;background:#ffffff13;flex:1}.join-row{display:flex;gap:10px;margin-top:10px}.join-row input{margin:0;min-width:0}.join-row button{white-space:nowrap;font-size:11px}.code-input{text-transform:uppercase;letter-spacing:3px!important}.entry-note{margin-top:28px;padding:16px;background:#0c1c2d55;border-radius:9px;text-align:center;color:#89a4b8;font-size:10px;line-height:1.9}footer{min-height:70px;border-top:1px solid #ffffff0c;padding:22px 5%;display:flex;justify-content:space-between;gap:15px;color:#6c869c;font-size:9px;letter-spacing:1px}.hero-art{position:relative;height:250px;overflow:hidden;border-radius:15px;background:linear-gradient(#25567380,#85b8b733);border:1px solid #ffffff0b;margin-top:30px}.art-sun{position:absolute;right:60px;top:25px;border-radius:50%;width:58px;height:58px;background:#f7d88e;box-shadow:0 0 0 12px #f7d88e0b}.art-cloud{position:absolute;left:60px;top:30px;width:140px;height:20px;border-radius:100%;background:#d6ebe32b}.art-hill{position:absolute;width:240px;height:240px;transform:rotate(45deg);background:#56888b;top:100px;border-radius:35px}.art-hill.rear{left:170px;background:#396679}.art-hill.front{left:-70px;top:110px}.art-ground{position:absolute;bottom:0;left:-5%;width:110%;height:72px;border-radius:50% 60% 0 0;background:#755443;border-top:10px solid #a2bf6b}.mascot{position:absolute;bottom:62px;width:43px;height:48px;background:#55b3d4;border-radius:13px 13px 6px 6px;border:3px solid #243e4b;left:22%;transform:rotate(-4deg);box-shadow:4px 7px #172e4355}.mascot:before{content:"";position:absolute;width:36px;height:32px;border-radius:40%;background:#ffce9c;top:-24px;left:0}.mascot:after{content:"";position:absolute;width:42px;height:19px;border-radius:16px 16px 3px 3px;background:#336a7c;border-bottom:5px solid #23414d;left:-3px;top:-30px}.mascot b{position:absolute;width:47px;height:12px;border-radius:4px;background:#253c4b;left:16px;top:6px;transform:rotate(-30deg)}.mascot span{position:relative;display:block;text-align:center;top:15px;color:#d2f7eb}.mascot.coral{left:auto;right:20%;background:#dc806d;transform:scaleX(-1) rotate(-4deg)}.mascot.coral:after{background:#806569}.trajectory{position:absolute;font-size:40px;left:35%;top:36px;color:#f6da8d;transform:rotate(-8deg);letter-spacing:5px;white-space:nowrap}.art-caption{position:absolute;bottom:20px;left:0;right:0;text-align:center;font-size:7px;color:#e8c9a7;letter-spacing:1.1px}.lobby{max-width:1420px;margin:auto;padding:40px 5%}.lobby-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:25px}.lobby-heading h1{font-size:34px;margin:10px 0}.lobby-heading p{font-size:12px;margin:0}.room-code{background:#193b48;border-color:#36686c;text-align:center;padding:15px 25px}.room-code small{display:block;font-size:8px;letter-spacing:1px;color:#a3c8c9}.room-code b{display:block;font-size:28px;letter-spacing:5px;margin-top:7px;color:var(--gold)}.lobby-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:25px}.teams{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-self:start}.team-card{background:#152d40;border:1px solid #4bb8d133;border-radius:14px;padding:18px}.team-card.B{background:#312e3c;border-color:#ed897733}.team-heading{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:18px}.team-heading h2{font-size:16px;color:#7eddef;margin:0;flex:1;white-space:nowrap}.B .team-heading h2{color:#ffa292}.team-heading>span{font-size:11px;color:var(--muted)}.team-heading button{font-size:9px;padding:6px 8px}.player-row{display:flex;align-items:center;gap:9px;background:#091c2b50;border-radius:8px;min-height:73px;padding:12px 9px;margin-bottom:9px;flex-wrap:wrap}.avatar{display:grid;place-items:center;width:33px;height:38px;background:#325363;border-radius:9px;color:var(--gold);font-size:24px}.avatar.heavy{color:#ff9978}.avatar.scatter{color:#a6e9d0}.player-row>div{flex:1;min-width:70px}.player-row b{display:block;font-size:11px;overflow-wrap:anywhere}.player-row small{display:block;font-size:9px;margin-top:5px;color:var(--muted)}.badge{font-size:8px;white-space:nowrap;color:#91a5b4}.badge.ready{color:var(--cyan)}.empty-slot{min-height:73px;border:1px dashed #ffffff13;display:flex;align-items:center;justify-content:center;font-size:10px;color:#688398;border-radius:8px;margin-bottom:9px}.loadout{padding:25px}.loadout h2{margin:10px 0 18px;font-size:22px}.gun-list{display:grid;gap:9px;margin-bottom:22px}.gun-card{display:flex;align-items:center;text-align:left;gap:14px;padding:14px;background:#11263a;border-color:#ffffff0c}.gun-card.selected{border-color:var(--cyan);background:#1f454d}.gun-card>span{font-size:30px;width:32px;text-align:center}.gun-card>div{flex:1}.gun-card b{display:block;font-size:12px}.gun-card small{display:block;font-size:9px;color:var(--muted);line-height:1.7;margin-top:4px}.gun-card i{color:var(--cyan);font-style:normal}.rule-note{font-size:10px;margin:16px 0}.ready-button{background:#24544e;border-color:#68dfd4;color:#a6f6e6}.start-button{background:var(--gold);color:#3f3021;border-color:var(--gold);margin-top:10px}.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%);z-index:100;display:flex;align-items:center;gap:15px;background:#fff3cb;color:#342c27;border-radius:12px;padding:12px 18px;max-width:90vw;box-shadow:0 8px 30px #0006;font-size:12px}.toast button{border:0;padding:0;background:transparent;color:#342c27;font-size:24px}.match{max-width:1300px;margin:auto;padding:20px 30px}.in-game header{height:73px}.match-bar{display:flex;align-items:center;gap:25px;margin-bottom:15px}.match-bar>div:first-child{flex:1}.match-bar h2{font-size:17px;margin:8px 0 0}.match-bar .eyebrow{font-size:8px}.wind{display:flex;align-items:center;gap:12px}.wind small{font-size:8px;color:var(--muted)}.wind b{font-size:24px;color:var(--cyan)}.timer{text-align:center;border-left:1px solid #ffffff20;padding-left:22px;min-width:68px}.timer b{display:block;font-size:26px;color:var(--gold)}.timer small{font-size:8px;color:var(--muted)}.arena-wrap{position:relative;border:1px solid #66889a55;border-radius:12px;overflow:hidden;background:#24516a}.battlefield{aspect-ratio:12/7;width:100%;max-height:65vh;position:relative}.battlefield canvas{display:block!important}.combat-controls{display:grid;grid-template-columns:1fr 1.3fr 1.3fr 1.1fr;gap:22px;align-items:center;background:#182e42;border:1px solid #ffffff10;border-radius:12px;padding:17px;margin-top:14px}.combat-controls label{font-size:8px;display:flex;justify-content:space-between;margin-bottom:9px}.combat-controls label b{color:var(--gold);font-size:11px}.energy{height:4px;background:#0d2032;border-radius:3px;margin-bottom:7px}.energy i{display:block;background:var(--cyan);height:100%;border-radius:3px}.move-buttons{display:flex;align-items:center;gap:6px}.combat-controls button{touch-action:none;user-select:none;-webkit-user-select:none}.move-buttons button,.angle-row button{padding:7px 14px;font-size:18px}.move-buttons small,.power small{font-size:8px;color:var(--muted)}.move-buttons small{margin-left:auto}.angle-row{display:flex;align-items:center;gap:8px}input[type=range]{width:100%;accent-color:var(--gold);cursor:pointer;min-width:0}.fire{background:var(--gold);border-color:var(--gold);color:#3b3025;padding:15px 10px;font-size:16px}.fire:hover:not(:disabled){background:#ffe3a9}.fire small{display:block;font-size:7px;letter-spacing:1px;margin-top:7px}.roster{display:flex;gap:8px;flex-wrap:wrap;margin-top:15px}.roster>span{padding:8px 10px;border-radius:6px;font-size:9px;color:#86deef;background:#1b3d50;border:1px solid transparent}.roster .B{color:#ffa292;background:#3f3441}.roster b{margin-left:8px}.roster .dead{opacity:.4;text-decoration:line-through}.roster .current{border-color:var(--gold)}.result-overlay,.connection-overlay{position:absolute;inset:0;display:grid;place-items:center;background:#0b1f32ad;z-index:5;backdrop-filter:blur(4px)}.result-overlay .card{text-align:center;padding:30px;max-width:90%}.result-overlay h1{font-size:30px}.result-icon{display:block;font-size:40px;color:var(--gold);margin-bottom:15px}.loading{padding:80px;text-align:center;color:var(--muted)}@media(min-width:1500px){.home{gap:10%}.hero-art{height:290px}}@media(max-width:1000px){.home{gap:25px;padding-top:35px}.entry{padding:25px}.entry h2{font-size:21px}.feature-row{gap:6px}.feature-row span{font-size:8px;padding:7px}.lobby-grid{grid-template-columns:1.25fr 1fr;gap:15px}.teams{grid-template-columns:1fr}.team-card{padding:14px}.player-row{min-height:60px}.empty-slot{min-height:45px}.match{padding:15px}.combat-controls{gap:12px}.header-right{font-size:8px}.version{display:none}}@media(max-width:700px){header{height:80px;padding:0 5%}.brand{font-size:13px}.brand-mark{width:36px;height:36px;font-size:29px}.brand small{font-size:6px;letter-spacing:2px}.header-right{font-size:7px;letter-spacing:0}.header-right>.online-dot{display:none}.home{display:flex;flex-direction:column;padding:35px 6%;align-items:stretch}.intro h1{font-size:32px}.intro>p{font-size:12px}.hero-art{height:200px}.entry{max-width:none;padding:25px}.feature-row{font-size:9px}.lobby{padding:25px 4%}.lobby-heading{align-items:flex-start}.lobby-heading h1{font-size:26px}.lobby-heading p{font-size:10px}.room-code{padding:10px}.room-code small{font-size:6px}.room-code b{font-size:19px;letter-spacing:3px}.lobby-grid{grid-template-columns:1fr}.teams{grid-template-columns:1fr 1fr;gap:10px}.team-heading h2{font-size:13px}.team-card{padding:10px}.team-heading button{width:100%}.player-row{padding:8px;gap:5px;min-height:86px}.player-row .badge{width:100%}.avatar{width:25px;height:30px;font-size:21px}.loadout{padding:20px}footer{font-size:7px;flex-wrap:wrap}footer>span:nth-child(2){display:none}.match{padding:10px}.in-game header{height:60px}.in-game .header-right{font-size:0}.in-game .quiet{font-size:9px}.match-bar{gap:12px;margin-bottom:10px}.match-bar h2{font-size:12px}.wind{display:block;text-align:center}.wind small{display:block;font-size:6px}.wind b{font-size:20px}.timer{padding-left:10px;min-width:45px}.timer b{font-size:22px}.battlefield{max-height:none}.combat-controls{grid-template-columns:1fr 1.2fr;gap:13px;padding:12px}.combat-controls .fire{align-self:stretch}.combat-controls label{font-size:8px}.move-buttons small{font-size:7px}.result-overlay .card{padding:20px}.result-overlay h1{font-size:22px;margin:10px 0}.result-overlay p{font-size:10px}.result-icon{font-size:28px;margin-bottom:8px}.result-overlay .eyebrow{font-size:8px}}@media(max-height:550px)and (orientation:landscape){.in-game header{height:45px}.in-game .brand small{display:none}.match{padding:5px 15px}.match-bar{margin-bottom:5px}.match-bar h2{font-size:12px;margin-top:3px}.match-bar .eyebrow{font-size:7px}.timer b,.wind b{font-size:18px}.battlefield{max-height:53vh}.combat-controls{grid-template-columns:1fr 1.2fr 1.2fr 1fr;padding:8px 12px;margin-top:7px;gap:15px}.combat-controls label{margin-bottom:3px}.combat-controls button{padding:6px 12px}.fire{font-size:12px}.fire small{font-size:6px;margin-top:4px}.roster{margin-top:5px}.roster>span{padding:4px 8px;font-size:7px}}.hero-art{height:290px;background:#536d58;border:2px solid #a8b46a66;box-shadow:inset 0 -35px 40px #22391b88}.hero-soldier{position:absolute;bottom:24px;width:39%;height:245px;object-fit:contain;filter:drop-shadow(0 7px 3px #182a2066)}.hero-scout{left:1%;z-index:2}.hero-heavy{left:31%;bottom:15px;height:265px;z-index:3}.hero-scatter{right:0;transform:scaleX(-1);z-index:2}.art-caption{font-size:8px;bottom:10px;color:#ffffcb;text-shadow:0 1px 3px #152a20}.gun-portrait{width:65px;height:70px;object-fit:contain;filter:drop-shadow(0 3px 2px #0005)}.gun-card{padding:8px 12px;gap:12px}.avatar{width:43px;height:48px;background:transparent}.avatar img{width:100%;height:100%;object-fit:contain}.loadout{background:linear-gradient(145deg,#273d3c,#172c32)}.in-game{height:100dvh;overflow:hidden;background:#dcdba1}.in-game>header{display:none}.match{padding:0;max-width:none;height:100dvh;width:100%;margin:0}.arena-wrap{height:100%;width:100%;border:0;border-radius:0;overflow:hidden;isolation:isolate;background:#b0d2a0}.battlefield{position:absolute;inset:0;aspect-ratio:auto;max-height:none;height:100%;width:100%;background-size:cover;background-position:center;touch-action:none}.battlefield canvas{position:absolute;inset:0;display:block!important}.game-vignette{position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 -130px 110px -55px #1a302cb0,inset 0 100px 90px -70px #172c3255}.hud-panel{background:linear-gradient(140deg,#253d35ed,#1c3029e8);border:2px solid #b4a269;border-radius:10px;box-shadow:0 4px #20332855,0 7px 18px #162e2922;color:#f4edce;backdrop-filter:blur(7px)}.minimap{position:absolute;left:20px;top:18px;width:202px;padding:7px;user-select:none}.mini-title{display:flex;justify-content:space-between;align-items:center;font-size:8px;letter-spacing:1px;margin-bottom:6px}.mini-title b{color:#f5d681}.mini-title span{font-size:8px;color:#c6cfa9}.minimap canvas{display:block;width:100%;height:auto;border:1px solid #182e28;border-radius:4px;cursor:crosshair;touch-action:none}.minimap>small{display:block;text-align:center;font-size:7px;color:#bcc5a8;margin-top:4px}.top-center{position:absolute;top:18px;left:50%;transform:translate(-50%);display:flex;align-items:center;flex-direction:column;pointer-events:none}.wind{width:166px;min-height:75px;padding:9px 15px;display:block;text-align:center}.wind small{font-size:8px;color:#c9d5b6;letter-spacing:2px;display:block}.wind b{font-size:25px;line-height:1.4;color:#fff0ab;display:block}.wind-arrow{font-size:35px;vertical-align:-2px;margin-right:6px}.wind-track{height:3px;width:85%;margin:0 auto;background:#627354;border-radius:2px}.wind-track i{display:block;height:100%;background:#f0cf72;max-width:100%;border-radius:2px}.turn-banner{display:flex;align-items:center;gap:8px;background:#20332ce8;border:1px solid #d1bb8266;color:#fff1c1;border-radius:25px;padding:9px 14px;margin-top:10px;font-size:10px;font-weight:800;white-space:nowrap;max-width:55vw;text-overflow:ellipsis;overflow:hidden;box-shadow:0 3px 8px #15352933}.turn-banner i{width:6px;height:6px;flex-shrink:0;background:#e8bd72;border-radius:50%}.turn-banner small{font-size:7px;color:#b8c6ae;border-left:1px solid #ffffff33;padding-left:8px}.your-turn{border-color:#f6d178}.your-turn i{background:#84f8c8;box-shadow:0 0 8px #84f8c877}.top-right{position:absolute;right:18px;top:18px;display:flex;align-items:flex-start;gap:9px}.timer{padding:8px 10px;width:89px;min-height:77px;border-left:2px solid #b4a269;text-align:center}.timer>small{display:block;font-size:7px;letter-spacing:1px;color:#d2d8b9}.timer b{color:#ffdf83;font-size:32px;line-height:1.4;display:block}.timer b span{font-size:13px;margin-left:3px;color:#c5ccae}.timer.urgent b{color:#ffa385}.exit-game{width:34px;height:34px;border:1px solid #c0b17b;background:#24372bd9;border-radius:8px;font-size:19px;padding:3px;color:#efe5bf}.camera-tools{position:absolute;right:18px;top:128px;padding:7px;display:grid;grid-template-columns:repeat(2,35px);gap:5px}.camera-label{grid-column:1/-1;text-align:center;font-size:7px;letter-spacing:2px;color:#d7d6ac;padding-bottom:3px}.camera-tools button{width:35px;height:35px;padding:0;border-radius:6px;background:#384e3c;border:1px solid #d3c28455;font-size:23px;line-height:1;color:#f2e6b7;touch-action:manipulation}.camera-tools button.selected{background:#d8b86a;color:#273827;border-color:#fff1ac}.camera-tools button:hover:not(:disabled){background:#667950;transform:none}.camera-hint{position:absolute;bottom:205px;left:50%;transform:translate(-50%);font-size:8px;letter-spacing:1px;color:#fff9db;text-shadow:0 1px 4px #234d33;pointer-events:none;white-space:nowrap;background:#213a2a77;padding:6px 10px;border-radius:20px}.bottom-hud{position:absolute;left:24px;right:24px;bottom:max(16px,env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:9px;pointer-events:none}.bottom-hud>*{pointer-events:auto}.bottom-hud .roster{display:flex;justify-content:center;gap:6px;margin:0;overflow-x:auto;max-width:100%;scrollbar-width:none}.roster>span{position:relative;display:flex;align-items:center;gap:5px;min-width:90px;max-width:145px;overflow:hidden;padding:5px 9px 7px 4px;background:#1c382cdb;color:#d6eff4;border:1px solid #68cfdf77;border-radius:7px;flex-shrink:0;box-shadow:0 2px 5px #15352922}.roster>span.B{background:#47392bd9;border-color:#fa998377;color:#fff0dc}.roster>span.current{border-color:#ffe49b;background:#3a4a2be8}.roster>span>img{width:29px;height:32px;object-fit:contain}.roster>span>span{max-width:96px;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.roster b{display:block;margin:4px 0 0;color:#c9dbb7;font-size:8px}.roster>span>i{position:absolute;bottom:0;left:0;height:3px;background:#56d8e8}.roster>span.B>i{background:#ff907a}.roster .dead{opacity:.55;text-decoration:none}.combat-controls{width:100%;max-width:1060px;margin:0 auto;grid-template-columns:1.05fr 1.35fr 1.4fr 1fr;gap:25px;align-items:center;padding:16px 22px;border:2px solid #b6a269;border-radius:14px;background:linear-gradient(130deg,#294132f5,#1c322bf5);box-shadow:0 5px #172b2866,0 10px 25px #16362d33;backdrop-filter:blur(10px)}.combat-controls label{font-size:9px;color:#d9dfbd;letter-spacing:1px}.combat-controls label b{font-size:13px;color:#ffe29c}.combat-controls button{background:#3b513b;border-color:#9d9d6755;color:#f1e7b4;min-width:38px;min-height:37px}.combat-controls button:hover:not(:disabled){background:#5d724d}.combat-controls .energy{background:#172f29;height:5px}.combat-controls .energy i{background:linear-gradient(90deg,#73bf89,#c2e58a)}.move-buttons small,.power small{color:#b8c8a6;font-size:8px}.angle-row button,.move-buttons button{padding:6px 12px}.combat-controls input[type=range]{accent-color:#f1d481}.combat-controls .fire{background:linear-gradient(#ffe7a2,#d6a949);border:2px solid #ffe9ad;color:#43351f;box-shadow:0 4px #8e6b2e;min-height:65px;font-size:16px}.combat-controls .fire:hover:not(:disabled){background:linear-gradient(#fff0ba,#e3bf6f)}.combat-controls .fire small{font-size:7px;color:#6a542c}.combat-controls .fire:active:not(:disabled){transform:translateY(3px);box-shadow:0 1px #8e6b2e}.combat-controls button:disabled{opacity:.48}.result-overlay{z-index:20}.connection-overlay{z-index:21}.result-overlay .card{background:linear-gradient(#304e3c,#19372f);border:2px solid #ddc47b}.result-overlay h1{color:#fff2bd}.toast{z-index:50}@media(max-width:700px){.hero-art{height:240px}.hero-soldier{height:205px}.hero-heavy{height:225px}.gun-portrait{height:60px;width:55px}.minimap{left:10px;top:10px;width:130px;padding:5px}.mini-title{font-size:6px;letter-spacing:0;margin-bottom:4px}.mini-title span{font-size:6px}.minimap>small{font-size:6px}.top-center{top:10px}.wind{width:110px;min-height:60px;padding:6px 10px}.wind b{font-size:20px}.wind-arrow{font-size:25px}.wind small{font-size:6px}.turn-banner{margin-top:7px;gap:5px;padding:7px 9px;font-size:8px;max-width:65vw}.turn-banner small{font-size:6px;padding-left:5px}.top-right{right:10px;top:10px;gap:5px}.timer{width:57px;min-height:58px;padding:5px}.timer>small{font-size:5px}.timer b{font-size:26px}.timer b span{font-size:9px}.exit-game{height:28px;width:28px;font-size:16px}.camera-tools{right:10px;top:105px;grid-template-columns:repeat(2,32px);gap:4px;padding:5px}.camera-tools button{width:32px;height:32px;font-size:21px}.camera-label{font-size:6px}.bottom-hud{left:10px;right:10px;bottom:max(10px,env(safe-area-inset-bottom));gap:7px}.combat-controls{grid-template-columns:1fr 1.2fr;gap:12px 16px;padding:12px 14px;border-radius:12px}.combat-controls label{font-size:7px}.combat-controls label b{font-size:11px}.combat-controls .fire{min-height:52px;font-size:14px}.roster>span{min-width:80px;padding:4px 6px 6px 3px;max-width:110px}.roster>span>img{height:27px;width:24px}.roster>span>span{font-size:7px;max-width:75px}.roster b{font-size:6px;margin-top:3px}.camera-hint{bottom:244px;font-size:6px;letter-spacing:0}.bottom-hud .roster{justify-content:flex-start}.power small,.move-buttons small{font-size:7px}.in-game .battlefield{max-height:none}}@media(max-height:550px)and (orientation:landscape){.match{padding:0}.minimap{width:143px;left:12px;top:10px;padding:5px}.mini-title{font-size:6px;margin-bottom:4px}.mini-title span{font-size:6px}.minimap>small{display:none}.top-center{top:10px}.wind{width:120px;min-height:56px;padding:5px 10px}.wind small{font-size:6px}.wind b{font-size:19px}.wind-arrow{font-size:25px}.turn-banner{margin-top:5px;padding:5px 10px;font-size:8px}.turn-banner small{font-size:6px}.top-right{top:10px;right:12px}.timer{width:65px;min-height:56px;padding:4px}.timer b{font-size:26px}.timer>small{font-size:6px}.exit-game{width:29px;height:29px}.camera-tools{right:12px;top:83px;grid-template-columns:repeat(2,30px);gap:4px;padding:5px}.camera-tools button{width:30px;height:29px;font-size:20px}.camera-label{font-size:6px}.bottom-hud{left:12px;right:12px;bottom:max(9px,env(safe-area-inset-bottom));gap:5px}.bottom-hud .roster{justify-content:center}.roster>span{min-width:77px;max-width:110px;padding:2px 5px 4px 2px;gap:3px}.roster>span>img{height:23px;width:24px}.roster>span>span{font-size:7px}.roster b{font-size:6px;margin-top:2px}.combat-controls{grid-template-columns:1fr 1.2fr 1.25fr 1fr;padding:8px 12px;gap:16px;border-radius:10px}.combat-controls label{font-size:6px;margin-bottom:4px}.combat-controls label b{font-size:10px}.combat-controls button{min-width:34px;min-height:31px;padding:3px 9px;font-size:17px}.combat-controls .fire{min-height:47px;font-size:12px;padding:6px}.fire small{font-size:6px;margin-top:4px}.energy{margin-bottom:4px}.power small,.move-buttons small{font-size:6px}.camera-hint{bottom:120px;font-size:6px;padding:4px 7px}.battlefield{max-height:none}}@media(prefers-reduced-motion:reduce){button{transition:none}}.aim-heading{display:flex;align-items:center;gap:7px;margin-bottom:8px}.aim-heading label{flex:1;margin:0}.combat-controls .aim label b{color:#53ecff;background:#103b55;border:1px solid #47dcf3;padding:2px 6px;border-radius:5px;text-shadow:0 0 8px #27dfff55}.combat-controls .aim input[type=range]{accent-color:#22dfff}.combat-controls .aim .angle-row button{color:#57ecff;border-color:#3ccbe588;background:#123c4d}.combat-controls .facing-toggle{min-width:0;min-height:24px;padding:4px 6px;font-size:7px;white-space:nowrap;background:#123b4e;color:#8dedff;border-color:#36c5e477;line-height:1}.facing-toggle:disabled{opacity:.6}.aim .angle-row{gap:7px}@media(max-height:550px)and (orientation:landscape){.aim-heading{margin-bottom:3px;gap:4px}.combat-controls .facing-toggle{font-size:6px;min-height:19px;padding:3px 4px}.combat-controls .aim label b{padding:1px 4px}}.scene-loading{position:absolute;inset:0;display:grid;place-items:center;background:#231233b8;color:#ead4ff;font-size:15px;z-index:4;pointer-events:none;backdrop-filter:blur(3px)}.in-game .camera-tools{display:flex;flex-wrap:wrap;max-width:140px;gap:5px}.in-game .camera-tools .camera-more{display:block}.in-game .camera-extra{display:none}.in-game .camera-tools.expanded .camera-extra{display:flex;flex-wrap:wrap;gap:5px;width:100%}.hero-twin{left:31%;bottom:15px;height:265px;z-index:3}.rotate-notice{display:none}.gun-card small:nth-of-type(1){color:#b9d7ff;font-weight:700}.gun-card .gun-portrait{height:75px}.map-picker>label{margin:0 0 10px}.map-preview{position:relative;border-radius:9px;overflow:hidden;background-size:cover;background-position:center;border:1px solid #a388d377;aspect-ratio:8/3}.map-preview canvas{display:block;width:100%;height:100%}.map-preview>span{position:absolute;left:7px;top:7px;background:#2b1948d9;border:1px solid #cab4f266;padding:5px 8px;border-radius:6px;font-size:9px;color:#f3e8ff}.map-picker>p{font-size:10px;line-height:1.6;margin:8px 0}.map-choices{display:flex;gap:5px}.map-choices button{flex:1;padding:8px 5px;font-size:8px;line-height:1.6;background:#24243f;min-width:0}.map-choices button.selected{background:#674a94;border-color:#c3a3ff}.map-picker>small{display:block;font-size:8px;color:#ab9dc1;margin-top:8px}.lobby-grid{grid-template-columns:1.55fr 1fr}.loadout{background:linear-gradient(145deg,#34304f,#242238)}.in-game{background:#241635}.arena-wrap{background:#291d42}.game-vignette{box-shadow:inset 0 -100px 100px -55px #2a163c8c,inset 0 80px 90px -70px #34174566}.hud-panel{background:linear-gradient(140deg,#4a3267ed,#2d1e4be8);border-color:#bca0e4;color:#f5eaff;box-shadow:0 4px #23133755,0 7px 18px #20102c33}.wind small,.timer>small{color:#dfc9f8}.wind b,.timer b{color:#f4e2ff}.wind-track{background:#6e558c}.wind-track i{background:#d6b6ff}.turn-banner{background:#38204ee8;border-color:#bb94e07a;color:#fbeaff}.turn-banner small{color:#d4bddf}.turn-banner i{background:#d8b9ff}.your-turn{border-color:#ecd1ff}.top-right{align-items:stretch;gap:8px}.active-player{display:flex;align-items:center;gap:8px;padding:7px 10px;max-width:245px;min-width:180px}.active-player>img{height:57px;width:48px;object-fit:contain}.active-player>div{min-width:0;flex:1}.active-player small{display:block;font-size:7px;letter-spacing:1px;color:#d8b4ff}.active-player b{display:block;font-size:12px;margin:4px 0;line-height:1.4;overflow-wrap:anywhere;max-width:175px}.active-player span{display:block;font-size:8px;color:#ddcee9}.exit-game{background:#402452e6;border-color:#b59ace;color:#f6e6ff;align-self:flex-start}.timer{border-left-color:#bca0e4}.mini-title b{color:#e8d3ff}.mini-title span{color:#dac6ec}.camera-tools{top:115px}.camera-extra{display:contents}.camera-tools .camera-more{display:none}.camera-tools button{background:#604577;border-color:#c5a4eb66;color:#f4e9ff}.camera-tools button.selected{background:#cda9fa;color:#321d4b;border-color:#f7ddff}.camera-tools button:hover:not(:disabled){background:#8863a8}.bottom-hud{gap:0}.combat-controls{background:linear-gradient(130deg,#4b3065f5,#302048f5);border-color:#bba0dc;box-shadow:0 5px #24133177,0 10px 25px #27113844;padding:13px 20px;max-width:1080px}.combat-controls label{color:#ecdcf5}.combat-controls label b{color:#f0d5ff}.combat-controls button{background:#674783;border-color:#b08bd077;color:#f7e9ff}.combat-controls button:hover:not(:disabled){background:#8d64aa}.combat-controls .energy{background:#281537}.combat-controls .energy i{background:linear-gradient(90deg,#ad83f1,#e3b6ff)}.move-buttons small,.power small{color:#d4bedf}.combat-controls .fire{background:linear-gradient(#f2ceff,#bb89e5);border-color:#f2d8ff;color:#382044;box-shadow:0 4px #6f408f}.combat-controls .fire:hover:not(:disabled){background:linear-gradient(#f8e2ff,#d0a3f1)}.combat-controls .fire small{color:#553269}.combat-controls .fire:active:not(:disabled){box-shadow:0 1px #6f408f}.result-overlay .card{background:linear-gradient(#58376e,#2c1b42);border-color:#c9a2ec}.result-overlay h1{color:#f7e7ff}.result-overlay .result-icon{color:#d5b1f8}@media(max-width:1100px){.active-player{min-width:140px;max-width:185px;padding:6px}.active-player>img{height:45px;width:35px}.active-player b{font-size:10px}.active-player small{font-size:6px}.active-player span{font-size:7px}.lobby-grid{grid-template-columns:1.2fr 1fr}.hero-twin{height:245px}}@media(max-width:700px){.lobby-grid{grid-template-columns:1fr}.hero-twin{height:225px}}@media(max-width:1100px)and (orientation:landscape){.minimap{width:115px;top:8px;left:8px;padding:4px;border-width:1px}.mini-title{font-size:5px;margin-bottom:3px}.mini-title span{font-size:5px}.top-center{top:8px}.wind{width:95px;min-height:45px;padding:4px 7px;border-width:1px}.wind small{font-size:5px;letter-spacing:1px}.wind b{font-size:17px;line-height:1.1}.wind-arrow{font-size:23px;margin-right:3px}.wind-track{display:none}.turn-banner{font-size:6px;padding:4px 7px;margin-top:4px;gap:4px}.turn-banner small{font-size:5px}.top-right{right:8px;top:8px;gap:5px}.active-player{min-width:110px;max-width:155px;padding:4px 6px;gap:5px;border-width:1px}.active-player>img{width:28px;height:38px}.active-player small{font-size:5px;letter-spacing:0}.active-player b{font-size:9px;line-height:1.3;margin:2px 0;max-width:110px}.active-player span{font-size:6px}.timer{min-height:46px;width:48px;padding:3px;border-width:1px}.timer>small{font-size:5px;letter-spacing:0}.timer b{font-size:23px;line-height:1.2}.timer b span{font-size:8px}.exit-game{height:24px;width:24px;font-size:14px}.camera-tools{top:68px;right:8px;display:flex;flex-wrap:wrap;max-width:132px;padding:4px;gap:4px;border-width:1px}.camera-tools button{height:27px;width:27px;font-size:19px}.camera-tools .camera-more{display:block}.camera-extra{display:none}.camera-tools.expanded .camera-extra{display:flex;gap:4px;flex-wrap:wrap;width:100%}.bottom-hud{left:8px;right:8px;bottom:max(7px,env(safe-area-inset-bottom))}.combat-controls{grid-template-columns:1fr 1.35fr .85fr;gap:14px;padding:7px 11px;max-width:800px;border-width:1px;border-radius:10px}.combat-controls .power{display:none}.combat-controls label{font-size:6px;letter-spacing:.5px;margin-bottom:4px}.combat-controls label b{font-size:10px}.combat-controls .aim-heading label{margin-bottom:0}.combat-controls .energy{height:3px;margin-bottom:5px}.combat-controls button{min-height:30px;min-width:33px;padding:4px 9px}.combat-controls .angle-row button,.combat-controls .move-buttons button{font-size:17px}.combat-controls .move-buttons small{display:none}.combat-controls .move-buttons{gap:7px}.combat-controls .aim-heading{margin-bottom:4px}.combat-controls .facing-toggle{font-size:6px;min-height:18px;min-width:0;padding:3px 5px}.combat-controls .fire{min-height:48px;padding:5px;font-size:12px}.combat-controls .fire small{font-size:6px;margin-top:4px;letter-spacing:.2px}.combat-controls input[type=range]{height:17px}.result-overlay .card{padding:18px}.result-overlay h1{font-size:25px}}@media(max-width:900px)and (orientation:portrait){.rotate-notice{position:fixed;inset:0;z-index:1000;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:35px;background:radial-gradient(ellipse at center,#583476,#20132f);color:#f5e8ff;gap:10px}.rotate-notice>span{display:grid;place-items:center;font-size:80px;line-height:1;border:2px solid #b690df;width:130px;height:105px;border-radius:18px;color:#dfb8ff;transform:rotate(-12deg);margin-bottom:20px}.rotate-notice h2{font-size:25px;margin:5px 0}.rotate-notice p{max-width:300px;color:#d7bee9;font-size:13px;line-height:1.8}.in-game .arena-wrap{pointer-events:none}}.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}header{height:92px}.brand{height:100%;gap:0}.brand-logo{display:block;width:148px;height:88px;object-fit:contain;filter:drop-shadow(0 3px 4px #0003)}.home{min-height:calc(100dvh - 158px);padding:24px 5%;grid-template-columns:1.1fr 1fr;gap:6%}.home .intro{display:flex;flex-direction:column;align-items:center;justify-content:center}.home-game-logo{display:block;width:min(100%,560px);height:auto;max-height:52vh;object-fit:contain;filter:drop-shadow(0 14px 20px #0004)}.home .feature-row{justify-content:center;margin:18px 0 0;gap:9px}.home .feature-row span{font-size:10px;padding:8px 13px;background:#35244766;border-color:#b995db33;color:#dfd4ea}.home .entry{max-width:445px;padding:30px}.home .entry h2{margin:0 0 25px;font-size:25px}.home .divider{margin:25px 0}.site-footer{min-height:66px;padding:18px 5%;display:flex;justify-content:center;align-items:center;font-size:12px;letter-spacing:0;border-top:1px solid #b794d51c}.powered-by{display:flex;align-items:center;justify-content:center;gap:6px;color:#a5a0b5;line-height:1.4}.powered-by a{display:inline-flex;align-items:center;gap:5px;font-weight:600;color:#d7d0e5}.powered-by a:hover{color:#f0dbff;text-decoration:underline;text-underline-offset:3px}.powered-by img{display:inline-block;width:1em;height:1em;object-fit:contain;flex:none}.gun-card b,.active-player b,.player-row small{font-family:Arial,Segoe UI,sans-serif;font-variant:normal;text-transform:none;letter-spacing:0;font-feature-settings:normal}.gun-card b{font-size:15px;font-weight:600;line-height:1.4}.player-row small{font-size:10px}.ammo-kind{display:flex!important;align-items:center;gap:6px;line-height:1.3!important}.ammo-kind img{width:34px;height:23px;object-fit:contain}.gun-card small{font-family:Arial,Segoe UI,sans-serif;letter-spacing:0}.active-player b{font-weight:600}@media(max-width:1000px){.home{gap:24px}.home .entry{padding:25px}.home-game-logo{max-height:49vh}.brand-logo{width:135px}}@media(max-width:700px){header{height:76px}.brand-logo{width:112px;height:72px}.home{min-height:calc(100dvh - 136px);padding:20px 5%;gap:20px}.home-game-logo{max-height:33vh;width:min(100%,360px)}.home .entry{padding:22px;max-width:none}.home .entry h2{font-size:22px;margin-bottom:20px}.home .feature-row{margin-top:8px}.site-footer{font-size:11px;min-height:60px;padding:16px}}@media(max-height:550px)and (orientation:landscape){header{height:64px}.brand-logo{height:60px;width:106px}.home{min-height:calc(100dvh - 110px);padding:14px 4%;display:grid;grid-template-columns:1fr 1fr;gap:24px}.home-game-logo{max-height:55vh}.home .entry{padding:18px;max-width:410px}.home .entry h2{font-size:19px;margin-bottom:14px}.home .entry input{min-height:39px;padding:9px 11px;margin-top:7px}.home .entry .primary{margin-top:13px;padding:11px}.home .divider{margin:17px 0}.home .feature-row span{font-size:8px;padding:6px 9px}.site-footer{font-size:10px;min-height:46px;padding:12px}.gun-card b{font-size:14px}}.combat-controls{grid-template-columns:1fr 1.3fr 1.2fr 70px 70px 1fr;gap:16px}.combat-controls .flight-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-width:64px;min-height:67px;padding:5px 8px;color:#e4faff;touch-action:manipulation}.flight-item img{width:24px;height:24px;object-fit:contain}.flight-item span{font-size:12px;font-weight:800;line-height:1.1}.flight-item small{font-size:7px;font-weight:500;white-space:nowrap;color:#c9d4e9}.combat-controls .flight-item.selected{border:2px solid #73edff;background:#234765;box-shadow:0 0 12px #62ecff44;color:#c8fbff}.combat-controls.flight-selected .fire{background:linear-gradient(#d0fbff,#78d7f5);border-color:#e4fdff;color:#123d53;box-shadow:0 4px #3a7898}.combat-controls.flight-selected .fire small{color:#285e76}.combat-controls.flight-selected .fire:hover:not(:disabled){background:linear-gradient(#e6fdff,#a3ecff)}@media(max-width:1100px)and (orientation:landscape){.combat-controls{grid-template-columns:1fr 1.25fr 48px 48px .9fr;gap:10px}.combat-controls .flight-item{min-height:46px;min-width:0;padding:3px;gap:1px}.flight-item img{height:18px;width:18px}.flight-item span{font-size:9px}.flight-item small{font-size:6px}.combat-controls.flight-selected .fire{box-shadow:0 3px #3a7898}}.combat-controls .heal-item{color:#d3ffe5;border-color:#8ce7b788;background:#285543}.combat-controls .heal-item:hover:not(:disabled){background:#377b5c}.heal-item small{color:#c1f8d8}
