:root{--bg0:#03070e;--bg1:#0a1524;--ink:#f2f7ff;--ink2:#d7e4f5;--dim:#9eb4cc;--mute:#6e849c;--line:rgba(145,181,214,.24);--line-strong:rgba(145,181,214,.42);--panel:rgba(7,15,27,.96);--panel2:rgba(10,20,35,.98);--cyan:#6ee0ff;--blue:#5eb0ff;--amber:#ffd078;--green:#8aeca0;--red:#ff7b7b;--violet:#c4a0ff;--day-tint:rgba(0,0,0,0);--r:7px;--flights-w: clamp(230px, 16vw, 280px);--rail-w: clamp(286px, 19vw, 330px);--ease: cubic-bezier(.22,.61,.36,1);--font-ui: "Avenir Next", "Segoe UI Variable", "SF Pro Text", system-ui, -apple-system, "Helvetica Neue", sans-serif;--font-data: "IBM Plex Mono", "SF Mono", "JetBrains Mono", ui-monospace, Menlo, Consolas, monospace}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{height:100%;margin:0;overflow:hidden;background:var(--bg0)}body{font-family:var(--font-ui);color:var(--ink);user-select:none;-webkit-user-select:none;letter-spacing:.01em;font-weight:500}#app{position:fixed;inset:0;display:flex;flex-direction:column;gap:10px;padding:10px;background:radial-gradient(900px 430px at 50% -12%,var(--day-tint),transparent 64%),linear-gradient(rgba(96,145,184,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(96,145,184,.025) 1px,transparent 1px),radial-gradient(900px 500px at 48% -12%,rgba(35,82,120,.18),transparent 64%),#030810;background-size:auto,32px 32px,32px 32px,auto,auto}#topbar{display:flex;align-items:center;gap:12px;flex:0 0 auto;background:#081321;border:1px solid var(--line-strong);border-radius:7px;padding:6px 7px 6px 11px;box-shadow:0 8px 22px #00000047}.brand{display:flex;align-items:center;gap:10px;padding-right:12px;border-right:1px solid var(--line);min-width:0}.brand .logo{width:28px;height:28px;flex:0 0 auto;filter:drop-shadow(0 0 10px rgba(95,215,255,.45))}.brand .tt{display:flex;flex-direction:column;line-height:1.05;min-width:0}.brand b{font-size:12px;font-weight:700;letter-spacing:.14em;white-space:nowrap}.brand span{font-size:9px;color:var(--dim);letter-spacing:.28em;white-space:nowrap;margin-top:2px}.stats{display:flex;gap:7px;flex:1 1 auto;align-items:stretch;overflow:hidden;flex-wrap:nowrap;min-width:0}.env-stats,.score-stats{display:flex;align-items:stretch;gap:0;border-left:1px solid var(--line);min-width:0}.score-stats{margin-left:auto;opacity:.78}.stat{background:transparent;border:1px solid transparent;border-radius:4px;padding:5px 10px;min-width:0;display:flex;flex-direction:column;justify-content:center;transition:border-color .2s var(--ease),background .2s}.stat:hover{border-color:var(--line);background:#ffffff09}.stat.critical{min-width:92px;background:#ffffff06;border-color:#91b5d629}.stat .k{font-size:9px;letter-spacing:.16em;color:var(--dim);text-transform:uppercase;white-space:nowrap;font-weight:600}.stat .v{font-size:16px;font-weight:700;font-variant-numeric:tabular-nums;line-height:1.2;white-space:nowrap;letter-spacing:-.01em;font-family:var(--font-data);color:var(--ink)}.stat.time .v{color:var(--cyan)}.stat.time.low .v{color:var(--red);animation:pulseTxt 1s infinite}.stat.time.low{border-color:#ff7b7b80;background:#ff7b7b12}.stat.score .v{color:#fff}.stat.streak .v{color:var(--amber)}.stat.viol .v{color:var(--red)}.stat.wx .v{font-size:12px;font-weight:700;color:#d2c0ff;font-family:var(--font-ui)}.stat.front .v{font-size:12px;font-weight:700;color:#a8e4ff;font-family:var(--font-ui)}.stat.safe .v{color:var(--green)}.stat.safe.mid .v{color:var(--amber)}.stat.safe.low .v{color:var(--red)}.stat.safe.mid{border-color:#ffd07861;background:#ffd0780e}.stat.safe.low{border-color:#ff7b7b8c;background:#ff7b7b13}@keyframes pulseTxt{50%{opacity:.45}}.tb-actions{display:flex;gap:6px;align-items:center;margin-left:auto}.iconbtn{width:36px;height:36px;border-radius:5px;border:1px solid var(--line);background:#ffffff0a;color:var(--ink);cursor:pointer;display:grid;place-items:center;transition:background .15s,border-color .15s;padding:0}.iconbtn:hover{background:#5fd7ff1f;border-color:var(--cyan)}.iconbtn.off{color:#65798f}.iconbtn svg{width:17px;height:17px;pointer-events:none}#stage{flex:1 1 auto;min-height:0;display:grid;gap:10px;grid-template-columns:var(--flights-w) minmax(0,1fr) var(--rail-w);grid-template-rows:minmax(0,1fr);grid-template-areas:"flights map rail"}#canvasWrap{grid-area:map;min-width:0;min-height:0}.side.left{grid-area:flights;min-height:0}.side.right{grid-area:rail;min-height:0}.side{display:flex;flex-direction:column;gap:8px;min-height:0;overflow:hidden}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);box-shadow:0 8px 22px #00000038;display:flex;flex-direction:column;min-height:0;overflow:hidden}.panel>h3{margin:0;padding:9px 12px 8px;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink2);border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;background:#0a1727;flex:0 0 auto;font-weight:700}.panel>h3 em{font-style:normal;color:var(--cyan);letter-spacing:.06em;font-weight:800;font-family:var(--font-data)}.panel-link{margin:-4px -5px -4px 0;padding:4px 6px;border:0;border-bottom:1px solid transparent;background:transparent;color:var(--cyan);font:800 8px/1 var(--font-ui);letter-spacing:.12em;text-transform:uppercase;cursor:pointer}.panel-link:hover{color:#fff;border-bottom-color:var(--cyan)}.panel-link:focus-visible{outline:1px solid var(--cyan);outline-offset:2px}.panel .body{padding:6px;overflow:auto;min-height:0;scrollbar-width:thin;scrollbar-color:rgba(160,200,240,.35) transparent}.panel .body::-webkit-scrollbar{width:6px;height:6px}.panel .body::-webkit-scrollbar-thumb{background:#a0c8f059;border-radius:4px}.grow{flex:1 1 auto;min-height:0}.grow .body{flex:1 1 auto}.flightList{display:flex;flex-direction:column;gap:2px;padding:4px!important}.flight{display:grid;grid-template-columns:minmax(0,1fr) auto auto;grid-template-rows:auto auto;gap:0 7px;width:100%;text-align:left;cursor:pointer;margin:0;padding:6px 8px;border-radius:3px;border:1px solid rgba(160,200,240,.14);background:#ffffff06;transition:background .12s,border-color .12s,box-shadow .12s;position:relative;overflow:hidden;color:inherit;font:inherit}.flight:hover{background:#5fd7ff24;border-color:#6ee0ff80}.flight.sel{background:#5fd7ff21;border-color:var(--cyan);box-shadow:inset 3px 0 0 var(--cyan),0 0 14px #5fd7ff14}.flight.prio{border-color:#c4a0ff99}.flight .cs{font-family:var(--font-data);font-weight:700;font-size:13px;letter-spacing:.02em;color:#fff;grid-column:1;grid-row:1}.flight .tp{font-size:9px;letter-spacing:.06em;color:var(--ink2);text-transform:uppercase;font-weight:700;grid-column:2;grid-row:1;align-self:center}.flight .st{font-size:11px;color:#c8daf0;grid-column:1/-1;grid-row:2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:600}.flight .r1{display:contents}.bar{height:3px;border-radius:2px;background:#ffffff1f;margin-top:3px;overflow:hidden;grid-column:1/-1}.bar>i{display:block;height:100%;border-radius:2px;transition:width .2s linear,background .3s}.nodata{color:var(--dim);font-size:12px;text-align:center;padding:16px 8px;letter-spacing:.03em;font-weight:600}.tagp{position:static;grid-column:3;grid-row:1;align-self:center;font-size:8px;line-height:1;letter-spacing:.08em;background:var(--violet);color:#1a0e2e;padding:3px 5px;border-radius:2px;font-weight:800}.instrPanel{flex:0 0 auto}.instrPanel{opacity:.88}.instrPanel .body{display:flex;align-items:center;justify-content:center;gap:10px;padding:8px!important;flex-wrap:wrap}.instrPanel .hudCap{display:flex;flex-direction:column;align-items:center;gap:4px}.instrPanel .hudCap span{font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--dim);font-weight:700}#radar,#wind{display:block;border-radius:50%;background:#040c16e6;box-shadow:inset 0 0 0 1px #8cc8f040}#radar{width:112px;height:112px}#wind{width:88px;height:88px}.logPanel{flex:1.4 1 0;min-height:140px}.logPanel .body{padding:0!important;display:flex;flex-direction:column;min-height:0}#canvasWrap{position:relative;border-radius:6px;overflow:hidden;border:1px solid var(--line-strong);background:#050d18;box-shadow:0 10px 30px #00000061}#game{position:absolute;inset:0;width:100%;height:100%;display:block;touch-action:none;cursor:crosshair}.camhint{position:absolute;right:10px;top:10px;z-index:30;display:flex;gap:5px}.camhint button{width:32px;height:32px;border-radius:4px;border:1px solid var(--line);background:#060c16d1;color:var(--ink);cursor:pointer;font:700 13px var(--font-data);transition:background .15s,border-color .15s}.camhint button:hover{background:#5fd7ff29;border-color:var(--cyan)}.side.left .panel.grow{flex:1 1 0;min-height:0}.side.right .panel.railCard{flex:0 1 56%;min-height:260px;max-height:min(500px,56vh)}#opsDeck{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;gap:8px}#opsDeck .panel{min-height:0;max-width:none;margin:0;width:100%}#opsDeck .panel.opsRwy{flex:0 0 auto;overflow:visible}#opsDeck .panel.logPanel{flex:1.6 1 0;min-height:120px}#opsDeck .panel .body{overflow:auto;max-height:none}#opsDeck .panel.opsRwy .body{overflow:visible}#opsDeck .panel.logPanel .body,#log{flex:1 1 auto;min-height:0;max-height:none;height:100%;overflow:auto;padding:5px!important;pointer-events:auto}#opsDeck .panel>h3{padding:7px 10px 6px}#rwBox{display:flex;flex-direction:column;gap:5px;padding:6px!important;min-width:0}#rwBox .opsRow{display:flex;flex-direction:column;gap:5px;min-width:0}#rwBox .opsAlert{display:flex;flex-direction:column;gap:4px}#rwBox .opsAlert .btn{flex:0 0 auto;margin:0;padding:6px 8px;font-size:11px}.rw{border:1px solid var(--line);border-left:3px solid var(--line);border-radius:4px;padding:7px 8px;background:#081421;margin:0;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 8px;align-items:center;min-width:0}.rw.state-ok{border-left-color:var(--green)}.rw.state-busy{border-left-color:var(--amber)}.rw.state-closed{border-left-color:var(--red)}.rw-head{display:flex;justify-content:space-between;align-items:center;gap:8px;grid-column:1/-1;font-family:var(--font-data)}.rw-head strong{font-size:14px;color:#fff;letter-spacing:.06em}.rw-state{font-size:8px;line-height:1;padding:4px 6px;border:1px solid currentColor;border-radius:2px;letter-spacing:.1em;font-weight:800;white-space:nowrap}.rw-state.ok{color:var(--green);background:#7ee08a14}.rw-state.busy{color:var(--amber);background:#ffc86114}.rw-state.closed{color:var(--red);background:#ff6b6b14}.rw-data{font-size:8.5px;color:var(--dim);letter-spacing:.07em;display:flex;justify-content:space-between;gap:8px;font-weight:700;grid-column:1;min-width:0}.rw-data span{white-space:nowrap;display:flex;align-items:center;gap:3px}.rw-data b{color:var(--ink2);font-family:var(--font-data)}.rw-data i{display:inline-block;width:5px;height:5px;border-radius:1px}.snow-key{background:#9fd8ff}.ice-key{background:#d8f0ff}.rw .meters{display:flex;flex-direction:column;gap:2px;grid-column:1;min-width:0}.snowbar,.icebar{height:3px;border-radius:3px;background:#ffffff14;overflow:hidden;position:relative}.snowbar>i{display:block;height:100%;background:linear-gradient(90deg,#4ea3ff,#9fd8ff,#fff);transition:width .3s}.icebar>i{display:block;height:100%;background:linear-gradient(90deg,#7ec8ff,#d8f0ff);transition:width .3s}.rw .btn2{display:flex;flex-direction:column;gap:3px;margin:0;grid-column:2;grid-row:2 / span 2;align-self:center;min-width:68px;max-width:82px}.rw .btn2 .btn{margin:0;padding:6px;font-size:9.5px;flex:0 0 auto;justify-content:center;min-height:0}.rw .btn2 .btn small{display:none}.pill{font-size:8px;padding:2px 6px;border-radius:20px;letter-spacing:.1em;text-transform:uppercase;font-weight:700}.pill.ok{background:#7ee08a29;color:var(--green)}.pill.busy{background:#ffc86129;color:var(--amber)}.pill.closed{background:#ff6b6b2e;color:var(--red)}.btn{width:100%;border:1px solid var(--line);border-radius:4px;background:#ffffff09;color:var(--ink);font:600 12px/1.35 var(--font-ui);letter-spacing:.02em;padding:8px 9px;cursor:pointer;transition:background .13s,border-color .13s;text-align:left;display:flex;align-items:center;gap:7px;margin-bottom:6px;position:relative;white-space:normal;word-break:break-word;hyphens:auto;min-height:0;height:auto;box-sizing:border-box}.btn:last-child{margin-bottom:0}.btn .dot{width:6px;height:6px;border-radius:50%;background:var(--cyan);flex:0 0 auto;box-shadow:0 0 8px currentColor;margin-top:4px;align-self:flex-start}.btn:hover:not(:disabled){background:#5fd7ff21;border-color:#6ee0ffb3}.btn:disabled{opacity:.4;cursor:not-allowed}.btn.selected-choice,.btn.selected-choice:disabled{opacity:1;cursor:default;border-color:var(--cyan);background:#5fd7ff29;color:#fff;box-shadow:inset 3px 0 0 var(--cyan);animation:choiceConfirmed .42s var(--ease) both}.btn.selected-choice .dot{background:var(--cyan);box-shadow:0 0 12px #6ee0ffe6}@keyframes choiceConfirmed{0%{background:#5fd7ff6b;transform:scale(.985)}55%{box-shadow:inset 3px 0 0 var(--cyan),0 0 18px #5fd7ff3d}to{background:#5fd7ff29;transform:none}}.btn.risk{border-color:#ff6b6b8c;background:#ff6b6b1f}.btn.risk .dot{background:var(--red)}.btn.risk:hover:not(:disabled){background:#ff6b6b3d;border-color:var(--red)}.btn.go{border-color:#7ee08a80;background:#7ee08a1f}.btn.go .dot{background:var(--green)}.btn.warn .dot{background:var(--amber)}.btn small{margin-left:auto;color:var(--dim);font-weight:700;font-size:10px;letter-spacing:.04em;white-space:normal;text-align:right;max-width:46%;line-height:1.3;flex:0 1 auto}.btn2{display:grid;grid-template-columns:1fr 1fr;gap:6px}.btn2 .btn{margin-bottom:0}#card .cs{font-size:18px;font-weight:800;letter-spacing:.03em;font-family:var(--font-data);color:var(--ink)}#card .meta{display:flex;gap:5px;flex-wrap:wrap;margin-top:5px}.chip{font-size:8.5px;letter-spacing:.08em;text-transform:uppercase;padding:3px 6px;border:1px solid rgba(160,200,240,.18);border-radius:2px;background:#ffffff0b;color:var(--ink2);font-weight:700}.chip.b{background:#4ea3ff1f;color:#b8dcff}.chip.g{background:#7ee08a1f;color:#b6f0c2}.chip.v{background:#b58cff1f;color:#e0ccff}.chip.priority{border-color:#c4a0ff9e;background:#c4a0ff24;color:#e5d6ff}.chip.score-chip{color:var(--ink2);font-family:var(--font-data)}#card .lbl{font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--dim);margin-top:8px;margin-bottom:4px;font-weight:700}#card .nodata{color:var(--dim);font-size:12px;line-height:1.4}#card .btn{padding:7px 9px;font-size:12px;margin-bottom:5px}#card .btn.command-primary{min-height:38px;padding:9px 10px;border-color:#6ee0ff7a;background:#5fd7ff16;font-weight:750}#card .btn.command-primary.go{border-color:#8aeca08c;background:#8aeca01a}#card .btn.command-primary.risk{border-color:#ff7b7ba6;background:#ff7b7b1f}#card .btn.command-primary.selected-choice{border-color:var(--cyan);background:#5fd7ff29;box-shadow:inset 3px 0 0 var(--cyan)}.next-action{position:relative;margin:10px 0 8px;padding:9px 10px 9px 13px;border:1px solid var(--line);border-left:3px solid var(--cyan);border-radius:3px;background:#091827;overflow:hidden}.next-action span{display:block;font-size:8px;letter-spacing:.16em;color:var(--dim);font-weight:800;margin-bottom:4px}.next-action b{display:block;font-size:13px;line-height:1.25;color:var(--ink);font-weight:800}.next-action small{display:block;margin-top:3px;font-size:10px;line-height:1.3;color:var(--dim);font-weight:600}.next-action.act{border-left-color:var(--cyan);animation:actionReady 2.8s ease-in-out infinite}.next-action.wait{border-left-color:var(--green)}.next-action.risk{border-left-color:var(--red)}@keyframes actionReady{50%{background:#0b2033;border-color:#6ee0ff8c;border-left-color:var(--cyan)}}#log{display:flex;flex-direction:column;gap:3px;flex:1 1 auto;min-height:0;max-height:none;overflow:auto;padding:5px!important;pointer-events:auto}.logitem{padding:6px 7px;border-radius:2px;font-size:10.5px;font-weight:600;letter-spacing:.01em;line-height:1.35;background:#060c168c;border:0;border-left:2px solid rgba(160,200,240,.35);color:var(--ink);display:flex;align-items:flex-start;gap:6px;animation:tin .28s var(--ease) both}@keyframes tin{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}.logitem:first-child{background:#5fd7ff12;border-left-color:var(--cyan)}.logitem.bad{border-color:var(--red);background:#2a0a0e99;color:#ffd4d4}.logitem.good{border-color:var(--green);background:#0820128c;color:#d5ffdf}.logitem.wx{border-color:var(--violet);background:#160c2a8c;color:#e6d9ff}.logitem i{width:6px;height:6px;border-radius:50%;background:currentColor;box-shadow:0 0 8px currentColor;flex:0 0 auto;margin-top:5px}.logitem .tm{opacity:.4;font-size:9px;font-weight:700;letter-spacing:.08em;margin-left:auto;white-space:nowrap;padding-left:6px}#toasts{display:none}.modes{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:12px 0 16px;text-align:left}.modes.scenarios{margin-top:4px;margin-bottom:12px}.menu-sec{margin:4px 0 0;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--dim);font-weight:700;text-align:left}.mode{border:1px solid var(--line);border-radius:12px;padding:10px 12px;cursor:pointer;background:#ffffff08;transition:.15s;color:inherit;font:inherit;text-align:left;width:100%}.mode:hover{border-color:#5fd7ff73;background:#5fd7ff14}.mode.on{border-color:var(--cyan);background:#5fd7ff29;box-shadow:0 0 0 1px #5fd7ff59}.mode b{display:block;font-size:13px;letter-spacing:.04em;margin-bottom:3px}.mode small{display:block;color:var(--dim);font-size:10.5px;line-height:1.4}.mode .rec{margin-top:5px;font-size:10px;color:var(--amber);letter-spacing:.06em}.zonechip{display:inline-flex;align-items:center;gap:5px;padding:2px 7px;border-radius:20px;font-size:9px;letter-spacing:.08em;text-transform:uppercase;background:#ffffff0f;color:var(--dim);margin:2px}#ovEvent .card,#ovConfirm .card{width:min(520px,94vw);text-align:left}#ovEvent h1,#ovConfirm h1{font-size:22px;text-align:center}.evopts{display:flex;flex-direction:column;gap:8px;margin-top:12px}.evopts .btn,#ovConfirm .card .btn{margin:0;align-items:flex-start;flex-wrap:wrap;gap:6px 8px;padding:10px 12px;font-size:13px;line-height:1.4}.evopts .btn small,#ovConfirm .card .btn small{flex:1 0 100%;margin-left:14px;margin-top:0;max-width:none;text-align:left;white-space:normal}.story{text-align:left;background:#ffffff0a;border:1px solid var(--line);border-radius:11px;padding:10px 12px;margin:8px 0;font-size:12px;line-height:1.45;color:#b9cde8}.tipbox{text-align:left;border-left:3px solid var(--cyan);padding:6px 10px;margin:8px 0;font-size:12px;color:var(--dim);line-height:1.45}.debrief{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:10px 0 6px;text-align:left}.debrief-col{background:#ffffff08;border:1px solid var(--line);border-radius:12px;padding:10px 12px;min-height:0}.debrief-col h3{margin:0 0 8px;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--dim);font-weight:800}.debrief-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:7px}.debrief-list li{border-left:3px solid var(--line);padding:2px 0 2px 8px}.debrief-list li.bad{border-color:var(--red)}.debrief-list li.warn{border-color:var(--amber)}.debrief-list li.good{border-color:var(--green)}.debrief-list li.info{border-color:#5fd7ff73}.debrief-list b{display:block;font-size:12px;color:var(--ink);font-weight:700;line-height:1.3}.debrief-list span{display:block;font-size:11px;color:var(--dim);line-height:1.35;margin-top:2px}.debrief-verdict{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:8px 0;text-align:left}.debrief-verdict>div{background:#ffffff0a;border:1px solid var(--line);border-radius:11px;padding:9px 11px}.debrief-verdict b{display:block;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--cyan);margin-bottom:4px}.debrief-verdict p{margin:0;font-size:12px;line-height:1.4;color:#b9cde8}@media(max-width:720px){.debrief,.debrief-verdict{grid-template-columns:1fr}}.ov{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:16px;background:radial-gradient(900px 600px at 50% 40%,#0c1c34db,#03060cf2);backdrop-filter:blur(10px)}.ov.hide{display:none}.card{width:min(680px,94vw);max-height:92vh;overflow:auto;background:linear-gradient(180deg,#101e34f5,#080f1cf7);border:1px solid rgba(120,170,230,.28);border-radius:20px;padding:22px 24px;box-shadow:0 30px 90px #000000b3,inset 0 1px #ffffff0f;text-align:center}.card h1{margin:8px 0 4px;font-size:clamp(22px,3.4vw,34px);letter-spacing:.02em}.card h1 span{background:linear-gradient(90deg,#5fd7ff,#9ecbff);-webkit-background-clip:text;background-clip:text;color:transparent}.card p.lead{margin:0 0 14px;color:var(--dim);font-size:13px;line-height:1.5}.howto{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:9px;margin:14px 0 18px;text-align:left}.howto div{background:#ffffff0a;border:1px solid var(--line);border-radius:11px;padding:9px 11px}.howto b{display:block;font-size:11px;color:var(--cyan);letter-spacing:.08em;margin-bottom:3px}.howto small{color:var(--dim);font-size:10.5px;line-height:1.45;display:block}#ovHelp{place-items:stretch;padding:clamp(10px,2vw,20px);align-items:center;justify-items:center}.helpbook{width:min(920px,100%);height:min(860px,92vh);display:flex;flex-direction:column;min-height:0;background:linear-gradient(165deg,#0e1a2cfa,#060c16fc);border:1px solid rgba(120,170,230,.3);border-radius:18px;box-shadow:0 28px 80px #000000a6,inset 0 1px #ffffff0f;overflow:hidden;text-align:left;color:var(--ink)}.helpbook-top{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:18px 20px 14px;border-bottom:1px solid var(--line);flex:0 0 auto}.helpbook-top h1{margin:0;font-size:clamp(20px,2.6vw,28px);letter-spacing:.02em;font-weight:800;text-align:left}.helpbook-top p{margin:6px 0 0;color:var(--dim);font-size:13px;line-height:1.4}.helpbook-x{flex:0 0 auto;width:36px;height:36px;border-radius:10px;border:1px solid var(--line);background:#ffffff0a;color:var(--ink);font:700 16px/1 inherit;cursor:pointer}.helpbook-x:hover{background:#5fd7ff24;border-color:#5fd7ff73}.helpbook-nav{display:flex;gap:6px;flex-wrap:wrap;padding:10px 16px;border-bottom:1px solid var(--line);background:#0000002e;flex:0 0 auto}.helpbook-nav button{border:1px solid transparent;border-radius:999px;padding:7px 12px;cursor:pointer;background:transparent;color:var(--ink2);font:700 11px/1.2 var(--font-ui);letter-spacing:.04em}.helpbook-nav button:hover{color:var(--ink);background:#ffffff0d}.helpbook-nav button.on{color:#04121f;background:linear-gradient(135deg,#5fd7ff,#4ea3ff);border-color:transparent}.helpbook-body{flex:1 1 auto;min-height:0;overflow:auto;padding:18px 22px 24px;scrollbar-width:thin}.logbook{width:min(760px,100%);height:min(720px,88vh)}.logbook-body{flex:1 1 auto;min-height:0;overflow:auto;padding:12px;display:flex;flex-direction:column;gap:5px;scrollbar-width:thin}.logbook-body .logitem{flex:0 0 auto;padding:9px 11px;font-size:12px;line-height:1.45}.logbook-body .logitem .tm{font-size:10px}.help-pane{display:none}.help-pane.on{display:block;animation:tin .25s var(--ease) both}.help-pane h2{margin:0 0 12px;font-size:15px;letter-spacing:.12em;text-transform:uppercase;color:var(--amber);font-weight:800}.help-pane h2+h2,.help-list+h2,.help-steps+h2,.help-pair+h2,.help-callout+h2{margin-top:22px}.help-pane h3{margin:0 0 6px;font-size:14px;color:var(--cyan);letter-spacing:.04em}.help-lead{margin:0 0 14px;font-size:14px;line-height:1.55;color:var(--ink2)}.help-steps{margin:0 0 14px;padding:0;list-style:none;counter-reset:hs;display:flex;flex-direction:column;gap:10px}.help-steps li{position:relative;padding:12px 14px 12px 48px;border-radius:12px;background:#ffffff09;border:1px solid var(--line);font-size:13.5px;line-height:1.5;color:var(--ink2);counter-increment:hs}.help-steps li:before{content:counter(hs);position:absolute;left:12px;top:12px;width:26px;height:26px;border-radius:8px;display:grid;place-items:center;font:800 12px var(--font-data);color:#04121f;background:linear-gradient(135deg,#5fd7ff,#7eb6ff)}.help-steps strong{color:var(--ink)}.help-list{margin:0 0 8px;padding:0 0 0 18px;color:var(--ink2);font-size:13.5px;line-height:1.55}.help-list li{margin:0 0 8px}.help-list b{color:var(--ink)}.help-pair{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0 0 8px}.help-pair article{border-radius:12px;padding:12px 14px;background:#ffffff09;border:1px solid var(--line)}.help-pair article p{margin:0;font-size:13px;line-height:1.5;color:var(--ink2)}.help-pair article.good{border-color:#7ee08a59;background:#7ee08a14}.help-pair article.bad{border-color:#ff6b6b59;background:#ff6b6b14}.help-callout{margin:12px 0;padding:12px 14px;border-radius:12px;border-left:3px solid var(--cyan);background:#5fd7ff12}.help-callout.warn{border-left-color:var(--amber);background:#ffc86114}.help-callout b{display:block;margin-bottom:4px;font-size:12px;letter-spacing:.06em;color:var(--cyan)}.help-callout.warn b{color:var(--amber)}.help-callout p{margin:0;font-size:13px;line-height:1.5;color:var(--ink2)}@media(max-width:720px){.help-pair{grid-template-columns:1fr}.helpbook{height:min(920px,94vh)}.helpbook-body{padding:14px 14px 20px}}.bigbtn{border:none;border-radius:12px;padding:13px 26px;font:800 15px/1 inherit;letter-spacing:.05em;cursor:pointer;background:linear-gradient(135deg,#5fd7ff,#4ea3ff);color:#04121f;box-shadow:0 10px 30px #4ea3ff59;transition:.15s var(--ease)}.bigbtn:hover{transform:translateY(-2px);box-shadow:0 16px 40px #4ea3ff73}.ghost{background:transparent;border:1px solid var(--line);color:var(--ink);box-shadow:none}.ghost:hover{background:#ffffff12;box-shadow:none}.row{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:6px}.resgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:14px 0}.resgrid div{background:#ffffff0a;border:1px solid var(--line);border-radius:11px;padding:9px 6px}.resgrid .k{font-size:8.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--dim)}.resgrid .v{font-size:19px;font-weight:800;font-variant-numeric:tabular-nums;margin-top:2px}.share{display:flex;gap:8px;align-items:center;background:#ffffff0a;border:1px solid var(--line);border-radius:11px;padding:9px 11px;margin-top:6px;text-align:left}.share p{margin:0;flex:1;font-size:11.5px;color:#b9cde8;line-height:1.4}.share button{flex:0 0 auto;border-radius:9px;border:1px solid rgba(95,215,255,.45);background:#5fd7ff24;color:var(--cyan);font:700 11px inherit;padding:8px 12px;cursor:pointer;letter-spacing:.05em}.share button:hover{background:#5fd7ff42}.grade{font-size:13px;color:var(--amber);font-weight:700;letter-spacing:.04em;margin:2px 0 0}#tut{position:absolute;left:50%;bottom:14px;transform:translate(-50%);z-index:40;width:min(520px,92%);background:#08101eeb;border:1px solid rgba(95,215,255,.4);border-radius:14px;padding:11px 14px;box-shadow:0 16px 48px #00000080,0 0 0 1px #5fd7ff1a;display:flex;gap:11px;align-items:center;backdrop-filter:blur(14px)}#tut.hide{display:none}#tut .n{width:28px;height:28px;flex:0 0 auto;border-radius:50%;display:grid;place-items:center;font-weight:800;font-size:13px;background:linear-gradient(135deg,#5fd7ff,#4ea3ff);color:#04121f;box-shadow:0 0 18px #5fd7ff73}#tut .txt{flex:1;font-size:12.5px;line-height:1.42}#tut .txt b{color:var(--cyan)}#tut button{border:1px solid var(--line);background:#ffffff0d;color:var(--dim);border-radius:8px;font:600 10.5px inherit;padding:6px 10px;cursor:pointer;letter-spacing:.06em;flex:0 0 auto}#tut button:hover{color:#fff;background:#ffffff1f}#flash{position:fixed;inset:0;pointer-events:none;z-index:55;opacity:0;transition:opacity .18s;box-shadow:inset 0 0 140px #ff28288c;border:2px solid rgba(255,60,60,.5)}#flash.on{opacity:1}#rotate{position:fixed;left:50%;bottom:12px;transform:translate(-50%);z-index:70;display:none;background:#0a1628f0;border:1px solid rgba(255,200,97,.5);color:#ffe4ae;border-radius:12px;padding:9px 14px;font-size:12px;gap:10px;align-items:center;box-shadow:0 12px 34px #00000080}#rotate button{background:none;border:none;color:var(--dim);cursor:pointer;font:700 15px inherit;padding:0 2px}#rotate svg{width:20px;height:20px;animation:rot 2.4s ease-in-out infinite}@keyframes rot{0%,40%{transform:rotate(0)}60%,to{transform:rotate(-90deg)}}@media(orientation:portrait){#rotate.show{display:flex}}@media(max-width:1200px){:root{--rail-w: 250px;--flights-w: 230px}.stat .v{font-size:14px}#radar{width:110px;height:110px}#wind{width:82px;height:82px}}@media(max-width:980px){:root{--rail-w: 220px;--flights-w: 200px}#app{padding:7px;gap:7px}.brand span{display:none}.stat{padding:4px 8px}.stat .k{font-size:8px}.stat .v{font-size:13px}.stat.critical{min-width:78px}.env-stats .stat,.score-stats .stat{padding-inline:6px}#radar{width:96px;height:96px}#wind{width:72px;height:72px}.flight .cs{font-size:12px}.flight .st{font-size:10px}}@media(max-width:820px){.stat.best,.stat.wx{display:none}.score-stats{margin-left:0}:root{--flights-w: 180px;--rail-w: 200px}}@media(max-height:640px){.brand{display:none}.panel>h3{padding:5px 10px;font-size:9px}.instrPanel .body{padding:6px!important;gap:6px}#radar{width:78px;height:78px}#wind{width:60px;height:60px}.stat{padding:3px 8px}.stat .v{font-size:12px}.iconbtn{width:32px;height:32px}.side.right .panel.railCard{flex:0 1 54%;min-height:230px;max-height:54vh}#opsDeck .panel.logPanel{min-height:80px}}@media(orientation:portrait){#stage{grid-template-columns:1fr;grid-template-rows:minmax(220px,36vh) auto auto;grid-template-areas:"map" "flights" "rail";overflow-y:auto;align-content:start}.side.left{display:grid;grid-template-columns:1fr 1fr;gap:8px;overflow:visible;max-height:260px}.side.left .instrPanel{grid-column:1/-1}.stats{overflow-x:auto;scrollbar-width:none}.stats::-webkit-scrollbar{display:none}#tut{width:min(94%,460px)}}@media(orientation:portrait)and (max-width:520px){.brand{display:none}.side.left{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}#root,.airport-host{height:100%;min-height:100%}
