:root{--ink:#f4f1e9;--muted:#8c9ba5;--faint:#5c6c77;--navy:#08141f;--navy2:#0d202b;--panel:#102631;--panel2:#122d38;--line:rgba(195,211,211,.13);--amber:#ffc857;--mint:#9de0bf;--cyan:#66c7d5;--mono:'DM Mono',monospace;--sans:'Manrope',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--navy);color:var(--ink);font-family:var(--sans);font-size:14px;line-height:1.5}body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.18;background-image:linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);background-size:54px 54px}.app-shell{min-height:100vh;overflow:hidden}.content-wrap{width:min(1180px,calc(100% - 96px));margin-inline:auto}.topbar{height:76px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:0 48px;position:relative;z-index:1}.brand{display:flex;gap:12px;align-items:center;text-decoration:none;color:var(--ink)}.brand-mark{height:29px;width:25px;display:flex;align-items:end;gap:3px;transform:skew(-15deg)}.brand-mark i{display:block;width:6px;background:var(--amber);border-radius:1px}.brand-mark i:nth-child(1){height:13px}.brand-mark i:nth-child(2){height:21px}.brand-mark i:nth-child(3){height:29px}.brand-text{display:flex;flex-direction:column;line-height:1}.brand-text strong{font-size:17px;letter-spacing:-.04em;font-weight:800}.brand-text em{font-style:normal;text-transform:uppercase;font:10px var(--mono);letter-spacing:.17em;color:var(--muted);margin-top:6px}.topbar-actions{display:flex;align-items:center;gap:22px}.data-badge,.small-note,.mono{font:11px var(--mono);letter-spacing:.02em;color:var(--muted)}.data-badge{display:flex;align-items:center;gap:8px}.pulse-dot,.live-line{width:7px;height:7px;border-radius:50%;background:var(--mint);display:inline-block;box-shadow:0 0 0 5px rgba(157,224,191,.08);animation:pulse 2s infinite}.icon-button{border:1px solid var(--line);background:transparent;color:var(--muted);width:34px;height:34px;border-radius:50%;display:grid;place-items:center;cursor:pointer;transition:.2s}.icon-button:hover{border-color:var(--amber);color:var(--amber);transform:translateY(-2px)}.icon-button svg{width:16px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round}.hero-section{display:flex;justify-content:space-between;align-items:flex-end;padding-top:86px;padding-bottom:62px}.eyebrow{font:11px var(--mono);color:var(--muted);text-transform:uppercase;letter-spacing:.16em;display:flex;align-items:center;gap:10px}.slash{color:var(--amber);margin:0 3px}h1{font-size:clamp(58px,8vw,108px);line-height:.9;letter-spacing:-.08em;margin:25px 0 26px;font-weight:800}.hero-copy h1 span{color:var(--amber)}h1 small{font-size:.56em;color:var(--muted);letter-spacing:-.06em;font-weight:500}.hero-subtitle{color:var(--muted);font-size:16px;margin:0}.hero-subtitle strong{color:var(--ink);font-weight:600}.hero-status-card{width:278px;padding:22px 24px;background:linear-gradient(145deg,rgba(18,45,56,.98),rgba(10,27,38,.9));border:1px solid rgba(157,224,191,.18);position:relative}.hero-status-card:before{content:"";position:absolute;left:-1px;top:22px;height:46px;width:2px;background:var(--mint)}.status-label{font:10px var(--mono);text-transform:uppercase;letter-spacing:.16em;color:var(--muted);margin-bottom:16px}.status-row{display:flex;align-items:center;gap:10px}.status-icon{color:var(--mint);font-size:25px;font-weight:300}.status-row strong{font-size:21px;letter-spacing:-.04em}.status-pill{margin-left:auto;background:rgba(157,224,191,.12);color:var(--mint);padding:5px 8px;font:10px var(--mono);text-transform:uppercase}.hero-status-card p{color:var(--muted);font:11px var(--mono);margin:16px 0}.mini-progress{height:3px;background:#203d46;overflow:hidden}.mini-progress span{height:100%;background:var(--mint);display:block;animation:load-in 1.2s ease-out}.progress-meta{display:flex;justify-content:space-between;color:var(--faint);font:10px var(--mono);margin-top:9px}.progress-meta span:last-child{color:var(--mint)}.route-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:28px 0 31px;display:grid;grid-template-columns:1fr 1.25fr 1fr;align-items:center}.airport-block{position:relative}.destination{text-align:right}.airport-kicker{color:var(--muted);font:10px var(--mono);text-transform:uppercase;letter-spacing:.15em}.airport-code{font-size:51px;line-height:1;letter-spacing:-.07em;font-weight:800;margin:8px 0 6px}.destination .airport-code{color:var(--mint)}.airport-city{font-size:12px;color:var(--muted)}.time-pair{margin-top:18px;display:flex;align-items:baseline;gap:6px}.destination .time-pair{justify-content:flex-end}.time-pair strong{font:25px var(--mono);color:var(--ink)}.time-pair span{font:10px var(--mono);color:var(--amber)}.time-pair small{font:10px var(--mono);color:var(--faint);margin-left:7px}.route-connector{display:flex;align-items:center;justify-content:center;position:relative;padding:0 24px}.connector-dash{height:1px;flex:1;background:repeating-linear-gradient(90deg,var(--faint) 0 6px,transparent 6px 11px)}.connector-dot{width:8px;height:8px;border:2px solid var(--amber);border-radius:50%;display:block}.connector-dot.end{border-color:var(--mint)}.connector-plane{color:var(--amber);font-size:21px;padding:0 11px;transform:rotate(10deg);animation:float 3s ease-in-out infinite}.connector-miles{position:absolute;bottom:-25px;color:var(--faint);font:10px var(--mono)}.dashboard-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:18px;padding-top:34px}.detail-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:18px;padding-top:18px;padding-bottom:42px}.panel{background:linear-gradient(145deg,rgba(16,38,49,.96),rgba(11,29,39,.96));border:1px solid var(--line);padding:22px 24px;min-width:0}.panel-heading{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:16px;margin-bottom:22px}.panel-heading>div{display:flex;align-items:baseline;gap:12px}.panel-heading h2{font-size:16px;letter-spacing:-.04em;margin:0;font-weight:700}.section-index{font:10px var(--mono);color:var(--amber);letter-spacing:.08em}.text-button{border:0;background:none;color:var(--muted);font:11px var(--mono);cursor:pointer;padding:4px 0}.text-button span{color:var(--amber);font-size:15px;margin-left:4px}.text-button:hover{color:var(--ink)}.map-frame{height:372px;position:relative;overflow:hidden;background:linear-gradient(140deg,#102e38,#0a202d)}.map-grid-lines{position:absolute;inset:0;opacity:.35;background-image:linear-gradient(rgba(154,208,203,.16) 1px,transparent 1px),linear-gradient(90deg,rgba(154,208,203,.16) 1px,transparent 1px);background-size:39px 39px;transform:perspective(350px) rotateX(52deg) scale(1.6);transform-origin:center 70%}.map-land{position:absolute;background:#1b3b42;opacity:.5;filter:blur(1px)}.land-one{width:270px;height:180px;left:10%;top:21%;border-radius:48% 52% 32% 61%;transform:rotate(18deg)}.land-two{width:180px;height:260px;left:45%;top:-13%;border-radius:55% 31% 65% 42%;transform:rotate(-29deg)}.land-three{width:220px;height:140px;right:-3%;bottom:16%;border-radius:41% 68% 34% 51%;transform:rotate(-12deg)}.flight-path{position:absolute;inset:0;width:100%;height:100%}.flight-path path{fill:none;stroke-linecap:round}.path-shadow{stroke:#04151e;stroke-width:7;opacity:.5}.path-base{stroke:#506a6d;stroke-width:2;stroke-dasharray:6 8}.path-active{stroke:var(--amber);stroke-width:3;stroke-dasharray:63 37;filter:drop-shadow(0 0 5px rgba(255,200,87,.55));animation:dash 5s linear infinite}.map-label{position:absolute;display:flex;flex-direction:column;gap:2px}.map-label strong{font:13px var(--mono);letter-spacing:.1em}.map-label small{font:10px var(--mono);color:var(--muted)}.las-label{left:11%;top:69%}.pvu-label{right:11%;top:15%;text-align:right;align-items:flex-end}.map-marker{width:10px;height:10px;border:2px solid var(--amber);background:var(--navy);border-radius:50%;display:block;margin-bottom:5px;box-shadow:0 0 0 5px rgba(255,200,87,.12)}.destination-marker{border-color:var(--mint);box-shadow:0 0 0 5px rgba(157,224,191,.12)}.plane-position{position:absolute;left:63%;top:31%;width:27px;height:27px;border-radius:50%;background:rgba(255,200,87,.13);border:1px solid rgba(255,200,87,.4);display:grid;place-items:center;color:var(--amber);font-size:15px;animation:plane-pulse 2.2s infinite}.map-footer{position:absolute;bottom:14px;left:16px;right:16px;display:flex;gap:16px;color:var(--muted);font:9px var(--mono);text-transform:uppercase;letter-spacing:.04em}.legend-line{display:inline-block;width:15px;height:2px;background:var(--amber);vertical-align:middle;margin-right:4px}.legend-line.remaining{background:#64767a}.map-coordinate{margin-left:auto;color:#678087}.timeline{position:relative;padding:3px 0 3px 4px}.timeline-line{position:absolute;left:15px;top:11px;bottom:21px;width:1px;background:#2c4e54}.timeline-line span{display:block;height:63%;background:var(--mint)}.timeline-event{display:grid;grid-template-columns:24px 1fr;gap:15px;position:relative;margin-bottom:19px}.timeline-event:last-child{margin-bottom:0}.event-dot{width:22px;height:22px;border-radius:50%;border:1px solid #426069;background:var(--panel);display:grid;place-items:center;color:var(--faint);font-size:11px;z-index:1}.timeline-event.complete .event-dot{background:var(--mint);border-color:var(--mint);color:var(--navy)}.timeline-event.active .event-dot{background:var(--amber);border-color:var(--amber);color:var(--navy);box-shadow:0 0 0 5px rgba(255,200,87,.12)}.timeline-event small{display:block;color:var(--muted);font:10px var(--mono);margin:1px 0 4px}.timeline-event strong{font-size:14px;letter-spacing:-.03em}.timeline-event p{margin:2px 0 0;color:var(--faint);font:10px var(--mono)}.timeline-event.active strong{color:var(--amber)}.detail-list{display:grid;gap:18px}.detail-row{display:grid;grid-template-columns:1fr auto;gap:3px 10px;border-bottom:1px solid var(--line);padding-bottom:13px}.detail-row:last-child{border:0;padding-bottom:0}.detail-row>span{color:var(--muted);font:10px var(--mono);text-transform:uppercase;letter-spacing:.08em}.detail-row strong{font-size:12px;text-align:right}.detail-row small{text-align:right;color:var(--faint);font:10px var(--mono);grid-column:2}.condition-columns{display:grid;grid-template-columns:1fr 1fr;gap:12px}.condition-card{background:rgba(7,21,29,.45);padding:14px}.condition-top{display:flex;justify-content:space-between;align-items:center}.condition-code{font:11px var(--mono);color:var(--amber)}.weather-icon{font-size:25px;color:var(--amber);font-weight:300}.weather-icon.muted{color:var(--mint)}.condition-card>strong{display:block;font:29px var(--mono);margin:11px 0 2px}.condition-card sup{font-size:10px;color:var(--muted)}.condition-card p{font:10px var(--mono);color:var(--muted);margin:0 0 12px}.condition-tag{font:9px var(--mono);text-transform:uppercase;letter-spacing:.05em}.condition-tag.good{color:var(--mint)}.note-panel{display:flex;gap:15px;align-items:flex-start;background:linear-gradient(145deg,rgba(46,54,45,.85),rgba(16,38,49,.95));border-color:rgba(255,200,87,.24)}.note-mark{width:25px;height:25px;border:1px solid var(--amber);color:var(--amber);display:grid;place-items:center;font:14px var(--mono);flex:none}.note-panel h2{margin:3px 0 12px;font-size:16px}.note-panel p{color:#d4d7cb;margin:0 0 12px;font-size:12px;line-height:1.6}.update-time{color:var(--faint);font-size:9px}.footer{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:20px 0 34px;color:var(--faint);font:10px var(--mono)}.footer b{color:var(--amber);font-weight:400;padding:0 5px}.toast{position:fixed;bottom:24px;right:24px;background:var(--mint);color:var(--navy);padding:11px 16px;font:11px var(--mono);transform:translateY(20px);opacity:0;pointer-events:none;transition:.25s;z-index:5}.toast.show{transform:translateY(0);opacity:1}@keyframes pulse{0%,100%{box-shadow:0 0 0 5px rgba(157,224,191,.08)}50%{box-shadow:0 0 0 8px rgba(157,224,191,.02)}}@keyframes load-in{from{width:0!important}}@keyframes float{0%,100%{transform:rotate(10deg) translateY(0)}50%{transform:rotate(10deg) translateY(-4px)}}@keyframes plane-pulse{0%,100%{box-shadow:0 0 0 0 rgba(255,200,87,.14)}50%{box-shadow:0 0 0 9px rgba(255,200,87,0)}}@keyframes dash{to{stroke-dashoffset:-100}}@media(max-width:900px){.content-wrap{width:min(100% - 48px,700px)}.topbar{padding:0 24px}.hero-section{padding-top:60px;display:block}.hero-status-card{margin-top:38px;width:100%;max-width:400px}.route-strip{grid-template-columns:1fr 1fr;gap:24px}.route-connector{grid-column:1/-1;grid-row:2;order:3}.dashboard-grid,.detail-grid{grid-template-columns:1fr}.detail-grid{gap:18px}.map-frame{height:330px}}@media(max-width:580px){.content-wrap{width:calc(100% - 34px)}.topbar{height:64px;padding:0 17px}.brand-text em{display:none}.data-badge{font-size:0}.data-badge .pulse-dot{font-size:initial}.topbar-actions{gap:12px}.hero-section{padding-top:48px;padding-bottom:42px}.eyebrow{font-size:9px}.hero-copy h1{font-size:64px}.hero-subtitle{font-size:14px;max-width:310px}.route-strip{padding:22px 0 28px}.airport-code{font-size:38px}.airport-city{font-size:10px;line-height:1.4}.time-pair{margin-top:13px;display:grid;grid-template-columns:auto auto;gap:0 5px}.time-pair strong{font-size:19px}.time-pair small{grid-column:1/-1;margin:2px 0 0;font-size:8px}.destination .time-pair{justify-content:end}.route-connector{padding:0 7px}.connector-miles{font-size:8px;bottom:-21px}.panel{padding:18px 16px}.panel-heading{margin-bottom:18px}.panel-heading h2{font-size:14px}.small-note{font-size:9px}.map-frame{height:280px;margin-inline:-1px}.map-footer{font-size:7px;gap:8px;left:10px;right:10px}.map-coordinate{display:none}.condition-card{padding:10px}.condition-card>strong{font-size:22px}.condition-card p{font-size:8px}.footer{display:block;line-height:2.1;padding-bottom:22px}.footer span{display:block}.note-panel p{font-size:11px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}}
