/* The game owns the screen. Safe insets belong to controls, never to the world. */
html,body{width:100%;height:100%;height:100dvh;overflow:hidden;overscroll-behavior:none;background:#0a1021}
body{touch-action:manipulation}
/* The app's chrome is not a document to select or drag. Editable fields retain
   native selection/copy menus; browser pinch zoom remains available in menus. */
:where(#game,#main,.top,#debrief,#dialog){-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}
:where(#game,#main,.top,#debrief,#dialog) :where(img,svg,canvas){-webkit-user-drag:none}
:where(#game,#main,.top,#debrief,#dialog) :where(button,[role=button]){touch-action:manipulation;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}
#game :where(button,[role=button],canvas,.joystick){touch-action:none}
:where(#game,#main,.top,#debrief,#dialog) :where(input,textarea,select,[contenteditable]:not([contenteditable=false]),[data-allow-selection]){-webkit-touch-callout:default;-webkit-user-select:text;user-select:text}
html[data-native-touch=true] :where(input,textarea,select,[contenteditable]:not([contenteditable=false])){font-size:max(16px,1em)}
.top{position:fixed;inset:0 0 auto;z-index:2;border:0;background:linear-gradient(#080f20d9,transparent)}
.top-inner{width:100%;height:76px;padding:12px max(24px,env(safe-area-inset-right)) 12px max(24px,env(safe-area-inset-left))}
.top-nav button:not([data-open=settings]),.top-actions .language{display:none}
.top-nav{margin-inline-start:auto}.top-nav button{background:#13213bc9;border:1px solid #5e81b954;border-radius:13px;min-width:46px;min-height:46px;padding:10px}
.top-actions .account{min-height:46px;background:#13213bc9;border-color:#5e81b954}
.landing.shell{position:fixed;inset:0;width:100%;padding:0;margin:0}
.landing>.section,.landing>.foot{display:none}
.hero{height:100%;min-height:0;max-height:none;border:0;border-radius:0;box-shadow:none;background:#0c172b}
.hero-art img{object-position:65% 48%}.hero-art{opacity:.65}
.hero::after{background:linear-gradient(90deg,#0a1024f5 2%,#0c172be8 27%,#0e1c3533 70%),linear-gradient(0deg,#0a1024 0%,transparent 28%)}
.hero-portrait{inset:0 0 50px 25%;opacity:0}
.hero-copy{margin-inline-start:max(6vw,env(safe-area-inset-left));padding:30px 0 55px;width:44%;max-width:650px}
.hero h1{font-size:clamp(52px,7.3vw,110px);margin-bottom:20px;letter-spacing:-.065em;line-height:.88}
.hero p{font-size:clamp(14px,1.4vw,20px);line-height:1.4;max-width:30ch;margin:0 0 24px;color:#d4e2fb}
.eyebrow{font-size:11px;margin-bottom:22px;letter-spacing:.15em}.hero-index{opacity:.5}
.role-picker{gap:8px;margin-bottom:20px}.role-pick{min-height:46px;padding:10px 16px;border-radius:12px;font-size:14px;background:#142542e6}
.role-pick[aria-pressed=true]{background:color-mix(in srgb,var(--pick) 18%,#15213c);box-shadow:inset 0 0 0 1px var(--pick)}
.hero .hero-play{min-width:228px;min-height:62px;font-size:23px;border-radius:16px;background:linear-gradient(110deg,#ffcf76,#ffa65c);box-shadow:0 5px 0 #824b2d,0 10px 35px #ffa75625;color:#291d17}
.hero[data-role=police] .hero-play{background:linear-gradient(110deg,#9beaff,#5bafff);box-shadow:0 5px 0 #284d83,0 10px 35px #5baeff28;color:#102943}
.hero-note{margin-top:16px;font-size:12px;color:#a8bfdc}.hero-note [data-icon]{color:#8ce5ce}
.art-label{inset:auto max(32px,env(safe-area-inset-right)) 112px auto;background:#11243de8;border-color:#6493b96e;border-radius:14px;padding:13px 16px;min-height:60px;min-width:210px}
.art-label small{letter-spacing:.09em;font-size:9px;color:#9eb9db}.art-label strong{font-size:16px;color:#e6f2ff}.art-label .plate-index{width:34px;height:34px;background:#2c5579;color:#a4eaff;padding:8px}
.home-dock{position:absolute;bottom:max(18px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);display:flex;gap:8px;padding:7px;border:1px solid #5a7ba14d;background:#0b182be8;border-radius:20px;max-width:calc(100% - 30px)}
.home-dock button{display:flex;align-items:center;gap:10px;justify-content:center;background:transparent;border:0;border-radius:13px;padding:14px 20px;min-height:52px;font-size:13px;font-weight:800;white-space:nowrap}
.home-dock button:hover{background:#29476b}.home-dock button:nth-child(1) [data-icon]{color:#c5a4ff}.home-dock button:nth-child(2) [data-icon]{color:#8be8ed}.home-dock button:nth-child(3) [data-icon]{color:#ffd477}.home-dock button:nth-child(4) [data-icon]{color:#a4edac}
.dialog{background:linear-gradient(140deg,#192c48,#111d32);border-color:#5d88bb66;border-radius:20px;max-height:calc(100dvh - 20px)}
.dialog::backdrop{backdrop-filter:none;background:#040a18be}
.dialog .btn{min-height:46px;border-radius:12px}.dialog h2{letter-spacing:-.03em}.dialog .form select{min-height:46px}.dialog-inner{padding:24px}
.dialog[data-screen=operations]{width:min(800px,calc(100vw - 24px))}
.operation-form{grid-template-columns:1.2fr 1fr;align-items:end}.operation-form .operation-summary,.operation-form .operation-actions{grid-column:1/-1}
.operation-summary{display:flex;align-items:center;gap:16px;background:#09182c;border:1px solid #40688d;border-radius:14px;padding:12px}
.operation-summary img{width:110px;height:66px;object-fit:cover;border-radius:9px}.operation-summary strong,.operation-summary small{display:block}.operation-summary strong{font-size:19px}.operation-summary small{font-size:12px;color:#a4bad6;margin-top:5px}
.operation-actions{display:flex;gap:10px;align-items:center}.operation-actions .btn.primary{min-width:180px}.online-options{display:grid;gap:8px;margin-top:16px}.online-options .btn{width:100%;justify-content:space-between}
.match-menu-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.match-menu-grid .btn{white-space:normal}.match-menu-grid .primary{grid-column:1/-1}
.match-menu-state{font-size:12px;color:#96b4d9;margin-bottom:15px}
#game{display:block;inset:0;width:100%;height:100dvh;max-height:none}
#game .arena{position:absolute;inset:0;width:100%;height:100%;overflow:hidden}
#game .match-header{position:absolute;inset:max(12px,env(safe-area-inset-top)) max(14px,env(safe-area-inset-right)) auto max(14px,env(safe-area-inset-left));padding:0;border:0;box-shadow:none;background:none;display:flex;height:46px;gap:8px;pointer-events:none;z-index:3}
#game .match-id{display:none}
#game .score{position:absolute;left:50%;transform:translateX(-50%);height:46px;padding:6px 13px;gap:10px;border:1px solid #acc5f03d;background:#0b1629d9;border-radius:14px}
#game .team{gap:0}#game .team>span:not([data-icon]){display:none}#game .team [data-icon]{width:20px;height:20px}
#game .timer{padding:0 6px;min-width:74px;border:0}#game .timer strong{font-size:25px;color:#f3f7ff}#game .timer small{display:none}
#game #match-settings{pointer-events:auto;margin-inline-start:auto;width:46px;height:46px;background:#101d32df;border-color:#a4bce44a;border-radius:14px}
#game #match-priority{position:absolute;left:calc(50% + 89px);inset-block-start:0;height:46px;display:flex;align-items:center;gap:10px;pointer-events:none}
#game .hud-loot{min-height:42px;padding:6px 10px;background:#17233bdd;border:1px solid #d8bd7454;border-radius:13px;color:#ffe1a0;font-size:17px}
#game .partner-card{position:fixed;top:max(12px,env(safe-area-inset-top));inset-inline-start:max(14px,env(safe-area-inset-left));inset-inline-end:auto;bottom:auto;max-width:190px;height:46px;padding:8px 11px;font-size:11px;background:#0d1e33d9;border:1px solid #7795bf42;border-radius:14px;gap:7px}
#game .partner-card small{display:none}#game .partner-card .partner-name{max-width:90px;overflow:hidden;text-overflow:ellipsis}#game .partner-card #partner-status{font-size:10px}
#game .ops-panel{top:max(68px,calc(env(safe-area-inset-top) + 58px));inset-inline-start:max(14px,env(safe-area-inset-left));gap:5px;max-width:245px}
#game .objective{font-size:13px;padding:9px 11px;border-radius:11px;background:#0e1c31d9;border-color:#90afd83d;max-width:245px;min-height:35px}
#game .ops-zone,#game .ops-relay,#game .bag-slots,#game .ops-alert{display:none!important}
#game .objective-status{max-width:245px;padding:8px 10px;border-radius:11px;background:#0d1b30e8;box-shadow:none}#game .objective-status small{display:none}#game .objective-status strong{font-size:11px}#game .objective-status b{font-size:13px}
#game .objective-status[data-tone=""],#game #mechanism-status:not([data-tone=active]):not([data-tone=warn]),#game #getaway-status[data-tone=""],#game #tactic-status[data-tone=""]{display:none!important}
#game #power-status:not([data-tone=warn]):not([data-tone=active]),#game #ghost-status{display:none!important}
#game .mini-button{top:max(68px,calc(env(safe-area-inset-top) + 58px));inset-inline-end:max(14px,env(safe-area-inset-right));width:46px;height:46px;padding:11px;border-radius:14px;background:#10213add;border-color:#93b3dc4a;z-index:3}
#game #mini-map{display:none}#game .mini-button>span:not([data-icon]){display:none}#game .mini-button>[data-icon]{width:22px;height:22px;color:#a4ddff}
#game .exit-strip{display:none!important}#game .waypoint{top:70px;font-size:11px;padding:6px 10px;max-width:35vw}
#game .match-foot{position:absolute;bottom:max(20px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);padding:0;border:0;background:none;box-shadow:none;z-index:3}
#game .movement-note,#game .match-tools>button:not(#pass),#game #speaking{display:none!important}
#game #pass{border:1px solid #a7ffdc;background:#193e3bf0;border-radius:14px;min-height:48px;min-width:120px;font-size:14px;font-weight:850;box-shadow:0 3px 18px #0005}#game #pass:disabled{display:none}
#game .request-bag{position:absolute;bottom:max(22px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);z-index:3;min-height:46px;font-size:13px;font-weight:800;border-radius:14px;padding:10px 14px;background:#163738ed;border-color:#79c9ba}
#game .actions{inset:auto max(18px,env(safe-area-inset-right)) max(22px,env(safe-area-inset-bottom)) auto;gap:9px;z-index:3;align-items:center}
#game .ability{width:68px;height:68px;min-height:68px;border-radius:50%;padding:12px 6px 9px;gap:4px;background:#122d4be8;border:1px solid #8db8e16b;box-shadow:0 4px 18px #03102470}
#game .ability b{font-size:10px;line-height:1.08}#game .ability [data-icon]{width:23px;height:23px}#game .ability.act{width:90px;height:90px;min-height:90px;background:linear-gradient(145deg,#ffdf85,#ffad62);border:2px solid #ffe2a6;color:#242338}
#game .ability.act:not(.in-range){background:#243552e6;color:#c0cee3;border-color:#809bbc73}
#game .ability.act.in-range{box-shadow:0 0 0 5px #ffcb6523,0 4px 20px #ffb44f30}
#game .ability kbd{position:absolute;top:-5px;inset-inline-end:0;font-size:9px;background:#1d3148}
#game .ability small{border-radius:9px;bottom:calc(100% + 5px);padding:4px;font-size:14px;background:#0d1931ed;color:#ffe2a4}
#game .ability.cooling{border-color:#58738e;color:#91a9c5;background:#132039e6}
#game .joystick{left:max(28px,env(safe-area-inset-left));bottom:max(22px,env(safe-area-inset-bottom));width:112px;height:112px;border:2px solid #b0d3ee57;background:radial-gradient(circle,#719abb21 30%,#112a4480 31%,#172d458a 65%);box-shadow:inset 0 0 0 8px #13223b60,0 4px 30px #0003;z-index:3}
#game .joystick #stick{width:46px;height:46px;margin:-23px;background:linear-gradient(145deg,#aed8f2aa,#4b85b0c9);border:1px solid #d3f0ffb5;box-shadow:0 4px 9px #0005}
#game .sprint-touch{left:max(153px,calc(env(safe-area-inset-left) + 125px));bottom:max(25px,env(safe-area-inset-bottom));min-width:58px;min-height:58px;width:58px;height:58px;border-radius:50%;padding:9px;background:#203e43e3;color:#c0f4c9;border-color:#a3d4a573;z-index:3}
#game .sprint-touch b{font-size:10px}#game .sprint-touch [data-icon]{width:22px;height:22px}
#game .sprint-gauge{left:max(52px,calc(env(safe-area-inset-left) + 24px));bottom:max(143px,calc(env(safe-area-inset-bottom) + 121px));background:none;border:0;padding:0;width:62px;box-shadow:none}
#game .sprint-gauge .gauge-track{width:62px;height:4px}#game .sprint-gauge>[data-icon],#game .sprint-gauge kbd{display:none}
#game .match-banner{top:70px;left:50%;inset-inline-start:auto;transform:translateX(-50%);max-width:min(540px,62vw);width:max-content;padding:13px 18px;border-radius:14px;border:1px solid #e4c17991;box-shadow:0 8px 32px #0005;background:#13223bf2;z-index:4;pointer-events:none}
#game .match-banner strong{font-size:18px;line-height:1.15}#game .match-banner small{font-size:12px;line-height:1.3;margin-top:5px}#game .match-banner .notice-icon{width:30px;height:30px}
#game .lesson{bottom:130px;max-width:45%;border-radius:12px;background:#152943f2;font-size:13px;z-index:4}
#game .action-meter{bottom:30%;width:100px;left:50%;transform:translateX(-50%);height:6px;border-radius:8px;background:#0b1425aa;z-index:2}
.debrief{background:radial-gradient(ellipse at 80% 45%,#234867,#0a1529 70%)}.debrief-details,.tactical-recap{margin-top:14px}.debrief-top{display:none}.debrief-wrap{padding-block:26px;min-height:100dvh}.debrief-actions .primary{min-height:54px;font-size:17px}.debrief-actions{gap:8px}.debrief-copy h1{font-size:clamp(38px,6vw,80px)}
@media(any-pointer:coarse){#game .joystick,#game .sprint-touch{display:flex}#game .joystick{display:block}#game .ability kbd{display:none}}
@media(max-height:500px) and (orientation:landscape){
 .top-inner{height:52px;padding:6px max(16px,env(safe-area-inset-right)) 6px max(16px,env(safe-area-inset-left))}.wordmark{font-size:10px;gap:6px}.wordmark img{width:30px;height:30px}.top-nav button,.top-actions .account{min-height:38px;padding:7px 10px;font-size:11px}.top-nav button{min-width:38px}.top-inner{gap:10px}
 .hero-copy{padding:32px 0 56px;width:45%;margin-inline-start:max(5vw,env(safe-area-inset-left))}.hero h1{font-size:clamp(39px,6.9vw,67px);margin-bottom:12px}.eyebrow{font-size:9px;margin-bottom:12px}.hero p{font-size:13px;margin-bottom:13px;max-width:29ch}.role-picker{margin-bottom:12px;gap:6px}.role-pick{min-height:36px;padding:6px 11px;font-size:11px;border-radius:10px}.hero .hero-play{min-height:47px;min-width:178px;font-size:19px;border-radius:12px}.hero-note{font-size:10px;margin-top:10px}.hero-portrait{inset:0 0 36px 28%}
 .home-dock{bottom:max(8px,env(safe-area-inset-bottom));border-radius:15px;padding:4px;gap:2px}.home-dock button{padding:8px 16px;min-height:39px;font-size:11px;gap:7px}.home-dock [data-icon]{width:17px;height:17px}.art-label{bottom:72px;right:max(18px,env(safe-area-inset-right));padding:9px 11px;min-width:190px;min-height:48px}.art-label strong{font-size:13px}.art-label small{font-size:8px}.art-label .plate-index{width:30px;height:30px}
 .dialog-inner{padding:19px}.dialog h2{font-size:25px;margin-bottom:7px}.dialog p{font-size:12px;margin-bottom:10px}.operation-form{gap:10px}.operation-summary{padding:8px}.operation-summary img{height:48px;width:85px}.operation-summary strong{font-size:15px}.operation-summary small{font-size:11px}.dialog .form select{min-height:42px}.dialog .btn{min-height:42px}.dialog-actions{margin-top:9px}
 #game .match-header{top:max(8px,env(safe-area-inset-top));height:40px}#game .score{height:40px;border-radius:12px;padding:4px 9px;gap:6px}#game .timer{min-width:65px}#game .timer strong{font-size:23px}#game #match-priority{left:calc(50% + 77px);height:40px}#game .hud-loot{min-height:38px;font-size:15px;padding:5px 8px}
 #game #match-settings{width:40px;height:40px;border-radius:12px}#game .partner-card{height:40px;top:max(8px,env(safe-area-inset-top));font-size:10px;max-width:165px;padding:6px 8px}#game .partner-card #partner-status{font-size:9px}#game .partner-card .partner-name{max-width:70px}
 #game .ops-panel{top:58px;max-width:205px}#game .objective{font-size:11px;min-height:29px;padding:6px 9px;max-width:205px}#game .objective-status{padding:5px 8px;max-width:205px}#game .objective-status strong{font-size:10px}
 #game .mini-button{top:58px;width:40px;height:40px;padding:9px}#game .mini-button>[data-icon]{width:20px;height:20px}#game .match-banner{top:57px;max-width:55vw;padding:10px 14px;gap:9px}#game .match-banner strong{font-size:16px}#game .match-banner small{font-size:11px}#game .match-banner .notice-icon{width:25px;height:25px}
 #game .actions{bottom:max(16px,env(safe-area-inset-bottom));gap:7px}#game .ability{width:58px;height:58px;min-height:58px;padding:9px 5px;gap:3px}#game .ability.act{width:78px;height:78px;min-height:78px}#game .ability b{font-size:9px}#game .ability [data-icon]{width:21px;height:21px}
 #game .joystick{width:96px;height:96px;bottom:max(16px,env(safe-area-inset-bottom));left:max(24px,env(safe-area-inset-left))}#game .joystick #stick{width:40px;height:40px;margin:-20px}#game .sprint-touch{left:max(132px,calc(env(safe-area-inset-left) + 108px));width:52px;height:52px;min-width:52px;min-height:52px;bottom:max(18px,env(safe-area-inset-bottom))}
 #game .sprint-gauge{left:max(43px,calc(env(safe-area-inset-left) + 19px));bottom:max(122px,calc(env(safe-area-inset-bottom) + 106px));width:58px}#game .sprint-gauge .gauge-track{width:58px}
 #game .match-foot,#game .request-bag{bottom:max(18px,env(safe-area-inset-bottom))}#game #pass{min-height:43px;min-width:105px;font-size:12px}#game .request-bag{font-size:11px;min-height:42px;max-width:125px}#game .lesson{bottom:114px;font-size:11px}
 .debrief-wrap{padding:14px 24px}.debrief-copy h1{font-size:39px}.debrief-actions .btn{font-size:12px;min-height:44px;padding-inline:12px}.debrief-tag{margin-bottom:8px}.debrief-details,.tactical-recap{margin-top:9px}.debrief-grid{gap:20px}
}
@media(max-width:650px) and (orientation:landscape){.hero h1{font-size:43px}.hero p{font-size:11px}.hero-note{display:none}.hero .hero-play{min-width:155px}.home-dock button{padding-inline:12px}.home-dock button span:not([data-icon]){font-size:10px}.art-label{min-width:166px;right:12px;bottom:65px}.art-label small{font-size:7px}.hero-copy{width:49%}#game .partner-card{max-width:120px}#game .partner-name{display:none}#game .ops-panel,#game .objective{max-width:170px}#game .match-banner{max-width:55vw}#game .match-banner strong{font-size:14px}#game .match-banner small{font-size:10px}#game .actions{gap:5px;inset-inline-end:max(12px,env(safe-area-inset-right))}#game .ability{width:49px;height:49px;min-height:49px}#game .ability.act{width:67px;height:67px;min-height:67px}#game .ability b{font-size:8px}#game .joystick{width:86px;height:86px;left:max(16px,env(safe-area-inset-left))}#game .sprint-touch{left:max(110px,calc(env(safe-area-inset-left) + 94px));width:46px;height:46px;min-width:46px;min-height:46px}#game .sprint-gauge{left:31px;bottom:110px}#game .request-bag,#game #pass{min-width:0;max-width:95px;font-size:10px;padding:7px}#game .request-bag [data-icon],#game #pass [data-icon]{width:15px;height:15px}}
@media(orientation:portrait){.hero-copy{width:86%;align-self:flex-end;padding-bottom:170px;margin-inline-start:7vw}.hero h1{font-size:clamp(50px,13vw,80px)}.hero-portrait{inset:0 -40% 30% 0}.hero::after{background:linear-gradient(0deg,#0b142a 15%,#0b142ad9 45%,transparent 85%)}.hero-copy p{max-width:26ch}.hero-note{display:none}.art-label{bottom:104px;left:7vw;right:auto;min-width:220px}.home-dock{gap:0;width:calc(100% - 24px);justify-content:space-around}.home-dock button{flex-direction:column;gap:5px;padding:9px 7px;font-size:10px;min-width:0}.top-actions .account{font-size:10px}.top-nav button>span:not([data-icon]){display:none}.operation-form{grid-template-columns:1fr}.operation-summary,.operation-actions{grid-column:auto}}
[dir=rtl] .hero-portrait{inset-inline-start:25%;inset-inline-end:0}[dir=rtl] .hero-copy{margin-inline-start:6vw;margin-inline-end:0}[dir=rtl] .home-dock{transform:translateX(-50%)}[dir=rtl] #game .match-banner{transform:translateX(-50%)}[dir=rtl] #game .partner-card{left:auto;right:max(14px,env(safe-area-inset-right))}[dir=rtl] #game #match-settings{margin-inline-start:auto}
#game .arena .match-banner{inset-inline:auto;left:50%;right:auto;top:70px;inset-block-start:70px;margin:0;transform:translateX(-50%);max-width:min(540px,60vw);width:max-content;padding:13px 18px}
#game .joystick #stick{inset:50% auto auto 50%}
#game .match-tools>#ptt:not([hidden]){display:inline-flex!important;min-height:46px;border-radius:13px;background:#183b58e8;padding:9px 12px;font-size:12px}
#game .arena .actions{inset-inline:auto;left:auto;right:max(18px,env(safe-area-inset-right));width:max-content;pointer-events:none}
#game .arena .actions>button{pointer-events:auto}
@media(max-height:500px) and (orientation:landscape){.art-label{bottom:83px;max-width:42vw}.hero-note{font-size:9px}}
@media(max-width:650px) and (orientation:landscape){.art-label{bottom:75px;max-width:43vw}.art-label strong{overflow-wrap:anywhere;font-size:12px}.art-label .art-arrow{display:none}.hero-note{display:none}#game .arena .actions{right:max(12px,env(safe-area-inset-right))}}
@media(max-height:500px) and (orientation:landscape){#game .arena .match-banner{top:57px;inset-block-start:57px;max-width:55vw;width:max-content;padding:10px 14px}#game .joystick{display:block}#game .sprint-touch{display:grid;justify-items:center;align-content:center}}
@media(max-width:650px) and (orientation:landscape){#game .arena .match-banner{inset-inline:auto;left:50%;right:auto;max-width:55vw;padding:8px 11px}}

/* Right-thumb sprint and an always-visible team plan; the world stays edge to edge. */
#game .arena .sprint-touch{inset-inline:auto;left:auto;right:max(34px,env(safe-area-inset-right));bottom:calc(max(22px,env(safe-area-inset-bottom)) + 104px);border:3px solid transparent;background:linear-gradient(145deg,#153d3f,#142d45) padding-box,conic-gradient(from -90deg,#9affd8 var(--stamina,100%),#365365 0) border-box;color:#e0fff1;box-shadow:0 4px 18px #07132460}
#game #sprint-gauge{display:none!important}
#game .arena .ops-panel{inset-inline:auto;left:max(14px,env(safe-area-inset-left));right:auto}
#game .arena .mini-button{width:176px;height:134px;inset-inline:auto;right:max(14px,env(safe-area-inset-right));left:auto;padding:3px;border-radius:13px;display:flex;flex-direction:column;gap:0;overflow:hidden;background:#0b182deb;border:1px solid #8ac8d461;box-shadow:0 4px 16px #04101c48}
#game .arena #mini-map{display:block;width:168px;height:112px;position:static;inset:auto;border-radius:9px}
#game .arena .mini-button>.mini-map-caption{display:flex;align-items:center;justify-content:space-between;width:100%;gap:5px;padding:2px 5px;font-size:9px;line-height:12px;color:#d3e4ee}
.mini-map-caption .map-key{display:flex;align-items:center;gap:4px;white-space:nowrap}.mini-map-caption i{width:6px;height:6px;border-radius:50%;display:block;box-shadow:0 0 0 1px #071522}.mini-map-caption .map-self{background:#fff3ae}.mini-map-caption .map-partner{background:#80efcf}.mini-map-caption kbd{padding:0 3px;font-size:8px;line-height:12px}
#dialog[data-screen=tactical]{width:min(1060px,calc(100vw - 20px));max-height:calc(100dvh - 20px)}
#dialog[data-screen=tactical] .dialog-inner{padding:14px 18px}
#dialog[data-screen=tactical] h2{font-size:26px;margin:0 40px 5px 0}
#dialog[data-screen=tactical] p{font-size:12px;margin:0 35px 10px 0}
.tactical-layout{display:grid;grid-template-columns:minmax(0,1fr) 166px;gap:12px;align-items:start}
#dialog .tactical-layout #tactical-big{display:block;width:100%;height:clamp(140px,calc(100dvh - 98px),620px);max-height:none;border:1px solid #47697e;border-radius:13px;background:#101725}
.tactical-layout .tactical-legend{display:grid;grid-template-columns:1fr;gap:7px;max-height:clamp(140px,calc(100dvh - 98px),620px);overflow:auto;margin:0;align-content:start}
.tactical-layout .tactical-legend .btn{min-height:43px;font-size:11px;white-space:normal;padding:8px}
@media(max-height:500px) and (orientation:landscape){#game .arena .sprint-touch{right:max(31px,env(safe-area-inset-right));bottom:calc(max(16px,env(safe-area-inset-bottom)) + 92px)}#game .arena .mini-button{top:58px;width:176px;height:134px}.tactical-layout{grid-template-columns:minmax(0,1fr) 145px;gap:9px}.tactical-layout .tactical-legend .btn{min-height:38px}}
@media(max-width:650px) and (orientation:landscape){#game .arena .sprint-touch{right:max(23px,env(safe-area-inset-right));bottom:calc(max(16px,env(safe-area-inset-bottom)) + 77px)}#game .arena .mini-button{top:56px;right:max(12px,env(safe-area-inset-right));width:136px;height:108px}#game .arena #mini-map{width:128px;height:86px}.mini-map-caption kbd{display:none}.tactical-layout{grid-template-columns:minmax(0,1fr) 116px;gap:7px}#dialog[data-screen=tactical] .dialog-inner{padding:11px}#dialog[data-screen=tactical] h2{font-size:22px}#dialog[data-screen=tactical] p{font-size:10px;margin-bottom:7px}.tactical-layout .tactical-legend .btn{font-size:10px;min-height:34px;padding:6px}}
@media(orientation:portrait){.tactical-layout{grid-template-columns:1fr}.tactical-layout .tactical-legend{grid-template-columns:repeat(2,minmax(0,1fr));max-height:130px}}
@media(max-height:500px) and (orientation:landscape){#dialog[data-screen=tactical] p{display:none}#dialog .tactical-layout #tactical-big{height:calc(100dvh - 96px);max-height:none}.tactical-layout .tactical-legend{max-height:calc(100dvh - 96px)}}
