@font-face{font-family:IBM Plex Sans Condensed;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-condensed-latin-400-normal-HNgAIZCO.woff2)format("woff2"),url(/assets/ibm-plex-sans-condensed-latin-400-normal-fp_Wsute.woff)format("woff")}@font-face{font-family:IBM Plex Sans Condensed;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-condensed-latin-500-normal-Dgt7MQaB.woff2)format("woff2"),url(/assets/ibm-plex-sans-condensed-latin-500-normal-BC_8YlTT.woff)format("woff")}@font-face{font-family:IBM Plex Sans Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-condensed-latin-600-normal-C3DoAWsR.woff2)format("woff2"),url(/assets/ibm-plex-sans-condensed-latin-600-normal-CtZfM17_.woff)format("woff")}@font-face{font-family:IBM Plex Sans Condensed;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-sans-condensed-latin-700-normal-Chx5iojE.woff2)format("woff2"),url(/assets/ibm-plex-sans-condensed-latin-700-normal-D2KT6FyO.woff)format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-Dm_PoFIZ.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-O6-GRVqx.woff)format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-latin-600-normal-rgB1DpUr.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-600-normal-DeXYNBV7.woff)format("woff")}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ui-font:"IBM Plex Sans Condensed", "Segoe UI", "Arial Narrow", system-ui, sans-serif;--mono:"IBM Plex Mono", Consolas, "DejaVu Sans Mono", monospace;--pvd:#0a1018;--well:#0c131b;--cell:#101922;--panel:#141d27;--panel-2:#1b2632;--hover:#26384a;--line:#2b3a49;--title:var(--panel);--bar:var(--panel);--bar-btn:var(--cell);--bar-btn-hover:var(--hover);--win-head:var(--panel-2);--win-body:var(--panel);--win-cell:var(--cell);--text-hi:#f4f8fb;--text:#dfe7ee;--text-dim:#8b9bab;--text-off:#66788a;--text-faint:#46566a;--accent:#3fb6c9;--accent-ink:#062027;--ok:#5fc95f;--warn:#e8b54a;--on-warn:#1d1503;--danger:#e2574c;font-family:var(--ui-font);background:var(--pvd);color:var(--text);font-size:12px}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{overflow:hidden}button,input,select{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:default}:focus-visible{outline:1px solid var(--accent);outline-offset:1px}.dim{color:var(--text-dim)}.warn{color:var(--warn)}.code{font-family:var(--mono);letter-spacing:1px;color:var(--warn)}.app{flex-direction:column;height:100%;display:flex}.titlebar{background:var(--title);border-bottom:1px solid var(--line);color:var(--text-dim);white-space:nowrap;-webkit-user-select:none;user-select:none;flex:0 0 34px;align-items:center;gap:10px;padding:0 6px 0 10px;display:flex;overflow:hidden}.title-app{color:var(--text-dim);letter-spacing:.04em}.title-callsign{color:var(--accent);font-family:var(--mono);border:1px solid #285866;border-radius:3px;padding:1px 8px;font-weight:600}.title-session{color:var(--text-dim);text-overflow:ellipsis;overflow:hidden}.title-spacer{flex:1;min-width:8px}.title-clock{flex:none;display:flex}.title-status{font-family:var(--mono);color:var(--text-dim);align-items:center;gap:6px;padding:0 4px;font-size:12px;display:inline-flex}.title-status:before{content:"";background:currentColor;border-radius:50%;width:8px;height:8px}.title-status.connected{color:var(--ok)}.title-status.reconnecting{color:var(--warn)}.title-btn{border:1px solid var(--line);height:24px;color:var(--text-dim);background:0 0;border-radius:3px;padding:0 10px;font-weight:600}.title-btn:hover:not(:disabled){background:var(--hover);color:var(--text-hi)}.title-btn.danger{color:#c98d86}.title-btn.connect{border-color:var(--accent);background:var(--accent);width:100%;height:34px;color:var(--accent-ink);margin-top:8px;font-size:13px}.title-btn.connect:hover:not(:disabled){color:var(--accent-ink);background:#5cc8d8}.title-btn:disabled{opacity:.45}.title-icon{width:24px;height:24px;color:var(--text-dim);background:0 0;border:0;border-radius:3px}.title-icon:hover{background:var(--hover)}.title-timer{border:1px solid var(--line);height:24px;color:var(--text-dim);font-family:var(--mono);background:0 0;border-radius:3px;padding:0 8px}.title-timer.running{color:var(--warn);border-color:#5a4818}.title-timer.expired{color:var(--on-warn);background:var(--warn)}.rail{background:var(--panel);border-right:1px solid var(--line);-webkit-user-select:none;user-select:none;flex-direction:column;flex:0 0 56px;gap:1px;padding:4px 0;display:flex;overflow-y:auto}.rail-btn{color:var(--text-off);letter-spacing:.05em;background:0 0;border:0;border-left:2px solid #0000;flex-direction:column;align-items:center;gap:2px;padding:7px 2px 6px;font-size:9.5px;font-weight:600;display:flex;position:relative}.rail-btn:hover{color:var(--text);background:var(--panel-2)}.rail-btn.on{color:var(--text);border-left-color:var(--accent);background:var(--panel-2)}.rail-btn.unread{color:var(--warn)}.rail-btn.chat-unread{color:#4fd16a}.rail-icon{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px}.rail-badge{background:var(--warn);border-radius:50%;width:8px;height:8px;animation:1s steps(2,start) infinite unread-dot;position:absolute;top:4px;right:10px}.rail-badge.chat{background:#4fd16a}@keyframes unread-dot{50%{opacity:.2}}.rail-spacer{flex:1}.mapbar{background:var(--bar);border-top:1px solid var(--line);-webkit-user-select:none;user-select:none;flex-wrap:wrap;flex:none;align-items:center;gap:2px 8px;padding:3px 6px;display:flex}.map-views{border:1px solid var(--line);border-radius:3px;display:inline-flex;overflow:hidden}.map-view{border:0;border-right:1px solid var(--line);height:20px;color:var(--text-off);background:0 0;padding:0 8px;font-size:11px;font-weight:600}.map-view:last-child{border-right:0}.map-view:hover{background:var(--accent);color:var(--accent-ink)}.map-group{border-left:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:1px;padding-left:8px;display:inline-flex}.map-group-head{height:20px;color:var(--text-faint);letter-spacing:.1em;background:0 0;border:0;padding:0 4px 0 0;font-size:10px;font-weight:600}.map-group-head.on{color:var(--text-off)}.map-group-head:hover{color:var(--text-hi)}.chip-pair{display:inline-flex}.chip-pair .pref-btn:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.pref-btn{min-width:24px;height:20px;color:var(--text-faint);background:0 0;border:0;border-radius:2px;padding:0 5px;font-size:11px;font-weight:600}.pref-btn:hover:not(:disabled){background:var(--bar-btn-hover);color:var(--text)}.pref-btn.on{color:var(--text);background:var(--panel-2)}.pref-btn.underline{text-underline-offset:3px;text-decoration:underline}.pref-btn.sub{border-top-left-radius:0;border-bottom-left-radius:0;min-width:0;padding:0 3px;font-size:9px}.pref-btn.sub.on{color:var(--accent)}.pref-btn:disabled{color:#33414f;background:0 0;font-weight:400}.surface-list{flex-direction:column;gap:2px;min-width:96px;padding:4px;display:flex}.surface-list .pref-btn{text-align:left}@keyframes unread{50%{color:var(--on-warn);background:var(--warn)}}.workspace{flex:1;min-height:0;display:flex;position:relative}.workspace-main{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.pvd{background:var(--pvd);flex:1;min-height:0;position:relative;overflow:hidden}.pvd-host{position:absolute;inset:0}.pvd-host canvas{width:100%;height:100%;display:block}.pvd-scenario{color:#b8944a;max-width:calc(50% - 40px);font-family:var(--mono);pointer-events:none;text-shadow:0 0 3px var(--pvd);font-size:11px;line-height:1.4;position:absolute;top:8px;left:10px}.pvd-metar{color:var(--text-dim);margin-top:1px}.pvd-alerts{flex-direction:column;gap:2px;margin-top:6px;display:flex}.pvd-alert{width:max-content;color:var(--text-hi);background:#8d1f17;padding:1px 6px;font-weight:600}.pvd-alert.loss{background:#d12d1f;animation:1s steps(2,start) infinite alertblink}@keyframes alertblink{50%{background:#5a0f0a}}.pvd-clock{color:var(--text);font-family:var(--mono);white-space:nowrap;align-items:baseline;gap:8px;display:flex}.pvd-clock-utc{font-variant-numeric:tabular-nums;font-size:15px;font-weight:600}.pvd-clock small{color:var(--text-off);font-size:11px;font-weight:400}.pvd-atc{opacity:.8;margin-top:6px;font-size:10.5px;line-height:1.3}.fwin{background:var(--win-body);border:1px solid var(--line);border-radius:5px;flex-direction:column;min-width:220px;max-width:calc(100vw - 8px);display:flex;position:fixed;overflow:hidden;box-shadow:0 10px 30px #0000008c}.fwin-head{background:var(--win-head);border-bottom:1px solid var(--line);border-left:3px solid var(--accent);height:28px;color:var(--text-hi);letter-spacing:.06em;cursor:move;-webkit-user-select:none;user-select:none;flex:0 0 28px;justify-content:space-between;align-items:center;gap:8px;padding:0 2px 0 10px;font-size:12px;font-weight:600;display:flex}.fwin-close{width:26px;height:24px;color:var(--text-dim);background:0 0;border:0;border-radius:3px;font-size:12px}.fwin-close:hover{background:var(--danger);color:var(--text-hi)}.fwin-actions{display:flex}.fwin-detach:hover{background:var(--hover)}.detached-body{background:var(--win-body);margin:0;overflow:auto}.detached-win{min-height:100vh}.fwin-body{flex:1;min-height:0;overflow:auto}.mini-btn{border:1px solid var(--line);background:var(--win-cell);height:22px;color:var(--text);border-radius:3px;padding:0 9px;font-size:12px;font-weight:600}.mini-btn:hover:not(:disabled){background:var(--hover)}.mini-btn:disabled{color:var(--text-faint);border-color:#0000}.mini-btn.on{color:var(--text-hi);border-color:var(--accent);box-shadow:inset 0 -2px 0 var(--accent)}.mini-btn.ok{min-width:34px}.grid-table{border-collapse:collapse;width:100%;font-size:12px}.grid-table th{text-align:left;color:var(--text);background:var(--win-body);padding:4px 6px;font-weight:600;position:sticky;top:0}.grid-table td{border-top:1px solid var(--line);padding:3px 6px}.grid-table tr.mine td{background:var(--panel-2)}.grid-table tr.hit td{background:#5d5a3a}.c-dot{background:var(--text-off);border-radius:50%;width:8px;height:8px;display:inline-block}.c-dot.human{background:#fff}.c-dot.ai{background:var(--ok)}.cover-btn{height:16px;margin-left:6px;padding:0 5px;font-size:10px}.combox{flex-direction:column;height:260px;display:flex}.com-tabs{grid-template-columns:1.4fr 1.4fr 1fr auto;gap:2px;padding:2px;display:grid}.com-tab{background:var(--cell);height:26px;color:var(--text-dim);white-space:nowrap;text-overflow:ellipsis;border:0;border-radius:3px;font-size:12px;font-weight:600;overflow:hidden}.com-tab.on{background:var(--panel-2);color:var(--text-hi);box-shadow:inset 0 -2px 0 var(--accent)}.com-tab:disabled{color:var(--text-off);background:var(--panel-2)}.com-lines{flex:1;padding:4px 8px;font-size:13px;line-height:1.35;overflow:auto}.com-line{color:var(--text-hi)}.com-line.pilot{color:#c6e8ff}.com-line.pilot-other{color:var(--text)}.com-line.emergency{color:#ff6b6b}.com-line.controller{color:#ffe36e}.com-line.controller .com-author{color:#d9c25a}.com-line.xfr{color:#ffc98a}.com-line.local{color:var(--warn)}.com-line.chat{color:#e8f0ff}.com-line.chat.direct{color:#9fe0ff}.com-line.alert{color:#ff9a8f}.com-form{display:flex}.com-target{border:0;border-top:1px solid var(--line);background:var(--cell);height:24px;color:var(--text-hi);flex:none;font-size:12px}.com-author,.com-empty{color:var(--text-dim)}.com-input{border:0;border-top:1px solid var(--line);background:var(--panel-2);width:100%;height:24px;font-family:var(--mono);flex:1;padding:0 8px}.atcbox{flex-direction:column;display:flex}.atc-foot{border-top:1px solid var(--line);background:var(--panel-2);align-items:center;gap:6px;padding:4px 6px;font-weight:600;display:flex}.atc-foot input[type=text],.atc-foot input:not([type]){background:var(--cell);border:0;flex:1;height:20px;padding:0 6px}.tfcmgr{font-size:13px}.fpl-grid{background:var(--panel-2);grid-template-columns:90px 120px 150px 1fr;gap:1px;display:grid}.fpl-col{background:var(--win-body);flex-direction:column;gap:2px;padding:4px 6px;display:flex}.fpl-col b{font-weight:600}.fpl-callsign{font-size:14px}.fpl-route{font-family:var(--mono);font-size:12px}.fpl-empty{color:var(--text-dim);padding:14px}.tag-row{background:var(--panel-2);flex-wrap:wrap;align-items:center;gap:5px;padding:3px 6px;font-weight:600;display:flex}.tag-row select{background:var(--cell);border:0;min-width:110px;height:20px}.tag-hint{color:var(--warn);background:var(--panel-2);padding:3px 8px;font-size:11px}.strip-bay{background:var(--panel-2);grid-template-columns:repeat(3,1fr);gap:2px;padding:2px;display:grid}.strip-col{background:var(--panel-2);min-height:60px}.strip-head{justify-content:space-between;align-items:center;padding:2px 4px;font-size:11px;font-weight:600;display:flex}.strip{background:var(--cell);font-family:var(--mono);cursor:pointer;border-left:4px solid var(--line);grid-template-columns:50px 90px 1fr 60px 18px;gap:1px;margin:2px;font-size:11px;display:grid;position:relative}.strip>div{background:var(--cell);flex-direction:column;padding:2px 4px;display:flex}.strip.assumed{border-left-color:#4fd16a}.strip.ai,.strip.inactive{border-left-color:#e6ebee}.strip.transferIn,.strip.transferOut{border-left-color:#ff9a2e}.strip.selected>div{background:#263a8a}.strip-c b{font-size:12px}.strip-find{background:var(--cell);color:var(--text-dim);border:0}.sqk-input{width:44px;height:18px;font-family:var(--mono);background:var(--cell);color:#9fd;border:1px solid var(--line);padding:0 3px;font-size:11px}.pvd-alert.tfc{color:#e5d23a}.approach-list .tag-row{flex-wrap:wrap}.title-timer.paused{color:var(--text-hi);background:#7a5a12}.gnd-window{flex-direction:column;min-height:0;display:flex}.del-head{background:var(--panel-2);justify-content:space-between;align-items:center;padding:2px 6px;font-size:11px;font-weight:600;display:flex}.del-scroll{background:var(--cell);max-height:220px;overflow:auto}.del-list{border-collapse:collapse;width:100%;font-family:var(--mono);font-size:11px}.del-list th{background:var(--panel-2);color:var(--text-dim);text-align:left;padding:2px 5px;font-weight:600;position:sticky;top:0}.del-list td{border-top:1px solid var(--line);white-space:nowrap;cursor:pointer;padding:1px 5px}.del-list td.edit{color:#8fd3ff;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.del-list td.sq{color:#9fd}.del-list td .req{color:#ffd34d}.del-list tr.assumed td.cs{border-left:3px solid #4fd16a}.del-list tr.ai td.cs,.del-list tr.inactive td.cs{border-left:3px solid #e6ebee}.del-list tr.transferIn td.cs{border-left:3px solid #ff9a2e}.del-list tr.selected td{background:#263a8a}.del-list tr.request td{animation:1s steps(2,start) infinite gstrip-blink}.del-list select{background:var(--cell);height:17px;color:var(--text);border:1px solid var(--line);font-size:10px}.del-list input[type=checkbox]{margin:0}.gnd-bay{background:var(--panel-2);grid-template-columns:repeat(4,minmax(150px,1fr));gap:2px;padding:2px;display:grid;overflow-x:auto}.gstrip{background:var(--cell);border-left:4px solid var(--line);font-family:var(--mono);cursor:pointer;margin:2px;padding:2px 4px;font-size:11px}.gstrip.assumed{border-left-color:#4fd16a}.gstrip.ai,.gstrip.inactive{border-left-color:#e6ebee}.gstrip.transferIn,.gstrip.transferOut{border-left-color:#ff9a2e}.gstrip.selected{background:#263a8a}.gstrip.request{animation:1s steps(2,start) infinite gstrip-blink}@keyframes gstrip-blink{to{background:#5a4a14}}.gstrip-top,.gstrip-mid,.gstrip-actions{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.gstrip-top{flex-wrap:nowrap}.gstrip-top .strip-find{padding:0 2px}.gstrip-top b{font-size:12px}.gstrip-top .sq{color:#9fd;margin-left:auto}.gstrip-actions{margin-top:2px}.gstrip-actions .mini-btn{height:18px;padding:0 5px;font-size:10px}.gstrip-actions select{background:var(--cell);height:18px;color:var(--text);border:1px solid var(--line);font-size:10px}.airport-detail,.sector{flex-direction:column;gap:5px;padding:6px 8px;display:flex}.sector dl{grid-template-columns:120px 1fr;gap:3px 8px;margin:0;display:grid}.sector dt{color:var(--text-dim)}.sector dd{margin:0}.sector-sources{border-top:1px solid var(--line);flex-direction:column;gap:6px;padding-top:6px;display:flex}.colours,.settings{flex-direction:column;gap:4px;padding:6px 8px;display:flex}.colour-row,.setting-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.colour-row input{background:0 0;border:0;width:44px;height:20px;padding:0}.setting-row input{background:var(--cell);border:0;width:70px;height:20px;padding:0 4px}.settings-group{color:var(--text-dim);margin-top:4px;font-weight:600}.shortcuts td:first-child{white-space:nowrap;font-family:var(--mono);color:var(--warn)}.popup{z-index:100;background:var(--panel);border:1px solid var(--line);border-radius:5px;position:fixed;overflow:hidden;box-shadow:0 10px 30px #0009}.ctx-title{border-bottom:1px solid var(--line);background:var(--panel-2);max-width:320px;color:var(--text-hi);font-family:var(--mono);white-space:nowrap;text-overflow:ellipsis;padding:6px 12px;font-size:12px;font-weight:600;overflow:hidden}.menu-grid{background:var(--panel);grid-template-columns:repeat(2,minmax(110px,auto));min-width:240px;padding:0 0 4px;display:grid}.menu-cell{min-height:26px;color:var(--text-hi);text-align:left;white-space:nowrap;background:0 0;border:0;justify-content:space-between;align-items:center;gap:12px;padding:0 10px 0 14px;font-size:12.5px;font-weight:500;display:flex}.menu-keys{font-family:var(--mono);color:var(--text-dim);font-size:11px}.menu-cell.wide,.menu-header{grid-column:1/-1}.menu-header{border:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--panel-2);color:var(--text);letter-spacing:.12em;text-align:left;cursor:pointer;justify-content:space-between;gap:12px;margin:6px 0 2px;padding:5px 12px;font-size:10.5px;font-weight:600;display:flex}.menu-grid>.menu-header:first-child{border-top:0;margin-top:0}.menu-header:hover:not(:disabled){color:var(--text-hi)}.menu-header:disabled{cursor:default}.menu-header.request{color:var(--warn);background:#e8b54a1f;border-color:#e8b54a59}.menu-cell:hover:not(:disabled){background:var(--hover);box-shadow:inset 3px 0 0 var(--accent)}.menu-cell.active{color:var(--accent)}.menu-cell:disabled{color:var(--text-off);font-weight:400}.minima-row{font-family:var(--mono);color:var(--text-dim);flex-wrap:wrap;gap:2px 12px;padding:2px 8px;font-size:11px;display:flex}.minima-row b{color:var(--text);font-family:inherit}.menu-cell.group{justify-content:space-between;gap:12px;display:flex}.menu-cell.group.open{background:var(--hover)}.menu-cell.sub{background:var(--well);padding-left:30px;font-weight:400}.menu-caret{color:var(--text-dim)}.dropdown .menu-grid{grid-template-columns:1fr;min-width:200px}.pick-cols{background:var(--cell);gap:1px;display:flex}.pick-col{background:var(--panel-2);flex-direction:column;display:flex}.pick-title{color:var(--text-dim);padding:2px 8px;font-size:11px;font-weight:600}.pick-list{max-height:240px;overflow-y:auto}.pick-item{width:100%;min-width:74px;height:20px;color:var(--text-hi);font-family:var(--mono);text-align:left;background:0 0;border:0;padding:0 10px;font-size:13px;display:block}.pick-item:hover{background:var(--hover)}.pick-item.current{background:var(--accent);color:var(--accent-ink)}.pick-item.warn{color:#ff8a7a}.wp-picker{background:var(--panel-2);flex-direction:column;display:flex}.wp-search{border-bottom:1px solid var(--line);align-items:center;gap:8px;padding:4px 6px;display:flex}.wp-search input{width:190px;font-family:var(--mono);text-transform:uppercase;font-size:13px}.wp-hint{color:var(--text);white-space:nowrap;font-size:11px}.wp-turns{justify-content:space-between;align-items:center;gap:4px;padding:2px 4px;display:flex}.wp-relative{grid-template-columns:repeat(7,auto);gap:1px;padding:2px 4px;display:grid}.wp-relative .mini-btn,.wp-turns .mini-btn{min-width:0;padding:0 3px}.wp-picker .pick-col:last-child .pick-list{max-height:214px}.lobby{background:var(--pvd);flex-direction:column;flex:1;padding:24px 16px;display:flex;position:relative;overflow-y:auto}.start-sketch{--brief-arr:#b18cff;--brief-dep:#e8b54a;--brief-heli:#4fd1c5;justify-content:center;margin:4px 0;display:flex}.start-sketch svg{width:220px;height:220px}.lobby-corner{z-index:2;gap:8px;display:flex;position:absolute;top:12px;right:16px}.lobby-guide-btn{border:1px solid var(--line);background:var(--cell);color:var(--text-hi);letter-spacing:.06em;cursor:pointer;border-radius:3px;padding:4px 12px;font-weight:600}.lobby-guide-btn:hover{background:var(--hover)}.lobby-guide-btn:disabled{color:var(--text-off);cursor:default;background:var(--cell)}.account-win{flex-direction:column;width:min(720px,100vw - 32px);max-height:calc(100vh - 48px);display:flex}.account-body{flex-direction:column;gap:10px;padding:14px 16px;display:flex;overflow-y:auto}.account-signin p{margin:0 0 10px}.account-tabs{border-bottom:1px solid var(--line);gap:4px;margin-bottom:8px;display:flex}.account-tabs button{color:var(--text-dim);background:0 0;border:0;border-bottom:2px solid #0000;padding:4px 10px}.account-tabs button.on{color:var(--text-hi);border-bottom-color:var(--accent)}.account-form{padding:0}.account-actions{flex-wrap:wrap;gap:6px;display:flex}.account-msg{background:var(--cell);border-radius:3px;padding:6px 10px}.account-msg.ok{color:var(--ok)}.account-msg.bad{color:var(--danger)}.account-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.account-name{gap:6px;display:flex}.account-name input{background:var(--cell);color:var(--text-hi);border:1px solid var(--line);border-radius:3px;width:16em;max-width:100%;padding:2px 6px;font-size:16px;font-weight:600}.account-rank{text-align:right;color:var(--warn)}.account-xp-bar{background:var(--cell);border-radius:3px;height:6px;margin-bottom:4px;overflow:hidden}.account-xp-bar span{background:var(--accent);height:100%;display:block}.account-stats{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.account-stats div{background:var(--cell);border-radius:3px;flex-direction:column;padding:6px 8px;display:flex}.account-stats b{color:var(--text-hi);font-size:18px}.account-shifts td{white-space:nowrap}.account-shifts .score-value{font-size:15px}.account-game{justify-content:space-between;align-items:center;gap:10px;display:flex}.account-foot{justify-content:space-between;margin-top:6px}.mini-btn.danger{color:var(--danger)}.account-strip{border:0;border-bottom:1px solid var(--line);background:var(--well);width:100%;color:var(--text);text-align:left;cursor:pointer;align-items:center;gap:16px;padding:8px 16px;display:flex}.account-strip:hover{background:var(--cell)}.account-strip-name{flex-direction:column;min-width:10em;display:flex}.account-strip-name b{color:var(--text-hi)}.account-strip-rank{color:var(--warn);font-size:12px}.account-strip-xp{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.account-strip-xp .account-xp-bar{margin:0}.account-strip-stats{white-space:nowrap}@media (width<=700px){.account-strip{flex-wrap:wrap}.account-strip-stats{white-space:normal}}@media (width<=640px){.account-stats{grid-template-columns:repeat(2,1fr)}}.guide-win{flex-direction:column;width:min(860px,100vw - 32px);max-height:calc(100vh - 48px);display:flex}.guide-body{color:var(--text);padding:8px 20px 20px;line-height:1.5;overflow-y:auto}.guide-body h2{color:var(--text-hi);margin:12px 0 8px;font-size:20px}.guide-body h3{color:var(--accent);border-bottom:1px solid var(--line);margin:20px 0 6px;padding-bottom:4px;font-size:16px}.guide-body h4{color:var(--text-hi);margin:14px 0 4px;font-size:14px}.guide-body p,.guide-body li{font-size:13px}.guide-body ul,.guide-body ol{margin:4px 0 8px;padding-left:22px}.guide-body table{border-collapse:collapse;margin:6px 0 10px;font-size:13px}.guide-body th,.guide-body td{border:1px solid var(--line);text-align:left;vertical-align:top;padding:3px 8px}.guide-body th{background:var(--panel-2);color:var(--text-hi)}.guide-body code{font-family:var(--mono);background:var(--cell);border-radius:2px;padding:0 4px}.guide-body strong{color:var(--text-hi)}.lobby-win{border-color:#34475a;flex:none;width:min(860px,100%);max-height:none;margin:auto;position:static;overflow:visible}.lobby-body{background:var(--line);grid-template-columns:1fr 1fr;gap:1px;max-height:none;display:grid;overflow:visible}.lobby-form{background:var(--win-body);flex-direction:column;gap:8px;padding:14px 16px;display:flex}.lobby-form label{color:var(--text);flex-direction:column;gap:3px;font-size:12px;display:flex}.lobby-form input,.lobby-form select,.home-card .lobby-code input,.home-card .lobby-continue select,.home-filters select{background:var(--well);height:30px;color:var(--text-hi);border:1px solid #34475a;border-radius:4px;padding:0 8px;font-size:13px}.lobby-form input:focus,.lobby-form select:focus,.home-card input:focus,.home-card select:focus,.home-filters select:focus{border-color:var(--accent);outline:none}.lobby-form input::placeholder{color:var(--text-off)}.lobby-title{color:var(--accent);letter-spacing:.1em;margin-bottom:2px;font-size:11px;font-weight:600}.lobby-sessions{flex-direction:column;gap:2px;min-height:120px;display:flex}.lobby-row{border:1px solid var(--line);background:var(--panel-2);color:var(--text-hi);border-radius:4px;align-items:center;gap:8px;padding:5px 8px;display:flex}.lobby-name{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.lobby-form label.lobby-check{flex-direction:row;align-items:center;gap:6px}.lobby-form label.lobby-check input{height:auto}.lobby-weather{background:var(--cell);grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:6px;padding:6px;display:grid}.lobby-presets{flex-wrap:wrap;grid-column:1/-1;gap:4px;display:flex}.lobby-code{align-items:flex-end;gap:6px;display:flex}.lobby-code label{flex:1}.lobby-sessions-row .lobby-code{max-width:360px}.lobby-subtitle{color:var(--text-dim);margin-top:6px;font-size:12px;font-weight:600}.lobby-resume{color:var(--warn);background:var(--win-body);grid-column:1/-1;padding:6px 12px}.lobby-notice{color:var(--on-warn);background:var(--warn);padding:6px 12px}.lobby-foot{color:var(--text-dim);background:var(--win-head);border-top:1px solid var(--line);padding:8px 16px;font-size:11px}.net-banner{z-index:200;background:var(--danger);color:var(--text-hi);padding:5px 14px;font-weight:600;position:fixed;top:32px;left:50%;transform:translate(-50%)}.toast{z-index:150;background:var(--panel-2);border-left:3px solid var(--warn);max-width:420px;color:var(--text-hi);padding:6px 10px;position:fixed;bottom:12px;right:12px;box-shadow:0 4px 16px #000a}@media (width<=760px){.lobby-body{grid-template-columns:1fr}.title-app,.title-session{display:none}.pvd-scenario{max-width:60%;font-size:10px}}.summary-backdrop{z-index:60;background:#0000008c;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.summary-win{width:min(460px,100%);max-height:calc(100vh - 32px);position:static;overflow:auto}.start-metar{white-space:normal;color:var(--text);font-size:12px}.start-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.lobby-continue{flex-direction:column;gap:6px;margin-bottom:4px;padding-bottom:10px;display:flex}.summary-body{flex-direction:column;gap:8px;padding:10px 12px;display:flex}.summary-head b{font-size:14px}.summary-table{border-collapse:collapse;width:100%;font-size:12px}.summary-table td{border-bottom:1px solid var(--line);padding:3px 4px}.summary-value{text-align:right;font-variant-numeric:tabular-nums;font-weight:600}.summary-note{font-size:11px}.summary-actions{justify-content:flex-end;gap:6px;display:flex}.score-list{flex-direction:column;gap:6px;display:flex}.score-dev{border-left:3px solid var(--warn);color:var(--warn);background:var(--cell);padding:4px 8px;font-size:12px}.score-card{border:1px solid var(--line);background:var(--cell);flex-direction:column;gap:4px;padding:6px 8px;display:flex}.score-card.mine{border-color:var(--accent)}.score-head{align-items:center;gap:10px;font-size:12px;display:flex}.score-value{font-family:var(--mono);text-align:center;font-variant-numeric:tabular-nums;min-width:2.4em;font-size:26px;font-weight:700}.score-value.good{color:var(--ok)}.score-value.fair{color:var(--warn)}.score-value.poor{color:var(--danger)}.com-voice{padding:0 10px}.com-voice.on{color:var(--ok);box-shadow:inset 0 -2px 0 var(--ok);background:var(--cell)}.com-tools{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:6px;padding:4px 6px;display:flex}.com-template{max-width:100%}.com-reply{flex-wrap:wrap;align-items:center;gap:4px;display:inline-flex}.dep-time{font-variant-numeric:tabular-nums}.dep-time.on-time{color:var(--ok)}.dep-time.margin{color:var(--warn)}.dep-time.late{color:var(--danger);font-weight:700}.score-clean{font-size:12px}.com-line.incoming{background:#4fd16a24;border-left:3px solid #4fd16a;padding-left:4px;font-weight:600}.com-tab.unread{animation:1s steps(2,start) infinite unread}.com-badge{min-width:16px;color:var(--pvd);text-align:center;background:#4fd16a;border-radius:8px;margin-left:6px;padding:0 4px;font-size:10px;font-weight:700;line-height:16px;display:inline-block}.title-app{align-items:center;gap:6px;font-weight:600;display:inline-flex}.title-logo{width:18px;height:18px}.lobby-brand{background:var(--win-body);border-bottom:1px solid var(--line);align-items:center;gap:14px;padding:16px;display:flex}.lobby-logo{width:56px;height:56px}.lobby-name-app{letter-spacing:.04em;color:var(--text-hi);font-size:24px;font-weight:700}.lobby-credits{opacity:.7;margin-top:4px;font-size:10px}.lobby-label{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.lobby-dev{border-left:3px solid var(--warn);color:var(--warn);margin-top:4px;padding:4px 6px;font-size:11px;line-height:1.35;display:block}.lobby-form label.lobby-check{flex-wrap:wrap}.lobby-info{border:1px solid var(--line);width:16px;height:16px;color:var(--text-dim);cursor:pointer;background:0 0;border-radius:50%;padding:0;font:italic 700 10px/14px Georgia,serif}.lobby-info:hover,.lobby-info.on{color:#4fd16a;border-color:#4fd16a}.lobby-info-text{background:var(--cell);color:var(--text);border-left:2px solid #4fd16a;flex-basis:100%;margin:2px 0 4px;padding:6px 8px;font-size:11px;line-height:1.4;display:block}.tag-row .wp-input{width:120px;font-family:var(--mono);text-transform:uppercase}.tag-row .wp-input.bad{outline:1px solid var(--warn)}.lobby-pc{color:var(--text);border-bottom:1px solid var(--line);padding:8px 16px;font-size:12px}.lobby-foot .lobby-pc{color:inherit;font-size:inherit;border:0;padding:0 0 3px}.lobby-warn-box{color:var(--on-warn);background:var(--warn);padding:8px 16px;font-size:12px}.lobby-server{color:var(--text);border-bottom:1px solid var(--warn);background:#3b3016;padding:8px 12px;font-size:12px;line-height:1.45}.lobby-server b{color:var(--warn)}.atc-note{color:var(--text-dim);border-top:1px solid var(--line);padding:4px 8px;font-size:11px;line-height:1.35}.atc-ai-note{color:var(--warn)}.fp-form{background:var(--panel-2);flex-direction:column;gap:1px;display:flex}.fp-row{grid-template-columns:repeat(auto-fit,minmax(0,1fr));gap:1px;display:grid}.fp-field{background:var(--win-body);color:var(--text-dim);flex-direction:column;gap:3px;padding:4px 8px 7px;font-size:12px;display:flex}.fp-field input,.fp-field textarea{background:var(--cell);color:var(--text);font-family:var(--mono);resize:none;border:0;border-radius:0;padding:3px 6px;font-size:14px}.fp-field textarea{min-height:54px}.gates{--gate-free:#3f9a64;--gate-occupied:#5d7183;--gate-reserved:#e8c547;--gate-blocked:#3a4652;flex-direction:column;gap:8px;max-height:70vh;padding:6px 8px;display:flex;overflow-y:auto}.gates-bar{flex-wrap:wrap;gap:4px;display:flex}.gates-summary{grid-template-columns:repeat(5,1fr) auto;align-items:stretch;gap:4px;display:grid}.gates-count{border:1px solid var(--line);border-left:3px solid var(--line);background:var(--well);color:var(--text);cursor:pointer;border-radius:3px;flex-direction:column;align-items:flex-start;padding:3px 6px;display:flex}.gates-count b{font:600 15px var(--mono);color:var(--text-hi)}.gates-count span{letter-spacing:.06em;color:var(--text-dim);font-size:8.5px}.gates-count.on{background:var(--panel);box-shadow:inset 0 0 0 1px var(--accent)}.gates-count.gate-free{border-left-color:var(--gate-free)}.gates-count.gate-reserved{border-left-color:var(--gate-reserved)}.gates-count.gate-blocked{border-left-color:var(--gate-blocked)}.gates-hint{font-size:11.5px}.gates-hint.active{color:var(--gate-reserved);background:#e8c5471f;border-radius:3px;padding:4px 8px}.gates-zone-head{align-items:center;gap:8px;margin-bottom:4px;font-size:11px;display:flex}.gates-zone-head b{color:var(--text-hi);min-width:96px;font-weight:600}.gates-meter{background:var(--well);border:1px solid var(--line);border-radius:3px;flex:1;height:5px;overflow:hidden}.gates-meter i{background:var(--gate-occupied);height:100%;display:block}.gates-grid{grid-template-columns:repeat(auto-fill,minmax(58px,1fr));gap:3px;display:grid}.gate-tile{border:1px solid var(--line);border-left:3px solid var(--gate-free);background:var(--well);min-height:32px;color:var(--text);text-align:left;border-radius:3px;flex-direction:column;align-items:flex-start;padding:2px 5px;display:flex}.gate-tile b{font:600 11px var(--mono);color:var(--text-hi)}.gate-tile small{font:9px var(--mono);color:var(--text-dim);white-space:nowrap;text-overflow:ellipsis;max-width:100%;overflow:hidden}.gate-tile[aria-disabled=true]{cursor:default}.gate-tile[aria-disabled=false]{cursor:pointer}.gate-tile[aria-disabled=false]:hover{background:var(--hover)}.gate-tile.gate-occupied{background:#2a3d52;border-color:#4a6178 #4a6178 #4a6178 #8fb3d6}.gate-tile.gate-occupied b{color:#d6e6f5}.gate-tile.gate-occupied small{color:#b8cfe4}.gate-tile.gate-reserved{border-left-color:var(--gate-reserved);background:#e8c5471a}.gate-tile.gate-reserved small{color:var(--gate-reserved)}.gate-tile.gate-blocked{border-style:dashed;border-left:3px solid var(--gate-blocked);color:var(--text-off);background:repeating-linear-gradient(135deg,#0000 0 4px,#788ca01f 4px 6px)}.gate-tile.gate-blocked b,.gate-tile.gate-blocked small{color:var(--text-off)}.gate-tile.mine{box-shadow:inset 0 0 0 1px var(--gate-reserved)}.gate-tile.hovered{outline:2px solid var(--accent);outline-offset:-1px}.gate-tile.linked{outline:1px dashed var(--accent);outline-offset:-1px}.gates-count.gate-occupied{border-left-color:#8fb3d6}.tfm-num{border:1px solid var(--line);background:var(--well);width:64px;height:22px;color:var(--text-hi);font-family:var(--mono);padding:0 4px}.tfm-num.invalid{border-color:var(--warn)}.atis-window{flex-direction:column;gap:6px;padding:6px 8px;font-size:12px;display:flex}.atis-head{align-items:center;gap:12px;display:flex}.atis-letter{text-align:center;border:1px solid var(--line);min-width:40px;color:var(--warn);padding:4px 6px;font-size:36px;font-weight:700;line-height:1}.atis-table th{text-align:left;color:var(--text-dim);font-weight:600}.atis-text{line-height:1.35}.airport-tabs{grid-template-columns:1fr 1fr}.airport-info{max-height:60vh;padding:4px 8px 8px;font-size:12px;line-height:1.45;overflow-y:auto}.airport-info h4{letter-spacing:.06em;text-transform:uppercase;color:var(--text);margin:8px 0 2px;font-size:11px}.airport-info ul{margin:0;padding-left:16px}.airport-info li{margin:2px 0}.airport-info p{margin:4px 0}.wind-rose{z-index:5;opacity:.6;pointer-events:none;flex-direction:column;align-items:center;display:flex;position:absolute;bottom:10px;right:10px}.wr-ring{fill:none;stroke:#a0b4c84d;stroke-width:1px}.wr-tick{stroke:#a0b4c873;stroke-width:1px}.wr-card{font:600 7px var(--mono);fill:#c8d7e6b3}.wr-wind line{stroke:var(--text);stroke-width:1.5px}.wr-wind polygon{fill:var(--text)}.wr-text{font:9px var(--mono);color:var(--text);margin-top:-2px}.brief{--brief-arr:#b18cff;--brief-dep:#e8b54a;--brief-heli:#4fd1c5;flex-direction:column;gap:8px;max-height:70vh;display:flex}.brief-top{align-items:center;gap:10px;display:flex}.brief-sketch{background:var(--well);border:1px solid var(--line);border-radius:4px;flex:none}.brief-rwy{font:600 9px var(--mono);fill:var(--text-dim)}.brief-rwy.on{fill:var(--text-hi)}.brief-north{font:9px var(--mono);fill:var(--text-dim)}.brief-config{flex:1;grid-template-columns:1fr 1fr;gap:6px;display:grid}.brief-chip{border:1px solid var(--line);background:var(--well);border-left-width:3px;border-radius:3px;flex-direction:column;padding:4px 8px;display:flex}.brief-chip span{letter-spacing:.08em;color:var(--text-dim);font-size:9.5px}.brief-chip b{font:600 15px var(--mono);color:var(--text-hi)}.brief-chip.arr{border-left-color:var(--brief-arr)}.brief-chip.dep{border-left-color:var(--brief-dep)}.brief-chip.heli{border-left-color:var(--brief-heli)}.brief-flows{grid-template-columns:1fr 1fr;gap:10px;display:grid}.brief-flow{flex-direction:column;align-items:flex-start;gap:2px;display:flex}.brief-flow-title{letter-spacing:.08em;color:var(--text-dim);margin-bottom:2px;font-size:9.5px}.brief-flow-step{flex-direction:column;align-items:flex-start;gap:2px;display:flex}.brief-unit{border:1px solid var(--line);background:var(--panel);border-radius:3px;align-items:baseline;gap:6px;padding:2px 7px;display:inline-flex}.brief-unit b{font:600 11px var(--mono);color:var(--text-hi)}.brief-unit small{font:10px var(--mono);color:var(--text-dim)}.brief-unit.ext{border-style:dashed}.brief-unit.mine{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.brief-handoff{color:var(--text-dim);padding-left:10px;font-size:10px;line-height:1.2}.airport-tabs{grid-auto-columns:1fr;grid-auto-flow:column;display:grid}.brief-tabs{grid-auto-columns:1fr;grid-auto-flow:column;margin-top:2px;display:grid}.brief-card{flex-direction:column;gap:6px;display:flex}.brief-card-head{align-items:baseline;gap:8px;display:flex}.brief-card-head b{color:var(--text-hi);font-size:13px}.brief-card-head span{font:12px var(--mono);color:var(--accent)}.brief-duties{margin:0;padding-left:16px}.brief-table{border-collapse:collapse;width:100%;font-size:11.5px}.brief-table caption{text-align:left;letter-spacing:.08em;text-transform:uppercase;color:var(--text);padding:4px 0 2px;font-size:10px}.brief-table th{text-align:left;color:var(--text-dim);border-bottom:1px solid var(--line);padding:2px 4px;font-size:10px;font-weight:500}.brief-table td{vertical-align:top;border-bottom:1px solid #2b3a4980;padding:2px 4px}.brief-table td:first-child{font-family:var(--mono);color:var(--text-hi);white-space:nowrap}.brief-notes summary{cursor:pointer;letter-spacing:.08em;color:var(--text-dim);padding:4px 0;font-size:10.5px}.airport-loading{color:var(--text-dim);flex:1;justify-content:center;align-items:center;font-size:13px;display:flex}*{scrollbar-width:thin;scrollbar-color:#34475a transparent}form.lobby-form{grid-template-columns:1fr 1fr;align-content:start;gap:8px 12px;display:grid}form.lobby-form>.lobby-title,form.lobby-form>.lobby-weather,form.lobby-form>button,form.lobby-form>label.lobby-check,form.lobby-form>label.lobby-wide{grid-column:1/-1}form.lobby-form>label:has(.lobby-dev){grid-column:1/-1}form.lobby-form>label:has(.lobby-info-text){grid-column:1/-1}form.lobby-form>label{min-width:0}form.lobby-form select{width:100%;min-width:0}.airport-card{border:1px solid var(--line);background:var(--panel-2);border-radius:4px;flex-direction:column;gap:8px;margin-bottom:6px;padding:10px 12px;display:flex}.airport-card-head{align-items:baseline;gap:10px;display:flex}.airport-card-icao{font-family:var(--mono);color:var(--accent);font-size:18px;font-weight:600}.airport-card-name{color:var(--text-hi);font-size:14px;font-weight:600}.airport-card-facts{grid-template-columns:96px 1fr;gap:4px 10px;margin:0;font-size:12px;display:grid}.airport-card-facts dt{color:var(--text-dim)}.airport-card-facts dd{color:var(--text);min-width:0;margin:0}.airport-card-positions{flex-wrap:wrap;gap:4px;display:flex}.airport-card-positions span{border:1px solid var(--line);font-family:var(--mono);border-radius:3px;padding:0 6px;font-size:11px}.airport-card-guide{align-self:flex-start}.airport-card .airport-info{border-top:1px solid var(--line);max-height:260px;padding:4px 0 0}.lobby-sessions-row{grid-column:1/-1}.lobby-sessions-row .lobby-sessions{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:6px;min-height:0;display:grid}.taxi-window{flex-direction:column;font-size:12px;display:flex}.taxi-head{border-bottom:1px solid var(--line);align-items:baseline;gap:10px;padding:8px 10px;display:flex}.taxi-head b{font-family:var(--mono);color:var(--text-hi);font-size:14px}.taxi-block{border-bottom:1px solid var(--line);flex-direction:column;gap:7px;padding:8px 10px;display:flex}.taxi-block-title{letter-spacing:.1em;color:var(--text-dim);justify-content:space-between;gap:10px;font-size:10.5px;display:flex}.taxi-block-title .req{color:var(--warn)}.taxi-row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.taxi-row select,.taxi-via{border:1px solid var(--line);background:var(--well);height:24px;color:var(--text-hi);border-radius:3px;padding:0 6px}.taxi-via{min-width:160px;font-family:var(--mono);text-transform:uppercase;flex:1}.taxi-row .mini-btn.go{margin-left:auto}.mini-btn.go{border-color:var(--accent);background:var(--accent);color:var(--accent-ink)}.mini-btn.go:hover:not(:disabled){background:#5cc8d8}.mini-btn.go:disabled{color:var(--text-faint);border-color:var(--line);background:0 0}.taxi-chain{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.taxi-chip{border:1px solid var(--line);background:var(--well);color:var(--text);font-family:var(--mono);border-radius:10px;padding:1px 8px;font-size:12px}button.taxi-chip:hover:not(:disabled){border-color:var(--danger)}.taxi-chip.stand{color:var(--text-dim)}.taxi-chip.hs{border-color:var(--danger);color:#ffb4ab}.taxi-chip.hp{border-color:var(--warn);color:var(--warn)}.taxi-say{border:1px solid var(--line);background:var(--well);color:var(--text-dim);font-family:var(--mono);border-radius:3px;padding:5px 8px;font-size:11.5px;line-height:1.4}.taxi-warn{color:var(--warn)}.taxi-note{color:var(--text-dim);padding:8px 10px}.taxi-stands{flex-wrap:wrap;align-items:center;gap:4px;display:flex}button.taxi-chip.on{border-color:var(--accent);color:var(--accent)}.taxi-stand-input{border:1px solid var(--line);background:var(--well);width:64px;height:22px;color:var(--text-hi);font-family:var(--mono);text-transform:uppercase;border-radius:3px;padding:0 5px}.lobby-tabs{background:var(--win-head);border-bottom:1px solid var(--line);border-left:3px solid var(--accent);gap:2px;padding:0 12px;display:flex}.lobby-tabs button{color:var(--text-dim);letter-spacing:.08em;cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;padding:7px 16px;font-weight:600}.lobby-tabs button.on{color:var(--text-hi);border-bottom-color:var(--accent)}.lobby-tabs button:hover{color:var(--text-hi)}.learn{background:var(--line);grid-template-columns:minmax(0,1fr) 320px;gap:1px;display:grid}.learn-paths{background:var(--win-body);flex-direction:column;gap:12px;min-width:0;padding:14px 16px;display:flex}.learn-progress{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.learn-progress b{color:var(--text-hi)}.learn-progress .account-xp-bar{flex:1;min-width:140px;margin:0}.learn-tip{border-left:3px solid var(--warn);background:var(--cell);padding:6px 10px}.learn-tip b{color:var(--warn)}.learn-path{flex-direction:column;gap:4px;display:flex}.learn-lessons{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:6px;display:grid}.learn-lesson{border:1px solid var(--line);background:var(--cell);min-height:58px;color:var(--text);text-align:left;cursor:pointer;border-radius:3px;flex-direction:column;gap:4px;padding:7px 9px;display:flex}.learn-lesson:hover{background:var(--hover)}.learn-lesson b{color:var(--text-hi);font-weight:600}.learn-lesson.sel{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.learn-lesson.soon{opacity:.55}.learn-meta{color:var(--text-dim);justify-content:space-between;gap:6px;margin-top:auto;font-size:12px;display:flex}.learn-stars,.lesson-stars{color:var(--warn);letter-spacing:1px}.learn-stars .off,.lesson-stars .off{color:var(--text-faint)}.learn-detail{background:var(--well);flex-direction:column;gap:10px;min-width:0;padding:14px 16px;display:flex}.learn-detail h3{color:var(--text-hi);margin:0;font-size:16px}.learn-detail p{margin:0}.learn-detail dl{grid-template-columns:auto 1fr;gap:3px 12px;margin:0;display:grid}.learn-detail dt{color:var(--text-dim)}.learn-detail dd{color:var(--text-hi);margin:0}.learn-detail b{color:var(--text-hi)}.learn-goals{margin:4px 0 0;padding-left:18px}.learn-help{flex-direction:column;gap:6px;display:flex}.learn-seg{border:1px solid var(--line);border-radius:3px;display:flex;overflow:hidden}.learn-seg button{background:var(--cell);color:var(--text-dim);cursor:pointer;border:0;flex:1;padding:5px 4px;font-weight:600}.learn-seg button.on{background:var(--hover);color:var(--text-hi)}.learn-seg button:disabled{color:var(--text-faint);cursor:default}.learn-note{font-size:11px}@media (width<=900px){.learn{grid-template-columns:1fr}}.lesson-brief,.lesson-result{width:min(560px,100%)}.lesson-brief p{margin:0}.lesson-goals ol{margin:4px 0 0;padding-left:20px}.lesson-goals b,.lesson-phrases b,.lesson-errors b{color:var(--text-hi)}.lesson-principles{border-left:3px solid var(--accent);background:var(--cell);padding:8px 10px}.lesson-principles b{color:var(--text-hi)}.lesson-principles ul{flex-direction:column;gap:3px;margin:4px 0 0;padding-left:18px;display:flex}.lesson-arts{grid-template-columns:repeat(auto-fit,minmax(220px,300px));justify-content:center;gap:8px;display:grid}.lesson-art{border:1px solid var(--line);background:var(--well);border-radius:4px;margin:0;padding:8px}.lesson-art svg{width:100%;height:auto;display:block}.lesson-art figcaption{color:var(--text-dim);margin-top:4px;font-size:12px}.lesson-art figcaption b{color:var(--text-hi)}.lesson-art .art-line,.lesson-art .art-line line{stroke:var(--text);stroke-width:1.6px;fill:none}.lesson-art .art-dim,.lesson-art .art-dim line{stroke:var(--text-faint);stroke-width:1px}.lesson-art .art-dash{stroke:var(--accent);stroke-width:1.4px;stroke-dasharray:5 5;fill:none}.lesson-art .art-accent line{stroke:var(--accent);stroke-width:1.6px}.lesson-art .art-accent .art-fill,.lesson-art .art-line .art-fill{fill:var(--accent);stroke:none}.lesson-art line.art-accent{stroke:var(--accent);stroke-width:2px}.lesson-art line.art-warn{stroke:var(--warn);stroke-width:2px}.lesson-art .art-runway{stroke:var(--text-dim);stroke-width:6px}.lesson-art .art-plane{fill:none;stroke:var(--ok);stroke-width:1.6px}.lesson-art .art-warn-fill{fill:var(--danger)}.lesson-art .art-fix{fill:none;stroke:var(--text);stroke-width:1.4px}.lesson-art .art-box{fill:var(--cell);stroke:var(--line)}.lesson-art .art-text{fill:var(--text)}.lesson-art .art-text-hi{fill:var(--text-hi);font-weight:600}.lesson-art .art-note{fill:var(--text-dim)}.lesson-brief{width:min(680px,100%);max-height:calc(100vh - 32px);overflow-y:auto}.lesson-phrases{flex-direction:column;gap:3px;display:flex}.lesson-phrases code{font-family:var(--mono);color:var(--accent);font-size:12px}.lesson-go{min-width:160px}.lesson-result .mini-btn,.lesson-brief .mini-btn{white-space:nowrap}.lesson-panel{z-index:30;width:360px;max-width:calc(100vw - 80px);max-height:calc(100vh - 120px);position:fixed;top:64px;right:16px;overflow-y:auto;box-shadow:0 6px 18px #00000073}.lesson-panel-body{flex-direction:column;gap:10px;padding:10px 12px;display:flex}.lesson-steps{counter-reset:step;flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.lesson-steps li{counter-increment:step;color:var(--text-dim);grid-template-columns:22px 1fr;column-gap:8px;display:grid}.lesson-steps li:before{content:counter(step);border:1px solid var(--line);width:20px;height:20px;font:600 11px var(--mono);border-radius:50%;grid-row:span 2;place-items:center;display:grid}.lesson-steps li.done{color:var(--text-off)}.lesson-steps li.done .lesson-step-goal{text-decoration:line-through}.lesson-step-goal{color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0}.lesson-step-goal:hover{color:var(--text-hi);text-decoration:underline}.lesson-steps li.done:before{content:"✓";color:var(--ok);border-color:var(--ok)}.lesson-steps li.now{color:var(--text-hi)}.lesson-steps li.now:before{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.lesson-guide{border-left:3px solid var(--warn);background:var(--cell);color:var(--text);grid-column:2;margin-top:3px;padding:5px 8px;text-decoration:none}.lesson-ways{color:var(--text-dim);flex-direction:column;gap:2px;margin-top:6px;font-size:12px;display:flex}.lesson-ways b{color:var(--text);font-weight:600}.lesson-panel-actions{flex-wrap:wrap;gap:6px;display:flex}.lesson-paused{color:var(--warn);font-weight:600}.lesson-fast{border-left:3px solid var(--accent);background:var(--cell);color:var(--accent);padding:4px 8px;font-weight:600}.lesson-stars{letter-spacing:4px;font-size:30px}.lesson-fail{color:var(--danger);font-weight:600}.lesson-checks{flex-direction:column;gap:3px;margin:0;padding:0;list-style:none;display:flex}.lesson-checks li:before{content:"✓ ";color:var(--ok)}.lesson-checks li.miss:before{content:"✗ ";color:var(--danger)}.lesson-errors{flex-direction:column;gap:4px;display:flex}.home{background:var(--pvd);flex-direction:column;flex:1;min-height:0;display:flex}.home-top{background:var(--panel);border-bottom:1px solid var(--line);align-items:center;gap:14px;padding:8px 16px;display:flex}.home-brand{color:var(--text-hi);align-items:center;gap:8px;font-size:15px;display:flex}.home-brand img{width:24px;height:24px}.home-brand .dim{font-family:var(--mono);font-size:12px}.home-online{color:var(--ok);font-family:var(--mono);font-size:12px}.home-online.off{color:var(--warn)}.home-spacer{flex:1}.home-app{flex:1;grid-template-columns:210px minmax(0,1fr);min-height:0;display:grid}.home-nav{background:var(--panel);border-right:1px solid var(--line);flex-direction:column;gap:2px;padding:12px 8px;display:flex;overflow-y:auto}.home-nav button{color:var(--text-dim);letter-spacing:.06em;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:3px;align-items:center;gap:10px;padding:9px 12px;font-weight:600;display:flex}.home-nav button svg{fill:none;stroke:currentColor;stroke-width:2px;flex:none;width:16px;height:16px}.home-nav button:first-of-type svg{fill:currentColor;stroke:none}.home-nav button.on{background:var(--hover);color:var(--text-hi);box-shadow:inset 3px 0 0 var(--accent)}.home-nav button:hover{color:var(--text-hi)}.home-grow{flex:1}.home-foot{color:var(--text-off);flex-direction:column;gap:6px;padding:8px 12px;font-size:11px;line-height:1.4;display:flex}.home-main{background:radial-gradient(ellipse at 70% 0%, #0f1a24 0%, var(--pvd) 60%);flex-direction:column;gap:16px;min-width:0;padding:18px 22px 28px;display:flex;overflow-y:auto}.home-main>.lobby-warn-box,.home-main>.lobby-server,.home-main>.lobby-resume,.home-main>.lobby-notice{border-radius:4px}.home-row{gap:14px;display:grid}.home-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.home-cols-2{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);align-items:start}.home-side{flex-direction:column;gap:14px;min-width:0;display:flex}.home-card{background:var(--panel);border:1px solid var(--line);border-radius:4px;flex-direction:column;gap:8px;min-width:0;padding:14px 16px;display:flex}.home-card.feature{background:linear-gradient(160deg, #15303a 0%, var(--panel) 60%);border-color:#2c5562}.home-card h3{color:var(--text-hi);justify-content:space-between;align-items:baseline;gap:8px;margin:0;font-size:15px;display:flex}.home-card p{margin:0}.home-card form.lobby-form,.home-card .lobby-form,.home-card .lobby-continue{background:0 0;padding:0}.home-card .lobby-continue{flex-direction:column;gap:8px;display:flex}.home-push{align-self:flex-start;margin-top:auto}.home-badge{border:1px solid var(--line);color:var(--accent);font:600 11px var(--mono);border-radius:3px;padding:0 6px}.home-scenarios{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:8px;display:grid}.home-scenario{border:1px solid var(--line);background:var(--cell);color:var(--text);text-align:left;cursor:pointer;border-radius:4px;padding:0;display:block;position:relative;overflow:hidden}.home-scenario-name{color:var(--text-dim);font-size:12px;font-family:var(--mono);background:linear-gradient(#0000,#080d13d9);padding:14px 10px 6px;position:absolute;bottom:0;left:0;right:0}.home-scenario-name b{font-family:var(--ui);margin-right:6px;font-size:14px}.home-scenario b{color:var(--text-hi)}.home-scenario.sel{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.home-scenario-map .map-ring{fill:none;stroke:var(--line)}.home-scenario-map .map-land{fill:#132029}.home-scenario-map .map-ridge{fill:none;stroke:#5b4a35;stroke-width:1.4px;stroke-linejoin:round}.home-scenario-map .map-city{fill:#1d2833;stroke:#33424f}.home-scenario-map .map-river{fill:none;stroke:#2c5a74;stroke-width:1.2px}.home-scenario-map .map-label{fill:var(--text-off);font-size:9px;font-family:var(--ui)}.home-scenario.soon{opacity:.55;cursor:default}.home-scenario-map{height:90px}.home-card .lobby-sessions{flex-direction:column;gap:4px;min-height:0;display:flex}.home-tabs{border-bottom:1px solid var(--line);gap:2px;display:flex}.home-tabs button{color:var(--text-dim);letter-spacing:.06em;cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;padding:6px 14px;font-weight:600}.home-tabs button.on{color:var(--text-hi);border-bottom-color:var(--accent)}.home-tabs button:disabled{color:var(--text-faint);cursor:default}.home-board{flex-direction:column;gap:12px;display:flex}.home-filters{flex-wrap:wrap;gap:12px;display:flex}.home-filters label{color:var(--text-dim);align-items:center;gap:6px;font-size:12px;display:flex}.home-table{padding:0;overflow-x:auto}.home-table table{border-collapse:collapse;width:100%;font-size:13px}.home-table th,.home-table td{border-bottom:1px solid var(--line);text-align:left;padding:7px 12px}.home-table th{color:var(--text-dim);letter-spacing:.06em;text-transform:uppercase;font-size:11px}.home-table td.num,.home-table th.num{text-align:right;font-family:var(--mono);font-variant-numeric:tabular-nums}.home-table td.pos{font-family:var(--mono);color:var(--warn)}.home-table td.rank{color:var(--warn);font-size:12px}.home-table tr.me td{color:var(--text-hi);background:#153038}.home-table p{padding:14px 16px}.home-caption{margin:0;font-size:12px}.home-news{flex-direction:column;gap:12px;max-width:820px;display:flex}.home-news ul{flex-direction:column;gap:3px;margin:0;padding-left:18px;display:flex}.home-main .learn{border:1px solid var(--line);border-radius:4px;overflow:hidden}@media (width<=1100px){.home-cols-3,.home-cols-2{grid-template-columns:1fr}}@media (width<=760px){.home-app{grid-template-columns:1fr}.home-nav{flex-flow:wrap}.home-grow{display:none}}form.lobby-form>.lobby-wide{grid-column:1/-1}.home-card .lobby-code label,.home-card .lobby-continue label{color:var(--text);flex-direction:column;gap:3px;font-size:12px;display:flex}.home-card .lobby-continue select{width:100%}.home-card .lobby-code{align-items:flex-end}.home-account{max-width:none}.account-profile{flex-direction:column;gap:14px;display:flex}.account-big{color:var(--text-hi);font-size:26px;font-family:var(--mono)}.account-chart{width:100%;height:76px}.account-chart .chart-grid{stroke:var(--line);stroke-width:1px}.account-chart .chart-line{fill:none;stroke:var(--accent);stroke-width:2px}.account-chart .chart-dot{fill:var(--accent)}.account-errors{flex-direction:column;gap:3px;margin:0;padding-left:18px;display:flex}.account-lesson{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:6px;margin-top:auto;padding-top:6px;display:flex}.account-lesson b{color:var(--text-hi)}.account-table-title{padding:12px 16px 0}.home-advanced{border:1px solid var(--line);background:var(--well);border-radius:4px}.home-advanced summary{cursor:pointer;color:var(--text-hi);padding:7px 10px;font-size:13px;font-weight:600}.home-advanced-grid{grid-template-columns:1fr 1fr;gap:8px 12px;padding:4px 10px 10px;display:grid}.home-advanced-grid>label{min-width:0;color:var(--text);flex-direction:column;gap:3px;font-size:12px;display:flex}.home-advanced-grid>.lobby-weather{grid-column:1/-1}.home-advanced-grid select{width:100%}.learn-wrap{flex-direction:column;gap:14px;display:flex}.learn-next{color:var(--text-hi)}.learn-ratings{flex-wrap:wrap;gap:6px;display:flex}.learn-ratings span{border:1px solid var(--line);border-radius:3px;padding:3px 10px;font-size:12px}.learn-ratings span.got{border-color:var(--ok);color:var(--ok)}.home-chip-rank{color:var(--warn);letter-spacing:0;font-weight:500}.home-scenario-map{background:#0d1720;width:100%;height:120px;display:block}.home-scenario-map .map-coast{fill:none;stroke:#4a7f99;stroke-width:1.6px;stroke-linejoin:round}.home-scenario-map .map-rwy{stroke:var(--text-hi);stroke-width:6px;stroke-linecap:butt}.home-scenario.sel .map-rwy{stroke:var(--accent)}.home-scenario-name{align-items:center;gap:6px;display:flex}.home-scenario-title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.home-scenario-tag{border:1px solid var(--line);color:var(--text-dim);font-size:11px;font-family:var(--ui);background:#080d13cc;border-radius:3px;padding:1px 7px;position:absolute;top:7px;left:8px}.home-scenario-tag.easy{color:#6fcf8e;border-color:#2f6b45}.home-scenario-tag.medium{color:#e3b35a;border-color:#6d5426}.home-scenario-tag.hard{color:#e07a6a;border-color:#6e3229}.lobby-notice{align-items:center;gap:10px;display:flex}.lobby-notice>span{flex:1}.lobby-notice-close{color:inherit;cursor:pointer;background:0 0;border:0;padding:0 4px;font-size:18px;line-height:1}.room-notices{z-index:30;pointer-events:none;flex-direction:column;gap:6px;display:flex;position:absolute;top:10px;left:50%;transform:translate(-50%)}.room-notice{pointer-events:auto;border:1px solid var(--line);border-left:3px solid var(--accent);color:var(--text-hi);background:#0c131bf0;border-radius:4px;align-items:center;gap:10px;padding:6px 8px 6px 12px;font-size:12px;display:flex;box-shadow:0 4px 14px #00000059}.room-notice.owner{border-left-color:#e3b35a}.room-notice button{color:var(--text-dim);cursor:pointer;background:0 0;border:0;padding:0 2px;font-size:16px;line-height:1}.room-notice button:hover{color:var(--text-hi)}.home-footer{border-top:1px solid var(--line);color:var(--text-off);flex-wrap:wrap;gap:4px 0;margin-top:auto;padding-top:14px;font-size:11px;display:flex}.home-footer span+span:before{content:"·";margin:0 10px}
