*{box-sizing:border-box;margin:0}:root{--bg: #0E1526;--panel: #16203A;--line: #24304E;--amber: #FFB300;--text: #E8ECF4;--muted: #8B96AC}html{color-scheme:dark}body{background:var(--bg);color:var(--text);font-family:IBM Plex Sans,system-ui,sans-serif;-webkit-font-smoothing:antialiased}.page{max-width:880px;margin:0 auto;padding:40px 20px 64px}.masthead{margin-bottom:28px}.route-strip{font-family:IBM Plex Mono,monospace;font-size:12px;letter-spacing:.22em;color:var(--amber);text-transform:uppercase}.route-strip .plane{letter-spacing:0}h1{font-family:Archivo,sans-serif;font-weight:900;font-stretch:125%;font-size:clamp(44px,9vw,76px);line-height:.95;letter-spacing:.01em;margin:6px 0 10px}.tagline{color:var(--muted);max-width:46ch}.modes{display:flex;gap:8px;margin-bottom:20px}.mode{font:600 14px IBM Plex Sans,sans-serif;padding:9px 18px;border-radius:999px;background:transparent;color:var(--muted);border:1px solid var(--line);cursor:pointer}.mode.active{background:var(--amber);border-color:var(--amber);color:#1a1200}.mode:focus-visible,.origin:focus-visible,.go:focus-visible,.buy:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--amber);outline-offset:2px}.form{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:18px;display:flex;flex-wrap:wrap;gap:18px;align-items:flex-start}.field{display:flex;flex-direction:column;gap:6px}.field label{font-family:IBM Plex Mono,monospace;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}.hint{font-size:12px;color:var(--muted)}.static-val{font-size:14px;color:var(--text);padding:9px 0}input,select{background:var(--bg);color:var(--text);border:1px solid var(--line);border-radius:8px;padding:9px 12px;font:500 15px IBM Plex Sans,sans-serif}#dest{width:110px;font-family:IBM Plex Mono,monospace;text-transform:uppercase}.nights{display:flex;align-items:center;gap:8px}.nights input{width:64px}.origin-toggles{display:flex;gap:8px}.origin{display:flex;align-items:center;gap:8px;background:var(--bg);color:var(--muted);border:1px solid var(--line);border-radius:8px;padding:9px 12px;font:500 14px IBM Plex Sans,sans-serif;cursor:pointer}.origin.on{color:var(--text);border-color:var(--amber)}.origin .iata{font-family:IBM Plex Mono,monospace;font-size:12px;color:var(--amber)}.origin:not(.on) .iata{color:var(--muted)}.go{margin-left:auto;align-self:flex-start;margin-top:23px;background:var(--amber);color:#1a1200;border:none;border-radius:10px;padding:12px 22px;font:600 15px IBM Plex Sans,sans-serif;cursor:pointer}.go:disabled{opacity:.6;cursor:wait}.status{margin:18px 2px;color:var(--muted)}.status.error{color:#ff8a7a}.board{margin-top:22px}.resolved{font-family:IBM Plex Mono,monospace;font-size:12px;color:var(--muted);margin-bottom:10px;letter-spacing:.06em}.board ol{list-style:none;padding:0;counter-reset:rank}.row{counter-increment:rank;display:grid;grid-template-columns:auto 1fr auto auto;grid-template-areas:"route meta price buy";align-items:center;gap:16px;padding:14px 16px 14px 44px;border-bottom:1px solid var(--line);position:relative}.row:before{content:counter(rank,decimal-leading-zero);position:absolute;left:10px;font-family:IBM Plex Mono,monospace;font-size:12px;color:var(--muted)}.row:first-child{border-top:1px solid var(--line)}.row:first-child .price{color:var(--amber)}.route{grid-area:route;display:flex;align-items:center;gap:10px;min-width:150px}.code{font-family:IBM Plex Mono,monospace;font-weight:600;font-size:17px;letter-spacing:.06em}.leader{width:34px;border-bottom:2px dotted var(--muted);height:1px;position:relative}.leader:after{content:"✈";position:absolute;top:-9px;left:50%;transform:translate(-50%);font-size:10px;color:var(--muted);background:var(--bg);padding:0 2px}.badge{font-family:IBM Plex Mono,monospace;font-size:10px;letter-spacing:.08em;text-transform:uppercase;border:1px dashed var(--muted);color:var(--muted);border-radius:4px;padding:2px 6px;white-space:nowrap}.meta{grid-area:meta;color:var(--muted);font-size:14px}.price{grid-area:price;font-family:IBM Plex Mono,monospace;font-weight:600;font-size:20px;white-space:nowrap}.buy,.buy-pair{grid-area:buy}.buy-pair{display:flex;gap:6px}.buy{display:inline-block;font:600 13px IBM Plex Sans,sans-serif;color:var(--amber);text-decoration:none;border:1px solid var(--amber);border-radius:8px;padding:7px 14px;white-space:nowrap}.buy:hover{background:var(--amber);color:#1a1200}.cache-note{margin-top:10px;font-size:12px;color:var(--muted);font-family:IBM Plex Mono,monospace}footer{margin-top:40px;border-top:1px solid var(--line);padding-top:16px}footer p{color:var(--muted);font-size:13px;max-width:64ch}@media (max-width: 640px){.form{flex-direction:column;align-items:stretch}.go{margin-left:0}.row{grid-template-columns:1fr auto;grid-template-areas:"route price" "meta buy";row-gap:8px;padding-left:38px}.buy,.buy-pair{justify-self:end}}@media (prefers-reduced-motion: no-preference){.row{animation:flap .35s ease-out both}.row:nth-child(-n+15){animation-delay:calc(var(--i, 0) * 0ms)}@keyframes flap{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}}.field.faded label,.field.faded .hint{opacity:.55}.stay{display:flex;align-items:center;gap:8px}.stay .nights.faded{opacity:.45}.chip{font:600 13px IBM Plex Sans,sans-serif;padding:8px 14px;border-radius:999px;background:transparent;color:var(--muted);border:1px solid var(--line);cursor:pointer}.chip.on{background:var(--amber);border-color:var(--amber);color:#1a1200}.chip:disabled{opacity:.45;cursor:default}.chip:focus-visible{outline:2px solid var(--amber);outline-offset:2px}#dest{width:140px}#dest::placeholder{text-transform:none;letter-spacing:0;font-family:IBM Plex Sans,sans-serif}.check{display:flex;align-items:center;gap:7px;font:500 14px IBM Plex Sans,sans-serif;color:var(--text);cursor:pointer;padding:8px 0}.check input{accent-color:var(--amber);width:16px;height:16px;margin:0}.check:has(input:disabled){opacity:.45;cursor:default}.row-wrap{border-bottom:1px solid var(--line)}.row-wrap:first-child{border-top:1px solid var(--line)}.row-wrap .row,.row-wrap:first-child .row{border:none}.actions{grid-area:buy;display:flex;align-items:center;gap:6px}.expand{font:600 12px IBM Plex Mono,monospace;background:transparent;color:var(--muted);border:1px solid var(--line);border-radius:8px;padding:7px 10px;cursor:pointer;white-space:nowrap}.expand:hover{color:var(--text);border-color:var(--muted)}.expand:focus-visible{outline:2px solid var(--amber);outline-offset:2px}.alts{list-style:none;padding:0 16px 10px 44px}.alt{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:16px;padding:7px 0;border-top:1px dashed var(--line)}.alt-price{font-family:IBM Plex Mono,monospace;font-weight:600;white-space:nowrap}.alt .buy,.alt .buy-pair .buy{padding:5px 11px;font-size:12px}@media (max-width: 640px){.alt{grid-template-columns:1fr auto}.alt .buy,.alt .buy-pair{grid-column:2}}.home{all:unset;cursor:pointer;font:inherit;color:inherit;letter-spacing:inherit}.home:focus-visible{outline:2px solid var(--amber);outline-offset:4px}.alt>*{grid-area:auto}.alt .meta{min-width:0}.combo{position:relative}#dest{width:220px;font-family:IBM Plex Sans,sans-serif;text-transform:none}.suggestions{position:absolute;top:calc(100% + 4px);left:0;z-index:20;width:260px;max-height:320px;overflow-y:auto;list-style:none;margin:0;padding:4px;background:var(--panel);border:1px solid var(--line);border-radius:10px;box-shadow:0 10px 30px #00000073}.suggestions button{all:unset;box-sizing:border-box;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:10px;width:100%;padding:8px 10px;border-radius:7px;font:500 14px IBM Plex Sans,sans-serif;color:var(--text)}.suggestions button:hover,.suggestions button:focus-visible{background:var(--bg)}.s-type{font-family:IBM Plex Mono,monospace;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.city-name{font-weight:600;font-size:16px}.city-code{font-family:IBM Plex Mono,monospace;font-size:11px;color:var(--muted);letter-spacing:.06em}.route{min-width:220px}@media (max-width: 640px){.route{min-width:0}.city-code{display:none}}.row .price{justify-self:end;text-align:right;min-width:72px}.row .actions{min-width:200px;justify-content:flex-end}.alt{grid-template-columns:1fr 72px 200px}.alt .alt-price{text-align:right}.alt .buy,.alt .buy-pair{justify-self:end}@media (max-width: 640px){.row .actions{min-width:0}.alt{grid-template-columns:1fr auto}}@media (max-width: 640px){.field,.combo,#dest,.suggestions,.field select,.origin-toggles{width:100%}.origin{flex:1;justify-content:center}.stay{flex-wrap:wrap}.go{width:100%;margin-top:4px}}.route{flex-direction:column;align-items:flex-start;gap:5px}.route-line{display:flex;align-items:center;gap:10px}.row .actions{justify-content:flex-start}.alt .buy,.alt .buy-pair{justify-self:start}.row .actions .expand{margin-left:auto}.meta-airline{font-family:IBM Plex Mono,monospace;font-size:12px;letter-spacing:.06em;margin-top:3px}.when{display:flex;flex-direction:column;gap:8px}.when-modes{display:flex;gap:6px}.range{display:flex;align-items:center;gap:8px}.range input[type=date]{font-family:IBM Plex Sans,sans-serif}@media (max-width: 640px){.range{width:100%}.range input[type=date]{flex:1;min-width:0}}.origin-toggles{flex-wrap:wrap}.origin.extra{cursor:default;display:inline-flex}.origin .remove{all:unset;cursor:pointer;margin-left:2px;padding:0 3px;color:var(--muted);font-size:15px;line-height:1}.origin .remove:hover{color:var(--text)}.origin .remove:focus-visible{outline:2px solid var(--amber);outline-offset:2px}.add-origin input{width:110px;background:transparent;border:1px dashed var(--line)}.add-origin input:focus{border-style:solid}@media (max-width: 640px){.origin{flex:0 1 auto}.add-origin,.add-origin input{width:100%}}.mast-row{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.install{font:600 13px IBM Plex Sans,sans-serif;color:var(--amber);background:transparent;border:1px solid var(--amber);border-radius:999px;padding:8px 16px;cursor:pointer;white-space:nowrap}.install:hover{background:var(--amber);color:#1a1200}.install:focus-visible{outline:2px solid var(--amber);outline-offset:2px}
