:root{--ink: #0b1020;--ink-2: #111931;--panel: #141d38;--panel-2: #1a2545;--line: #26325c;--line-soft: #1e284a;--text: #e8ecf7;--text-dim: #94a0c4;--text-faint: #5f6c94;--gold: #f4b740;--gold-soft: #f9d27a;--cyan: #4fd1c5;--red: #f2557a;--green: #46d38a;--amber: #f0a03c;--orange: #f2764a;--radius: 14px;--mono: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;--sans: "Instrument Sans", system-ui, sans-serif;--display: "Bricolage Grotesque", var(--sans)}*{box-sizing:border-box;margin:0;padding:0}html,body{background:radial-gradient(1200px 600px at 85% -10%,rgba(244,183,64,.08),transparent 60%),radial-gradient(900px 500px at 5% 10%,rgba(79,209,197,.06),transparent 55%),var(--ink);color:var(--text);font-family:var(--sans);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased;min-height:100vh}a{color:inherit}.shell{max-width:1180px;margin:0 auto;padding:28px 24px 80px}.top{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-bottom:26px}.brand{display:flex;align-items:baseline;gap:14px}.brand h1{font-family:var(--display);font-weight:800;font-size:30px;letter-spacing:-.02em;line-height:1}.brand h1 .dot{color:var(--gold)}.brand .tag{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--text-faint);border:1px solid var(--line);border-radius:999px;padding:4px 10px}.status{display:flex;align-items:center;gap:18px;flex-wrap:wrap;font-family:var(--mono);font-size:12px;color:var(--text-dim)}.status .stat b{color:var(--text);font-weight:500}.status .fresh{color:var(--cyan)}.status .stale{color:var(--amber)}.crawl-btn{font-family:var(--mono);font-size:12px;letter-spacing:.05em;background:linear-gradient(180deg,var(--panel-2),var(--panel));color:var(--gold-soft);border:1px solid var(--line);padding:9px 16px;border-radius:10px;cursor:pointer;transition:border-color .15s,transform .05s}.crawl-btn:hover{border-color:var(--gold)}.crawl-btn:active{transform:translateY(1px)}.crawl-btn:disabled{opacity:.5;cursor:default}.search{background:linear-gradient(180deg,#1a2545b3,#141d388c);border:1px solid var(--line);border-radius:var(--radius);padding:22px;margin-bottom:28px;box-shadow:0 20px 60px -30px #000c}.search .row{display:grid;grid-template-columns:repeat(12,1fr);gap:16px;align-items:end}.field{display:flex;flex-direction:column;gap:7px}.field label{font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-faint)}.field input,.field select{background:var(--ink-2);border:1px solid var(--line);color:var(--text);border-radius:9px;padding:10px 12px;font-family:var(--sans);font-size:14px;outline:none;transition:border-color .15s}.field input:focus,.field select:focus{border-color:var(--gold)}.cabins{display:flex;gap:6px;background:var(--ink-2);border:1px solid var(--line);border-radius:11px;padding:5px}.cabin-btn{flex:1;text-align:center;cursor:pointer;border:none;background:transparent;color:var(--text-dim);font-family:var(--sans);font-size:13px;font-weight:500;padding:8px 6px;border-radius:8px;transition:all .15s;white-space:nowrap}.cabin-btn:hover{color:var(--text)}.cabin-btn.active{background:linear-gradient(180deg,var(--gold),var(--amber));color:#241803;font-weight:600;box-shadow:0 6px 18px -8px #f4b740b3}.pm-slider{display:flex;align-items:center;gap:12px}.pm-slider input[type=range]{flex:1;accent-color:var(--gold)}.pm-val{font-family:var(--mono);font-size:14px;color:var(--gold-soft);min-width:46px;text-align:right}.go{font-family:var(--display);font-weight:700;font-size:15px;background:linear-gradient(180deg,var(--gold),var(--amber));color:#241803;border:none;border-radius:10px;padding:12px 22px;cursor:pointer;letter-spacing:.01em;transition:transform .05s,filter .15s}.go:hover{filter:brightness(1.05)}.go:active{transform:translateY(1px)}.go:disabled{opacity:.6;cursor:default}.results-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:14px;gap:12px}.results-head h2{font-family:var(--display);font-weight:700;font-size:18px}.results-head .meta{font-family:var(--mono);font-size:12px;color:var(--text-faint)}.result{border:1px solid var(--line-soft);border-radius:12px;margin-bottom:10px;background:linear-gradient(180deg,#141d3899,#11193166);overflow:hidden;transition:border-color .15s}.result:hover{border-color:var(--line)}.result-main{display:grid;grid-template-columns:52px 1fr auto auto;gap:18px;align-items:center;padding:15px 18px;cursor:pointer}.rank{font-family:var(--mono);font-size:13px;color:var(--text-faint);text-align:center}.dest-name{font-family:var(--display);font-weight:600;font-size:17px;letter-spacing:-.01em}.dest-sub{font-family:var(--mono);font-size:11.5px;color:var(--text-dim);margin-top:2px}.dest-sub .iata{color:var(--gold-soft)}.miles-cell{text-align:right}.miles{font-family:var(--mono);font-weight:700;font-size:20px;letter-spacing:-.01em}.miles small{font-size:11px;font-weight:400;color:var(--text-faint);margin-left:3px}.miles-sub{font-family:var(--mono);font-size:11px;color:var(--text-dim);margin-top:2px}.best-date{text-align:right;font-family:var(--mono)}.best-date .d{font-size:14px;color:var(--text)}.best-date .l{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-faint)}.days{padding:4px 18px 18px 88px;display:flex;flex-wrap:wrap;gap:6px;border-top:1px solid var(--line-soft)}.day{font-family:var(--mono);font-size:11px;padding:6px 9px;border-radius:7px;border:1px solid transparent;display:flex;flex-direction:column;gap:2px;min-width:74px}.day .dd{color:#ffffffbf;font-size:10px}.day .mm{font-weight:700;font-size:12px}.empty{text-align:center;padding:70px 20px;color:var(--text-faint);font-family:var(--mono);font-size:13px}.empty .big{font-family:var(--display);font-size:20px;color:var(--text-dim);margin-bottom:8px}.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%);background:var(--panel-2);border:1px solid var(--gold);color:var(--gold-soft);font-family:var(--mono);font-size:12.5px;padding:12px 20px;border-radius:10px;box-shadow:0 20px 50px -20px #000000e6;z-index:50;animation:rise .25s ease}@keyframes rise{0%{opacity:0;transform:translate(-50%,10px)}to{opacity:1;transform:translate(-50%)}}.spin{display:inline-block;width:13px;height:13px;border:2px solid var(--line);border-top-color:var(--gold);border-radius:50%;animation:sp .7s linear infinite;vertical-align:-2px}@keyframes sp{to{transform:rotate(360deg)}}.nav{display:flex;gap:4px;background:var(--ink-2);border:1px solid var(--line);border-radius:10px;padding:4px}.nav a{font-family:var(--mono);font-size:12px;letter-spacing:.04em;text-decoration:none;color:var(--text-dim);padding:7px 14px;border-radius:7px;transition:all .15s}.nav a:hover{color:var(--text)}.nav a.active{background:var(--panel-2);color:var(--gold-soft)}.legs{display:flex;flex-direction:column;gap:10px}.leg{display:grid;grid-template-columns:24px 1fr 22px 1fr 1.4fr .9fr 1.3fr 34px;gap:10px;align-items:end;background:var(--ink-2);border:1px solid var(--line-soft);border-radius:11px;padding:12px 14px}.leg .legnum{font-family:var(--mono);font-size:13px;color:var(--text-faint);text-align:center;padding-bottom:10px}.leg .arrow{text-align:center;color:var(--gold);font-size:16px;padding-bottom:10px}.leg input,.leg select{background:var(--ink);border:1px solid var(--line);color:var(--text);border-radius:8px;padding:9px 10px;font-family:var(--sans);font-size:13px;outline:none;width:100%}.leg input:focus,.leg select:focus{border-color:var(--gold)}.leg .apt{font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em}.leg .rm{background:transparent;border:1px solid var(--line);color:var(--text-faint);border-radius:8px;cursor:pointer;height:36px;font-size:15px;transition:all .15s}.leg .rm:hover{border-color:var(--red);color:var(--red)}.leg-label{font-family:var(--mono);font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-faint);margin-bottom:6px;display:block}.leg-actions{display:flex;gap:12px;align-items:center;margin-top:14px;flex-wrap:wrap}.add-leg{font-family:var(--mono);font-size:12px;background:var(--ink-2);color:var(--text-dim);border:1px dashed var(--line);border-radius:9px;padding:9px 16px;cursor:pointer;transition:all .15s}.add-leg:hover{border-color:var(--gold);color:var(--gold-soft)}.chk{font-family:var(--mono);font-size:12px;color:var(--text-dim);display:flex;align-items:center;gap:7px;cursor:pointer}.chk input{accent-color:var(--gold)}.totals{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;background:linear-gradient(180deg,var(--panel-2),var(--panel));border:1px solid var(--gold);border-radius:12px;padding:16px 22px;margin:20px 0 14px}.totals .lbl{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-faint)}.totals .big-miles{font-family:var(--mono);font-weight:700;font-size:28px;color:var(--gold)}.totals .big-miles small{font-size:12px;font-weight:400;color:var(--text-faint);margin-left:4px}.totals .tax{font-family:var(--mono);font-size:14px;color:var(--text-dim)}.totals.incomplete{border-color:var(--red)}.legres{border:1px solid var(--line-soft);border-radius:11px;margin-bottom:9px;background:#141d3880;overflow:hidden}.legres-main{display:grid;grid-template-columns:1fr auto auto;gap:16px;align-items:center;padding:13px 16px;cursor:pointer}.legres .route{font-family:var(--display);font-weight:600;font-size:16px}.legres .route .cab{font-family:var(--mono);font-size:11px;color:var(--text-dim);margin-left:8px}.badge{font-family:var(--mono);font-size:10px;letter-spacing:.08em;padding:3px 9px;border-radius:999px;text-transform:uppercase}.badge.cache{background:#4fd1c526;color:var(--cyan)}.badge.live{background:#f4b74026;color:var(--gold-soft)}.badge.missing{background:#f2557a26;color:var(--red)}.legres .pinned{font-family:var(--mono);font-size:12px;color:var(--text-dim);text-align:right}.legres .pinned b{color:var(--text)}@media(max-width:820px){.leg{grid-template-columns:1fr 1fr}.leg .legnum,.leg .arrow{display:none}.search .row{grid-template-columns:repeat(6,1fr)}.result-main{grid-template-columns:34px 1fr auto}.best-date{display:none}.days{padding-left:18px}}
