:root{--bg:#060b08;--panel:#0c1511;--panel2:#101d17;--panel3:#14261c;--line:#234330;--line2:#315c40;--text:#e5f2e8;--muted:#86a58e;--green:#63f263;--green2:#2dcf58;--amber:#ffd36a;--red:#ff6f79;--cyan:#67d6dc;--shadow:0 14px 40px #0009}*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden;background:radial-gradient(circle at 30% -20%,#153020 0,#07100c 33%,var(--bg) 72%);color:var(--text);font-family:Inter,"Segoe UI",Arial,sans-serif}button,input,select,textarea{font:inherit}button,.buttonLink{border:1px solid var(--line2);background:#102219;color:var(--text);padding:.68rem .82rem;border-radius:4px;font-weight:850;letter-spacing:.045em;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}button:hover,.buttonLink:hover{border-color:var(--green);background:#173524}button.primary{background:#154226;border-color:#3b9d55;color:#dffff0}button.danger{background:#431b22;border-color:#8a3b45;color:#ffd6d9}.topbar{height:66px;display:flex;align-items:center;justify-content:space-between;padding:0 16px;border-bottom:1px solid var(--line);background:#07110cf2;box-shadow:0 8px 30px #0008;position:relative;z-index:10}.brand{display:flex;align-items:center;gap:10px}.mark{display:grid;place-items:center;width:38px;height:38px;border:1px solid #4e9765;background:#0d2016;color:var(--green);font-size:22px;font-weight:1000;clip-path:polygon(10% 0,90% 0,100% 50%,90% 100%,10% 100%,0 50%)}.brand b{display:block;font-size:16px;letter-spacing:.22em}.brand small{display:block;color:var(--muted);font-size:8px;letter-spacing:.14em;margin-top:3px}.statusline{display:flex;align-items:center;gap:9px;font-size:11px}.statusline>span:not(.time):not(.dot){color:var(--muted)}.dot{width:8px;height:8px;border-radius:50%;background:#69736b;box-shadow:0 0 0 4px #69736b22}.dot.online{background:var(--green);box-shadow:0 0 0 4px #63f26322,0 0 16px #63f26355}.time{display:grid;grid-template-columns:auto auto;gap:5px;align-items:baseline;padding-left:8px;border-left:1px solid var(--line)}.time b{font:800 13px Consolas,monospace}.time small{font-size:7px;color:var(--muted)}.layout{height:calc(100vh - 66px);display:grid;grid-template-columns:92px 1fr}.rail{padding:7px;border-right:1px solid var(--line);background:#08110d;display:flex;flex-direction:column;gap:5px;overflow:hidden}.rail button{height:58px;padding:4px;background:transparent;border-color:transparent;color:#799183;display:flex;flex-direction:column;gap:3px}.rail button span{font-size:18px}.rail button b{font-size:8px}.rail button.active{background:linear-gradient(90deg,#163922,#0e2317);border-color:#2e6840;color:var(--green);box-shadow:inset 3px 0 var(--green)}.main{padding:11px;overflow:hidden}.page{display:none;height:100%;min-height:0}.page.active{display:flex;flex-direction:column}.pageHead{height:58px;flex:0 0 58px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #173021;margin-bottom:9px;padding:0 4px}.pageHead h1{font-size:20px;margin:3px 0 0;letter-spacing:.035em}.eyebrow{font-size:8px;letter-spacing:.19em;color:var(--green);font-weight:900}.contextBadge,.badge{border:1px solid #315d40;background:#0c1b12;color:#a7c8ad;padding:6px 9px;border-radius:3px;font:800 9px Consolas,monospace;letter-spacing:.06em}.card{background:linear-gradient(180deg,#102017,#0b1510);border:1px solid var(--line);border-radius:6px;padding:13px;box-shadow:var(--shadow);min-height:0;overflow:hidden}.card h2{font-size:15px;margin:3px 0 9px}.megaGrid{flex:1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:1fr 1fr;gap:9px;min-height:0}.homeGrid .missionHero{grid-column:span 2}.wide2{grid-column:span 2}.heroLine{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}.heroLine>*{border:1px solid #244632;background:#08130d;padding:8px;border-radius:3px}.heroLine b{font-size:17px;color:#dff8e4}.heroLine span{color:var(--muted);font-size:11px}.quickActions{display:flex;gap:6px;flex-wrap:wrap;margin-top:12px}.bigNumber{font:1000 43px Consolas,monospace;margin:5px 0}.bigText{font-size:18px;font-weight:900;min-height:38px;margin:7px 0}.meter{height:8px;background:#040805;border:1px solid #1d3727;margin:6px 0 10px}.meter i{display:block;width:0;height:100%;background:linear-gradient(90deg,var(--green2),var(--green));transition:.2s}.kv{display:flex;align-items:center;justify-content:space-between;padding:7px 0;border-top:1px solid #183122;font-size:10px}.kv span,.statusMatrix span,.instrumentStrip span,.controlAxes span{color:var(--muted);font-size:8px;letter-spacing:.09em}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}.metrics>div,.statusMatrix>div,.instrumentStrip>div{background:#07100b;border:1px solid #1d3827;padding:8px;min-width:0}.metrics span{display:block;color:var(--muted);font-size:8px}.metrics b{font:850 15px Consolas,monospace}.instrumentStrip{display:grid;grid-template-columns:repeat(6,1fr);gap:6px}.instrumentStrip span{display:block}.instrumentStrip b{font:900 19px Consolas,monospace;color:#f0fff2}.instrumentStrip small{display:block;font-size:7px;color:var(--muted)}.sectionHead{display:flex;justify-content:space-between;align-items:flex-start}.list{display:flex;flex-direction:column;gap:5px;overflow:auto;min-height:0;max-height:calc(100% - 35px);scrollbar-color:#3b784c #07100b}.list.compact{max-height:100%}.row{border:1px solid #1d3828;background:#08130d;padding:8px;border-radius:4px;display:grid;gap:3px}.row .top{display:flex;justify-content:space-between;gap:8px;align-items:center}.row small{color:var(--muted)}.tag{display:inline-block;padding:2px 5px;border:1px solid #30533a;border-radius:3px;font-size:8px;color:#9db5a2}.tag.ok{color:var(--green);border-color:#2a6d3b}.tag.warn{color:var(--amber);border-color:#725e2a}.tag.bad{color:var(--red);border-color:#71323a}.tripleGrid{flex:1;display:grid;grid-template-columns:1fr 1fr 1.45fr;gap:9px;min-height:0}.statusMatrix{display:grid;grid-template-columns:1fr 1fr;gap:5px}.statusMatrix span{display:block}.statusMatrix b{display:block;font:800 14px Consolas,monospace;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.medicalBig{font:900 32px Consolas,monospace;color:var(--green);margin:10px 0}.notice{margin-top:10px;padding:9px;border:1px solid #294a34;background:#09150e;color:var(--muted);font-size:10px;line-height:1.45}.rosterCard{display:flex;flex-direction:column}.roster .row{grid-template-columns:1fr auto}.roster .sub{grid-column:1/-1;display:flex;gap:5px;flex-wrap:wrap}.groundGrid{grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:.8fr 1.2fr}.damageList{display:grid;gap:7px;margin-top:7px}.damageList>div{display:grid;grid-template-columns:62px 1fr 42px;gap:7px;align-items:center;font-size:8px;color:var(--muted)}.damageList i{display:block;height:8px;border:1px solid #274631;background:linear-gradient(90deg,var(--green) 0 var(--pct,0%),#061009 var(--pct,0%))}.damageList b{font:800 11px Consolas;color:var(--text);text-align:right}.flightGrid{flex:1;display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:1.2fr .8fr;gap:9px;min-height:0}.flightGrid .instruments{grid-column:span 2;display:grid;grid-template-columns:1.25fr .75fr;gap:10px}.flightPrimary{grid-template-columns:repeat(3,1fr);align-content:start}.attitude{display:flex;flex-direction:column;gap:8px}.attitudeViewport{position:relative;flex:1;min-height:160px;overflow:hidden;border:1px solid #355644;background:#0b1510}.horizon{position:absolute;left:-20%;right:-20%;top:-40%;height:180%;transform-origin:50% 50%;transition:transform .08s linear}.sky{height:50%;background:linear-gradient(#1a5667,#2c7684)}.earth{height:50%;background:linear-gradient(#725532,#392c1d)}.hline{position:absolute;top:50%;left:0;right:0;height:2px;background:#fff9}.aircraftSymbol{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font:900 25px Consolas;color:var(--amber);text-shadow:0 1px 3px #000}.attitudeNums{display:flex;justify-content:space-between;color:var(--muted);font-size:8px}.attitudeNums b{font:800 11px Consolas;color:var(--text)}.controlAxes{display:grid;gap:10px}.controlAxes>div{display:grid;grid-template-columns:70px 1fr 45px;gap:6px;align-items:center}.controlAxes i{height:7px;border:1px solid #274631;background:linear-gradient(90deg,#0b2114 49%,var(--green) 50%,#0b2114 51%);position:relative}.controlAxes i:after{content:"";position:absolute;top:-4px;width:7px;height:13px;background:var(--amber);left:calc(var(--axis,50%) - 3px)}.controlAxes b{font:800 10px Consolas;text-align:right}.mapLayout{flex:1;display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:9px;min-height:0}.mapCard{padding:0;display:flex;flex-direction:column}.mapToolbar{height:48px;flex:0 0 48px;display:flex;align-items:center;justify-content:space-between;padding:7px 10px;border-bottom:1px solid var(--line)}.mapToolbar small{display:block;color:var(--muted);font-size:8px;margin-top:2px}.mapToolbar button{padding:5px 8px}.mapCard canvas{width:100%;height:100%;min-height:0;background:#06100b;touch-action:none}.mapSide{overflow:auto}.mapSide label,label{display:block;color:var(--muted);font-size:8px;letter-spacing:.08em;margin:8px 0}input,select,textarea{width:100%;margin-top:4px;background:#06100a;border:1px solid #294632;color:var(--text);padding:8px;border-radius:3px}textarea{resize:none}.coords{display:grid;grid-template-columns:1fr 1fr;gap:5px}.coords b{font:900 18px Consolas;background:#07110b;border:1px solid #294632;padding:7px}.toggle{display:flex;gap:6px;align-items:center;font-size:10px}.toggle input{width:auto;margin:0}.mapSide hr,.card hr{border:0;border-top:1px solid #1f3a29;margin:12px 0}.splitGrid{flex:1;display:grid;grid-template-columns:1fr 1fr;gap:9px;min-height:0}.fullHeight>.card{display:flex;flex-direction:column}.radioList .row{grid-template-columns:1fr auto}.missionGrid{flex:1;display:grid;grid-template-columns:1.2fr 1.2fr .8fr;gap:9px;min-height:0}.timeline .row{border-left:3px solid #3f8d5a}.timeline .row.KILLED,.timeline .row.HIT{border-left-color:var(--red)}.commandGrid{flex:1;display:grid;grid-template-columns:1.15fr 1fr 1fr;grid-template-rows:1fr 1fr;gap:9px;min-height:0}.commandGrid .card{display:flex;flex-direction:column}.miniList{margin-top:7px}.formGrid{display:grid;grid-template-columns:1fr 1fr;gap:0 7px}.buttonLink{margin-top:10px}.notesCard textarea{flex:1;min-height:0;resize:none;font:14px Consolas,monospace}.sharedNotes{flex:1;white-space:pre-wrap;background:#06100a;border:1px solid #284630;padding:12px;overflow:auto;font:13px Consolas,monospace}.offline{opacity:.55}#toast{position:fixed;right:15px;bottom:15px;z-index:50;background:#173322;border:1px solid #4a9b61;color:#e6ffeb;padding:10px 13px;border-radius:4px;box-shadow:var(--shadow);transform:translateY(70px);opacity:0;transition:.2s;pointer-events:none}#toast.show{transform:none;opacity:1}@media(max-width:1100px){.statusline>#groupText{display:none}.megaGrid{grid-template-columns:1fr 1fr}.homeGrid .missionHero,.wide2{grid-column:span 1}.tripleGrid{grid-template-columns:1fr 1fr}.rosterCard{grid-column:span 2}.flightGrid{grid-template-columns:1fr 1fr}.flightGrid .instruments{grid-column:span 2}.missionGrid{grid-template-columns:1fr 1fr}.missionGrid .card:last-child{grid-column:span 2}.commandGrid{grid-template-columns:1fr 1fr}}@media(max-width:760px){html,body{overflow:auto}.topbar{height:58px;padding:0 9px}.brand small,.statusline>#serverText,.statusline>#roleText,.statusline>#groupText{display:none}.statusline{gap:5px}.statusline .time:last-child{display:none}.layout{display:block;height:auto}.rail{position:fixed;z-index:40;left:0;right:0;bottom:0;height:62px;display:grid;grid-template-columns:repeat(9,1fr);border:1px solid var(--line);padding:3px;overflow-x:auto}.rail button{height:54px;min-width:58px}.rail button span{font-size:15px}.main{padding:7px;padding-bottom:70px;overflow:auto}.page{height:auto;min-height:calc(100vh - 135px)}.pageHead{height:auto;min-height:54px}.pageHead h1{font-size:16px}.megaGrid,.tripleGrid,.groundGrid,.flightGrid,.missionGrid,.commandGrid,.splitGrid,.mapLayout{display:grid;grid-template-columns:1fr!important;grid-template-rows:auto!important}.homeGrid .missionHero,.wide2,.rosterCard,.flightGrid .instruments,.missionGrid .card:last-child{grid-column:auto}.card{min-height:180px}.instrumentStrip,.flightPrimary{grid-template-columns:repeat(3,1fr)}.flightGrid .instruments{display:block}.attitude{margin-top:9px}.mapCard{height:58vh}.mapSide{height:auto}.list{max-height:42vh}.sharedNotes,.notesCard textarea{min-height:45vh}.contextBadge{display:none}}
