
:root{color-scheme:dark;--bg:#070d19;--panel:#101d2d;--line:#20384a;--cyan:#61f8da;--gold:#f6c66e;--text:#eaf6ff;--muted:#849bad}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 68% 36%,#16323b66,transparent 52%),radial-gradient(ellipse at 6% 100%,#13223b,transparent 50%),var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"PingFang SC",sans-serif}button,input,select{font:inherit}button{border:0;background:none;color:inherit;cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--cyan);outline-offset:3px}a{color:var(--cyan)}.layout{max-width:1150px;min-height:100vh;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:54px;padding:28px 34px}.intro{max-width:480px}.eyebrow{font-size:10px;letter-spacing:5px;color:var(--cyan);margin-bottom:24px}.intro h1{font-size:61px;line-height:1.3;letter-spacing:2px;font-weight:550;margin:0 0 20px}.intro h1 em{font-style:normal;color:var(--cyan);text-shadow:0 0 30px #61f8da55}.intro p{font-size:15px;line-height:1.9;color:var(--muted);max-width:390px}.featurelist{border-top:1px solid #233848;margin-top:32px;padding-top:20px;display:flex;flex-wrap:wrap;gap:18px;font-size:11px;color:#bad0d8}.featurelist b{color:var(--cyan);font-weight:500;margin-right:6px}.preview-note{font-size:11px!important;margin-top:25px}.phone-shell{width:390px;flex:none}.phone{position:relative;height:min(840px,calc(100vh - 74px));min-height:630px;overflow:hidden;border:1px solid #365663;border-radius:40px;background:var(--bg);box-shadow:0 0 0 6px #0a131f,0 0 45px #61f8da0a,0 26px 80px #0008}.status{height:42px;padding:16px 26px 0;display:flex;align-items:center;justify-content:space-between;font-size:12px;font-weight:650}.island{position:absolute;top:11px;left:calc(50% - 45px);width:90px;height:22px;border-radius:20px;background:#02050a;border:1px solid #142130}.page{height:calc(100% - 112px);overflow:auto;scrollbar-width:none}.top{padding:14px 20px 12px}.topline{display:flex;align-items:center;justify-content:space-between;gap:8px}.brand{font-size:26px;letter-spacing:2px;font-weight:650}.kicker{font-size:9px;letter-spacing:2px;color:var(--cyan);margin-bottom:6px}.demo-badge{font-size:9px;color:var(--gold);padding:5px 8px;border:1px solid #f6c66e33;border-radius:20px;background:#f6c66e09}.subtitle{font-size:11px;color:var(--muted);margin-top:7px;line-height:1.8}.scopebar{display:flex;align-items:center;gap:8px;margin-top:16px}.countrybutton{display:flex;align-items:center;justify-content:space-between;gap:10px;background:#10262d;border:1px solid #61f8da55;box-shadow:inset 0 0 16px #61f8da08;border-radius:12px;padding:10px 12px;flex:1;min-width:0;text-align:left}.countrybutton small{display:block;font-size:8px;letter-spacing:1px;color:#8aa6b0}.countrybutton strong{font-size:13px;display:block;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:170px}.countrybutton>span{color:var(--cyan)}.worldbutton{border:1px solid var(--line);border-radius:12px;padding:13px 14px;font-size:11px}.worldbutton.on{color:var(--cyan);background:#61f8da13;border-color:#61f8da55}.seg{display:flex;gap:3px;padding:4px;border:1px solid #243b4c;background:#0b1725;border-radius:10px}.seg button{padding:7px 8px;flex:1;border-radius:7px;font-size:11px;white-space:nowrap}.seg .on{color:var(--cyan);background:#61f8da18;box-shadow:inset 0 0 0 1px #61f8da3b}.levelbar{margin:12px 20px;display:flex;align-items:center;justify-content:space-between;gap:12px}.levelbar .seg{max-width:235px;flex:1}.tiny{font-size:9px;color:var(--muted);line-height:1.7}.mapwrap{height:clamp(245px,39vh,370px);position:relative;overflow:hidden;background:radial-gradient(ellipse at center,#102b36 0%,#091321 64%,#070d19 100%)}.mapwrap svg{width:100%;height:100%;display:block}.mapwrap:after{content:"";pointer-events:none;position:absolute;inset:0;box-shadow:inset 0 0 45px #070d19aa}.region{fill:#172938;stroke:#355460;stroke-width:.55;cursor:pointer;transition:fill .25s}.region:hover{fill:#315a65;stroke:#95f8e3}.region.visited{fill:url(#visited-fill);stroke:var(--cyan);stroke-width:.9;filter:url(#land-glow)}.region.chosen{stroke:var(--gold);stroke-width:1.6}.gridline{fill:none;stroke:#254252;stroke-width:.5;opacity:.4}.maplabel{font-size:9px;fill:#a3c6cf;paint-order:stroke;stroke:#091321;stroke-width:2px;text-anchor:middle;pointer-events:none}.hud{position:absolute;top:13px;left:18px;z-index:1;font-size:9px;letter-spacing:1px;color:var(--cyan);line-height:1.8}.compass{position:absolute;top:14px;right:16px;font-size:9px;letter-spacing:1px;color:#9ac6c9;z-index:1}.legend{position:absolute;left:17px;bottom:12px;z-index:1;color:#9db5bc;font-size:9px;display:flex;gap:12px}.legend i{display:inline-block;width:6px;height:6px;background:var(--cyan);box-shadow:0 0 8px var(--cyan);border-radius:50%;margin-right:5px}.map-source{position:absolute;bottom:2px;right:7px;font-size:6px;color:#708b97;z-index:1}.loading{position:absolute;inset:0;display:grid;place-items:center;background:#070d1955;z-index:4;color:var(--cyan);font-size:12px;text-align:center;padding:30px}.loaderror{padding:15px;margin:12px 18px;background:#f6c66e0b;color:#d4c29b;font-size:11px;line-height:1.7;border:1px solid #f6c66e3d;border-radius:12px}.stats{margin:0 18px;display:flex;justify-content:space-around;padding:17px 0;border-bottom:1px solid #203444;gap:10px}.stats>div{text-align:center;flex:1}.statnum{font-size:27px;color:var(--cyan);font-weight:500;letter-spacing:.2px;line-height:1.2;font-variant-numeric:tabular-nums;text-shadow:0 0 18px #61f8da24}.statlabel{font-size:9px;color:var(--muted);margin-top:6px}.sectionhead{margin:17px 20px 11px;display:flex;justify-content:space-between;align-items:center;font-size:12px}.place{margin:0 18px 15px;border:1px solid #284451;border-radius:14px;padding:13px;display:flex;justify-content:space-between;align-items:center;background:linear-gradient(100deg,#142d33,#0d1b2b)}.place strong{font-size:13px}.place p{font-size:10px;color:var(--muted);margin:6px 0 0}.mark{padding:9px 12px;background:#61f8da15;color:var(--cyan);border:1px solid #61f8da40;border-radius:8px;font-size:10px}.caption{font-size:10px;line-height:1.8;color:var(--muted);margin:13px 20px}.nav{position:absolute;left:0;right:0;bottom:0;height:70px;padding-top:10px;display:flex;border-top:1px solid #2b4655;background:#0b1422f5;z-index:10}.nav button{flex:1;font-size:10px;color:#6f8995;display:flex;align-items:center;flex-direction:column;gap:4px}.nav button.active{color:var(--cyan);text-shadow:0 0 13px #61f8da80}.nav span{font-size:20px;line-height:22px}.nav:after{content:"";position:absolute;bottom:7px;left:calc(50% - 48px);width:96px;height:3px;border-radius:5px;background:#dae8ee}.screenlabel{text-align:center;font-size:9px;letter-spacing:1px;color:#748d99;margin-top:14px}.triptop{background:linear-gradient(170deg,#18303944,#070d19)}.tripcontrols{display:flex;gap:10px;align-items:center;margin-top:14px}.tripcontrols .seg{flex:1}.year{max-width:123px;background:#12222e;color:var(--gold);border:1px solid #f6c66e44;border-radius:9px;padding:10px 7px;font-size:11px}.viewtoggle{margin:0 20px 10px}.route-map{height:clamp(270px,42vh,420px);background:radial-gradient(ellipse at 62% 39%,#19343c,#090f1b 72%)}.route-map .region{fill:#14252d;stroke:#344a50;stroke-width:.6;cursor:default}.route-halo{stroke:#ffbe5866;stroke-width:4;fill:none;filter:url(#route-glow)}.route{stroke:#f6c66e;stroke-width:1;fill:none;opacity:.95}.route.rail{stroke:var(--cyan);stroke-dasharray:5 4}.route-flow{stroke:#fff8d6;stroke-width:1.7;fill:none;stroke-dasharray:2 20;animation:flow 6s linear infinite;opacity:.8}.route-dot{fill:#fff0c0;stroke:#f6c66e;stroke-width:1;filter:url(#route-glow)}.route-label{fill:#bfcfd6;font-size:8px;paint-order:stroke;stroke:#091321;stroke-width:2px}.plane{fill:#fff0b9;filter:drop-shadow(0 0 3px #f6c66e);font-size:13px}.route-map .legend{color:#cfbf92}.route-map .legend i{background:var(--gold);box-shadow:0 0 8px var(--gold)}.trip-stats{background:linear-gradient(100deg,#231d1722,#0f1f2a);border:1px solid #f6c66e44;margin:0 16px 12px;padding:16px 8px;border-radius:0 0 16px 16px}.trip-stats .statnum{color:var(--gold);text-shadow:0 0 16px #f6c66e44;font-size:23px}.trip-stats .statlabel{color:#aaa58d}.timeline{padding:4px 16px}.trip{display:flex;gap:12px;margin-bottom:15px}.date{width:39px;font-size:14px;padding-top:12px;flex:none;color:var(--gold);font-variant-numeric:tabular-nums}.date small{display:block;font-size:9px;color:var(--muted);margin-top:5px}.ticket{border:1px solid #37505b;border-radius:14px;background:linear-gradient(125deg,#182d37,#0d1929);padding:15px 13px;flex:1;min-width:0;position:relative;overflow:hidden}.ticket:before{content:"";height:1px;position:absolute;left:0;right:0;top:0;background:linear-gradient(90deg,transparent,#f6c66e,transparent);opacity:.65}.tickethead{display:flex;justify-content:space-between;font-size:10px;color:var(--muted);margin-bottom:15px;gap:6px}.tickethead b{color:var(--gold);font-weight:500}.route-row{display:flex;align-items:center;gap:11px;font-size:12px;margin-top:10px}.route-row b{font-size:17px;min-width:44px;font-variant-numeric:tabular-nums;font-weight:600}.route-row span{color:#c4d8df}.ticketfoot{margin-top:14px;border-top:1px dashed #304853;padding-top:10px;font-size:9px;display:flex;justify-content:space-between;color:var(--muted)}.migration{margin:0 18px 20px;border:1px solid #61f8da55;border-radius:18px;background:radial-gradient(ellipse at top right,#61f8da13,transparent 80%),var(--panel);padding:18px}.migration h2{font-size:20px;margin:3px 0 9px;font-weight:550}.migration p{font-size:11px;line-height:1.8;color:#9ab0bb}.buttons{display:flex;gap:8px;margin-top:16px}.primary,.secondary{padding:12px 13px;border-radius:10px;font-size:11px;flex:1}.primary{background:var(--cyan);color:#07201f;font-weight:650;box-shadow:0 0 20px #61f8da22}.secondary{background:#122938;border:1px solid #436475;color:var(--text)}.backup-checks{font-size:10px;color:#95afa9;margin-top:15px;line-height:2}.settingbox{margin:0 18px 20px;padding:0 16px;border:1px solid #263f50;border-radius:14px;background:#101d2d99}.settingrow{display:flex;align-items:center;justify-content:space-between;padding:16px 0;border-bottom:1px solid #263e4d;font-size:11px;gap:12px}.settingrow:last-child{border:none}.settingrow input{accent-color:var(--cyan);width:20px;height:20px}.pill{color:var(--cyan);font-size:9px}.toast{display:none;position:absolute;bottom:84px;left:17px;right:17px;background:#152d3d;color:#ddf9fa;border:1px solid #558c91;padding:14px;border-radius:12px;font-size:11px;line-height:1.7;z-index:40;box-shadow:0 10px 30px #0008}.empty{padding:35px 20px;text-align:center;color:var(--muted);line-height:1.9;font-size:12px}.notice{margin:12px 18px;padding:13px;border-radius:10px;background:#122b31;color:#a8eee1;font-size:11px;line-height:1.8}.notice.error{background:#301f24;color:#ffb3ad;border:1px solid #683d40}.modal{position:absolute;inset:42px 0 70px;background:#080f1bf7;z-index:25;padding:18px;display:flex;flex-direction:column}.modalhead{display:flex;justify-content:space-between;align-items:center;font-size:18px;margin-bottom:16px}.close{font-size:20px;padding:4px 10px;background:#1c2e3f;border-radius:8px}.search{width:100%;background:#112232;border:1px solid #375361;border-radius:10px;padding:12px;color:var(--text);font-size:13px}.countrylist{overflow:auto;margin-top:12px;flex:1;scrollbar-width:thin}.country-option{width:100%;display:flex;align-items:center;justify-content:space-between;padding:13px 8px;text-align:left;border-bottom:1px solid #203746;font-size:12px}.country-option small{color:var(--muted);font-size:10px}.country-option .on{color:var(--cyan)}.country-option:hover{background:#61f8da10}.countrycount{font-size:10px;color:var(--muted);margin:10px 0 0}.reset{padding:0;text-decoration:underline;font-size:10px;color:var(--muted)}@keyframes flow{to{stroke-dashoffset:-88}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}.moving-plane{display:none}}@media(max-width:780px){.layout{flex-direction:column;padding:22px 14px;gap:24px}.intro{width:min(390px,100%)}.intro h1{font-size:32px;margin-bottom:10px}.intro h1 br{display:none}.intro p{font-size:12px;margin:8px 0}.eyebrow{font-size:9px;margin-bottom:10px}.featurelist{display:none}.preview-note{font-size:10px!important;margin-top:10px!important}.phone-shell{width:min(390px,100%)}.phone{height:790px;min-height:0}.mapwrap{height:330px}.route-map{height:360px}.levelbar{gap:6px}.intro h1 em{margin-left:8px}}@media(max-width:350px){.top{padding-left:15px;padding-right:15px}.countrybutton strong{max-width:135px}.worldbutton{padding:13px 10px}.levelbar{margin-left:15px;margin-right:15px}.levelbar>.tiny{display:none}.brand{font-size:23px}.buttons{flex-direction:column}.statnum{font-size:24px}.trip-stats .statnum{font-size:20px}.ticket{padding:12px 10px}.route-row{gap:7px}.route-row b{font-size:15px}.scopebar{gap:6px}}
.train-map .route,.train-map .route-halo{stroke:var(--cyan)}.train-map .route-dot{fill:var(--cyan)}.train-map .legend i{background:var(--cyan)}.day-offset{font-size:9px;color:var(--gold);vertical-align:super;margin-left:2px}html,body{height:100%;overscroll-behavior:none}body{overflow:hidden}.layout{max-width:none;height:100dvh;min-height:0;padding:16px;display:grid;place-items:center;gap:0}.phone-shell{width:min(440px,100%);height:100%;max-height:956px;min-width:0}.phone{height:100%;min-height:0;border-radius:28px;display:grid;grid-template-rows:minmax(0,1fr) auto;padding-top:env(safe-area-inset-top,0px)}.page{height:auto;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding-bottom:12px}.top{padding:20px 20px 14px}.brand{font-size:28px;letter-spacing:0}.demo-badge{font-size:11px}.scopebar{margin-top:18px}.countrybutton{min-height:58px}.countrybutton small{font-size:11px}.countrybutton strong{font-size:16px;max-width:250px}.worldbutton{font-size:14px;min-height:52px}.levelbar{margin:0 20px 14px}.levelbar .seg{max-width:none}.seg button{min-height:44px;padding:8px 12px;font-size:14px}.tripcontrols{margin-top:18px}.year{font-size:14px;min-height:52px;padding:10px}.viewtoggle{margin-bottom:0}.nav{position:relative;height:auto;min-height:66px;padding:8px max(10px,env(safe-area-inset-right,0px)) max(8px,env(safe-area-inset-bottom,0px)) max(10px,env(safe-area-inset-left,0px));grid-row:2}.nav:after{display:none}.nav button{min-height:48px;justify-content:center;font-size:12px;gap:4px}.nav span{font-size:22px;line-height:24px}.mapwrap{height:clamp(300px,calc(100dvh - 395px),540px)}.route-map{height:clamp(340px,calc(100dvh - 350px),580px)}.maplabel{font-size:10px}.map-source{font-size:8px;bottom:6px;right:8px}.hud{font-size:12px;letter-spacing:0}.compass{font-size:12px}.legend{font-size:11px;bottom:24px}.statnum{font-size:30px}.statlabel{font-size:12px;line-height:1.4}.stats{padding:20px 0;gap:8px}.trip-stats{margin-top:0;padding:20px 8px;border-radius:0 0 18px 18px}.trip-stats .statnum{font-size:28px}.sectionhead{font-size:15px}.tiny{font-size:12px}.place{gap:12px}.place strong{font-size:16px}.place p{font-size:13px}.mark{min-height:44px;font-size:13px;flex-shrink:0}.modal{inset:0 0 66px;padding:20px;padding-top:max(20px,env(safe-area-inset-top));padding-bottom:20px}.modalhead{font-size:22px;gap:10px}.close{min-width:44px;min-height:44px}.search{font-size:16px;min-height:48px}.countrycount{font-size:12px}.country-option{font-size:16px;min-height:48px;gap:12px}.country-option small{font-size:12px}.country-option>span:first-child{min-width:0;overflow-wrap:anywhere}.timeline{padding-top:18px}.date{width:48px;font-size:17px}.date small{font-size:12px}.tickethead{font-size:13px}.tickethead b{overflow-wrap:anywhere}.route-row{font-size:15px;align-items:flex-start}.route-row b{font-size:20px;min-width:58px}.route-row>span{min-width:0;overflow-wrap:anywhere}.ticketfoot{font-size:11px;gap:10px;flex-wrap:wrap;line-height:1.5}.migration{padding:20px}.migration h2{font-size:22px}.migration p{font-size:14px}.buttons{flex-wrap:wrap}.primary,.secondary{min-height:48px;font-size:14px;white-space:nowrap}.settingrow{font-size:15px;line-height:1.5;gap:12px}.pill{font-size:13px;text-align:right}.help{margin:0 18px 14px;border:1px solid #263f50;border-radius:14px;padding:0 16px;background:#101d2d66}.help summary{font-size:15px;min-height:52px;padding:16px 0;cursor:pointer}.help p{font-size:13px;line-height:1.7;color:var(--muted);overflow-wrap:anywhere}.notice,.toast{font-size:14px}.toast{bottom:calc(78px + env(safe-area-inset-bottom,0px))}.empty{font-size:15px}.route{stroke-width:1.2}.route-halo{stroke-width:4.5}.plane{font-size:14px}.day-offset{font-size:11px}
@media(max-width:600px){.layout{padding:0;display:block}.phone-shell{width:100%;height:100dvh;max-height:none}.phone{border:0;border-radius:0;box-shadow:none}.top{padding-top:18px}.countrybutton strong{max-width:calc(100vw - 155px)}}
@media(max-height:560px) and (min-width:601px){.layout{padding:0;display:block}.phone-shell{width:100%;max-width:100%;height:100dvh;max-height:none}.phone{border:0;border-radius:0;box-shadow:none;padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px)}.top{padding-top:12px}.mapwrap,.route-map{height:320px}.nav{min-height:58px;padding-top:4px;padding-bottom:max(4px,env(safe-area-inset-bottom,0px))}.nav button{min-height:46px}.modal{inset:0 0 58px}.tripcontrols{max-width:500px}.levelbar .seg{max-width:480px}.viewtoggle{max-width:480px}.migration,.settingbox,.help{max-width:700px}.buttons{max-width:460px}}
@media(max-width:350px){.top{padding-left:14px;padding-right:14px}.levelbar,.viewtoggle{margin-left:14px;margin-right:14px}.seg button{font-size:13px;padding:8px}.year{font-size:13px;max-width:110px}.brand{font-size:26px}.statnum,.trip-stats .statnum{font-size:24px}.statlabel{font-size:11px}.ticket{padding:12px}.trip{gap:8px}.date{width:42px;font-size:15px}.route-row{font-size:13px;gap:8px}.route-row b{font-size:17px;min-width:50px}.tickethead{font-size:11px}.countrybutton strong{font-size:15px}.worldbutton{font-size:13px}.buttons{flex-direction:column}}

@media(max-height:560px) and (min-width:601px){.page[data-screen="journey"][data-presentation="map"]{display:grid;grid-template-columns:320px minmax(0,1fr);grid-template-rows:auto auto minmax(0,1fr);padding-bottom:0;align-content:start}.page[data-screen="journey"][data-presentation="map"]>.top{grid-column:1;grid-row:1}.page[data-screen="journey"][data-presentation="map"]>.viewtoggle{grid-column:1;grid-row:2}.page[data-screen="journey"][data-presentation="map"]>.route-map{grid-column:2;grid-row:1 / 4;height:100%;min-height:0}.page[data-screen="journey"][data-presentation="map"]>.trip-stats{grid-column:1;grid-row:3;align-self:start;margin-top:14px;border-radius:14px}.page[data-screen="journey"][data-presentation="map"] .trip-stats .statnum{font-size:24px}.page[data-screen="journey"][data-presentation="map"]>.empty{grid-column:2;grid-row:1 / 4}}
.date{white-space:nowrap;width:52px}@media(max-width:350px){.date{width:45px}}
.route-map{background:radial-gradient(ellipse at 48% 56%,#172b36 0%,#09111f 58%,#050b16 100%)}
.route-map .region{fill:#172734;stroke:#354957;stroke-width:.7}
.route-map .gridline{stroke:#637480;stroke-opacity:.11}
.flight-aura{fill:none;stroke:#ffb535;stroke-width:6;opacity:.30;filter:url(#floating-glow)}
.flight-ribbon{fill:none;stroke:url(#altitude-gold);stroke-linecap:round;opacity:.94}
.flight-core{fill:none;stroke:#fff9dc;stroke-width:.45;opacity:.8}
.floating-flight .route-flow{stroke-width:1.5;stroke-dasharray:2 55;opacity:.8}
.floating-plane{fill:#fff5ce;stroke:#dda34d;stroke-width:.45;filter:drop-shadow(0 0 5px #ffc658b0)}
.airport-beacon ellipse{fill:#ffaa1912;stroke:#ddab63;stroke-width:.65;opacity:.55}
.airport-beacon circle{fill:#fff5cd;filter:drop-shadow(0 0 4px #fac666)}
.route-map .route-label{font-size:12.5px;font-weight:550;fill:#fff0c9;stroke:#070d19;stroke-width:3.5;stroke-linejoin:round;paint-order:stroke;pointer-events:none}#route-city-labels{pointer-events:none}
@media(prefers-reduced-motion:reduce){.route-flow{animation:none!important}}

.flight-import{margin:8px 20px 18px;padding:20px;border:1px solid #cba65c55;border-radius:18px;background:linear-gradient(125deg,#33271580,#101b2c)}
.flight-import h2{margin:0 0 8px;font-size:18px;color:#ffe1a0}.flight-import p{margin:0 0 16px;color:var(--muted);font-size:13px;line-height:1.7}
.flight-import button{width:100%;min-height:48px;border-radius:12px;background:#eac67c;color:#17171d;font-weight:650;font-size:15px}
.import-review{inset:0;max-height:100%;padding-bottom:max(18px,env(safe-area-inset-bottom));background:#080f1b;gap:0}
.import-review .modalhead{flex:none;margin-bottom:10px}.import-filename{font-size:12px;color:var(--muted);overflow-wrap:anywhere;margin-bottom:14px}
.import-totals{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:16px;flex:none}
.import-totals div{padding:10px 3px;text-align:center;background:#152231;border:1px solid #2c3b47;border-radius:10px}.import-totals b{display:block;color:#ffe0a0;font-size:23px}.import-totals small{display:block;font-size:11px;color:var(--muted);margin-top:5px}
.import-scroll{min-height:0;flex:1;overflow:auto;overscroll-behavior:contain}.import-section{font-size:14px;margin:12px 0 8px;color:#cce0e8;font-weight:600}
.import-record{border-bottom:1px solid #203140;padding:12px 0;font-size:13px;line-height:1.6}.import-record .record-top{display:flex;justify-content:space-between;gap:8px;color:#edf7ff}.import-record .record-meta{color:var(--muted);font-size:12px;overflow-wrap:anywhere}.import-record .record-error{color:#f5bc99;font-size:12px;margin-top:3px}.record-state{color:#d6c087;font-size:11px;flex:none}
.import-review details{margin:12px 0}.import-review summary{min-height:44px;cursor:pointer;display:flex;align-items:center;font-size:13px;color:#a2b8c9}.import-review .import-actions{flex:none;padding-top:14px;border-top:1px solid var(--line);display:flex;gap:10px}.import-actions button{min-height:48px;flex:1;border-radius:12px;font-size:14px}.import-actions .primary{background:#eac67c;color:#18181c}.import-actions button:disabled{opacity:.4;cursor:default}.import-note{font-size:11px;line-height:1.5;color:var(--muted);margin:0 0 10px}
.presentation-bar{display:flex;gap:8px;align-items:center;background:none;border:0;padding:0;margin:0 20px}.presentation-bar .seg{display:flex;flex:1;min-width:0}.presentation-bar .seg button{flex:1;font-size:13px;padding:6px 8px}.presentation-bar select{max-width:116px;background:#131f2b;color:#c9dbe3;border:1px solid #2b3c48;border-radius:10px;min-height:44px;font-size:12px;padding:6px}
@media(max-width:350px){.import-review{padding:14px}.import-totals{gap:5px}.import-totals b{font-size:20px}.presentation-bar{margin:0 14px;gap:5px}.presentation-bar .seg button{font-size:12px;padding:5px}.presentation-bar select{max-width:96px;font-size:11px}}

.page[data-screen="journey"][data-presentation="map"]{position:relative;isolation:isolate;overflow:hidden;background:#05070c;padding-bottom:0;display:block}
.page[data-screen="journey"][data-presentation="map"]>.route-map{position:absolute;inset:0;width:100%;height:100%;min-height:0;z-index:-1;background:radial-gradient(ellipse at 50% 58%,#151b20,#05070c 76%)}
.page[data-screen="journey"][data-presentation="map"]>.top{position:relative;z-index:2;background:linear-gradient(#05070cf5,#05070cc0,transparent);padding:22px 20px 12px}
.page[data-screen="journey"][data-presentation="map"] .brand{color:#f8dfa4;font-size:24px}
.page[data-screen="journey"] .demo-badge{color:#bcaa80;background:#161616;border-color:#88724455}
.page[data-screen="journey"] .seg{background:#0b0e12df;border-color:#77654488}
.page[data-screen="journey"] .seg button.on{color:#ffe2a3;background:#6a512e35;box-shadow:inset 0 0 0 1px #baa16b66}
.page[data-screen="journey"] .year,.page[data-screen="journey"] .presentation-bar select{color:#e7cea0;background:#0c1015e8;border-color:#76634099}
.page[data-screen="journey"][data-presentation="map"]>.viewtoggle{position:relative;z-index:2;margin-bottom:0}
.page[data-screen="journey"][data-presentation="map"]>.trip-stats{position:absolute;z-index:2;bottom:20px;left:16px;right:16px;margin:0;border:1px solid #b2945f;border-radius:8px;background:linear-gradient(130deg,#282320ee,#121317f5);box-shadow:0 0 20px #dca94b13,inset 0 0 0 2px #d4b47616;padding:19px 6px;gap:4px}
.page[data-screen="journey"][data-presentation="map"]>.trip-stats:before,.page[data-screen="journey"][data-presentation="map"]>.trip-stats:after{content:"";position:absolute;width:25px;height:25px;pointer-events:none;border-color:#f7d490;border-style:solid}
.page[data-screen="journey"][data-presentation="map"]>.trip-stats:before{left:-2px;top:-2px;border-width:3px 0 0 3px;border-radius:8px 0 0 0}
.page[data-screen="journey"][data-presentation="map"]>.trip-stats:after{right:-2px;bottom:-2px;border-width:0 3px 3px 0;border-radius:0 0 8px 0}
.page[data-screen="journey"] .trip-stats .statnum{font-size:28px;color:#fff0c6;text-shadow:0 0 14px #ffb73120}.page[data-screen="journey"] .trip-stats .statlabel{color:#c9b58e}
.page[data-screen="journey"][data-presentation="map"]>.empty{margin-top:28vh}
.page[data-screen="journey"] .route-map .hud,.page[data-screen="journey"] .route-map .legend{display:none}
.route-map .region{fill:#10151d;stroke:#4c4640;stroke-width:.75}.route-map .gridline{stroke:#776145;stroke-opacity:.1}.route-map:after{box-shadow:inset 0 0 65px #02040999}
.map-country{fill:#d4cba8;opacity:.66;font-size:12px;paint-order:stroke;stroke:#090c11;stroke-width:3;pointer-events:none}
.flight-aura{stroke:#ffb832;opacity:.24}.flight-ribbon{stroke:#eec05e}.flight-core{stroke:#fff3b4;opacity:.78}.route-map .route-label{fill:#fff0c9}
.phone:has(.page[data-screen="journey"]) .nav button.active{color:#f7d38f;text-shadow:0 0 10px #e7bb4960}
@media(max-height:560px) and (min-width:601px){.page[data-screen="journey"][data-presentation="map"]{display:block}.page[data-screen="journey"][data-presentation="map"]>.top{width:320px}.page[data-screen="journey"][data-presentation="map"]>.viewtoggle{width:280px}.page[data-screen="journey"][data-presentation="map"]>.route-map{left:320px;width:calc(100% - 320px);height:100%}.page[data-screen="journey"][data-presentation="map"]>.trip-stats{right:auto;width:288px;left:16px;bottom:16px}.page[data-screen="journey"] .trip-stats .statnum{font-size:23px}.page[data-screen="journey"] .trip-stats .statlabel{font-size:11px}}
@media(max-width:350px){.page[data-screen="journey"][data-presentation="map"]>.trip-stats{left:10px;right:10px}.page[data-screen="journey"] .trip-stats .statnum{font-size:24px}.map-country{font-size:11px}}

.page[data-screen="journey"] .trip-stats{display:grid;grid-template-columns:1.6fr 1fr;row-gap:15px!important;padding:20px 16px!important}.page[data-screen="journey"] .trip-stats>div{display:flex;align-items:baseline;justify-content:flex-start;gap:8px;min-width:0;border:0}.page[data-screen="journey"] .trip-stats .statlabel{order:0;font-size:12px;white-space:nowrap}.page[data-screen="journey"] .trip-stats .statnum{order:1;font-size:26px;white-space:nowrap}.page[data-screen="journey"] .trip-stats>div:nth-child(3) .statnum,.page[data-screen="journey"] .trip-stats>div:nth-child(4) .statnum{font-size:22px}@media(max-width:350px),(max-height:560px) and (min-width:601px){.page[data-screen="journey"] .trip-stats{padding:16px 12px!important;column-gap:8px!important}.page[data-screen="journey"] .trip-stats .statnum{font-size:20px}.page[data-screen="journey"] .trip-stats .statlabel{font-size:11px}}

.page[data-screen="journey"][data-presentation="map"]>.route-map{z-index:0}
.page[data-screen="journey"][data-presentation="map"]>.trip-stats{pointer-events:none}
#route-map-svg{touch-action:none;user-select:none;-webkit-user-select:none;cursor:grab;outline-offset:-3px}
.route-map.dragging #route-map-svg{cursor:grabbing}
.route-controls{position:absolute;right:12px;top:205px;z-index:3;display:flex;flex-direction:column;gap:1px;padding:3px;border:1px solid #967a4c99;border-radius:12px;background:#090c12e8;box-shadow:0 4px 18px #0008;backdrop-filter:blur(12px)}
.route-controls button{display:grid;place-items:center;width:44px;height:44px;min-width:44px;min-height:44px;padding:0;border-radius:8px;font-size:26px;font-weight:400;color:#f7dfa6;touch-action:manipulation}
.route-controls button:hover{background:#f6c66e15}.route-controls button:disabled{opacity:.3;cursor:default}.route-controls button:focus-visible{outline-color:var(--gold)}
#route-zoom-reset{font-size:25px}
.route-map .region,.route-map .gridline,.route-map .flight-aura,.route-map .flight-ribbon,.route-map .flight-core,.route-map .route-flow,.route-map .route,.route-map .route-halo{vector-effect:non-scaling-stroke}
@media(max-height:560px) and (min-width:601px){.route-controls{top:12px}}
@media(min-width:601px) and (min-height:561px){.layout{display:grid;grid-template-columns:minmax(0,1fr);justify-content:center;align-content:center}.phone-shell{width:min(440px,calc(100vw - 32px));height:min(956px,calc(100dvh - 32px));justify-self:center;margin-inline:auto}.phone{height:100%}}

.route-map .flight-aura,.route-map .route-halo,.route-map .floating-plane,.route-map .airport-beacon circle{filter:none}
.route-map .flight-aura{stroke-width:5;opacity:.22}
.route-map .route-flow{animation:none;opacity:.5}
.route-map.interacting *{filter:none!important;animation:none!important;transition:none!important}
#route-map-svg{contain:paint}
.page[data-screen="map"] .region.visited{filter:none}
