html,body{width:100%;max-width:100%;height:100%;margin:0;overflow:hidden;overscroll-behavior:none}body{height:100dvh}*,*:before,*:after{box-sizing:border-box}*{scrollbar-width:none}*::-webkit-scrollbar{width:0;height:0;display:none}:is(header,footer,nav,form,section,aside,main)>*{min-width:0}:is(input,select,textarea){max-width:100%}:is(dialog,.modal){max-width:calc(100% - 24px);max-height:calc(100dvh - 24px);overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain}:is(#landing,#multiplayer,#campaign-app,#editor-app){width:100%;height:100dvh;min-height:0;overflow:hidden;padding-left:var(--safe-area-inset-left, env(safe-area-inset-left, 0px));padding-right:var(--safe-area-inset-right, env(safe-area-inset-right, 0px))}:is(#landing,#multiplayer,#campaign-app){display:flex;flex-direction:column}:is(#landing,#multiplayer,#campaign-app)>header{flex-shrink:0;padding-top:max(8px,var(--safe-area-inset-top, env(safe-area-inset-top, 0px)));gap:clamp(8px,2vw,24px)}:is(#landing,#multiplayer,#campaign-app)>footer{flex-shrink:0;padding-bottom:max(8px,var(--safe-area-inset-bottom, env(safe-area-inset-bottom, 0px)))}#landing>main{flex:1;min-height:0;overflow:hidden;display:flex}#landing>main>section{width:100%;min-height:0;height:100%;max-height:none;overflow-x:hidden;overflow-y:auto}#landing>main>section[hidden]{display:none}#landing .hero{padding:clamp(12px,3vh,40px) 6vw;align-items:center}#landing .hero-copy{width:min(550px,100%)}#landing h1{font-size:clamp(34px,min(6.4vw,9dvh),92px);margin:clamp(8px,2vh,22px) 0}#landing .intro{font-size:clamp(13px,2vh,18px);line-height:1.45;margin-bottom:clamp(10px,2vh,24px)}#landing .hero-actions{gap:8px}#landing .hero-actions :is(a,button){min-height:44px;padding:12px 18px;font-size:17px}#landing .hero-actions #install button{min-height:52px}#landing .platforms{margin-top:12px;line-height:1.5;letter-spacing:1px}#landing .hero-caption{bottom:24px}#landing :is(.brief,.access){padding:clamp(18px,4vh,50px) 6vw}#landing footer{padding:12px 6vw;gap:10px;flex-wrap:wrap}#landing header nav{flex-wrap:wrap;gap:12px}#landing header nav a[aria-current=page]{color:#70d0e8;border-bottom:2px solid #ed8a31;padding-bottom:6px}#game-flow{overflow:hidden;padding-left:var(--safe-area-inset-left, env(safe-area-inset-left, 0px));padding-right:var(--safe-area-inset-right, env(safe-area-inset-right, 0px))}#game-flow:not([data-page=intro]){display:grid;grid-template-rows:auto minmax(0,1fr) auto}#game-flow[hidden]{display:none}#game-flow header{gap:clamp(8px,2vw,24px)}#game-flow .gf-brand{flex-shrink:1;min-width:0}#game-flow .gf-top-nav{min-width:0;flex-wrap:wrap}#game-flow .gf-top-nav button{padding:8px clamp(6px,1vw,18px)}#game-flow footer{gap:8px;flex-wrap:wrap}#game-flow[data-page=main]>.gf-main{display:grid;grid-template-rows:auto minmax(0,1fr) auto;align-content:start;align-items:stretch;justify-content:start;gap:12px;height:100%;min-height:0;padding:18px 4vw;overflow:hidden}#game-flow .gf-title h1{margin:5px 0 8px}#game-flow .gf-title h1 strong{font-size:clamp(32px,5vh,56px)}#game-flow .gf-title p{font-size:10px}#game-flow[data-page=main] .gf-main>nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:minmax(0,1fr);width:min(660px,65vw);height:100%;min-height:0;max-height:none;margin:0;gap:5px;overflow:hidden}#game-flow[data-page=main] .gf-main>nav>button{min-height:0;height:100%;width:100%;margin:0;padding:6px 10px;gap:8px;font-size:clamp(12px,2vh,20px)!important;line-height:1.2;overflow-wrap:anywhere}#game-flow[data-page=main] .gf-main>nav>button:first-child{min-height:0}#game-flow[data-page=main] .gf-main>nav>button .gf-card-copy{font-size:inherit}#game-flow[data-page=main] .gf-main>nav>button small{font-size:clamp(8px,1.1vh,10px);letter-spacing:.4px;line-height:1.25;white-space:normal}#game-flow .gf-mission-stamp{width:min(660px,65vw);margin:0;padding:8px 12px}#game-flow .gf-mission-stamp strong{font-size:20px}#game-flow :is(.gf-brief-grid,.gf-pair){min-width:0}#game-flow .gf-brief-grid>*{min-width:0}#game-flow .gf-team-select{width:min(780px,92%);height:100%;min-height:0;margin:0 auto;padding:12px 0;overflow:auto}#game-flow .gf-team-cards{margin:14px 0}#game-flow .gf-team-choice{min-height:120px!important}#multiplayer>.layout{flex:1;min-height:0;min-width:0;overflow:hidden;grid-template-columns:minmax(160px,210px) minmax(0,1fr);padding:18px 4vw;gap:20px}#multiplayer .layout>aside{min-height:0;overflow-x:hidden;overflow-y:auto}#multiplayer .servers{display:flex;flex-direction:column;min-height:0;overflow-x:hidden;overflow-y:auto}#multiplayer .section-title{flex-shrink:0;flex-wrap:wrap;gap:8px;margin-bottom:12px}#multiplayer .table-wrap{flex:1;min-height:90px;overflow-x:hidden;overflow-y:auto}#multiplayer table{width:100%;min-width:0;table-layout:fixed}#multiplayer :is(td,th){padding:10px 8px;overflow-wrap:anywhere;letter-spacing:.5px}#multiplayer :is(th,td):first-child{width:43%}#multiplayer :is(th,td):last-child{width:24%}#multiplayer td button{max-width:100%;padding:8px;font-size:14px}#multiplayer header{padding:12px 4vw}#multiplayer header img{width:46px;height:46px}#campaign-app>main{display:flex;flex-direction:column;overflow:hidden;padding:16px 4vw;gap:12px}#campaign-app .campaign-heading{flex-shrink:0}#campaign-app .campaign-heading h1{font-size:clamp(22px,4vh,36px)}#campaign-app .campaign-heading p{margin:5px 0;font-size:12px}#campaign-app .campaign-layout{flex:1;width:100%;min-height:0;min-width:0;grid-template-columns:minmax(0,.65fr) minmax(0,1fr) minmax(0,1.1fr);gap:16px}#campaign-app .campaign-layout>*{min-height:0;min-width:0;max-height:100%;overflow-x:hidden;overflow-y:auto}#campaign-app .briefing{grid-column:auto}#campaign-app .recon{align-self:stretch;display:flex;flex-direction:column}#campaign-app .recon svg{flex:1;width:100%;min-height:0;max-height:none;margin:8px 0}#campaign-app .briefing h2{font-size:24px}#campaign-app .briefing>p,#campaign-app .briefing ol{font-size:12px}#campaign-app #campaign-deploy{position:sticky;bottom:0;background:#141d23;padding:10px 0 0}#campaign-app .mission-list button{padding:12px 10px}#editor-app .editor-layout{min-width:0;grid-template-columns:minmax(130px,230px) minmax(0,1fr) minmax(130px,250px)}#editor-app header{flex-wrap:wrap}#editor-app aside{overflow-x:hidden}#editor-app footer{flex-wrap:wrap}body:has(#operator) #app{height:100dvh;display:flex;flex-direction:column;overflow:hidden}body:has(#operator) #app>header,body:has(#operator) #app>footer{flex-shrink:0}body:has(#operator) #app>main{flex:1;min-height:0;width:100%;overflow-x:hidden;overflow-y:auto;padding:18px 24px}body:has(#operator) .title h1{font-size:clamp(28px,5vh,50px);margin:12px 0}body:has(#operator) .workbench{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);margin-top:16px}body:has(#operator) .stage canvas{max-height:calc(100dvh - 230px);object-fit:contain}body:has(#stage)>main{min-width:0;grid-template-columns:minmax(110px,200px) minmax(0,1fr)}body:has(#stage)>header{flex-shrink:0;flex-wrap:wrap;padding:12px 18px;gap:10px}body:has(#stage) #actions{left:12px;right:12px;bottom:12px;flex-wrap:wrap;align-items:center;gap:6px}body:has(#stage) #actions button{padding:8px;font-size:11px}body:has(#stage) #details{left:12px;right:12px;top:12px;overflow-wrap:anywhere}@media(max-width:850px){#game-flow .gf-channel{display:none}#game-flow .gf-top-nav button{font-size:14px;padding:6px 8px}#game-flow .gf-brand img{width:36px;height:44px}#game-flow .gf-brand{font-size:18px}#multiplayer>.layout{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr);gap:12px;padding:12px}#multiplayer .layout>aside{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;max-height:27dvh}#multiplayer aside details{grid-column:1/-1;margin:0}#multiplayer .tab{padding:10px;font-size:14px}#multiplayer #install button{height:100%;padding:8px;font-size:12px}#multiplayer #invite-form{flex-direction:row}#multiplayer #invite-form button{white-space:normal;font-size:14px;padding:8px}#multiplayer .hint{margin:8px 0;font-size:10px}#editor-app .editor-layout{grid-template-columns:150px minmax(0,1fr) 160px}}@media(max-width:600px){#landing header{height:auto;min-height:68px;flex-wrap:wrap;padding:8px 16px}#landing header .brand{font-size:18px}#landing header .brand img{width:38px;height:38px}#landing header nav{margin-left:auto;font-size:10px;gap:8px}#landing .hero{padding:12px 20px}#landing .hero-caption{display:none}#landing .features{gap:14px;margin-top:18px}#landing :is(.brief,.access) h2{font-size:28px;margin:10px 0}#landing .features h3{font-size:22px;margin:10px 0}#landing .features p{font-size:12px}#game-flow .gf-top-nav{display:none}#game-flow[data-page=main]>.gf-main{padding:12px 5vw;gap:8px}#game-flow[data-page=main] .gf-main>nav,#game-flow .gf-mission-stamp{width:90vw;max-width:100%}#game-flow[data-page=main] .gf-main>nav>button{padding:6px;gap:5px;font-size:14px!important}#game-flow[data-page=main] .gf-main>nav>button>b{min-width:16px;font-size:13px}#game-flow[data-page=main] .gf-main>nav>button>i{display:none}#game-flow .gf-title h1 strong{font-size:36px}#game-flow .gf-title small{font-size:8px}#game-flow .gf-mission-stamp strong{font-size:17px}#game-flow .gf-panel{padding:14px;margin:8px 5vw;width:auto}#multiplayer header{gap:8px}#multiplayer header h1{font-size:18px}#multiplayer header small{font-size:8px;letter-spacing:.6px}#multiplayer .back{max-width:70px;text-align:right}#multiplayer :is(th,td){font-size:11px;padding:8px 4px}#campaign-app .campaign-layout{grid-template-columns:minmax(0,.9fr) minmax(0,1.3fr);grid-template-rows:auto minmax(0,1fr);gap:10px}#campaign-app .mission-list{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));max-height:23dvh;gap:5px;overflow-x:hidden}#campaign-app .mission-list button{min-width:0;margin:0;padding:8px;gap:4px}#campaign-app .mission-list strong{font-size:16px}#campaign-app .mission-list :is(small,span){font-size:8px;letter-spacing:.2px}#campaign-app .recon{padding:8px}#campaign-app .briefing h2{font-size:19px}#campaign-app .fields{grid-template-columns:1fr;gap:6px}#campaign-app .fields input{padding:8px}#campaign-app .deploy{padding:10px;font-size:16px}#campaign-app header .brand span{font-size:17px}#editor-app .editor-layout{grid-template-columns:120px minmax(0,1fr)}#editor-app #inspector{max-width:45vw;top:110px}body:has(#operator) .workbench{grid-template-columns:1fr}body:has(#operator) #app>header{margin:0 16px;gap:8px;flex-wrap:wrap;min-height:58px}}@media(orientation:landscape)and (max-height:500px){#landing header{height:54px;min-height:54px;padding:6px 4vw}#landing .brand{font-size:19px}#landing .brand img{width:40px;height:40px}#landing .badge{display:none}#landing .hero-copy{width:min(450px,70%)}#landing .eyebrow{font-size:9px;margin:4px 0}#landing h1{font-size:clamp(28px,8dvh,42px);margin:6px 0}#landing .intro{font-size:12px;margin:6px 0 10px;max-width:430px}#landing .hero-actions{grid-template-columns:1fr 1fr;gap:5px;max-width:490px}#landing .hero-actions .primary{grid-column:1/-1}#landing .hero-actions :is(a,button),#landing .hero-actions #install button{min-height:38px;padding:7px 10px;font-size:14px}#landing .hero-actions #install button small{font-size:8px}#landing .platforms{font-size:9px;margin:8px 0 0}#landing footer{padding:6px 4vw;font-size:9px}#landing .features{gap:16px;margin-top:12px}#game-flow[data-page=main]>.gf-main{padding:8px 4vw;gap:6px;grid-template-rows:auto minmax(0,1fr)}#game-flow .gf-title h1{font-size:18px;margin:3px 0}#game-flow .gf-title h1 strong{font-size:28px}#game-flow[data-page=main] .gf-main>nav{width:min(850px,92vw);grid-template-columns:repeat(3,minmax(0,1fr))}#game-flow[data-page=main] .gf-main>nav>button{padding:5px 7px;font-size:13px!important}#game-flow[data-page=main] .gf-main>nav>button>i{display:none}#game-flow[data-page=main] .gf-main>nav>button small{font-size:8px}#game-flow .gf-mission-stamp{display:none}#game-flow header{padding:4px 3vw}#game-flow footer{padding:6px 3vw;font-size:7px}#campaign-app header{padding:6px 3vw}#campaign-app>main{padding:8px 3vw;gap:6px}#campaign-app .campaign-heading p{display:none}#campaign-app .campaign-layout{grid-template-columns:minmax(0,.65fr) minmax(0,.8fr) minmax(0,1.3fr)}#campaign-app .campaign-heading h1{font-size:22px}#multiplayer header{padding:6px 3vw}#multiplayer header img{width:34px;height:34px}#multiplayer>.layout{grid-template-columns:minmax(130px,20%) minmax(0,1fr);grid-template-rows:minmax(0,1fr);gap:12px}#multiplayer .layout>aside{display:flex;max-height:none}#multiplayer .section-title h2{font-size:24px}#multiplayer .section-title button{padding:6px 10px;font-size:14px}}.game-display-button{position:fixed;right:12px;bottom:10px;z-index:120;width:38px;height:34px;min-height:34px;display:grid;place-items:center;border:1px solid #799baa66;border-radius:3px;background:#0c1925e8;color:#c8dfeb;font:22px/1 sans-serif;cursor:pointer;padding:0;transition:opacity .1s}.game-display-button:hover{background:#24506b}.game-display-button:focus-visible{outline:2px solid #e8a34a;outline-offset:3px}@media(pointer:coarse){.game-display-button{bottom:calc(10px + env(safe-area-inset-bottom,0px))}}
