@font-face{font-family:Satoshi;src:url(/fonts/Satoshi-Variable.woff2)format("woff2");font-weight:300 900;font-style:normal;font-display:swap}:root{--bg:#000;--surface:#0d0d0d;--surface-alt:#111;--border:#ffffff14;--border-hairline:#fff0;--text:#fff;--text-secondary:#999;--text-muted:#4d4d4d;--accent:#ff4533;--accent-soft:#f43;--link-legacy:#00e;--radius:12px;--radius-sm:12px;--radius-lg:24px;--radius-pill:9999px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%}body{min-height:100dvh;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-family:Satoshi,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-weight:500;overflow-x:hidden}button{font-family:inherit}.app{background:var(--bg);flex-direction:column;height:100dvh;display:flex;position:relative;overflow:hidden}.header{min-height:64px;padding:calc(10px + env(safe-area-inset-top)) clamp(14px, 3vw, 28px) 10px;background:0 0;border-bottom:none;flex:none;justify-content:space-between;align-items:center;gap:12px;display:flex}.header__titles{min-width:0}.header__title{letter-spacing:-.02em;white-space:nowrap;text-overflow:ellipsis;margin:0;font-family:Satoshi,system-ui,sans-serif;font-size:clamp(1.05rem,2.4vw,1.6rem);font-weight:500;overflow:hidden}.header__title em,.header__title i{letter-spacing:0;font-family:Instrument Serif,Times New Roman,serif;font-style:italic;font-weight:400}.header__subtitle{color:var(--text-secondary);margin:2px 0 0;font-size:clamp(.68rem,1.4vw,.85rem)}.header__actions{flex:none;gap:8px;display:flex}.btn{border-radius:var(--radius);min-height:44px;color:var(--text);white-space:nowrap;cursor:pointer;background:0 0;border:1px solid #fff3;justify-content:center;align-items:center;gap:8px;padding:0 20px;font-size:.85rem;font-weight:500;transition:color .3s cubic-bezier(.44,0,.56,1),background .3s cubic-bezier(.44,0,.56,1),border-color .3s cubic-bezier(.44,0,.56,1);display:inline-flex}.btn:hover{background:#ffffff0f}.btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn--primary{background:var(--accent);color:var(--text);border-color:#0000}.btn--primary:hover:not(:disabled){background:var(--accent-soft)}.btn--ghost{color:var(--text);background:0 0;border-color:#fff3}.btn--ghost:hover{background:#ffffff0f}.btn:disabled{opacity:.6;cursor:not-allowed}.btn__icon{font-size:1rem;line-height:1}.btn__icon.is-spinning{animation:.6s linear spin}.btn__swatch{background:var(--accent);width:10px;height:10px;box-shadow:0 0 10px var(--accent);border-radius:50%}.btn__label--short{display:none}@keyframes spin{to{transform:rotate(360deg)}}.layout{min-height:0;padding:0 clamp(14px, 3vw, 28px) calc(14px + env(safe-area-inset-bottom));flex:auto;grid-template-rows:minmax(0,55dvh) minmax(0,1fr);grid-template-columns:minmax(0,1fr);gap:clamp(10px,2vw,18px);display:grid}.globe-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);min-height:0;position:relative;overflow:hidden}.globe-glow{filter:blur(40px);pointer-events:none;background:radial-gradient(circle,#ff45332e,#0000 60%);border-radius:50%;position:absolute;inset:6%}.globe-canvas{opacity:0;touch-action:none;cursor:grab;transition:opacity .8s;position:absolute;inset:0}.globe-canvas.is-ready{opacity:1}.globe-canvas:active{cursor:grabbing}.globe-vignette{pointer-events:none;position:absolute;inset:0;box-shadow:inset 0 0 200px #0009}.globe-loading{z-index:2;color:var(--text-secondary);place-content:center;justify-items:center;gap:12px;font-size:.85rem;display:grid;position:absolute;inset:0}.spinner{border:3px solid #ffffff1f;border-top-color:var(--accent);border-radius:50%;width:40px;height:40px;animation:.8s linear infinite spin}.glass{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);-webkit-backdrop-filter:blur(10px)}@supports ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.glass{background:#0d0d0deb}}.sidebar{flex-direction:column;gap:12px;min-height:0;padding:clamp(12px,2vw,18px);display:flex;overflow:hidden}.stats{flex:none;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.stats__item{border-radius:var(--radius);background:var(--surface);border:1px solid var(--border);flex-direction:column;gap:2px;padding:10px 12px;display:flex;box-shadow:0 0 0 1px #ff45331f}.stats__label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary);font-size:.66rem}.stats__value{font-variant-numeric:tabular-nums;white-space:nowrap;text-overflow:ellipsis;font-size:clamp(.8rem,1.6vw,.98rem);font-weight:500;overflow:hidden}.stats__sub{color:var(--text-secondary);font-variant-numeric:tabular-nums;font-size:.7rem}.flight-list{scrollbar-width:thin;scrollbar-color:#fff3 transparent;flex-direction:column;flex:auto;gap:8px;min-height:0;margin:0;padding:2px;list-style:none;display:flex;overflow-y:auto}.flight-list::-webkit-scrollbar{width:8px}.flight-list::-webkit-scrollbar-thumb{background:#ffffff2e;border-radius:999px}.flight-card{border-radius:var(--radius);background:var(--surface);width:100%;min-height:44px;color:inherit;text-align:left;cursor:pointer;border:1px solid #0000;align-items:center;gap:12px;padding:10px 12px;transition:border-color .3s cubic-bezier(.44,0,.56,1),box-shadow .3s cubic-bezier(.44,0,.56,1),background .3s cubic-bezier(.44,0,.56,1);display:flex}.flight-card:hover{background:var(--surface-alt)}.flight-card:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.flight-card.is-selected{border-color:var(--arc-color,var(--accent));background:var(--surface-alt);box-shadow:0 0 0 1px var(--arc-color,var(--accent)), 0 8px 22px color-mix(in srgb, var(--arc-color,var(--accent)) 40%, transparent)}.flight-card__logo{object-fit:contain;background:#ffffff0a;border-radius:8px;flex:none;width:48px;height:48px;padding:6px}.flight-card__body{flex-direction:column;flex:auto;gap:2px;min-width:0;display:flex}.flight-card__top{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.flight-card__no{letter-spacing:.01em;font-size:.9rem;font-weight:500}.flight-card__meta{color:var(--text-secondary);font-variant-numeric:tabular-nums;white-space:nowrap;text-align:right;font-size:.74rem}.flight-card__bottom{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.flight-card__airline{color:var(--text);white-space:nowrap;text-overflow:ellipsis;text-align:right;margin-left:auto;font-size:.72rem;overflow:hidden}.flight-card__cities{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;font-size:.72rem;overflow:hidden}.globe-tooltip{border:1px solid var(--border);min-width:140px;color:var(--text);font-variant-numeric:tabular-nums;background:#0d0d0deb;border-radius:12px;gap:3px;padding:10px 12px;font-size:.76rem;display:grid;box-shadow:0 12px 32px #00000080}.globe-tooltip strong{font-size:.88rem}.globe-tooltip span{color:var(--text-secondary)}.scene-tooltip{font-family:Satoshi,system-ui,sans-serif}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width>=768px){.layout{grid-template-rows:minmax(0,58dvh) minmax(0,1fr)}}@media (width>=1024px){.layout{grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,70fr) minmax(280px,30fr)}}@media (width<=560px){.header__subtitle{display:none}.btn{padding:0 12px;font-size:.78rem}.btn__swatch,.btn__label--full{display:none}.btn__label--short{display:inline}}@media (width<=380px){.header__title{font-size:1rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}.spinner{animation-duration:1.6s!important;animation-iteration-count:infinite!important}}
