*{box-sizing:border-box}body{margin:0;background:#172b30;color:#fff;font-family:system-ui,sans-serif;overflow:hidden}canvas#game{width:100vw;height:100dvh;display:block;touch-action:none}#hud{position:fixed;top:max(18px,env(safe-area-inset-top));left:50%;transform:translate(-50%);text-align:center;padding:12px 26px;background:#142b36cc;border-radius:12px;pointer-events:none;font-weight:700;white-space:nowrap}#cross{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);font-size:25px;pointer-events:none;color:#fff9}#map{position:fixed;left:max(18px,env(safe-area-inset-left));top:18px;width:125px;height:125px;border:2px solid #ffffff70;border-radius:50%;background:#233c3ad9}#feed{position:fixed;top:110px;right:22px;font-size:14px;text-shadow:0 2px 3px #000;pointer-events:none}#menu{position:fixed;inset:0;display:grid;place-items:center;background:linear-gradient(90deg,#102e3af5,#102e3a80);z-index:10;overflow:auto}.panel{width:min(500px,90vw);padding:32px}small{color:#d9bd7c;letter-spacing:3px}h1{font-size:clamp(36px,6vw,62px);margin:12px 0}h2{font-weight:400;letter-spacing:6px}p{color:#d2dcda;line-height:1.8}label{display:inline-block;margin:8px 12px 15px 0}select{padding:8px;border-radius:6px;background:#294955;color:#fff;border:1px solid #6a8587}button{cursor:pointer;border:0;border-radius:8px;background:#e7bd6b;color:#20343b;padding:14px 22px;font-weight:800}#start{display:block;width:100%;font-size:18px}.help{font-size:12px}#touch,body.playing #menu{display:none}body.hit:after{content:"";position:fixed;inset:0;border:18px solid #d85c5555;pointer-events:none}@media(pointer:coarse){#touch{display:block;position:fixed;inset:0;pointer-events:none;touch-action:none}#touch>*{pointer-events:auto;touch-action:none}#stick{position:absolute;bottom:max(30px,env(safe-area-inset-bottom));left:max(30px,env(safe-area-inset-left));width:120px;height:120px;border:1px solid #ffffff65;border-radius:50%;background:#ffffff15;display:grid;place-items:center}#stick i{width:46px;height:46px;background:#ffffff65;border-radius:50%;pointer-events:none}#aim{position:absolute;right:0;top:0;bottom:0;width:50%}#touch button{position:absolute;background:#203e4dbb;border:1px solid #fff6;color:#fff;border-radius:50%;padding:12px;min-width:55px;min-height:55px}#fire{bottom:70px;right:max(35px,env(safe-area-inset-right));width:78px;height:78px}#reload{bottom:22px;right:125px}#jump{bottom:150px;right:25px}#crouch{bottom:22px;right:210px}#weapon{bottom:90px;right:135px}#pause{top:15px;right:20px}#map{width:85px;height:85px}#hud{font-size:12px;padding:8px 12px}.panel{padding:16px}h1{margin:3px 0}h2{margin:4px 0}.help{font-size:10px}}@media(orientation:portrait)and (pointer:coarse){body:before{content:"建議旋轉裝置，以橫向獲得完整戰鬥視野";position:fixed;bottom:200px;text-align:center;width:100%;z-index:5;background:#142b36b0;padding:10px;pointer-events:none}}#menu{background:linear-gradient(90deg,#102632f5,#102632d9 40%,#10263224);place-items:center start;padding-left:7vw}.panel{width:min(520px,88vw);padding:28px}h1{letter-spacing:5px;text-shadow:0 5px 24px #0004}.rules{display:flex;gap:12px;margin:20px 0}.rules span{border:1px solid #bbd0ce40;border-radius:6px;padding:9px 16px;color:#e7d3a2}.rules em{font-size:11px;font-style:normal;color:#a9bdc5}#hud{border-top:3px solid #d9bd7c;letter-spacing:2px;min-width:245px}#status{position:fixed;left:max(24px,env(safe-area-inset-left));right:max(24px,env(safe-area-inset-right));bottom:max(24px,env(safe-area-inset-bottom));display:flex;justify-content:space-between;pointer-events:none;font-size:16px;font-weight:700;text-shadow:0 2px 4px #102632}#status>span{background:#102632c9;border:1px solid #a9bdc54a;border-radius:8px;padding:12px 18px}#status b{font-size:26px;margin-left:14px}.health{color:#c4e5d1}#cross.confirmed{color:#ffd475;transform:translate(-50%,-50%) rotate(45deg) scale(1.3)}#performance{position:fixed;bottom:5px;left:50%;transform:translate(-50%);font-size:10px;color:#fff8;pointer-events:none}#pause-desktop{position:fixed;right:20px;top:20px;background:#102632aa;color:#fff;padding:10px 15px}body:not(.playing) #pause-desktop,body:not(.playing) #touch,body:not(.playing) #cross,body:not(.playing) #status{display:none}.menu-links{display:flex;gap:10px;margin-top:10px}.menu-links button{background:transparent;color:#d9ded8;font-size:12px;padding:9px;border:1px solid #a9bdc550;flex:1}dialog{position:fixed;z-index:20;inset:0;margin:auto;width:min(410px,90vw);max-height:90dvh;overflow:auto;background:#1d3946;color:#f6ead0;border:1px solid #9fb0aa;border-radius:14px;padding:24px;box-shadow:0 0 0 100vmax #081b27cc}dialog h2{font-size:19px;letter-spacing:2px}dialog label{display:flex;justify-content:space-between;align-items:center;gap:15px;margin:16px 0}input[type=range]{accent-color:#d7b16c;width:58%}button:disabled{opacity:.45;cursor:default}@media(pointer:coarse){#status{bottom:auto;top:max(58px,env(safe-area-inset-top));left:120px;right:85px;font-size:11px}#status>span{padding:5px 9px}#status b{font-size:15px;margin-left:5px}#pause-desktop{display:none}.panel{padding:10px}#menu{padding:10px 6vw}.rules{margin:8px 0}.rules span{padding:6px 10px}.intro{font-size:12px;line-height:1.5;margin:8px 0}.panel label{font-size:12px;margin:4px 0 8px}.panel #start{padding:10px}.help{margin:6px 0}#map{top:max(10px,env(safe-area-inset-top))}#feed{font-size:10px;top:92px;max-width:45vw}dialog{max-height:92dvh;padding:15px}dialog label{margin:10px 0}#touch #pause{top:max(10px,env(safe-area-inset-top));right:max(12px,env(safe-area-inset-right));min-width:40px;min-height:40px}}html,body{overscroll-behavior:none}#map{pointer-events:none}#touch{user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}#touch #aim{z-index:0}#touch button,#touch #stick{z-index:1}#touch button{margin-right:env(safe-area-inset-right);margin-bottom:env(safe-area-inset-bottom)}#touch-sensitivity{width:48%}#touch-sensitivity-value{font-size:12px;min-width:30px}body{touch-action:manipulation}body.playing,body.playing #game,body.playing #touch,body.playing #touch *{touch-action:none}html:fullscreen,html:-webkit-full-screen{width:100%;height:100%;background:#172b30}#fullscreen{position:fixed;right:max(68px,env(safe-area-inset-right));top:max(12px,env(safe-area-inset-top));z-index:4;padding:10px 12px;background:#142b36bb;color:#fff;font-size:12px;min-height:44px}#fullscreen-hint{position:fixed;z-index:21;bottom:max(8px,env(safe-area-inset-bottom));left:22%;right:22%;background:#142b36ed;color:#fff;font-size:11px;padding:10px;border-radius:8px;pointer-events:none}#fullscreen-hint[hidden]{display:none}body:not(.playing) #fullscreen{z-index:11}button{touch-action:manipulation}#touch svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}@media(pointer:coarse){#touch #fire-left{left:max(58px,env(safe-area-inset-left));bottom:calc(max(30px,env(safe-area-inset-bottom)) + 148px);width:64px;height:64px;margin:0}#touch #ads{right:calc(max(25px,env(safe-area-inset-right)) + 85px);bottom:166px;width:56px;height:56px}#touch button:active{background:#d3b16ccc;border-color:#fff;transform:scale(.94)}}body.reviewing #menu{inset:auto 14px 14px auto;width:290px;padding:0;background:#182d2be8;border:1px solid #d0be8c88;border-radius:12px;max-height:190px;overflow:auto}body.reviewing #menu .panel{width:auto;padding:14px}body.reviewing #menu h1,body.reviewing #menu h2,body.reviewing #menu label,body.reviewing #menu .help,body.reviewing #menu .rules,body.reviewing #menu .menu-links{display:none}body.reviewing #menu p{font-size:11px;line-height:1.5;margin:6px 0}body.reviewing #menu #start{font-size:12px;padding:8px}body.reviewing #map,body.reviewing #cross{display:none}#p02-review{position:fixed;left:14px;bottom:14px;display:flex;gap:5px;z-index:12;flex-wrap:wrap;max-width:80vw}#p02-review a{padding:8px 10px;background:#19312bda;color:#f1deb7;border:1px solid #cab88b66;border-radius:5px;text-decoration:none;font-size:12px}body.playing #p02-review,body.reviewing #hud{display:none}html,body{width:100%;height:100%;margin:0;overflow:hidden}#game{position:fixed;inset:0;display:block;max-width:none;max-height:none}#landscape-required{display:none}body.portrait-blocked #landscape-required{display:grid;place-items:center;position:fixed;inset:0;z-index:100;background:#152530f5;color:#fff;font-size:20px;padding:24px;text-align:center}body.portrait-blocked #touch{display:none}#export-performance{position:fixed;top:max(8px,env(safe-area-inset-top));right:160px;z-index:12;padding:7px;font-size:10px;background:#172c39cc;color:#fff}@media(pointer:coarse)and (orientation:landscape){#touch #stick{left:calc(env(safe-area-inset-left) + 22px);bottom:calc(env(safe-area-inset-bottom) + 18px)}#touch #fire{right:calc(env(safe-area-inset-right) + 24px);bottom:calc(env(safe-area-inset-bottom) + 38px)}#touch #ads{right:calc(env(safe-area-inset-right) + 112px);bottom:calc(env(safe-area-inset-bottom) + 112px)}#status{left:calc(env(safe-area-inset-left) + 125px);right:calc(env(safe-area-inset-right) + 85px)}#hud{min-width:190px;font-size:13px}#map{width:95px;height:95px}}#device-diagnostics-toggle{position:fixed;right:max(8px,env(safe-area-inset-right));top:calc(env(safe-area-inset-top) + 62px);z-index:15;padding:8px 12px;min-height:40px;background:#172c39dd;color:#fff;font-size:11px}#device-diagnostics{position:fixed;right:max(8px,env(safe-area-inset-right));top:calc(env(safe-area-inset-top) + 106px);z-index:16;width:250px;max-height:65dvh;overflow:auto;background:#101e2aee;color:#f2f5f6;padding:10px;border:1px solid #8296a8;border-radius:8px;font-size:11px;touch-action:pan-y}#device-diagnostics[hidden]{display:none}#device-diagnostics pre{margin:8px 0;font-size:11px;line-height:1.45;white-space:pre-wrap}#device-diagnostics select{max-width:130px}#device-diagnostics button{font-size:11px;padding:7px}.developer{font-size:12px;letter-spacing:1px;color:#d9bd7c;margin:12px 0}#leaderboard{max-height:28vh;overflow:auto;border-top:1px solid #d9bd7c66;font-size:12px}#leaderboard[hidden]{display:none}#leaderboard p{margin:3px 0}#controls-edit{margin:10px 12px 10px 0}body.layout-editing #menu{display:none}body.layout-editing #touch{display:block;position:fixed;inset:0;z-index:31;pointer-events:none}body.layout-editing #touch #aim{display:none}body.layout-editing #touch>*{position:absolute;pointer-events:auto;touch-action:none;border:2px solid #d7c18b;background:#203e4dcc;color:#fff;border-radius:50%;display:grid;place-items:center;padding:8px}body.layout-editing #touch .layout-selected{outline:3px solid #fff}body.layout-editing #touch>*:after{content:attr(aria-label);position:absolute;top:100%;font-size:10px;white-space:nowrap;color:#fff;background:#142b36cc;padding:2px}body.layout-editing #touch svg{width:26px;height:26px}body.layout-editing #touch #stick i{width:38%;height:38%;border-radius:50%;background:#ffffff80}#control-editor{position:fixed;z-index:32;left:25%;right:20%;top:max(10px,env(safe-area-inset-top));background:#102431ee;border:1px solid #d7c18b99;border-radius:12px;padding:12px;display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;max-height:50vh;overflow:auto;font-size:12px}#control-editor[hidden]{display:none}#control-editor button{padding:9px 12px;font-size:12px}#control-editor label{margin:0}#control-editor input{width:100px}#control-editor p{margin:0;width:100%;text-align:center}body.layout-editing #device-diagnostics,body.layout-editing #device-diagnostics-toggle,body.layout-editing #p02-review,body.layout-editing #export-performance{display:none}#settings{max-height:85dvh;overflow:auto}body:not(.playing):not(.layout-editing) #touch{display:none}@media(pointer:coarse){#hud{max-width:65vw;white-space:normal;letter-spacing:0;font-size:11px}#feed{font-size:10px;max-width:40vw}#control-editor{left:22%;right:18%;font-size:11px;padding:8px}}#menu{background:linear-gradient(90deg,#091725d9,#09172590 38%,#09172508 72%),url(/images/blue-team-assault.jpg) center center/cover no-repeat}body.reviewing #menu{background:#182d2be8}@media(max-width:800px){#menu{background-position:62% center}.panel{background:#09172550;border-radius:12px}}:root{--ui-panel:#071a27dd;--ui-line:#55cedc90;--ui-cyan:#65e1e4;--ui-red:#ff7f8d;--ui-text:#e8f5f6}button,select{transition:background .12s,border-color .12s}button:focus-visible,select:focus-visible{outline:2px solid #86f3ff;outline-offset:3px}button{border:1px solid #6ac4d080;background:#153747;color:var(--ui-text)}button:hover{background:#24566a}#menu{background:linear-gradient(90deg,#041724f5 0%,#061c2acc 28%,#061c2a60 48%,transparent 74%),url(/images/chibi-home-v44.jpg) 62% center/cover no-repeat;padding:20px 6vw;place-items:center start}.panel{width:min(460px,48vw);padding:24px 20px;background:linear-gradient(130deg,#071a27b0,#0b263542);border-left:2px solid #65e1e4;border-radius:12px;box-shadow:0 12px 40px #03101b55}.panel small{color:#8be5eb;letter-spacing:3px}.panel h1{font-size:clamp(32px,4.5vw,60px);line-height:1.15;letter-spacing:3px;margin:10px 0}.panel h2{font-size:18px;letter-spacing:5px;color:#b6d8dd}.panel .intro{font-size:13px;line-height:1.6}.panel .help{font-size:10px;line-height:1.65;color:#a4bec8}.developer{font-size:12px;color:#a9e7e6;letter-spacing:1px}.mode-cards{display:flex;gap:8px;margin:12px 0}.mode-cards button{flex:1;display:grid;gap:4px;padding:12px;text-align:left;background:#0a2231b0;border:1px solid #5e8f9b}.mode-cards b{font-size:21px;letter-spacing:2px}.mode-cards span{font-size:12px;color:#b9d7df}.mode-cards button[aria-pressed=true]{border-color:#70e6ea;background:#174755d9;box-shadow:inset 0 0 15px #54cee022}.mode-cards #mode-ffa[aria-pressed=true]{border-color:#f78e9b;background:#4b293bd9}.panel #game-mode{font-size:12px}.panel .rules{gap:5px;margin:8px 0}.panel .rules span{font-size:11px;padding:5px 8px;color:#c4e3e9;border-color:#6ba7b044}.panel #start{background:linear-gradient(100deg,#16869d,#49bbcb);border:1px solid #90eced;color:#fff;border-radius:7px;letter-spacing:2px}.panel .menu-links button{border-color:#74a9b466;color:#d3edef}.panel label{font-size:12px}.panel select{background:#112b3b;border-color:#6d9da9}.blue{color:var(--ui-cyan)}.red{color:var(--ui-red)}#hud{top:max(12px,env(safe-area-inset-top));padding:0;display:flex;align-items:stretch;justify-content:center;min-width:330px;border:1px solid var(--ui-line);border-top:2px solid #96e8ef;background:var(--ui-panel);border-radius:8px;overflow:hidden;letter-spacing:1px;color:var(--ui-text);font-size:14px;z-index:5;pointer-events:none}#hud .score{padding:10px 15px;display:flex;align-items:center;gap:10px;min-width:100px}.score b{font-size:24px}.score.blue{background:linear-gradient(90deg,#1a697e99,transparent)}.score.red{background:linear-gradient(270deg,#863e5499,transparent)}.match-clock{padding:7px 15px;display:grid;font-size:22px;font-weight:700;line-height:1.1}.match-clock small,.ffa-score small{display:block;font-size:9px;font-weight:400;letter-spacing:1px;color:#b7d5df;margin-top:5px}.ffa-score{padding:9px 12px;font-size:13px}#map-toggle{position:fixed;left:max(14px,env(safe-area-inset-left));top:max(12px,env(safe-area-inset-top));width:132px;padding:3px;border:1px solid var(--ui-line);border-radius:9px;background:var(--ui-panel);z-index:6;color:#b9e7e9}#map-toggle span{display:block;font-size:9px;padding:3px;letter-spacing:1px}#map-toggle #map{position:static;display:block;width:100%;height:auto;border:0;border-radius:5px;background:transparent;pointer-events:none}#team-roster{position:fixed;left:max(14px,env(safe-area-inset-left));top:174px;width:132px;background:#0a2130c9;border:1px solid #5fbeca66;border-radius:7px;padding:5px 6px;z-index:4;pointer-events:none}.roster-row{display:flex;align-items:center;gap:7px;padding:4px 0;color:#d8f5f3;font-size:10px}.roster-row>span:last-child{flex:1;min-width:0}.roster-row small{font-size:8px;float:right;color:#8cb5bd}.roster-icon{display:grid;place-items:center;width:22px;height:24px;border:1px solid #68d2db;background:#183d50;border-radius:50%;font-weight:700}.roster-row i{display:block;height:3px;background:linear-gradient(90deg,#44c9b1 var(--health),#314855 var(--health));margin-top:4px}.roster-row.down{color:#8b9aa5}.roster-row.down .roster-icon{border-color:#9b5e69;background:#442733}#status{top:auto;bottom:max(20px,env(safe-area-inset-bottom));left:30px;right:30px;display:flex;align-items:flex-end;justify-content:space-between;z-index:4;pointer-events:none;font-size:13px}.vital{width:180px;padding:10px 13px;background:var(--ui-panel);border:1px solid var(--ui-line);border-radius:8px}.vital b{font-size:21px;margin-left:10px}.vital i{display:block;height:6px;margin-top:7px;background:linear-gradient(90deg,#5cd8bc var(--health),#3f4b58 var(--health));border-radius:2px}.weapon-info{display:flex;align-items:center;gap:10px;border:1px solid var(--ui-line);border-radius:8px;background:var(--ui-panel);padding:10px 14px}.weapon-info svg{width:55px;height:33px;stroke:#d8f4f3;fill:none;stroke-width:1.4}.weapon-info span{font-size:12px}.weapon-info small{display:block;color:#8db7bf;font-size:10px;margin-top:4px}.weapon-info strong{font-size:29px;font-variant-numeric:tabular-nums}.weapon-info em{font-style:normal;font-size:13px;color:#9dbac5}.respawn-card{margin:auto;padding:12px 22px;background:#342333e8;border:1px solid #d78b9a;border-radius:9px;color:#fff0f3}#feed{top:90px;right:20px;max-width:36vw;font-size:11px;line-height:1.8;color:#e0f7f7;background:#0a1d2b90;padding:6px 10px;border-left:2px solid #56b9c5;border-radius:4px}#feed:empty{display:none}#cross{font-size:24px;color:#d6f7f4bb;text-shadow:0 0 4px #08232d}#battle-settings{position:fixed;right:74px;top:max(14px,env(safe-area-inset-top));padding:8px;width:42px;height:40px;z-index:7;font-size:20px}#pause-desktop{right:18px;top:max(14px,env(safe-area-inset-top));height:40px;min-width:42px;padding:8px 12px;z-index:7}#fullscreen{right:132px;top:max(14px,env(safe-area-inset-top));height:40px;min-height:40px;padding:8px 10px;z-index:7}#export-performance{display:none}#invulnerable-badge{position:fixed;left:50%;top:86px;transform:translate(-50%);z-index:6;padding:5px 9px;font-size:10px;border-color:#c3d981;background:#2c412ccc;color:#dfffaa}#invulnerable-badge[hidden],#team-roster[hidden]{display:none}body:not(.playing) #hud,body:not(.playing) #team-roster,body:not(.playing) #map-toggle,body:not(.playing) #feed,body:not(.playing) #battle-settings,body:not(.playing) #invulnerable-badge{display:none}#settings{background:#081f2ff5;border:1px solid var(--ui-line);border-radius:12px;color:#e3f4f5;padding:22px}#settings h2{font-size:21px;letter-spacing:3px;color:#b5f1f3;border-bottom:1px solid #497581;padding-bottom:12px}#settings label{font-size:13px;color:#cce0e5}#settings input{accent-color:#4cd0d2}#settings .god-setting{padding:10px;background:#233f3f;border:1px solid #82b29388;border-radius:7px}.god-setting small{display:block;font-size:10px;color:#a8c8bc;margin-top:5px}#settings input[type=checkbox]{width:22px;height:22px}#settings select{background:#102e40;border-color:#72adb5}#leaderboard{max-height:30vh;border:1px solid #4a8e9a;padding:9px;background:#0a1f2cc9;border-radius:6px}#leaderboard p{font-variant-numeric:tabular-nums;color:#cce6e9;font-size:12px;border-bottom:1px solid #2c526133;margin:0;padding:5px}#full-map{width:min(1000px,94vw);max-width:94vw;max-height:94dvh;padding:14px;background:#061a28f5;border-color:#78d7e4;box-shadow:0 0 0 100vmax #020b12cc}#full-map::backdrop{background:#020c16ad}#full-map header{display:flex;justify-content:space-between;align-items:center}#full-map h2{font-size:18px;margin:0;letter-spacing:2px}#full-map p{font-size:11px;color:#9dbfca;margin:4px 0 8px}#map-close{font-size:22px;padding:6px 12px}#full-map-canvas{width:100%;height:min(65vh,560px);object-fit:contain;display:block;border:1px solid #447d8c;border-radius:6px;touch-action:none;cursor:grab;background:#0b202d}#full-map footer{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:10px;color:#c4e2e7;margin-top:8px}#full-map footer button{padding:8px 14px}#map-zoom-value{min-width:35px;text-align:center}@media(pointer:coarse){#map-toggle{left:max(10px,env(safe-area-inset-left));top:max(8px,env(safe-area-inset-top));width:92px}#map-toggle span{font-size:8px}#team-roster{left:calc(env(safe-area-inset-left) + 112px);top:max(8px,env(safe-area-inset-top));width:100px;padding:3px 5px}.roster-row{font-size:8px;padding:2px 0;gap:4px}.roster-icon{width:16px;height:18px}.roster-row small{font-size:7px}.roster-row i{height:2px;margin-top:2px}#hud{top:max(8px,env(safe-area-inset-top));min-width:260px;max-width:48vw;font-size:11px}#hud .score{padding:7px 9px;min-width:72px;gap:5px}.score b{font-size:20px}.match-clock{font-size:18px;padding:6px 10px}.match-clock small{font-size:8px}.ffa-score{font-size:10px;padding:7px}#status{left:calc(env(safe-area-inset-left) + 145px);right:calc(env(safe-area-inset-right) + 285px);top:auto;bottom:max(9px,env(safe-area-inset-bottom));gap:8px}.vital{width:100px;padding:7px 9px}.vital b{font-size:17px;margin-left:6px}.vital i{height:4px;margin-top:5px}.weapon-info{padding:6px 9px;gap:7px}.weapon-info svg{width:36px;height:26px}.weapon-info span{font-size:10px}.weapon-info strong{font-size:21px}.weapon-info small{font-size:8px}.weapon-info em{font-size:10px}#feed{top:77px;right:15px;max-width:36vw;font-size:9px;padding:3px 7px}#battle-settings{right:70px;top:max(8px,env(safe-area-inset-top));width:36px;height:36px;padding:5px}#fullscreen{right:115px;top:max(8px,env(safe-area-inset-top));height:36px;min-height:36px;font-size:10px;padding:5px 8px}#invulnerable-badge{top:68px;font-size:9px}#touch button{border-color:#8cdce599;background:radial-gradient(circle,#26495ed9,#0b2233c9);box-shadow:inset 0 0 9px #59bbc41a;color:#ddf8f8}#touch svg{width:27px;height:27px;stroke-width:1.7}#stick{border-color:#8cdce588;background:radial-gradient(circle,#33596e88,#0b223333)}.panel{width:min(420px,51vw);padding:14px 17px}.panel h1{font-size:34px;margin:3px 0}.panel h2{font-size:12px;letter-spacing:3px;margin:6px 0}.panel .intro{font-size:11px;margin:6px 0}.panel small{font-size:9px;letter-spacing:2px}.mode-cards{margin:8px 0;gap:6px}.mode-cards button{padding:8px}.mode-cards b{font-size:17px}.mode-cards span{font-size:10px}.panel .help{font-size:8px}.developer{font-size:10px;margin:6px 0}.menu-links{gap:6px}.panel .menu-links button{padding:7px;font-size:10px}#menu{padding:8px 5vw;background-position:65% center}.panel label{font-size:10px;margin:3px 6px 6px 0}.panel select{font-size:10px;padding:5px}.panel #start{padding:9px;font-size:14px}.panel .rules span{font-size:9px;padding:4px 5px}#full-map-canvas{height:58vh}#full-map h2{font-size:15px}#full-map footer{font-size:9px}#full-map footer button{padding:6px 10px}#full-map{padding:10px}.god-setting small{font-size:9px}}@media(max-width:740px)and (orientation:landscape){#team-roster{display:none}#hud{min-width:240px;max-width:46vw}#status{left:135px;right:225px}.weapon-info svg{display:none}.vital{width:85px}.weapon-info span{display:none}.panel{width:49vw}.panel h1{font-size:28px}.panel .help{display:none}#fullscreen{font-size:9px;right:104px}.mode-cards button{padding:6px}.mode-cards span{font-size:9px}#map-toggle{width:80px}#feed{top:70px;font-size:8px}}@media(orientation:portrait){.panel{width:min(460px,90vw);margin:auto;background:#061c2bd9}#menu{padding:18px;background-position:65% center}.panel .help{display:none}}#quality-effective{font-size:11px;line-height:1.5;color:#a7dce3;margin:6px 0 12px;max-width:36em}#fullscreen-hint{max-width:min(460px,80vw);font-size:12px;line-height:1.5}#startup-status{font-size:11px;line-height:1.5;color:#b4dfe5;margin:7px 0}#startup-details{font-size:10px;color:#b4c9d1;margin:5px 0}#startup-log{max-height:130px;overflow:auto;white-space:pre-wrap;word-break:break-all;font-size:9px}#art-retry{font-size:11px;padding:6px 10px}#art-retry[hidden]{display:none}
