@import "https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700&family=Inter:wght@400;500;600;700;800&display=swap";:root{--bg:#061727;--panel:#071d31f2;--panel-2:#0b2740;--line:#24506c;--line-soft:#1b3b52;--text:#eaf4fb;--muted:#93afc3;--dim:#5f7d92;--blue:#1aa6ff;--cyan:#43dfff;--green:#3ddc79;--amber:#ffc53d;--red:#ff4d5e;--orange:#ff9a1f;--air:#1aa6ff;--ground:#ff9a1f;--gates:#2fd36b;--cond:"Barlow Condensed", Arial Narrow, Arial, sans-serif;--gap:14px;--top:66px;--bottom:86px;--ls:1.25;--panel-a:.7;color:var(--text);background:var(--bg);font-synthesis:none;font-family:Inter,Arial,sans-serif}*{box-sizing:border-box}[hidden]{display:none!important}body{min-width:900px;margin:0;overflow:hidden}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0;transition:background .15s,border-color .15s,filter .15s}button:hover:not(:disabled){filter:brightness(1.18)}button:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}button:disabled{opacity:.4;cursor:default}small{color:var(--muted);font-size:10px;display:block}#scene{position:fixed;inset:0}#scene canvas{touch-action:none;display:block}#paths{pointer-events:none;width:100%;height:100%;position:fixed;inset:0;overflow:hidden}#labels{pointer-events:none;position:fixed;inset:0;overflow:hidden}.green{color:var(--green)}.amber{color:var(--amber)}.red{color:var(--red)}header{z-index:5;background:linear-gradient(#0a2238,#041526);border-bottom:1px solid #2d5875;align-items:center;gap:22px;height:56px;padding:0 18px;display:flex;position:relative;box-shadow:0 3px 14px #00101f55}.brand{letter-spacing:-1.4px;white-space:nowrap;font:italic 800 26px Inter,Arial}.brand span{color:#ffd02f;margin-left:6px;font-size:20px}.airport{white-space:nowrap;border-left:1px solid #ffffff1c;padding-left:18px}.airport b{font:700 19px var(--cond);letter-spacing:.5px}.airport small{font:500 11px var(--cond);letter-spacing:.6px;color:#9fc8e2}.wx{white-space:nowrap;grid-template-columns:auto auto;align-items:center;column-gap:7px;display:grid}.wx .sun{color:#ffd257;grid-row:span 2;font-size:22px}.wx b{font:600 20px var(--cond);line-height:1}.wx small{font:500 10px var(--cond);letter-spacing:.5px}.stat{white-space:nowrap;border-left:1px solid #ffffff1c;padding-left:18px}.stat small{font:500 11px var(--cond);letter-spacing:.6px;margin-bottom:2px}.stat b{font:600 21px var(--cond)}.stat.level b{font-size:16px}.stat.level i{background:linear-gradient(90deg, var(--cyan) var(--xp), #ffffff18 0);border-radius:3px;min-width:90px;height:3px;margin-top:4px;display:block}.controls{gap:6px;margin-left:auto;display:flex}.controls button{min-width:36px;height:34px;font:600 13px var(--cond);letter-spacing:.5px;background:#0b2a42;border:1px solid #3c6581;border-radius:6px;padding:0 10px}main{inset:var(--top) 0 0 0;pointer-events:none;position:fixed}main>*{pointer-events:auto}.panel{background:linear-gradient(160deg, rgb(8 33 58/calc(var(--panel-a) * .85)), rgb(5 23 41/var(--panel-a)) 40%);border:1px solid var(--line);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:8px;box-shadow:0 10px 30px #00101f66}#sector{left:var(--gap);width:392px;max-height:calc(100% - var(--bottom) - 6px);scrollbar-width:thin;scrollbar-color:#33586f transparent;position:absolute;top:0;overflow:auto}.sector-head{border-bottom:1px solid var(--line-soft);background:rgb(7 28 48/calc(var(--panel-a) + .15));z-index:1;border-radius:8px 8px 0 0;align-items:center;gap:12px;padding:11px 13px;display:flex;position:sticky;top:0}.sector-num{width:38px;height:38px;font:700 30px var(--cond);color:#04192b;background:var(--air);border-radius:5px;flex-shrink:0;place-items:center;display:grid}.sector-head b{font:700 21px var(--cond);letter-spacing:.6px;color:var(--air)}.sector-head small{font:500 12px var(--cond);color:#c8dcea;letter-spacing:.2px;margin-top:1px}.sector-head.ground .sector-num{background:var(--ground)}.sector-head.ground b{color:var(--ground)}.sector-head.gates .sector-num{background:var(--gates)}.sector-head.gates b{color:var(--gates)}.wind{text-align:center;white-space:nowrap;background:#051628;border:1px solid #2f5873;border-radius:6px;margin-left:auto;padding:4px 8px}.wind small{font:500 10px var(--cond)}.wind b{font:600 14px var(--cond);display:block}.wind b i{transform:rotate(var(--r));color:var(--cyan);font-style:normal;display:inline-block}.wind span{font:700 11px var(--cond);color:var(--green);background:#0b3a26;border:1px solid #2c7a4a;border-radius:3px;margin-top:3px;padding:1px 0;display:block}.table{padding:8px 10px 10px}.table h3{font:700 13px var(--cond);letter-spacing:1px;text-transform:uppercase;color:#cfe3f1;margin:4px 2px 7px}.table h3 span{color:var(--muted);font-weight:500}.rows{gap:3px;display:grid}.row{text-align:left;background:rgb(12 42 66/calc(var(--panel-a) * .8));width:100%;font:500 13px var(--cond);color:#d8e8f3;border:1px solid #0000;border-radius:4px;align-items:center;gap:6px;padding:6px 8px;display:grid}.row b{letter-spacing:.3px;color:#fff;font-size:14px;font-weight:700}.arrivals .row{grid-template-columns:16px 62px 38px 1fr 50px 44px 28px}.departures .row{grid-template-columns:16px 62px 38px 1fr 34px}.movements .row{grid-template-columns:64px 1fr 36px}.row>span:first-child{color:var(--muted)}.movements .row>span:first-child{color:inherit}.row>span:last-child{text-align:right;color:var(--muted)}.row em{color:#cfe3f1;font-style:normal}.row.selected{background:linear-gradient(90deg,#0d5584,#0a3553);border-color:#3fb8ff}.row.alert{background:linear-gradient(90deg,#6a1623,#3d1420);border-color:#ff4d5e88}.row.alert.selected{border-color:#ff8b95}.row.warn:not(.selected){background:#2d2a1acc}.empty{color:var(--dim);margin:4px;font-size:11px}.pill{font:700 11px var(--cond);letter-spacing:.5px;white-space:nowrap;text-overflow:ellipsis;border-radius:3px;max-width:100%;padding:2px 6px;display:inline-block;overflow:hidden}.pill.blue{color:#9fdcff;background:#10456b}.pill.cyan{color:#7eefff;background:#0b4f5f}.pill.green{color:#b3ffcf;background:#11653c}.pill.amber{color:#ffe08a;background:#6b4d0e}.pill.red{color:#fff;background:#d8283a}.pill.grey{color:#b7cad8;background:#243b4c}.ground-tips{border:1px dashed #2f5873;border-radius:6px;margin:2px 10px 12px;padding:9px 10px}.ground-tips b{font:600 14px var(--cond);color:var(--ground)}.ground-tips small{margin-top:3px;line-height:1.5}.gate-grid{grid-template-columns:repeat(2,1fr);gap:8px;padding:10px;display:grid}.gate-card{text-align:left;color:#0d2536;background:#eaf1f5;border:2px solid #0000;border-radius:6px;grid-template-rows:auto auto auto;grid-template-columns:auto 1fr;column-gap:8px;padding:9px 10px;display:grid}.gate-card b{font:700 26px var(--cond);color:#0d2536;grid-row:span 2}.gate-card strong{font:700 15px var(--cond)}.gate-card small{color:#486579;font:500 12px var(--cond)}.gate-card em{font:600 12px var(--cond);color:#28506c;grid-column:span 2;margin-top:4px;font-style:normal}.gate-card progress{grid-column:span 2;width:100%;height:6px;margin-top:5px}.gate-card.free{color:var(--muted);background:#102c42;border-color:#24506c}.gate-card.free b{color:#7fa8c2}.gate-card.selected{border-color:var(--cyan);box-shadow:0 0 0 2px #43dfff44}.resources{gap:3px;display:grid}.resource{font:500 13px var(--cond);background:#0c2a42aa;border-radius:4px;grid-template-columns:22px 1fr auto 38px;align-items:center;gap:6px;padding:6px 8px;display:grid}.resource i{color:var(--cyan);text-align:center;font-style:normal}.resource b{text-align:right;font-size:15px}.resource em{color:var(--amber);font-size:12px;font-style:normal}.resource.out{background:#3a1520aa}.resource.out b,.resource.out span{color:#ff8b95}#mission{top:0;left:calc(var(--gap) * 2 + 392px);width:min(400px, calc(100% - 392px - 300px - var(--gap) * 5));padding:9px 12px;position:absolute}.mission-head{justify-content:space-between;align-items:baseline;width:100%;display:flex}.mission-head b{font:700 18px var(--cond);letter-spacing:.3px}.mission-head span{font:700 15px var(--cond);color:#ffd84f}#mission ul{font:500 13px var(--cond);color:#c5d8e5;gap:4px;margin:8px 0 4px;padding:0;list-style:none;display:grid}#mission li.done{color:#7ce99a}#mission p{color:#b9d1e1;margin:6px 0 0;font-size:11px;line-height:1.45}#radar{right:var(--gap);width:300px;padding:9px;position:absolute;top:0}.radar-head{font:700 12px var(--cond);letter-spacing:1px;justify-content:space-between;display:flex}.radar-head span{color:var(--cyan)}#minimap{border:1px solid #1d4058;border-radius:4px;width:100%;height:auto;margin-top:6px;display:block}#runways{gap:4px;margin-top:7px;display:grid}.rw{font:600 12px var(--cond);background:#0c2a42aa;border-radius:4px;grid-template-columns:34px 54px 1fr;align-items:center;gap:6px;padding:5px 7px;display:grid}.rw b{text-align:center;background:#2f4654;border:1px solid #748d99;border-radius:3px;font-size:13px}.rw span{color:var(--green);letter-spacing:.6px}.rw small{font:500 11px var(--cond);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.rw.busy span{color:var(--amber)}.rw.closed{background:#4a1820cc}.rw.closed span{color:#ff8b95}#card{right:var(--gap);width:300px;max-height:calc(100% - 262px - var(--bottom) - 6px);scrollbar-width:thin;scrollbar-color:#33586f transparent;padding:13px 14px;position:absolute;top:262px;overflow:auto}.card-empty b{font:600 18px var(--cond)}.card-empty small{margin-top:4px;line-height:1.5}.card-head{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.card-head h2{font:700 28px var(--cond);letter-spacing:.4px;margin:0;line-height:1}.card-head small{font:500 13px var(--cond);color:#a8c3d5;margin-top:3px}.portrait{object-fit:contain;filter:drop-shadow(0 3px 3px #0006);width:108px;height:54px;margin:-4px -6px 0 0}.card-status{justify-content:space-between;align-items:center;margin:8px 0 4px;display:flex}.card-status .pill{padding:3px 8px;font-size:12px}.card-status span:last-child{font:500 12px var(--cond);color:var(--muted)}.alert-banner{background:linear-gradient(90deg,#b51c2e,#7a1422);border:1px solid #ff6b77;border-radius:6px;margin:8px 0;padding:8px 10px;animation:1.2s ease-in-out infinite alternate pulse}.alert-banner b{font:700 15px var(--cond);letter-spacing:.4px;display:block}.alert-banner span{font:500 12px var(--cond);color:#ffd7db}@keyframes pulse{to{box-shadow:0 0 16px #ff4d5e88}}.metrics{border-bottom:1px solid var(--line-soft);gap:6px;padding:8px 0;display:flex}.metrics>div{flex:1}.metrics b{font:600 22px var(--cond)}.metrics small{font:500 10px var(--cond);letter-spacing:.6px}.metrics .warn b{color:var(--amber)}.control-title{font:600 12px var(--cond);letter-spacing:1px;color:#b8cfdf;text-transform:uppercase;margin:10px 0 5px}.stepper{grid-template-columns:1fr 1.2fr 1fr;gap:6px;display:grid}.stepper b{font:700 19px var(--cond);background:#051628;border:1px solid #2f5873;border-radius:5px;place-items:center;display:grid}.stepper button,.seg button,#card .wide,.tool-row button,.node-pick button{font:700 14px var(--cond);letter-spacing:.5px;background:linear-gradient(#123a55,#0a2439);border:1px solid #3f6f8c;border-radius:5px;padding:9px 6px}.seg{grid-template-columns:repeat(2,1fr);gap:6px;margin-top:6px;display:grid}.seg.three{grid-template-columns:repeat(3,1fr)}.seg button.on{color:#fff;background:linear-gradient(#2fbf64,#13863f);border-color:#72f0a0}.seg button.closed{color:#ff8b95}.seg button.amber{color:var(--amber)}#card .wide{width:100%;margin-top:7px;display:block}#card .primary{color:#fff;background:linear-gradient(#139bff,#0068d6);border-color:#62c3ff;padding:11px 6px;font-size:15px}.confirmed{text-align:center;color:#b9ffd6;font:700 14px var(--cond);letter-spacing:.6px;background:#0d5a3a;border:1px solid #4bd98c;border-radius:5px;margin-top:7px;padding:10px}.note{color:#a4c0d2;margin:9px 0 0;font-size:11px;line-height:1.5}.route{border-bottom:1px solid var(--line-soft);padding:8px 0}.route small{font:600 10px var(--cond);letter-spacing:1px}.route b{font:700 17px var(--cond);letter-spacing:.4px;margin-top:2px;display:block}.route progress{width:100%;height:5px;margin-top:6px}.node-pick{flex-wrap:wrap;gap:5px;margin-top:8px;display:flex}.node-pick button{color:#aee9ff;border-color:#3fc7ff;flex:1 0 60px}.tool-row{grid-template-columns:1fr 1fr;gap:6px;margin-top:8px;display:grid}.tool-row button{justify-content:center;align-items:center;gap:6px;display:flex}.tool-row button i{font-size:15px;font-style:normal}.tool-row button.on{background:linear-gradient(#a7761a,#6e4b0d);border-color:#ffc53d}.jobs{gap:6px;padding:9px 0;display:grid}.job{font:500 13px var(--cond);grid-template-columns:16px 1fr 84px;align-items:center;gap:6px;display:grid}.job i{text-align:center;font-style:normal;font-weight:700}.job.green i{color:var(--green)}.job.amber i{color:var(--amber)}.job.red i{color:var(--red)}.job.grey i{color:var(--dim)}.job em{color:#ff8b95;font-size:11px;font-style:normal}.job progress{width:100%;height:7px;margin:0}progress{appearance:none;background:#1d3a4f;border:0;border-radius:4px;height:6px;overflow:hidden}progress::-webkit-progress-bar{background:#1d3a4f}progress::-webkit-progress-value{background:var(--cyan)}progress::-moz-progress-bar{background:var(--cyan)}progress.green::-webkit-progress-value{background:var(--green)}progress.green::-moz-progress-bar{background:var(--green)}progress.amber::-webkit-progress-value{background:var(--amber)}progress.amber::-moz-progress-bar{background:var(--amber)}progress.red::-webkit-progress-value{background:var(--red)}progress.blue::-webkit-progress-value{background:var(--blue)}#toasts{left:50%;bottom:calc(var(--bottom) - 60px + 70px);pointer-events:none;flex-direction:column-reverse;gap:6px;width:380px;display:flex;position:absolute;transform:translate(-50%)}.toast{pointer-events:auto;text-align:left;background:#04213aef;border:1px solid #3c89aa;border-radius:7px;align-items:center;gap:11px;width:100%;padding:9px 13px;animation:.25s ease-out toast-in;display:flex;box-shadow:0 6px 20px #00101f66}.toast i{color:var(--cyan);text-align:center;width:18px;font-size:18px;font-style:normal}.toast b{font:700 15px var(--cond);letter-spacing:.3px}.toast small{color:#b6cfdf;margin-top:2px;font-size:11px;line-height:1.4}.toast.good{border-color:#3fae6b}.toast.good i{color:var(--green)}.toast.warn{border-color:#b78c2a}.toast.warn i{color:var(--amber)}.toast.alert{background:#3d0f19f2;border-color:#ff5a68}.toast.alert i{color:var(--red)}.toast:nth-child(n+2){opacity:.82}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}}nav{z-index:4;background:linear-gradient(#082a42f2,#041a2df2);border:1px solid #3d6b88;border-radius:9px;gap:5px;padding:5px;display:flex;position:fixed;bottom:12px;left:50%;transform:translate(-50%);box-shadow:0 8px 26px #00122566}nav button{min-width:92px;font:700 14px var(--cond);letter-spacing:.6px;color:#d2e4f1;background:#072438;border:1px solid #1f4760;border-radius:6px;flex-direction:column;align-items:center;gap:2px;padding:7px 12px;display:flex;position:relative}nav button span{font-size:20px;line-height:22px}nav button small{font:600 9px var(--cond);color:var(--dim);position:absolute;top:4px;right:7px}nav button.active{color:#fff}nav button[data-tab=AIR].active{border-color:var(--air);background:linear-gradient(#0a4e7d,#06263d);box-shadow:inset 0 0 12px #1aa6ff55}nav button[data-tab=GROUND].active{border-color:var(--ground);background:linear-gradient(#7a4508,#3a2106);box-shadow:inset 0 0 12px #ff9a1f55}nav button[data-tab=GATES].active{border-color:var(--gates);background:linear-gradient(#0f6a36,#07301b);box-shadow:inset 0 0 12px #2fd36b55}.view-tools{right:var(--gap);gap:5px;display:flex;position:absolute;bottom:14px}.view-tools button{background:#09293ef2;border:1px solid #3d6b88;border-radius:6px;width:36px;height:36px;font-size:18px}.tag,.node-tag,.gate-tag{pointer-events:auto;white-space:nowrap;will-change:transform;position:absolute;top:0;left:0}.tag{text-align:left;padding:calc(4px * var(--ls)) calc(8px * var(--ls));border:1px solid #3a6f8f;border-left:3px solid var(--c,var(--cyan));font:500 calc(11px * var(--ls)) var(--cond);color:#cfe3f1;background:#061a2ce6;border-radius:5px;margin-top:-10px;line-height:1.2;display:grid;box-shadow:0 3px 10px #00101f55}.tag:after{content:"";width:1px;height:var(--lead,10px);background:var(--c,var(--cyan));opacity:.7;position:absolute;top:100%;left:50%}.tag b{font:700 calc(14px * var(--ls)) var(--cond);color:#fff;letter-spacing:.3px}.tag em{color:#ff8b95;font-style:normal;font-weight:700}.tag.cyan{--c:var(--cyan)}.tag.amber{--c:var(--amber)}.tag.red{--c:var(--red);background:#3a0d18ee;border-color:#ff5a68}.tag.green{--c:var(--green)}.tag.blue{--c:var(--blue)}.tag.grey{--c:#7c95a6}.tag.ground{opacity:.88;padding:2px 7px 3px}.tag.ground b{font-size:calc(13px * var(--ls))}.tag.selected{border-color:var(--c,var(--cyan));box-shadow:0 0 0 1px var(--c,var(--cyan)), 0 0 18px #43dfff55;opacity:1;z-index:2}.tag:not(.selected){opacity:.9}body:not([data-tab=AIR]) .tag.air:not(.selected){display:none}.node-tag{padding:calc(4px * var(--ls)) calc(11px * var(--ls));min-width:calc(34px * var(--ls));font:700 calc(14px * var(--ls)) var(--cond);color:#7fb9d6;letter-spacing:.5px;opacity:.6;background:#06243ae0;border:1px solid #2c6f8f;border-radius:14px}.node-tag.option{opacity:1;color:#04192b;background:var(--cyan);border-color:#bff6ff;animation:1.4s ease-in-out infinite bob;box-shadow:0 0 12px #43dfffaa}.node-tag.picked{opacity:1;color:#fff;border-color:var(--cyan);background:#0d5584}@keyframes bob{50%{margin-top:-3px}}.gate-tag{padding:calc(3px * var(--ls)) calc(8px * var(--ls));color:#ffda53;font:700 calc(12px * var(--ls)) var(--cond);letter-spacing:.6px;background:#1d1a0ce6;border:1px solid #ffda53;border-radius:3px}.gate-tag.free{color:#87edba;background:#0b2418e6;border-color:#87edba}.gate-tag.option{color:#06200f;background:#87edba;box-shadow:0 0 12px #87edbaaa}dialog{color:var(--text);background:linear-gradient(135deg,#07344f,#041b30);border:1px solid #5aa7cf;border-radius:12px;max-height:90dvh;padding:28px;overflow:auto;box-shadow:0 30px 100px #00112199}#level-dialog{width:min(880px,100% - 40px)}#ops-dialog{width:min(900px,100% - 40px)}dialog::backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#001221a6}dialog h2{font:600 34px var(--cond);margin:8px 0}dialog>p{color:#b7cfdf;font-size:12px;line-height:1.6}.eyebrow{font:600 12px var(--cond);letter-spacing:1.4px;color:#74cffa}.level-cover{background:linear-gradient(#0000 30%,#061e37dd),url(/art/airport-cover.jpg) 50% 54%/cover;height:180px;margin:-28px -28px 22px;position:relative}.level-cover>span{letter-spacing:-1px;font:italic 800 30px Inter;position:absolute;bottom:34px;left:28px}.level-cover>small{color:#a2dcff;letter-spacing:3px;font-size:9px;position:absolute;bottom:18px;left:30px}.level-choices{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-top:18px;display:grid}.level-choices button{text-align:left;background:linear-gradient(#194760,#0c2d45);border:1px solid #53839e;border-radius:8px;padding:18px}.level-number{font:600 32px var(--cond);color:#ffda4f;display:block}.level-choices strong{font:600 22px var(--cond);margin-top:6px;display:block}.level-choices small{margin-top:4px;font-size:11px;line-height:1.4}.level-choices p{color:#bfd3df;min-height:90px;font-size:11px;line-height:1.6}.level-choices b{font:600 14px var(--cond);color:#6addff}.level-tip{text-align:center;margin:18px 0 0;font-size:11px!important}.result-stars{letter-spacing:6px;color:#ffd02f;font-size:32px}.result-stats{flex-wrap:wrap;gap:24px;margin:22px 0;display:flex}.result-stats b{font:600 27px var(--cond)}.level-actions{flex-wrap:wrap;gap:9px;display:flex}.level-actions button,#close-ops{font:600 14px var(--cond);letter-spacing:.5px;background:#1b435a;border:1px solid #578ca6;border-radius:5px;padding:12px 17px}.level-actions .primary,#close-ops{background:#007bdf;border-color:#45bbff}#close-ops{margin-top:18px}.shop-balance{font:600 30px var(--cond);color:#6ef48b;margin:14px 0}.shop-balance small{font:500 11px var(--cond);color:#b7d1de}.shop-grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px;display:grid}.shop-grid article{color:#142e3f;background:linear-gradient(#e5edf0,#cbd9dd);border-radius:8px;flex-direction:column;padding:13px;display:flex}.shop-asset{object-fit:contain;width:100%;height:82px;margin-bottom:6px}.shop-grid small{color:#496b80;font:600 11px var(--cond);text-transform:uppercase}.shop-grid h3{font:600 21px var(--cond);margin:2px 0}.shop-grid p{flex:1;margin:6px 0 12px;font-size:11px;line-height:1.5}.shop-grid button{color:#fff;font:600 15px var(--cond);background:linear-gradient(#2dd75b,#069341);border:1px solid #188c42;border-radius:5px;padding:9px}.shop-grid button:disabled{opacity:1;background:#6d8590;border-color:#8c9da6}@media (width<=1280px){header{gap:14px;padding:0 12px}.brand{font-size:22px}.brand span{font-size:17px}.stat{padding-left:12px}.stat b{font-size:18px}.stat.level i{min-width:70px}.airport{padding-left:12px}#sector{width:340px}#mission{left:calc(var(--gap) * 2 + 340px);width:calc(100% - 340px - 280px - var(--gap) * 4)}#radar,#card{width:280px}.arrivals .row{grid-template-columns:14px 56px 34px 1fr 44px 38px 24px;gap:4px;font-size:12px}.departures .row{grid-template-columns:14px 56px 34px 1fr 30px;gap:4px;font-size:12px}.row b{font-size:13px}.pill{padding:2px 4px;font-size:10px}.sector-head b{font-size:18px}.sector-head small{font-size:11px}}@media (width<=1080px){.airport,.wx small,header>.stat:nth-of-type(3){display:none}#sector{width:318px}#mission{left:calc(var(--gap) * 2 + 318px);width:calc(100% - 318px - 268px - var(--gap) * 4)}#radar,#card{width:268px}.arrivals .row{grid-template-columns:12px 52px 1fr 42px 36px 22px}.arrivals .row>span:nth-child(3){display:none}.departures .row{grid-template-columns:12px 52px 1fr 28px}.departures .row>span:nth-child(3),.wind{display:none}nav button{min-width:76px;padding:6px 8px}#toasts{width:320px}}@media (height<=820px){:root{--bottom:78px}#minimap{height:78px}#runways{grid-template-columns:1fr 1fr}.rw{grid-template-columns:30px 1fr;padding:3px 6px}.rw small{display:none}#card{max-height:calc(100% - 168px - var(--bottom) - 6px);padding:10px 12px;top:168px}.alert-banner{margin:5px 0;padding:5px 8px}.card-status{margin:5px 0 2px}.card-head h2{font-size:24px}.portrait{width:90px;height:44px}.control-title{margin:7px 0 4px}.stepper button,.seg button,#card .wide,.tool-row button{padding:7px 5px}#card .primary{padding:9px 6px}.note{margin-top:6px;font-size:10px}.metrics{padding:5px 0}.metrics b{font-size:19px}#mission ul{display:none}nav button{padding:5px 10px}nav button span{font-size:17px;line-height:18px}.table{padding:6px 8px 8px}.row{padding:4px 7px}}@media (prefers-reduced-motion:reduce){.node-tag.option,.alert-banner,.toast{animation:none}}.controls .icon{min-width:34px;padding:0;font-size:15px}.controls .icon.off{opacity:.45;text-decoration:line-through}.controls .icon.on{border-color:var(--cyan);color:var(--cyan)}nav button[data-tab=BUILD].active{background:linear-gradient(#5b3a8c,#2b1c45);border-color:#b48cff;box-shadow:inset 0 0 12px #b48cff55}.sector-head.build .sector-num{background:#b48cff}.sector-head.build b{color:#c9a8ff}.projects{gap:5px;display:grid}.project{text-align:left;background:#0c2a42aa;border:1px solid #0000;border-radius:6px;grid-template-columns:30px 1fr auto;align-items:center;gap:8px;width:100%;padding:9px 10px;display:grid}.project i{color:#c9a8ff;text-align:center;font-size:20px;font-style:normal}.project b{font:700 16px var(--cond);letter-spacing:.3px}.project small{font:500 11px var(--cond);text-transform:uppercase;letter-spacing:.6px}.project em{font:700 14px var(--cond);color:#ffd84f;font-style:normal}.project em.red{color:#ff8b95}.project em.green{color:var(--green)}.project.selected{background:linear-gradient(90deg,#4a2f75,#2a1d45);border-color:#b48cff}.project.owned:not(.selected){opacity:.7}.wide-link{width:100%;font:700 14px var(--cond);letter-spacing:.5px;color:#aee9ff;border:1px dashed #4d6f86;border-radius:6px;padding:10px}.project-desc{color:#cfe3f1;margin:10px 0 6px;font-size:12px;line-height:1.5}.effects{font:600 13px var(--cond);color:#8ff0b2;gap:3px;margin:0 0 6px;padding:0;list-style:none;display:grid}.plot-tag{pointer-events:auto;text-align:center;color:#eadcff;white-space:nowrap;background:#1d1135ee;border:1px solid #b48cff;border-radius:6px;padding:5px 10px;animation:1.8s ease-in-out infinite bob;display:grid;position:absolute;top:0;left:0;box-shadow:0 0 16px #b48cff66}.plot-tag b{font:700 14px var(--cond);letter-spacing:.4px}.plot-tag span{font:700 13px var(--cond);color:#ffd84f}.plot-tag.selected{color:#1a0d33;background:#b48cff}.plot-tag.selected span{color:#3a1d00}.control-title span{float:right;color:var(--cyan);letter-spacing:.4px;text-transform:none;font-weight:500}.chips{flex-wrap:wrap;gap:5px;display:flex}.chips button{font:700 13px var(--cond);letter-spacing:.4px;background:#0a2439;border:1px solid #3f6f8c;border-radius:5px;flex:1 0 44px;padding:6px 4px}.chips button.on{color:#fff;background:linear-gradient(#2fbf64,#13863f);border-color:#72f0a0}.chips button.clear{color:#ff8b95;flex:0 0 30px}#card .amber-btn{color:var(--amber);border-color:#b78c2a}#card .toggle.on{background:linear-gradient(#2fbf64,#13863f);border-color:#72f0a0}@media (height<=820px){.chips button{padding:4px 3px;font-size:12px}.project{padding:6px 8px}}#settings-dialog{width:min(720px,100% - 40px)}.settings-grid{grid-template-columns:1.1fr 1fr;gap:26px;margin-top:12px;display:grid}.settings-grid h3{font:700 15px var(--cond);letter-spacing:1px;text-transform:uppercase;color:#cfe3f1;justify-content:space-between;align-items:center;margin:4px 0 10px;display:flex}.settings-grid section>h3:not(:first-child){margin-top:18px}.settings-grid p{color:#9fb9ca;margin:8px 0 0;font-size:11px;line-height:1.5}.slider{font:600 14px var(--cond);grid-template-columns:118px 1fr 30px;align-items:center;gap:10px;margin:9px 0;display:grid}.slider input{width:100%;accent-color:var(--cyan)}.slider output{text-align:right;color:var(--cyan)}.mute-btn{font:700 12px var(--cond);letter-spacing:.5px;background:#0a2439;border:1px solid #3f6f8c;border-radius:5px;padding:4px 10px}.mute-btn.off{color:#ff8b95;border-color:#ff5a68}#settings-dialog .seg button{font:700 14px var(--cond);background:linear-gradient(#123a55,#0a2439);border:1px solid #3f6f8c;border-radius:5px;padding:9px 6px}#settings-dialog .seg button.on{background:linear-gradient(#2fbf64,#13863f);border-color:#72f0a0}.done{font:600 15px var(--cond);letter-spacing:.5px;background:#007bdf;border:1px solid #45bbff;border-radius:5px;margin-top:20px;padding:11px 22px}#view{font:700 12px var(--cond);min-width:42px}@media (width<=760px){.settings-grid{grid-template-columns:1fr}}.sector-head .collapse{background:#0a2439;border:1px solid #3f6f8c;border-radius:5px;flex-shrink:0;width:28px;height:28px;margin-left:8px}.sector-head .collapse i{font-style:normal;transition:transform .2s;display:inline-block}.sector-collapsed #sector>:not(.sector-head){display:none}.sector-collapsed #sector .collapse i{transform:rotate(-90deg)}.sector-collapsed #sector{overflow:visible}.gate-tag.compact{padding:calc(2px * var(--ls)) calc(6px * var(--ls));background:#3a2c06e6;border-radius:4px}.gate-tag.compact.free{background:#0b3a22e6}.menu-group{margin-top:18px}.menu-group h3{font:700 18px var(--cond);letter-spacing:1px;text-transform:uppercase;color:#cfe3f1;align-items:baseline;gap:10px;margin:0 0 8px;display:flex}.menu-group h3 span{font:500 12px var(--cond);color:var(--muted);letter-spacing:.5px;text-transform:none}.menu-group .level-choices{margin-top:0}.menu-group .level-choices.wide{grid-template-columns:1fr}.menu-group .level-choices p{min-height:0}.level-choices button.locked{opacity:.5}.wx-tag{font:600 12px var(--cond);color:#9fdcff;background:#0d3550;border-radius:10px;margin-top:6px;padding:2px 7px;font-style:normal;display:inline-block}.ai-note{background:#0a2436aa;border:1px dashed #4d7890;border-radius:6px;margin:8px 0;padding:9px 10px}.ai-note b{font:700 15px var(--cond);color:#9fdcff;letter-spacing:.4px}.ai-note small{margin-top:3px;line-height:1.5}nav button.ai:after{content:"AI";font:700 9px var(--cond);color:#9fdcff;background:#0d3550;border-radius:3px;padding:0 3px;position:absolute;top:3px;left:6px}.inbound-list{gap:4px;display:grid}.inbound{background:rgb(12 42 66/calc(var(--panel-a) * .8));border:1px solid #0000;border-radius:4px;grid-template-columns:96px 1fr;align-items:center;gap:6px;padding:5px 6px;display:grid}.inbound.selected{border-color:#3fb8ff}.inbound .who{text-align:left}.inbound .who b{font:700 14px var(--cond)}.inbound .who small{font:500 11px var(--cond)}.inbound .chips button{flex:none;padding:4px 8px}.inbound em{font:500 12px var(--cond);color:#ff8b95;font-style:normal}.project.locked i{color:var(--muted)}
