:root{--bg:#0b1530;--panel:#fffffff7;--panel-solid:#fff;--ink:#1d2440;--muted:#6b7393;--line:#e6e9f4;--primary:#ff6b35;--primary-ink:#fff;--blue:#2f7cf6;--green:#1fbf75;--red:#ef4d5a;--yellow:#ffc93c;--miles:#8b5cf6;--miles-soft:#f1ebff;--event:#f5a524;--event-soft:#fff4dc;--vip:#c99a1e;--vip-soft:#fbf3d6;--chip:#f1f4fb;--primary-soft:#ffe9dc;--radius:18px;--shadow:0 10px 40px #08103059;color:var(--ink);font-family:Nunito,system-ui,-apple-system,sans-serif}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--panel:#161e3af7;--panel-solid:#161e3a;--ink:#eef2ff;--muted:#9aa3c7;--line:#2a355e;--chip:#222c52;--primary-soft:#ff6b3533;--miles:#a78bfa;--miles-soft:#8b5cf62e;--event-soft:#f5a52429;--vip-soft:#c99a1e29}}*{box-sizing:border-box}html,body,#root{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;overscroll-behavior:none;background:var(--bg);-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;height:100%;margin:0;overflow:hidden}button{font:inherit;color:inherit;cursor:pointer}input,select{-webkit-user-select:text;user-select:text;font:inherit;color:var(--ink);background:var(--chip);border:2px solid #0000;border-radius:12px;outline:none;width:100%;padding:10px 12px}input:focus,select:focus{border-color:var(--blue)}label{gap:6px;font-size:14px;font-weight:700;display:grid}label.inline{align-items:center;gap:8px;display:flex}label.inline select{width:auto}h1,h2,h3{margin:0;font-weight:900}h2{font-size:22px}h3{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:18px 0 8px;font-size:14px}.muted{color:var(--muted)}.small{font-size:13px}.code{background:var(--chip);letter-spacing:.05em;border-radius:6px;padding:2px 6px;font-size:12px;font-weight:800}.splash{color:#fff;place-items:center;height:100%;font-size:20px;font-weight:800;display:grid}.splash.fallback{text-align:center;padding:24px}.splash.fallback p{opacity:.85;max-width:320px;margin:8px auto 20px;font-size:15px;font-weight:600}.btn{background:var(--chip);border:none;border-radius:12px;padding:10px 14px;font-weight:800;transition:transform 80ms,filter .15s,opacity .15s}.btn:active:not(:disabled){transform:scale(.97)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.primary{background:var(--primary);color:var(--primary-ink);box-shadow:0 4px #d84f1d}.btn.primary:hover:not(:disabled){filter:brightness(1.06)}.btn.ghost{background:var(--chip)}.btn.big{width:100%;padding:14px;font-size:16px}.btn.small{box-shadow:none;padding:6px 10px;font-size:13px}.link{color:var(--blue);background:0 0;border:none;padding:0;font-weight:800}.panel{background:var(--panel);border-radius:var(--radius);box-shadow:var(--shadow)}.close{background:var(--chip);z-index:2;border:none;border-radius:50%;width:32px;height:32px;font-size:20px;line-height:1;position:absolute;top:12px;right:12px}.bar{background:var(--chip);border-radius:99px;height:8px;overflow:hidden}.bar>div{background:linear-gradient(90deg, var(--blue), #6aa8ff);border-radius:99px;height:100%;transition:width .4s}.bar.tiny{width:100%;height:4px;margin-top:3px}.bar.big{height:14px}.pill{background:var(--chip);border-radius:99px;padding:3px 8px;font-size:12px;font-weight:800;display:inline-block}.pill.flying{color:var(--blue);background:#e3efff}.pill.cargo{color:#b7791f;background:#fff3d6}.empty{background:var(--chip);color:var(--muted);text-align:center;border-radius:12px;padding:14px;font-size:14px}.error,.error-text{color:var(--red);font-size:13px;font-weight:700}.brand{align-items:center;gap:10px;display:flex}.brand-mark{background:var(--primary);color:#fff;border-radius:14px;place-items:center;width:44px;height:44px;font-size:22px;display:grid;transform:rotate(-12deg)}.brand.small .brand-mark{width:36px;height:36px;font-size:18px}.setup-card{top:calc(16px + env(safe-area-inset-top));left:calc(16px + env(safe-area-inset-left));gap:12px;width:min(360px,100% - 32px);max-height:calc(100% - 32px);padding:20px;display:grid;position:absolute;overflow:auto}.field-label{font-size:14px;font-weight:700}.swatches{flex-wrap:wrap;gap:8px;display:flex}.swatch{width:32px;height:32px;box-shadow:0 0 0 2px var(--line);border:3px solid #0000;border-radius:50%}.swatch.on{border-color:var(--panel-solid);box-shadow:0 0 0 3px var(--ink)}.swatch:disabled:not(.on){opacity:.45}.hq-pick{background:var(--chip);border-radius:12px;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;display:flex}.search-results{gap:4px;margin:0;padding:0;list-style:none;display:grid}.search-results button{text-align:left;background:var(--chip);border:none;border-radius:10px;width:100%;padding:8px 10px}.game{position:fixed;inset:0}.globe{background:radial-gradient(90% 60% at 50% 110%,#6a4a7e 0%,#6a4a7e00 70%),radial-gradient(80% 70% at 50% 45%,#2c3166 0%,#1a1f45 55%,#12163a 100%);position:absolute;inset:0;overflow:hidden}.globe-fx{pointer-events:none;background:radial-gradient(75% 75%,#0000 55%,#18103061 100%);position:absolute;inset:0}.globe-fx:after{content:"";opacity:.07;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");animation:.8s steps(4,end) infinite grain;position:absolute;inset:-50%}@keyframes grain{0%{transform:translate(0)}25%{transform:translate(-3%,2%)}50%{transform:translate(2%,-3%)}75%{transform:translate(-2%,-1%)}to{transform:translate(1%,3%)}}@media (prefers-reduced-motion:reduce){.globe-fx:after{animation:none}}.label-layer{pointer-events:none;position:absolute;inset:0;overflow:hidden}.globe-label{white-space:nowrap;color:#fff;background:#0b1530bf;border-radius:99px;margin-top:-6px;padding:2px 8px;font-size:12px;font-weight:700;transition:opacity .2s;position:absolute;top:0;left:0}.globe-label.small{background:#0b153099;padding:1px 6px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px}.globe-label b{font-weight:900}.topbar{top:calc(12px + env(safe-area-inset-top));left:calc(12px + env(safe-area-inset-left));right:calc(12px + env(safe-area-inset-right));pointer-events:none;flex-wrap:wrap;align-items:stretch;gap:8px;display:flex;position:absolute}.topbar>*{pointer-events:auto;background:var(--panel);box-shadow:var(--shadow);border:none;border-radius:14px}.topbar>.airline-wrap{min-width:0;box-shadow:none;background:0 0;display:flex;position:relative}.airline{text-align:left;background:var(--panel);min-width:0;box-shadow:var(--shadow);border:none;border-radius:14px;align-items:center;gap:10px;padding:6px 14px 6px 6px;display:flex}.level-card{z-index:31;overscroll-behavior:contain;background:var(--panel-solid);gap:6px;width:min(300px,100vw - 24px);padding:14px;font-size:14px;display:grid;position:fixed;overflow-y:auto}.level-card-head{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.level-card-head b{font-size:17px}.level-card-head span{color:var(--muted);font-weight:800}.level-card .bar{height:8px}.level-card .bar>div{background:linear-gradient(90deg, var(--yellow), var(--primary))}.level-card h4{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:8px 0 0;font-size:12px}.level-card h4 .miles{color:var(--miles)}.level-card p,.level-card ul{margin:0}.level-card ul{padding-left:18px}.logo{color:#fff;border-radius:11px;flex-shrink:0;place-items:center;width:38px;height:38px;font-size:18px;font-weight:900;display:grid;position:relative}.logo-level{background:linear-gradient(90deg, var(--yellow), var(--primary));box-shadow:0 0 0 2px var(--panel-solid);color:#fff;white-space:nowrap;border-radius:999px;padding:1px 5px;font-size:9px;font-weight:900;line-height:1.3;display:none;position:absolute;bottom:-7px;left:50%;transform:translate(-50%)}.airline-meta{min-width:0}.airline-meta b{white-space:nowrap;text-overflow:ellipsis;max-width:180px;display:block;overflow:hidden}.level{color:var(--muted);align-items:center;gap:6px;font-size:12px;font-weight:800;display:flex}.level .bar{width:80px;height:6px}.level .bar>div{background:linear-gradient(90deg, var(--yellow), var(--primary))}.stat{text-align:left;flex-direction:column;justify-content:center;padding:6px 14px;display:flex}.stat-label{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-size:11px;font-weight:800}.stat b{white-space:nowrap;font-size:17px;font-weight:900}.stat b small{color:var(--muted);font-size:11px}.stat.cash b{color:var(--green)}.stat.miles b,.cash-miles{color:var(--miles)}.cash-miles{font-size:12px;font-weight:900;line-height:1.2;display:none}.stat.price.up b{color:var(--red)}.stat.price.down b{color:var(--green)}.settings{margin-left:auto;position:relative;box-shadow:none!important;background:0 0!important}.settings-btn{background:var(--panel);min-width:44px;height:100%;min-height:44px;box-shadow:var(--shadow);border-radius:14px;position:relative}.btn.settings-btn{place-items:center;padding:0;display:grid}.menu-backdrop{z-index:30;position:fixed;inset:0}.menu{z-index:31;background:var(--panel-solid);min-width:250px;padding:6px;display:grid;position:absolute;top:calc(100% + 8px);right:0}.menu button,.menu a{text-align:left;color:var(--ink);background:0 0;border:none;border-radius:10px;padding:12px;font-size:15px;font-weight:700;text-decoration:none}.menu button:hover,.menu a:hover{background:var(--chip)}.menu .danger{color:var(--red)}.menu .menu-toggle{white-space:nowrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.menu .volume{width:auto;accent-color:var(--green);background:0 0;border:none;margin:-8px 12px 4px;padding:0}.switch{background:var(--line);border-radius:999px;flex-shrink:0;width:40px;height:24px;transition:background .15s;position:relative}.switch:after{content:"";background:#fff;border-radius:50%;width:18px;height:18px;transition:transform .15s;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #0810304d}.switch.on{background:var(--green)}.switch.on:after{transform:translate(16px)}.nav{left:calc(12px + env(safe-area-inset-left));background:var(--panel);box-shadow:var(--shadow);z-index:3;border-radius:18px;flex-direction:column;gap:6px;padding:6px;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.nav button{background:0 0;border:none;border-radius:12px;justify-items:center;gap:2px;width:64px;padding:8px 4px;font-size:11px;font-weight:800;display:grid;position:relative}.nav button .icon{font-size:20px}.nav button.on{background:var(--primary);color:#fff}.badge{background:var(--red);color:#fff;border-radius:9px;min-width:18px;height:18px;padding:0 4px;font-size:11px;line-height:18px;position:absolute;top:2px;right:6px}.badge.dot{background:var(--primary);width:9px;min-width:0;height:9px;padding:0;top:6px;right:14px}.menu .nav-flip-toggle{display:none}.drawer,.side-panel{top:calc(84px + env(safe-area-inset-top));bottom:calc(12px + env(safe-area-inset-bottom));z-index:2;flex-direction:column;gap:8px;width:380px;padding:20px;display:flex;position:absolute;overflow-y:auto}.drawer>*,.side-panel>*{flex-shrink:0}.drawer{left:calc(96px + env(safe-area-inset-left))}.side-panel{right:calc(12px + env(safe-area-inset-right))}.drawer>.close,.side-panel>.close{align-self:flex-end;margin:-8px -8px -32px 0;position:sticky;top:12px}.grabber{display:none}.side-panel.peek{cursor:pointer;gap:6px}.side-panel.peek h2{font-size:18px}.panel-head{gap:4px;padding-right:36px;display:grid}.measure-start{justify-self:start}.measure{background:var(--chip);border-left:4px solid #ffe066;border-radius:10px;align-items:center;gap:8px;padding:6px 10px;display:flex}.measure .link{color:var(--muted);margin-left:auto}.title-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.title-row.rename{margin-right:36px}.title-row.rename input{flex-basis:100%}.specs{flex-wrap:wrap;gap:6px;margin-top:6px;display:flex}.specs span{background:var(--chip);border-radius:8px;padding:3px 7px;font-size:12px;font-weight:700}.size-badge{background:var(--chip);border-radius:6px;padding:2px 6px;font-size:11px;font-weight:800}.size-badge.s1{opacity:.7}.size-badge.s3{color:#1d5a94;background:#d9ecff}.size-badge.s4{color:#8a5a00;background:#ffe9a8}.size-badge.s5{color:#4a2a00;background:linear-gradient(135deg,#ffd25e,#f0a020);box-shadow:inset 0 0 0 1px #c98100}.list-item{text-align:left;background:var(--chip);border:none;border-radius:14px;justify-content:space-between;align-items:center;gap:8px;width:100%;padding:12px;display:flex}.list-item:hover{filter:brightness(.97)}.list-item .right{text-align:right}.stars{color:#f5a524;letter-spacing:1px}.office-card,.flight-card{background:var(--chip);border-radius:14px;gap:10px;padding:14px;display:grid}.flight-card .bar{background:var(--panel-solid)}.office-card p{margin:0}.upgrade-preview{border-top:1px solid var(--line);gap:4px;padding-top:10px;display:grid}.perks{color:var(--muted);gap:2px;margin:0;padding-left:18px;font-size:13px;display:grid}.route{color:var(--muted);margin-left:8px;font-size:13px;font-weight:800}.route.big{color:var(--ink);flex-wrap:wrap;align-items:baseline;gap:4px 10px;margin:0;font-size:22px;display:flex}.plane-icon{color:var(--primary)}.contract,.dest{border:2px solid var(--line);background:var(--panel-solid);border-radius:14px;align-items:center;gap:10px;padding:10px;display:flex}.dest.blocked{opacity:.75}.ctype{border-radius:10px;flex-shrink:0;place-items:center;width:34px;height:34px;font-size:16px;display:grid}.cicon{flex-direction:column;flex-shrink:0;align-items:center;gap:3px;display:flex}.ctier{color:#f5a524;font-size:10px;font-weight:700;line-height:1}.ctype.pax{background:#e3efff}.ctype.cargo{background:#fff3d6}.cmain{flex:1;min-width:0}.cjob,.cstory,.cline{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.cjob{gap:4px;font-size:14px;display:flex}.cjob b{text-overflow:ellipsis;min-width:0;overflow:hidden}.cjob .qty{flex-shrink:0}.cstory{color:var(--muted);font-size:13px;font-style:italic}.cline b{color:var(--ink)}.cline{white-space:nowrap;flex-wrap:wrap;align-items:baseline;gap:2px 4px;display:flex}.cline .cdest{text-overflow:ellipsis;min-width:0;max-width:100%;overflow:hidden}.cside{white-space:nowrap;flex-shrink:0;justify-items:end;gap:2px;display:grid}.contract.on-route,.dest.on-route{border-color:color-mix(in srgb, var(--primary) 40%, var(--line));background:linear-gradient(var(--primary-soft), var(--primary-soft)), var(--panel-solid)}.jobs-tag{white-space:nowrap;color:var(--muted);margin-left:6px;font-size:12px;font-weight:800}.on-route-head{justify-content:space-between;align-items:center;gap:8px;font-size:14px;display:flex}.list-subhead{margin-top:4px;font-weight:800}.contract.miles-job{border-color:var(--miles);background:linear-gradient(var(--miles-soft), var(--miles-soft)), var(--panel-solid)}.miles-tag{background:var(--miles);color:#fff;border-radius:999px;padding:0 7px;font-size:11px;font-weight:900;line-height:1.6}.reward{color:var(--green);white-space:nowrap;font-weight:900}.urgent{color:var(--red);font-weight:800}.trip-pnl b{font-weight:900}.trip-pnl.gain b{color:var(--green)}.trip-pnl.loss b{color:var(--red)}.deliver{color:var(--primary);margin-left:6px;font-size:12px;font-weight:800}.capacity{grid-auto-columns:1fr;grid-auto-flow:column;gap:12px;display:grid}.dispatch-bar{z-index:1;background:var(--panel-solid);border-top:2px solid var(--line);gap:6px;margin:auto -20px -20px;padding:12px 20px 14px;display:grid;position:sticky;bottom:-20px}.dispatch-bar .fly-best{width:100%;padding:12px 14px;font-size:16px}.dispatch-bar .fly-time{opacity:.85;font-weight:700}.dispatch-row{justify-content:space-between;align-items:center;gap:10px;min-height:20px;display:flex}.dispatch-row .link{white-space:nowrap;cursor:pointer;margin-left:auto}.danger-zone{flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:18px;display:flex}.news-item{background:var(--chip);border-radius:12px;gap:2px;padding:10px 12px;font-weight:700;display:grid}.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:12px 0 4px;display:grid}.stat-tile{background:var(--chip);border-radius:14px;min-width:0;padding:10px 12px}.stat-tile:has(.stat-place){position:relative}.stat-place{background:var(--panel-solid);color:var(--muted);border-radius:999px;padding:1px 7px;font-size:11px;font-weight:900;position:absolute;top:8px;right:10px}.stat-place.first{color:#b7791f;background:#fff3d6}.stat-tile .value{overflow-wrap:anywhere;font-size:20px;font-weight:900}.stat-tile .label{color:var(--muted);font-size:12px;font-weight:800}.stat-tile .note{color:var(--muted);margin-top:2px;font-size:11px}.records{gap:8px;margin:0;padding:0;list-style:none;display:grid}.records li{background:var(--chip);border-radius:14px;padding:10px 12px;display:grid}.money-row{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:6px 0;display:flex}.money-row span:first-child{flex:0 0 120px}.money-row .bar{background:var(--red);opacity:.6;border-radius:4px;height:8px}.money-row b{margin-left:auto}.money-row .pos{color:var(--green)}.passport-cover{color:#e9d9a6;text-align:center;background:repeating-radial-gradient(circle at 20% 30%,#e9d9a612 0 1px,#0000 1px 9px),repeating-radial-gradient(circle at 80% 70%,#e9d9a60f 0 1px,#0000 1px 11px),linear-gradient(160deg,#1d2b5c,#121b3d);border-radius:16px;margin:8px 0 14px;padding:18px 18px 12px;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #e9d9a640,0 8px 24px #0810304d}.pp-title{letter-spacing:.22em;opacity:.85;font-size:10px;font-weight:900}.pp-emblem{color:#fff;border-radius:50%;place-items:center;width:54px;height:54px;margin:12px auto 8px;font-size:26px;display:grid;box-shadow:0 0 0 3px #121b3d,0 0 0 5px #e9d9a6}.pp-name{letter-spacing:.04em;text-transform:uppercase;font-size:22px;font-weight:900}.pp-meta{color:#f6eed3;justify-content:space-around;gap:8px;margin:12px 0 10px;font-size:13px;font-weight:800;display:flex}.pp-meta span{display:grid}.pp-meta small{letter-spacing:.14em;text-transform:uppercase;color:#e9d9a6;opacity:.7;font-size:9px}.pp-mrz{letter-spacing:.08em;opacity:.65;white-space:nowrap;border-top:1px dashed #e9d9a64d;padding-top:8px;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:11px;overflow:hidden}.pp-map{aspect-ratio:2;background:#77d3d8;border-radius:14px;width:100%;display:block}.pp-hero{text-align:center;margin:14px 0 4px}.pp-hero .value{font-size:34px;font-weight:900}.pp-hero .note{color:var(--muted);font-weight:700}.stamps{grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:14px 10px;padding:6px 2px 10px;display:grid}.stamp{outline-offset:-6px;text-align:center;background:color-mix(in srgb, currentColor 6%, transparent);opacity:.92;border:2px solid;border-radius:8px;outline:1px solid;justify-items:center;gap:1px;padding:8px 6px;display:grid}.stamp.round{aspect-ratio:1;border-radius:50%;align-content:center}.stamp .flag{font-size:22px;line-height:1.1}.stamp b{text-transform:uppercase;font-size:11px;font-weight:900;line-height:1.15}.stamp .when{letter-spacing:.06em;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:9px;font-weight:700}.ranked{counter-reset:rank;margin:0;padding:0;list-style:none}.ranked li{border-bottom:1px solid var(--line);counter-increment:rank;align-items:center;gap:8px;padding:8px 0;display:flex;position:relative}.ranked li:before{content:counter(rank);width:18px;color:var(--muted);font-weight:900}.ranked .code{font-weight:900}.ranked .name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.ranked .bar{border-radius:2px;max-width:calc(100% - 26px);height:3px;position:absolute;bottom:-1px;left:26px}.tag{color:var(--muted);letter-spacing:.04em;font-size:12px;font-weight:900}.alliance-note{margin:0}.back-link{align-self:flex-start}.modal.alliance-network h2{margin:0 32px 14px 0}.alliance-mine{border:2px solid var(--primary)}.alliance-row{justify-content:flex-start}.alliance-row.mine{box-shadow:0 0 0 2px var(--primary) inset}.alliance-rank{flex-shrink:0;justify-items:center;width:30px;font-size:16px;display:grid}.alliance-name{overflow-wrap:anywhere;flex:1;min-width:0}.move{color:var(--muted);font-size:10px;font-weight:900}.move.up{color:var(--green)}.move.down{color:var(--red)}.move.new{color:var(--blue)}.badge-inline{background:var(--red);color:#fff;text-align:center;border-radius:11px;min-width:22px;height:22px;padding:0 6px;font-size:12px;font-weight:900;line-height:22px}.member-row{border-bottom:1px solid var(--line);align-items:center;gap:8px;padding:8px 0;display:flex}.member-row.me .name b{color:var(--primary)}.member-row .name{overflow-wrap:anywhere;flex:1;min-width:0}.member-row .right{text-align:right}.member-row .pill{margin-top:2px;padding:1px 7px;font-size:11px}.pill.mvp{color:#b7791f;background:#fff3d6}.dot{border-radius:50%;flex-shrink:0;width:12px;height:12px}.fuel-price{justify-content:space-between;align-items:flex-end;display:flex}.big-number{font-size:34px;font-weight:900}.big-number small{color:var(--muted);font-size:14px}.change{border-radius:8px;padding:4px 8px;font-size:14px;font-weight:900}.change.up{color:var(--red);background:#ffe5e8}.change.down{color:var(--green);background:#dcf8eb}.chart{background:var(--chip);border-radius:14px;width:100%;height:120px}.chart-wrap{position:relative}.chart-wrap .chart{display:block}.chart-scale{color:var(--muted);font-variant-numeric:tabular-nums;pointer-events:none;font-size:11px;font-weight:600;position:absolute;left:8px}.chart-scale.top{top:6px}.chart-scale.bottom{bottom:6px}.chart.empty{color:var(--muted);place-items:center;font-size:13px;display:grid}.tank{gap:4px;display:grid}.tank .bar>div{background:linear-gradient(90deg, #ffb347, var(--primary))}.buy-fuel{gap:10px;margin:10px 0;display:grid}.buy-fuel input[type=range]{accent-color:var(--primary);background:0 0;padding:0}.quick{gap:6px;display:flex}.modal-backdrop{padding:calc(16px + env(safe-area-inset-top)) calc(16px + env(safe-area-inset-right)) calc(16px + env(safe-area-inset-bottom)) calc(16px + env(safe-area-inset-left));z-index:10;background:#050a1e8c;place-items:center;display:grid;position:absolute;inset:0}.modal{background:var(--panel-solid);width:min(1040px,100%);max-height:100%;padding:22px;position:relative;overflow-y:auto}.modal.catalog-modal>.close{margin:-10px -10px -22px auto;display:block;position:sticky;top:12px}.modal.wizard{gap:10px;width:min(440px,100%);display:grid}.modal.wizard h2,.modal.wizard p{margin:0}.hq-pick .warn{color:var(--red);font-weight:600}.modal-backdrop.wizard-backdrop{z-index:9}.setup-card.wizard-dock{top:calc(84px + env(safe-area-inset-top));left:calc(96px + env(safe-area-inset-left));z-index:9;max-height:calc(100% - 100px - env(safe-area-inset-top));grid-template-rows:auto auto auto minmax(0,1fr) auto;gap:8px}.wizard-dock h2,.wizard-dock p{margin:0}.wizard-options{gap:6px;min-height:0;display:grid;overflow-y:auto}.list-item.on{background:var(--primary-soft);box-shadow:inset 0 0 0 2px var(--primary)}body:has(.wizard-dock) .onboarding{display:none}@media (width<=760px){.setup-card.wizard-dock{top:auto;left:calc(16px + env(safe-area-inset-left));bottom:calc(16px + env(safe-area-inset-bottom));max-height:calc(36vh + 76px)}body:has(.wizard-dock) .nav{display:none}.wizard-dock .list-item{padding:8px 12px}}.catalog-controls{flex-wrap:wrap;align-items:center;gap:12px;margin:14px 0;display:flex}.segmented{background:var(--chip);border-radius:12px;padding:4px;display:flex}.segmented button{background:0 0;border:none;border-radius:9px;padding:6px 12px;font-weight:800}.segmented button.on{background:var(--panel-solid);box-shadow:0 2px 6px #0000001a}.catalog{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px;display:grid}.aircraft-card{border:2px solid var(--line);border-radius:16px;flex-direction:column;gap:8px;padding:14px;display:flex}.aircraft-card.locked{opacity:.6}.ac-head{white-space:nowrap;align-items:center;gap:6px;display:flex}.ac-name{display:grid}.ac-name b{font-size:18px}.blurb{flex:1;margin:0}.onboarding{z-index:1;flex-wrap:wrap;align-items:center;gap:10px;width:min(520px,100% - 32px);padding:16px 18px;font-size:15px;display:flex;position:absolute;bottom:24px;left:50%;transform:translate(-50%)}.onboarding-close{margin-left:auto}.guide-glow:not(:disabled){animation:1.6s ease-out infinite guide-glow}@keyframes guide-glow{0%{box-shadow:0 0 #ff6b35b3}70%,to{box-shadow:0 0 0 10px #ff6b3500}}@media (prefers-reduced-motion:reduce){.guide-glow:not(:disabled){animation:none;box-shadow:0 0 0 3px #ff6b3573}}.coach{z-index:35;pointer-events:none;position:fixed;inset:0}.coach-hole{border-radius:14px;animation:1.6s ease-in-out infinite coach-pulse;position:fixed;box-shadow:0 0 0 3px #ff6b35e6}.coach-hole.dim{box-shadow:0 0 0 3px #ff6b35e6,0 0 0 200vmax #060c2080}.coach-hole.round{border-radius:50%}@keyframes coach-pulse{50%{outline-offset:2px;outline:6px solid #ff6b3559}}.coach-bubble{pointer-events:auto;flex-wrap:wrap;align-items:center;gap:10px;width:min(360px,100% - 32px);padding:14px 16px;font-size:15px;display:flex;position:fixed}.coach-bubble.docked{width:min(520px,100% - 32px);bottom:24px;left:50%;transform:translate(-50%)}.coach-actions{gap:8px;margin-left:auto;display:flex}@media (width<=760px){.coach-bubble.docked{bottom:calc(92px + env(safe-area-inset-bottom))}}@media (prefers-reduced-motion:reduce){.coach-hole{animation:none}}.ring-icon{border:3px solid var(--yellow);vertical-align:middle;border-radius:50%;width:12px;height:12px;display:inline-block}.topbar>.toasts{z-index:20;pointer-events:none;box-shadow:none;background:0 0;flex-basis:100%;grid-template-columns:min(420px,100%);justify-content:center;gap:8px;display:grid;position:relative}.toast{pointer-events:auto;text-align:left;background:var(--panel-solid);box-shadow:var(--shadow);border:none;border-left:6px solid var(--blue);border-radius:14px;align-items:center;gap:10px;padding:12px 14px;font-weight:700;animation:.25s pop;display:flex}.toast.money{border-left-color:var(--green)}.toast.bad{border-left-color:var(--red)}.toast.level{border-left-color:var(--yellow)}.toast .amount{color:var(--green);font-size:18px;font-weight:900}.toast .amount.neg{color:var(--red)}.toast .miles{color:var(--miles);white-space:nowrap;font-size:13px;font-weight:900}.toast .xp{color:var(--primary);white-space:nowrap;font-size:13px;font-weight:900}@keyframes pop{0%{opacity:0;transform:translateY(-8px)scale(.96)}}@media (width<=760px){.topbar{top:calc(8px + env(safe-area-inset-top));left:calc(8px + env(safe-area-inset-left));right:calc(8px + env(safe-area-inset-right));gap:5px}.stat{padding:4px 8px}.stat b{font-size:min(15px,3.6vw)}.stat.miles,.stat.cash .stat-label,.level .bar{display:none}.cash-miles{display:block}.airline-meta{display:none}.logo-level{display:block}.airline{padding:6px 6px 9px}.nav{top:auto;bottom:calc(8px + env(safe-area-inset-bottom));left:calc(8px + env(safe-area-inset-left));right:calc(8px + env(safe-area-inset-right));flex-direction:row;justify-content:space-around;transform:none}.nav.flipped{flex-direction:row-reverse}.menu .nav-flip-toggle{display:flex}.nav button{flex:1;width:auto}.drawer,.side-panel{top:auto;left:calc(8px + env(safe-area-inset-left));right:calc(8px + env(safe-area-inset-right));bottom:calc(84px + env(safe-area-inset-bottom));width:auto;max-height:58vh}.grabber{background:var(--muted);opacity:.4;border-radius:3px;align-self:center;width:36px;height:5px;margin:-10px 0 2px;display:block}.side-panel.peek{padding:14px 16px}.onboarding{bottom:calc(92px + env(safe-area-inset-bottom))}}.route-string{background:var(--panel-solid);word-spacing:4px;overflow-wrap:anywhere;border-radius:10px;padding:8px 10px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;line-height:1.5}.route-tag{background:var(--chip);color:var(--muted);border-radius:6px;margin-left:6px;padding:1px 6px;font-size:11px;font-weight:800}.route-tag.airways{color:var(--blue);background:#e3efff}.health{background:var(--chip);border-radius:14px;flex-direction:column;gap:6px;padding:10px 12px;display:flex}.health-row{flex-wrap:wrap;justify-content:space-between;gap:8px;display:flex}.bar.condition>div{background:linear-gradient(90deg,#1fbf75,#5fd99e)}.health.worn .bar.condition>div{background:linear-gradient(90deg,#e9a21b,#ffc93c)}.health.danger .bar.condition>div{background:linear-gradient(90deg, var(--red), #ff7b86)}.health-note{color:var(--muted)}.health-note.danger{color:var(--red);font-weight:700}.maintenance-actions{grid-auto-columns:1fr;grid-auto-flow:column;gap:6px;display:grid}.maintenance-actions .btn{text-align:left;white-space:normal;background:var(--panel-solid);flex-direction:column;align-items:flex-start;gap:2px;display:flex}.maintenance-status{justify-content:space-between;align-items:center;gap:8px;font-weight:700;display:flex}.list-item .pos{color:var(--green)}.list-item .neg{color:var(--red)}.condition-tag{color:var(--green);margin-top:2px;font-weight:800}.condition-tag.worn{color:#d48a0f}.condition-tag.danger{color:var(--red)}.account-sheet{background:var(--panel-solid);flex-direction:column;gap:12px;width:min(400px,100%);max-height:100%;padding:24px 22px 18px;display:flex;position:relative;overflow-y:auto}.account-sheet h2,.account-sheet p{margin:0}.account-sheet form{flex-direction:column;gap:10px;display:flex}.btn.apple{color:#fff;background:#000}.settings-btn.attention:after{content:"";background:var(--primary);border-radius:50%;width:9px;height:9px;position:absolute;top:6px;right:6px}.menu .save{color:var(--primary);font-weight:800}.menu-note{color:var(--muted);padding:8px 12px;font-size:13px}.route-tag.via{background:var(--primary-soft);color:var(--primary)}.dest-actions{flex-shrink:0;gap:6px;display:flex}@media (pointer:coarse){.dest-actions{gap:16px}.dest-actions .btn{min-width:64px;min-height:44px}}.trip-bar{background:var(--primary-soft);color:var(--ink);border-radius:12px;align-items:center;gap:6px;padding:8px 10px;font-size:14px;font-weight:800;display:flex}.trip-bar>span{flex:1;min-width:0}.route .onward{color:var(--muted);white-space:nowrap;font-weight:700}.route.big .onward{font-size:17px}.weather-banner{color:#24456e;background:#e8f1fb;border-radius:12px;align-items:flex-start;gap:10px;margin-top:10px;padding:10px 12px;font-size:13px;line-height:1.35;display:flex}.weather-banner .icon{font-size:20px;line-height:1}.weather-banner.snow{color:#3c4f66;background:#eef3f8}.weather-banner.thunderstorm{color:#8a4b00;background:#fff1e0}.weather-tag{margin-left:6px;font-size:13px}@media (height<=500px) and (orientation:landscape){.topbar{top:calc(8px + env(safe-area-inset-top));left:calc(8px + env(safe-area-inset-left));right:calc(8px + env(safe-area-inset-right));gap:6px}.stat{padding:4px 10px}.stat b{font-size:15px}.airline-meta,.stat.miles,.stat.cash .stat-label{display:none}.logo-level,.cash-miles{display:block}.airline{padding:6px 6px 9px}.nav{top:calc(72px + env(safe-area-inset-top));bottom:auto;left:calc(8px + env(safe-area-inset-left));border-radius:14px;flex-direction:column;justify-content:flex-start;gap:2px;padding:4px;right:auto;transform:none}.nav.flipped{flex-direction:column}.menu .nav-flip-toggle{display:none}.nav button{border-radius:10px;flex:none;width:44px;padding:6px 2px}.nav button .icon{font-size:18px}.nav button .label{display:none}.drawer,.side-panel{top:calc(72px + env(safe-area-inset-top));bottom:calc(8px + env(safe-area-inset-bottom));width:min(340px,50vw - 44px);max-height:none;padding:16px}.dispatch-bar{margin:auto -16px -16px;padding:10px 16px 12px;bottom:-16px}.grabber{display:none}.drawer{left:calc(68px + env(safe-area-inset-left));right:auto}.side-panel{left:auto;right:calc(8px + env(safe-area-inset-right))}.onboarding{bottom:calc(10px + env(safe-area-inset-bottom));width:min(460px,100% - 160px);padding:12px 14px;font-size:14px}}.modal-backdrop.confirm-backdrop{z-index:40}.confirm-dialog{background:var(--panel-solid);gap:16px;width:min(380px,100%);padding:20px;display:grid}.confirm-dialog p{margin:0;line-height:1.45}.confirm-actions{grid-template-columns:1fr 1fr;gap:10px;display:grid}.confirm-actions.confirm-first .btn.primary{order:-1}.welcome-back{gap:8px}.welcome-back h2{margin:0;font-size:20px}.welcome-back h3{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:8px 0 0;font-size:13px}.welcome-back ul{gap:6px;margin:0;padding:0;line-height:1.4;list-style:none;display:grid}.welcome-back .confirm-actions{grid-template-columns:1fr;margin-top:10px}.get-the-app{gap:12px}.get-the-app h2{margin:0;font-size:20px}.get-the-app .app-stores{grid-auto-columns:1fr;grid-auto-flow:column;gap:10px;display:grid}.get-the-app .app-stores .btn{text-align:center;text-decoration:none}.btn.primary.danger{background:var(--red);color:#fff;box-shadow:0 4px #b8323d}.btn.miles{background:var(--miles-soft);color:var(--miles)}.btn.primary.miles{background:var(--miles);color:#fff;box-shadow:0 4px #6d3fd6}.plane-slots{background:var(--chip);border-radius:14px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;margin:12px 0 14px;padding:10px 14px;display:flex}.plane-slots>span{flex-direction:column;display:flex}.plane-slots.full{background:var(--miles-soft)}.plane-slots.compact{border-radius:12px;flex-wrap:nowrap;margin:8px 0 10px;padding:4px 4px 4px 12px}.plane-slots.compact>span{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.plane-slots.compact .btn{flex:none;padding:4px 10px}.used-toggle{width:100%}.used-list{gap:6px;display:grid}.used-offer{background:var(--chip);border-radius:12px;justify-content:space-between;align-items:center;gap:10px;padding:8px 10px;display:flex}.used-note{margin:0}.used-buy{flex-shrink:0;justify-items:end;gap:4px;display:grid}.used-save{color:var(--green);font-weight:800}.heading-row{justify-content:space-between;align-items:center;gap:8px;margin:18px 0 8px;display:flex}.heading-row h3{margin:0}.topbar>.event-chip-row{pointer-events:none;min-width:0;box-shadow:none;background:0 0;flex-basis:100%;justify-content:center;gap:6px;display:flex}.event-chip-row:empty{display:none}.event-chip{pointer-events:auto;border:2px solid var(--event);background:var(--panel);min-width:0;max-width:100%;box-shadow:var(--shadow);color:var(--ink);font:inherit;white-space:nowrap;cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:6px 14px;font-size:14px;display:flex}.event-chip b{text-overflow:ellipsis;overflow:hidden}.event-chip{position:relative;overflow:hidden}.chip-bar{background:var(--event);height:3px;transition:width .4s;position:absolute;bottom:0;left:0}.event-chip>span{flex-shrink:0}@media (width<=560px){.event-chip-row:has(.live-chip):has(.saving-chip) .event-chip:not(.plan-chip) b{display:none}.event-chip-row:has(.live-chip):has(.saving-chip) .event-chip-time{display:none}.event-chip-row:has(.live-chip):has(.saving-chip) .saving-level{display:none}.event-chip-row:has(.live-chip):has(.saving-chip) .sep{display:none}.topbar>.event-chip-row:has(.live-chip):has(.saving-chip){gap:4px}.event-chip-row:has(.live-chip):has(.saving-chip) .event-chip{gap:4px;padding:6px 9px;font-size:13px}}@media (width<=350px){.event-chip-row:has(.live-chip):has(.saving-chip) .event-chip{gap:3px;padding:5px 7px;font-size:12px}}.event-chip-progress{font-weight:800}.contract.event-job{border-color:var(--event);background:linear-gradient(var(--event-soft), var(--event-soft)), var(--panel-solid)}.event-tag{background:var(--event);color:#3a2600;white-space:nowrap;border-radius:999px;padding:0 7px;font-size:11px;font-weight:900;line-height:1.6}.dest .event-tag{margin-left:6px}.event-blurb{margin:0}.event-hosts{flex-wrap:wrap;gap:6px;display:flex}.event-hosts .chip{border:1px solid var(--line);background:var(--chip);color:var(--ink);font:inherit;cursor:pointer;border-radius:999px;padding:4px 10px;font-size:13px;font-weight:700}.event-warning{background:var(--event-soft);border-radius:10px;padding:8px 10px}.event-goal .bar div{background:var(--event)}.event-goal p{margin:4px 0 0}.event-goal .bar{position:relative}.goal-tick{background:var(--panel-solid);width:2px;margin-left:-2px;position:absolute;top:0;bottom:0}.event-goal-tiers{grid-template-columns:repeat(3,1fr);gap:6px;margin-top:6px;display:grid}.event-goal-tier{white-space:nowrap;border:1px solid var(--line);opacity:.75;border-radius:12px;flex-direction:column;align-items:center;gap:2px;padding:6px 4px;font-size:13px;display:flex}.event-goal-tier.won{opacity:1;border-color:var(--event);background:var(--event-soft)}.event-medals{gap:6px;display:grid}.event-medal{border:1px solid var(--line);opacity:.75;border-radius:12px;align-items:center;gap:10px;padding:8px 12px;display:flex}.event-medal>span:nth-child(2){flex:1}.event-medal.won{opacity:1;border-color:var(--event);background:var(--event-soft)}.event-medal-icon{font-size:22px}.event-board-tabs,.contract-filter{gap:6px;margin:14px 0 6px;display:flex}.contract-plane{cursor:pointer;margin:10px 0 6px;font-size:13px;display:block}.event-gap{text-align:center}.alliance-name .dot{border-radius:50%;width:10px;height:10px;margin-right:6px;display:inline-block}.cabinet{flex-wrap:wrap;gap:8px;display:flex}.trophy{border:3px solid var(--line);background:var(--chip);cursor:pointer;border-radius:50%;width:42px;height:42px;font-size:20px;line-height:1;position:relative}.trophy.m1{border-color:#cd7f32}.trophy.m2{border-color:#c0c7d6}.trophy.m3{border-color:#ffc93c}.trophy.on{box-shadow:0 0 0 2px var(--event)}.trophy.champion{background:radial-gradient(circle,#fff4c2,#ffd75e);border-color:#ffc93c;width:52px;height:52px;font-size:26px;box-shadow:0 0 12px #ffc93cb3}.trophy.champion .trophy-win{font-size:18px}.trophy-win{font-size:14px;position:absolute;bottom:-6px;right:-6px}.globe-label .event-host{color:var(--event)}.event-medal .miles,.event-goal .miles{color:var(--miles);font-weight:900}.retrofits{background:var(--chip);border-radius:14px;flex-direction:column;gap:6px;padding:10px 12px;display:flex}.retrofit-slot{flex-direction:column;gap:4px;display:flex}.retrofit-slot .btn{text-align:left;white-space:normal;justify-content:space-between;align-items:center;gap:8px;display:flex}.retrofit-option{flex-direction:column;gap:1px;display:flex}.retrofit-option small{opacity:.8;font-weight:600}.retrofit-price{white-space:nowrap}.retrofit-fitted b{color:var(--miles)}.condition-chip{font:inherit;background:var(--chip);color:inherit;white-space:nowrap;cursor:pointer;border:1.5px solid;border-radius:8px;padding:1.5px 6px;font-size:12px;font-weight:800}.condition-chip.worn{color:#b77a00;background:#e9a21b38}.condition-chip.danger{background:var(--red);color:#fff}.condition-chip .chip-caret{opacity:.7;font-size:10px}.upgrade-chip{font:inherit;background:var(--miles-soft);color:var(--miles);white-space:nowrap;cursor:pointer;border:none;border-radius:8px;padding:3px 7px;font-size:12px;font-weight:800}.upgrade-chip[aria-expanded=true]{background:var(--miles);color:#fff}.retrofit-badges{letter-spacing:1px}.level-card-links{flex-wrap:wrap;gap:6px;display:flex}.achievements{--t1:#b87333;--t2:#9aa3b5;--t3:#e0a800;--t4:#38bdf8}.achievements h2{align-items:center;gap:8px;display:flex}.miles-chip{background:var(--miles-soft);color:var(--miles);border-radius:999px;margin-left:6px;padding:0 7px;font-size:12px;font-weight:800;display:inline-block}.ach-badges{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px;margin:8px 0 12px;display:grid}.ach-badge{background:var(--chip);text-align:center;opacity:.45;filter:grayscale();border-radius:14px;justify-items:center;gap:2px;padding:10px 6px;display:grid}.ach-badge.on{opacity:1;filter:none;box-shadow:inset 0 0 0 2px var(--t3)}.ach-badge .ach-icon{font-size:24px}.ach-badge b{font-size:12px;line-height:1.2}.ach-badge small{color:var(--muted);font-size:10px;line-height:1.2}.ach-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.ach{background:var(--chip);border-radius:14px;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:10px;padding:10px 12px;display:grid}.ach .ach-icon{font-size:24px;line-height:1.2}.ach.t0 .ach-icon{filter:grayscale();opacity:.6}.ach-head{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.ach-tier{color:#fff;border-radius:999px;padding:0 7px;font-size:11px;font-weight:800}.ach-tier.t1{background:var(--t1)}.ach-tier.t2{background:var(--t2)}.ach-tier.t3{background:var(--t3)}.ach-tier.t4{background:var(--t4)}.ach-bar{background:var(--line);border-radius:999px;height:6px;margin:5px 0 2px;overflow:hidden}.ach-bar i{border-radius:inherit;background:var(--primary);height:100%;display:block}.ach-pips{gap:3px;padding-top:4px;display:flex}.pip{background:var(--line);border-radius:50%;width:9px;height:9px}.pip.on.t1{background:var(--t1)}.pip.on.t2{background:var(--t2)}.pip.on.t3{background:var(--t3)}.pip.on.t4{background:var(--t4)}.modal.hangar{flex-direction:column;gap:12px;width:min(1100px,100%);height:min(760px,100%);display:flex;overflow:hidden}.hangar-top{flex-wrap:wrap;align-items:center;gap:8px 14px;padding-right:40px;display:flex}.hangar-top h2{margin:0}.hangar-stage{background:radial-gradient(120% 90% at 50% 25%, var(--panel-solid) 0%, var(--chip) 75%);touch-action:none;border-radius:16px;flex:0 0 55%;min-height:220px;position:relative;overflow:hidden}.hangar-stage[data-scene]{background:linear-gradient(#4f8fe6 0%,#a9cdf5 45%,#e4eefa 60%)}.hangar-scenes{flex-wrap:wrap;gap:4px;display:flex;position:absolute;top:8px;left:8px}.hangar-scenes button{font:inherit;color:#1d2440;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);cursor:pointer;background:#ffffffbf;border:none;border-radius:999px;padding:4px 10px;font-size:12px;font-weight:800}.hangar-scenes button.on{color:#fff;background:#1d2440}.hangar-body{flex:1;min-height:0;overflow-y:auto}@media (width>=900px),(height<=500px) and (orientation:landscape){.modal.hangar{grid-template-rows:auto minmax(0,1fr);grid-template-columns:minmax(0,3fr) minmax(300px,2fr);display:grid}.hangar-top{grid-column:1/-1}.hangar-stage{min-height:0}}@media (width<=760px){.modal.hangar{gap:10px;height:100%;padding:16px}.hangar-stage{flex-basis:50%}}.hangar .pos{color:var(--green)}.hangar .neg{color:var(--red)}.hangar-pager{justify-content:center;align-items:center;gap:14px;margin-bottom:6px;display:flex}.hangar-pager .btn{padding:4px 16px;font-size:20px;line-height:1}.hangar-name h2{margin:0;font-size:24px}.hangar-status{margin:4px 0 12px;font-weight:700}.hangar-facts{grid-template-columns:auto 1fr;gap:6px 16px;margin:0 0 10px;display:grid}.hangar-facts dt{color:var(--muted)}.hangar-facts dd{margin:0;font-weight:700}.hangar-story .retrofits{margin-bottom:10px}.paint-shop{background:var(--chip);border-radius:14px;flex-direction:column;gap:8px;margin-bottom:10px;padding:10px 12px;display:flex}.paint-swatches{grid-template-columns:repeat(auto-fill,minmax(64px,1fr));gap:6px;display:grid}.paint-swatch{color:var(--ink);font:inherit;cursor:pointer;background:0 0;border:2px solid #0000;border-radius:12px;flex-direction:column;align-items:center;gap:4px;padding:6px 2px;display:flex}.paint-swatch.on{border-color:var(--ink)}.paint-swatch:disabled{opacity:.35;cursor:default}.paint-dot{border-radius:50%;width:30px;height:30px;box-shadow:inset 0 0 0 1px #00000026}.paint-swatch.gold .paint-dot,.btn.gold{background:linear-gradient(135deg,#fff1b8 0%,#f4c752 35%,#b8862b 70%,#f7d87a 100%)}.paint-swatch.chrome .paint-dot,.btn.chrome{background:linear-gradient(135deg,#fff 0%,#c9d0d9 35%,#6f7886 70%,#e3e8ee 100%)}.paint-swatch.rose-gold .paint-dot,.btn.rose-gold{background:linear-gradient(135deg,#ffe3d8 0%,#f1b9a3 35%,#b06a56 70%,#f6cdbd 100%)}.paint-swatch.custom .paint-dot{background:conic-gradient(#ef4d5a,#ffc93c,#1fbf75,#2f7cf6,#8b5cf6,#ef4d5a)}.paint-pickers{flex-wrap:wrap;gap:12px;display:flex}.paint-pickers label{cursor:pointer;flex-direction:column;align-items:center;gap:2px;display:flex}.paint-pickers input[type=color]{border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:8px;width:44px;height:32px;padding:0}.gold-name,.chrome-name,.rose-gold-name{background:linear-gradient(100deg,#9a6a14 0%,#d9a536 35%,#f0c75a 50%,#c99227 65%,#8f6418 100%);color:#0000;-webkit-background-clip:text;background-clip:text}.chrome-name{background-image:linear-gradient(100deg,#5b6472 0%,#9aa4b2 35%,#c9d0d9 50%,#8892a0 65%,#4f5765 100%)}.rose-gold-name{background-image:linear-gradient(100deg,#9a4f3d 0%,#d08a74 35%,#eab0a0 50%,#c27a65 65%,#8c4535 100%)}.paint-label{text-align:center;font-size:11px;font-weight:700;line-height:1.15}.paint-action{flex-direction:column;align-items:flex-start;gap:6px;display:flex}.btn.gold,.btn.chrome,.btn.rose-gold{color:#3d2a06;border:none}.btn.chrome{color:#262c36}.btn.rose-gold{color:#4a1f16}.hangar-model p{margin:6px 0 0}.hangar-count{margin:12px 0 8px}.hangar-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:8px;display:grid}.hangar-tile,.hangar-retired-row{background:var(--chip);color:var(--ink);cursor:pointer;border:2px solid #0000;border-radius:12px}.hangar-tile{text-align:center;align-content:start;justify-items:center;gap:2px;padding:8px 6px;display:grid}.hangar-tile.on,.hangar-retired-row.on{border-color:var(--primary)}.hangar-silhouette{width:100%;height:54px}.hangar-tile.unowned .hangar-silhouette{color:var(--ink);opacity:.22}.hangar-retired{gap:8px;display:grid}.hangar-retired-row{text-align:left;gap:3px;width:100%;padding:10px 12px;display:grid}.ac-head .view-3d{border:2px solid var(--blue);color:var(--blue);background:0 0;margin-left:auto;padding:1px 7px}.plan-chip{border-color:var(--blue);flex-shrink:0}.plan-chip.done{border-color:var(--green)}.saving-chip{border-color:var(--muted)}.saving-chip.ready{border-color:var(--green)}.saving-chip.ready .saving-sum{color:var(--green);font-weight:800}.saving-bar{background:var(--green);height:3px;transition:width .4s;position:absolute;bottom:0;left:0}.save-for{width:100%}.save-for.on,.aircraft-card.saving{border-color:var(--green)}.plan-list{gap:8px;margin:8px 0 12px;padding:0;list-style:none;display:grid}.plan-task{background:var(--chip);border-radius:14px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 12px;display:grid}.plan-task.bonus{box-shadow:inset 0 0 0 2px var(--line);background:0 0}.plan-check{width:24px;height:24px;box-shadow:inset 0 0 0 2px var(--line);color:#fff;border-radius:50%;place-items:center;font-weight:900;display:grid}.plan-task.done .plan-check{background:var(--green);box-shadow:none}.plan-task.done .plan-body b{color:var(--muted)}.plan-reward{background:var(--panel-solid);white-space:nowrap;border-radius:999px;padding:0 7px;font-size:12px;font-weight:800}.plan-task .miles-chip{margin-left:0}.plan-streak{gap:2px;display:grid}.contract.vip-job{border-color:var(--vip);background:linear-gradient(var(--vip-soft), var(--vip-soft)), var(--panel-solid)}.vip-tag{background:var(--vip);color:#fff;white-space:nowrap;border-radius:999px;padding:0 7px;font-size:11px;font-weight:900;line-height:1.6}.cstory.vip-note{color:var(--vip);font-weight:700}.gb-set h3{align-items:center;gap:6px;margin:14px 0 6px;display:flex}.gb-done{color:var(--green);font-weight:900}.gb-cards{grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:8px;display:grid}.gb-card{background:var(--chip);text-align:center;border-radius:14px;align-content:start;justify-items:center;gap:2px;min-height:72px;padding:10px 6px;display:grid;position:relative}.gb-card:not(.on){color:var(--muted);place-content:center}.gb-card.on{box-shadow:inset 0 0 0 2px var(--vip);background:var(--vip-soft)}.gb-set.done .gb-card.on{box-shadow:inset 0 0 0 2px var(--green)}.gb-icon{font-size:24px;font-weight:900}.gb-card b{font-size:12px;line-height:1.2}.gb-card small{color:var(--muted);font-size:10px;line-height:1.2}.gb-visits{color:var(--vip);font-size:11px;font-weight:800;position:absolute;top:4px;right:6px}.airline-link{font:inherit;color:inherit;text-align:left;cursor:pointer;background:0 0;border:none;padding:0}.midas{font:inherit;cursor:pointer;background:0 0;border:none;margin-left:4px;padding:0;line-height:1}span.midas{cursor:inherit}.airline-link:hover b{text-decoration:underline}.airline-card .hangar-top h2{align-items:center;gap:8px;display:flex}.airline-card .hangar-top .dot{border-radius:50%;flex:none;width:12px;height:12px}.star-btn{color:var(--muted);cursor:pointer;vertical-align:middle;background:0 0;border:none;margin-left:6px;padding:0 4px;font-size:20px;line-height:1}.star-btn.on{color:var(--yellow);cursor:default}.star-btn:disabled{opacity:1}.hangar-story .hangar-name{align-items:center;display:flex}.airline-card .report-row{text-align:right;margin:12px 0 0}
