:root{--bg: #eef4fb;--bg-glow: #ffffff;--panel: #ffffff;--panel-quiet: #f5f8fc;--ink: #17222f;--ink-soft: #5d6b7c;--line: #dbe4ef;--line-strong: #c4d2e2;--accent: #1c7fd0;--accent-ink: #0e5f9f;--quiet: #2f9e68;--moderate: #d9a441;--busy: #cf4b53;--radius: 16px;--radius-lg: 22px;--shadow: 0 1px 2px rgba(20, 40, 65, .06), 0 8px 24px rgba(20, 40, 65, .08);--font: ui-rounded, "SF Pro Rounded", "Segoe UI Variable Display", system-ui, -apple-system, sans-serif}@media(prefers-color-scheme:dark){:root{--bg: #0e141c;--bg-glow: #18212d;--panel: #171f2a;--panel-quiet: #131b25;--ink: #e8eef6;--ink-soft: #93a3b6;--line: #263242;--line-strong: #364659;--accent: #3fa4ec;--accent-ink: #82ccf8;--moderate: #e0b055;--shadow: 0 1px 2px rgba(0, 0, 0, .4), 0 8px 24px rgba(0, 0, 0, .32)}}*{box-sizing:border-box}body{margin:0;font-family:var(--font);color:var(--ink);background:radial-gradient(1100px 500px at 50% -10%,var(--bg-glow),transparent 70%),var(--bg);min-height:100vh;-webkit-font-smoothing:antialiased}h1,h2{margin:0;letter-spacing:-.015em}main{max-width:880px;margin:0 auto;padding:0 clamp(1rem,4vw,2rem) 3rem}.top{max-width:880px;margin:0 auto;padding:1rem clamp(1rem,4vw,2rem);display:flex;align-items:baseline;gap:.8rem;flex-wrap:wrap}.brand{font-weight:800;font-size:1.15rem;display:inline-flex;align-items:center;gap:.45rem}.brand-mark{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:linear-gradient(160deg,var(--accent),var(--accent-ink));color:#fff;font-size:.95rem;box-shadow:0 3px 10px color-mix(in srgb,var(--accent) 40%,transparent)}.tagline{color:var(--ink-soft);font-size:.88rem}.foot{max-width:880px;margin:0 auto;padding:0 clamp(1rem,4vw,2rem) 2.5rem;color:var(--ink-soft);font-size:.8rem;line-height:1.5}.searcher{display:flex;align-items:flex-end;gap:.6rem;flex-wrap:wrap;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-lg);padding:1rem 1.1rem;box-shadow:var(--shadow);margin-bottom:1.2rem}.field{position:relative;display:flex;flex-direction:column;gap:.25rem}.field label{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--ink-soft)}.field input{font:inherit;color:inherit;background:var(--panel-quiet);border:1px solid var(--line-strong);border-radius:12px;padding:.55rem .7rem}.field input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 22%,transparent)}.field-airport input{width:6.2rem;font-size:1.45rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;text-align:center;font-variant-numeric:tabular-nums}.suggest{position:absolute;top:100%;left:0;z-index:30;min-width:17rem;margin-top:.3rem;background:var(--panel);border:1px solid var(--line-strong);border-radius:12px;box-shadow:var(--shadow);overflow:hidden;display:flex;flex-direction:column}.suggest:empty,.suggest[hidden]{display:none}.suggest-row{font:inherit;text-align:left;background:none;border:0;cursor:pointer;display:flex;gap:.6rem;align-items:baseline;padding:.5rem .7rem;color:var(--ink)}.suggest-row:hover{background:var(--panel-quiet)}.suggest-code{font-weight:800;letter-spacing:.05em}.suggest-city{color:var(--ink-soft);font-size:.85rem}.swap{font:inherit;font-size:1.05rem;cursor:pointer;align-self:center;margin-top:1rem;width:2.2rem;height:2.2rem;border-radius:50%;border:1px solid var(--line-strong);background:var(--panel-quiet);color:var(--ink-soft)}.swap:hover{color:var(--accent-ink);border-color:var(--accent)}.go{font:inherit;font-weight:750;cursor:pointer;margin-left:auto;background:linear-gradient(170deg,var(--accent),var(--accent-ink));color:#fff;border:0;border-radius:12px;padding:.65rem 1.5rem;font-size:1.02rem;box-shadow:0 4px 14px color-mix(in srgb,var(--accent) 40%,transparent)}.go:hover{transform:translateY(-1px)}.status{text-align:center;color:var(--ink-soft);padding:2.2rem 0}.status-error{color:var(--busy);font-weight:650}.demo-note{font-size:.8rem;color:var(--ink-soft);text-align:center;margin:0 0 .9rem;background:color-mix(in srgb,var(--moderate) 12%,transparent);border:1px solid color-mix(in srgb,var(--moderate) 35%,transparent);border-radius:10px;padding:.45rem .8rem}.airport-strip{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-lg);padding:1rem 1.2rem .7rem;box-shadow:var(--shadow);margin-bottom:1rem}.strip-head{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;flex-wrap:wrap}.strip-head h2{font-size:.98rem}.strip-legend{display:flex;gap:.7rem;font-size:.72rem;color:var(--ink-soft)}.legend{display:inline-flex;align-items:center;gap:.3rem}.legend:before{content:"";width:8px;height:8px;border-radius:3px}.legend-quiet:before{background:var(--quiet)}.legend-moderate:before{background:var(--moderate)}.legend-busy:before{background:var(--busy)}.strip-bars{display:flex;align-items:flex-end;gap:3px;height:74px;margin-top:.8rem}.strip-hour{flex:1;display:flex;flex-direction:column;align-items:center;height:100%;justify-content:flex-end;position:relative}.strip-bar{width:100%;border-radius:4px 4px 2px 2px;opacity:.85;min-height:4px}.bar-quiet{background:var(--quiet)}.bar-moderate{background:var(--moderate)}.bar-busy{background:var(--busy)}.strip-bar.has-flight{outline:2px dashed color-mix(in srgb,var(--ink) 45%,transparent);outline-offset:1px}.strip-tick{position:absolute;top:100%;font-size:.62rem;color:var(--ink-soft);margin-top:2px}.strip-note{color:var(--ink-soft);font-size:.74rem;margin:1.2rem 0 .2rem}.filters{display:flex;flex-wrap:wrap;gap:.45rem .9rem;margin-bottom:.7rem;position:sticky;top:.5rem;z-index:20;background:color-mix(in srgb,var(--bg) 88%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:14px;padding:.5rem}.filter-group{display:flex;gap:0;border:1px solid var(--line-strong);border-radius:999px;overflow:hidden;background:var(--panel)}.seg{font:inherit;font-size:.8rem;font-weight:650;cursor:pointer;white-space:nowrap;border:0;background:none;color:var(--ink-soft);padding:.38rem .75rem}.seg+.seg{border-left:1px solid var(--line)}.seg:hover{color:var(--ink)}.seg.is-active{background:var(--accent);color:#fff}.count{color:var(--ink-soft);font-size:.8rem;margin:.2rem .2rem .6rem}.flight-list{display:flex;flex-direction:column;gap:.8rem}.flight{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow);overflow:hidden;transition:transform .12s,box-shadow .15s}.flight:hover{transform:translateY(-1px)}.flight.is-expanded{border-color:color-mix(in srgb,var(--accent) 45%,var(--line))}.flight-main{font:inherit;color:inherit;text-align:left;width:100%;cursor:pointer;background:none;border:0;padding:1rem 1.2rem;display:grid;gap:.55rem 1.2rem;grid-template-columns:minmax(15rem,1.2fr) 1fr;grid-template-areas:"times id" "signals signals" "cabins cabins";align-items:center}.flight-times{grid-area:times;display:flex;align-items:center;gap:.8rem}.depart,.arrive{font-size:1.55rem;font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:-.01em}.arrive{color:var(--ink-soft)}.route-line{flex:1;display:flex;flex-direction:column;align-items:center;gap:.1rem;min-width:5rem}.route-duration{font-size:.72rem;color:var(--ink-soft);font-weight:650}.route-track{width:100%;height:2px;background:var(--line-strong);border-radius:2px;position:relative}.stop-dot{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:7px;height:7px;border-radius:50%;background:var(--moderate);border:2px solid var(--panel)}.route-stops{font-size:.72rem;color:var(--ink-soft)}.flight-id{grid-area:id;display:flex;flex-wrap:wrap;gap:.3rem .7rem;align-items:baseline;justify-content:flex-end}.airline{font-weight:700;font-size:.92rem}.flight-number,.aircraft{color:var(--ink-soft);font-size:.8rem}.flight-signals{grid-area:signals;display:flex;flex-wrap:wrap;gap:.5rem 1.1rem;align-items:center}.load{display:inline-flex;align-items:center;gap:.5rem}.load-track{width:88px;height:8px;border-radius:999px;overflow:hidden;background:color-mix(in srgb,var(--ink) 9%,transparent)}.load-fill{display:block;height:100%;border-radius:999px}.load-light .load-fill{background:var(--quiet)}.load-medium .load-fill{background:var(--moderate)}.load-full .load-fill{background:var(--busy)}.load-text{font-size:.78rem;font-weight:700}.load-light .load-text{color:var(--quiet)}.load-medium .load-text{color:color-mix(in srgb,var(--moderate) 75%,var(--ink))}.load-full .load-text{color:var(--busy)}.busy{display:inline-flex;align-items:center;gap:.4rem;font-size:.78rem;font-weight:650;color:var(--ink-soft)}.busy-dot{width:9px;height:9px;border-radius:50%}.busy-quiet .busy-dot{background:var(--quiet)}.busy-moderate .busy-dot{background:var(--moderate)}.busy-busy .busy-dot{background:var(--busy)}.busy-busy{color:var(--busy)}.flight-cabins{grid-area:cabins;display:flex;flex-wrap:wrap;gap:.45rem}.cabin-pill{display:inline-flex;align-items:center;gap:.5rem;border:1px solid var(--line);background:var(--panel-quiet);border-radius:999px;padding:.3rem .7rem}.cabin-pill.is-empty{opacity:.55}.cabin-name{font-size:.76rem;font-weight:700}.cabin-count{font-size:.76rem;font-weight:800;color:var(--accent-ink);min-width:1.4rem;text-align:right}.cabin-pill.is-empty .cabin-count{color:var(--busy)}.dots{display:inline-flex;gap:2.5px}.dot{width:7px;height:7px;border-radius:50%;background:color-mix(in srgb,var(--ink) 14%,transparent)}.dot.is-on{background:var(--accent)}.buckets{border-top:1px dashed var(--line-strong);padding:.8rem 1.2rem 1rem}.bucket-group{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem;margin-bottom:.45rem}.bucket-cabin{font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft);min-width:4.6rem}.bucket{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.8rem;font-weight:700;background:var(--panel-quiet);border:1px solid var(--line);border-radius:7px;padding:.14rem .42rem;color:var(--accent-ink)}.bucket.is-zero{color:var(--ink-soft);opacity:.6;text-decoration:line-through}.bucket-note{color:var(--ink-soft);font-size:.73rem;margin:.5rem 0 0}@media(max-width:640px){.flight-main{grid-template-columns:1fr;grid-template-areas:"times" "id" "signals" "cabins"}.flight-id{justify-content:flex-start}.depart,.arrive{font-size:1.3rem}.searcher{gap:.5rem}.field-airport input{width:5.2rem;font-size:1.2rem}.go{width:100%;margin-left:0}.filters{position:static}.strip-bars{gap:2px}}.next-day{font-size:.6em;color:var(--moderate);font-weight:800;margin-left:1px}.calendar{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-lg);padding:1rem 1.2rem;box-shadow:var(--shadow);margin-bottom:1rem}.calendar-head{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;flex-wrap:wrap}.calendar-head h2{font-size:.98rem}.calendar-note{color:var(--ink-soft);font-size:.72rem}.day-strip{display:flex;gap:.4rem;margin-top:.8rem;overflow-x:auto;padding-bottom:.3rem;scrollbar-width:thin}.day-cell{font:inherit;cursor:pointer;position:relative;flex:1 0 4.1rem;min-width:4.1rem;display:flex;flex-direction:column;align-items:center;gap:.18rem;padding:.55rem .3rem .5rem;border-radius:12px;border:1px solid var(--line);background:var(--panel-quiet);color:var(--ink);transition:border-color .14s,background .14s,transform .12s}.day-cell:hover{border-color:var(--accent);transform:translateY(-1px)}.day-cell.is-selected{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,var(--panel));box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent)}.day-name{font-size:.66rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft)}.day-num{font-size:1.15rem;font-weight:800;line-height:1;font-variant-numeric:tabular-nums}.load-tint-light{background:var(--quiet)}.load-tint-medium{background:var(--moderate)}.load-tint-full{background:var(--busy)}@keyframes dayload{0%{transform:translate(-40%)}to{transform:translate(180%)}}.day-meta{font-size:.62rem;color:var(--ink-soft);white-space:nowrap}.day-best{position:absolute;top:-.5rem;left:50%;transform:translate(-50%);font-size:.56rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:#fff;background:var(--quiet);border-radius:999px;padding:.1rem .42rem;white-space:nowrap;box-shadow:0 2px 6px color-mix(in srgb,var(--quiet) 45%,transparent)}.day-cell{overflow:visible}.day-strip{padding-top:.55rem}.strip-title{display:flex;align-items:center;gap:.5rem}.day-nav{font:inherit;font-size:1.05rem;font-weight:800;cursor:pointer;line-height:1;width:1.7rem;height:1.7rem;border-radius:50%;border:1px solid var(--line-strong);background:var(--panel-quiet);color:var(--ink-soft);transition:color .13s,border-color .13s}.day-nav:hover{color:var(--accent-ink);border-color:var(--accent)}@media(max-width:640px){.day-cell{flex-basis:3.6rem;min-width:3.6rem}}.plane-tag{font-size:.64rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--accent-ink);background:color-mix(in srgb,var(--accent) 12%,transparent);border-radius:999px;padding:.12rem .45rem;white-space:nowrap}.plane-tag-new{color:var(--quiet);background:color-mix(in srgb,var(--quiet) 13%,transparent)}.flight-detail{border-top:1px dashed var(--line-strong)}.flight-detail>.buckets{border-top:1px dashed var(--line)}.flight-detail>.buckets:first-child{border-top:0}.seatmap{padding:.9rem 1.2rem .6rem}.seatmap-title{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;flex-wrap:wrap;font-size:.8rem;font-weight:700;margin-bottom:.7rem}.seatmap-legend{display:inline-flex;align-items:center;gap:.35rem;font-weight:500;color:var(--ink-soft);font-size:.74rem}.legend-seat{width:10px;height:10px;border-radius:3px;display:inline-block}.legend-seat.is-free{background:var(--quiet)}.legend-seat.is-taken{background:color-mix(in srgb,var(--ink) 18%,transparent)}.seatmap-legend .legend-seat:not(:first-child){margin-left:.6rem}.seatmap-fuselage{max-height:420px;overflow-y:auto;overscroll-behavior:contain;border:1px solid var(--line);border-radius:18px 18px 12px 12px;padding:.8rem .6rem;background:var(--panel-quiet);width:fit-content;max-width:100%;margin:0 auto;scrollbar-width:thin}.cabin-map{margin-bottom:.9rem}.cabin-map:last-child{margin-bottom:0}.cabin-map-head{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;padding:.2rem .4rem .35rem}.cabin-map-name{font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft)}.cabin-map-config{font-weight:600;letter-spacing:.02em;margin-left:.3rem;color:var(--accent-ink);text-transform:none}.cabin-map-count{font-size:.72rem;font-weight:700;color:var(--quiet);white-space:nowrap}.seat-row{display:flex;align-items:center;gap:3px;padding:1px 0}.seat-rownum{width:1.5rem;text-align:right;padding-right:.35rem;flex:0 0 auto;font-size:.58rem;color:var(--ink-soft);font-variant-numeric:tabular-nums}.seat-block{display:inline-flex;gap:3px}.aisle{width:14px;flex:0 0 auto}.seat{width:14px;height:14px;border-radius:4px 4px 5px 5px;display:inline-block;background:color-mix(in srgb,var(--ink) 14%,transparent)}.seat.is-free{background:var(--quiet);box-shadow:inset 0 -2px color-mix(in srgb,var(--quiet) 60%,black)}.seat-header .seat-letter{width:14px;display:inline-block;text-align:center;font-size:.58rem;font-weight:700;color:var(--ink-soft)}.seatmap-note{color:var(--ink-soft);font-size:.73rem;margin:.6rem 0 .2rem}@media(max-width:640px){.seatmap{padding:.8rem .7rem .5rem}.seat,.seat-header .seat-letter{width:11px}.seat{height:11px}.aisle{width:10px}.filter-row{max-width:100%}.filter-group{max-width:100%;overflow-x:auto;scrollbar-width:none;flex-shrink:1}.filter-group::-webkit-scrollbar{display:none}}.day-bars{display:inline-flex;align-items:flex-end;gap:2px;height:24px;margin-top:.15rem}.day-bar{width:5px;border-radius:2px 2px 1px 1px;display:inline-block}.day-bar.is-loading{width:18px;height:5px;align-self:center;background:var(--line-strong);animation:dayload 1.1s ease-in-out infinite alternate}.day-bar-more{font-size:.56rem;font-weight:700;color:var(--ink-soft);align-self:flex-end}.day-none{display:inline-flex;align-items:center;height:24px;margin-top:.15rem;font-size:.62rem;font-weight:700;color:var(--ink-soft);opacity:.7}.day-cell.is-empty{opacity:.55}.day-cell.is-empty:hover{opacity:.85}.price{font-size:.8rem;color:var(--ink-soft);white-space:nowrap}.price strong{color:var(--ink);font-size:.95rem;font-weight:800}.below-calendar{transition:opacity .15s}.below-calendar.is-switching{opacity:.45;pointer-events:none}.filters{flex-direction:column;gap:.45rem}.filter-row{display:flex;flex-wrap:wrap;gap:.45rem .9rem}.flight-main{padding-bottom:.55rem}.flight-actions{padding:0 1.2rem .95rem}.seats-btn{font:inherit;font-size:.82rem;font-weight:750;cursor:pointer;border-radius:10px;padding:.45rem .95rem;border:1px solid transparent;transition:transform .12s,filter .15s}.seats-btn:hover{transform:translateY(-1px);filter:brightness(1.04)}.seats-light{color:var(--quiet);background:color-mix(in srgb,var(--quiet) 13%,transparent);border-color:color-mix(in srgb,var(--quiet) 40%,transparent)}.seats-medium{color:color-mix(in srgb,var(--moderate) 70%,var(--ink));background:color-mix(in srgb,var(--moderate) 14%,transparent);border-color:color-mix(in srgb,var(--moderate) 45%,transparent)}.seats-full{color:var(--busy);background:color-mix(in srgb,var(--busy) 11%,transparent);border-color:color-mix(in srgb,var(--busy) 38%,transparent)}@media(hover:none){.day-cell:hover{border-color:var(--line);transform:none}.day-cell.is-selected:hover{border-color:var(--accent)}.flight:hover{transform:none}.option:hover:not(:disabled){transform:none;box-shadow:none}.option-a:hover:not(:disabled),.option-b:hover:not(:disabled){border-color:var(--line-strong);background:var(--panel-quiet)}.seats-btn:hover{transform:none;filter:none}.place:hover{background:none;border-color:transparent}.day-nav:hover,.swap:hover{color:var(--ink-soft);border-color:var(--line-strong)}}.booking{border-top:1px dashed var(--line);padding:.85rem 1.2rem 1rem}.booking-row{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem;margin-bottom:.5rem}.booking-row:last-child{margin-bottom:0}.booking-label{font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft);min-width:3.6rem}.book-link{font:inherit;font-size:.8rem;font-weight:650;cursor:pointer;text-decoration:none;color:var(--accent-ink);background:var(--panel-quiet);border:1px solid var(--line-strong);border-radius:999px;padding:.32rem .75rem;white-space:nowrap}.book-link:hover{border-color:var(--accent)}.book-direct{color:#fff;background:linear-gradient(170deg,var(--accent),var(--accent-ink));border-color:transparent}.book-copy{color:var(--ink)}.booking-note{color:var(--ink-soft);font-size:.72rem;flex-basis:100%;margin-left:4.85rem}@media(max-width:640px){.booking-note{margin-left:0}}
