:root{
  --bg:#f6f7f9;--surface:#fff;--text:#1b1f24;--muted:#626b76;--border:#e3e6ea;--border-strong:#c9ced5;
  --accent:#2a78d6;--accent-text:#fff;--accent-soft:#e8f1fc;
  --hot-bg:#c9ecd9;--hot-text:#0b4a2c;--warm-bg:#e9f6ee;--warm-text:#1d5c3b;
  --alert-bg:#fff4e0;--alert-text:#7a4a00;--note-bg:#e8f1fc;--note-text:#174a85;--danger:#c0392b;
  --radius:10px;color-scheme:light;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --bg:#121417;--surface:#1b1e22;--text:#e8eaed;--muted:#9aa3ad;--border:#2c3137;--border-strong:#3c434b;
  --accent:#3987e5;--accent-soft:#1d2f45;--hot-bg:#1f5a3d;--hot-text:#d7f5e4;--warm-bg:#1d3329;--warm-text:#b7e3cb;
  --alert-bg:#3a2c12;--alert-text:#f3d39b;--note-bg:#1d2f45;--note-text:#bcd6f5;--danger:#ef6b5b;color-scheme:dark}}
:root[data-theme="dark"]{
  --bg:#121417;--surface:#1b1e22;--text:#e8eaed;--muted:#9aa3ad;--border:#2c3137;--border-strong:#3c434b;
  --accent:#3987e5;--accent-soft:#1d2f45;--hot-bg:#1f5a3d;--hot-text:#d7f5e4;--warm-bg:#1d3329;--warm-text:#b7e3cb;
  --alert-bg:#3a2c12;--alert-text:#f3d39b;--note-bg:#1d2f45;--note-text:#bcd6f5;--danger:#ef6b5b;color-scheme:dark}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--text);font:15px/1.5 Inter,system-ui,sans-serif}
a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}
h1,h2{font-weight:600;margin:0 0 4px}h2{font-size:17px}
.muted{color:var(--muted)}.small{font-size:13px}
.top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;max-width:1100px;margin:0 auto}
.brand{font-weight:600;color:var(--text);font-size:17px;white-space:nowrap}
.top nav{display:flex;gap:4px;align-items:center;flex-wrap:wrap}
.top nav a{padding:6px 10px;border-radius:8px;color:var(--muted)}
.top nav a[aria-current]{background:var(--accent-soft);color:var(--accent)}
main{max-width:1100px;margin:0 auto;padding:0 16px 40px}
.card{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:16px 18px;margin-bottom:16px}
input,select,button{font:inherit;color:inherit}
input,select{background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius);padding:7px 10px;min-height:38px;width:100%}
input:focus,select:focus{outline:2px solid var(--accent);outline-offset:-1px}
button{background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius);padding:7px 14px;min-height:38px;cursor:pointer;white-space:nowrap}
button:hover{border-color:var(--accent)}
button.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-text);font-weight:500}
button.ghost{border-color:transparent;background:none;padding:6px 8px;min-height:0}
button.danger{color:var(--danger)}
button:disabled{opacity:.7;cursor:wait}
.search{display:grid;grid-template-columns:2fr 1fr 1fr 1.1fr 1.3fr;gap:12px;align-items:end}
.search label,.search .lbl{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--muted)}
.search label>input,.search label>select,.range{color:var(--text);font-size:15px}
.range{display:flex;gap:6px;align-items:center}.range input{min-width:0}
.f-origins{grid-column:1/5;display:flex;flex-direction:column;gap:4px}
.f-go{grid-column:5}.f-go button{width:100%}
.chips{display:flex;flex-wrap:wrap;gap:6px;align-items:center;border:1px solid var(--border-strong);border-radius:var(--radius);padding:4px 6px;min-height:38px}
.chips input{border:0;min-height:28px;flex:1;min-width:120px;width:auto;padding:2px 4px}
.chips input:focus{outline:none}
.chip{background:var(--accent-soft);color:var(--accent);border:0;border-radius:8px;padding:3px 10px;min-height:0;font-size:14px}
.alert,.note{padding:10px 14px;border-radius:var(--radius);margin:0 0 16px}
.alert{background:var(--alert-bg);color:var(--alert-text)}.note{background:var(--note-bg);color:var(--note-text)}
.head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:12px}
.watch{display:flex;flex-direction:column;gap:4px;flex-shrink:0;max-width:340px}.watch-label{font-size:13px;color:var(--muted)}.watch-row{display:flex;gap:8px}.watch-row input{width:130px}.watch small{font-size:12px;line-height:1.4}
.scroll{overflow-x:auto}
table{border-collapse:collapse;width:100%}
th{font-weight:500;color:var(--muted);font-size:13px;text-align:left;padding:6px 10px;border-bottom:1px solid var(--border);white-space:nowrap}
td{padding:5px 10px;border-bottom:1px solid var(--border)}
tr:last-child td{border-bottom:0}
.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.matrix td:first-child{font-weight:500}
.cell{display:inline-block;min-width:76px;padding:2px 8px;border-radius:6px;text-align:right;font-variant-numeric:tabular-nums}
.cell.hot{background:var(--hot-bg);color:var(--hot-text)}.cell.warm{background:var(--warm-bg);color:var(--warm-text)}
.none{color:var(--muted)}
.legend{margin:10px 0 0;display:flex;gap:10px;flex-wrap:wrap;align-items:center}.legend .cell{min-width:0}
.offers td{white-space:nowrap}
.watch-item{display:flex;gap:12px;align-items:flex-start;justify-content:space-between;padding:12px 0;border-top:1px solid var(--border)}
.watch-item .small{margin-top:2px}.watch-item.off{opacity:.55}.wi-main{min-width:0}
.empty{color:var(--muted);padding:12px 0;margin:0}
.login{max-width:340px;margin:12vh auto;background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:28px;display:flex;flex-direction:column;gap:12px;text-align:center}
.login .mark{font-size:30px;color:var(--accent)}
.login small{color:var(--danger)}
@media (max-width:820px){
  .search{grid-template-columns:1fr 1fr}
  .f-country,.f-origins,.f-go{grid-column:1/-1}
  .head{flex-direction:column}.watch{width:100%;max-width:none}.watch-row input{flex:1;width:auto}
  .top{padding:10px 12px;gap:6px}.top nav{gap:0;flex-wrap:nowrap}.top nav a{padding:6px 7px;font-size:14px}
  .watch input{min-width:0}
  th,td{padding:5px 6px}.cell{min-width:58px;padding:2px 6px}
  main{padding:0 12px 32px}.card{padding:14px 12px}
}
@media (max-width:420px){.brand span{display:none}}
.bar{height:8px;background:var(--border);border-radius:4px;overflow:hidden;margin-top:10px}
.bar>div{height:100%;background:var(--accent);transition:width .4s}
.temp{color:var(--muted);font-size:13px}
.anywhere{grid-template-columns:repeat(4,minmax(0,1fr))}
.anywhere .f-go{grid-column:auto}
.checks{display:flex;gap:16px;align-items:center;min-height:38px;color:var(--text);font-size:15px}
.checks label,.check-inline{display:flex!important;flex-direction:row!important;align-items:center;gap:8px;color:var(--text)!important;font-size:15px!important;cursor:pointer}
.checks input,.check-inline input{width:18px;min-height:0;height:18px;margin:0;accent-color:var(--accent)}
.check-inline{align-self:center;min-height:38px}
@media (max-width:820px){.anywhere{grid-template-columns:1fr 1fr}.anywhere .f-from,.anywhere .f-go{grid-column:1/-1}}
@media (max-width:520px){.top{flex-wrap:wrap}.top nav{width:100%;justify-content:space-between}}
.toggle{background:none;border:0;padding:0;min-height:0;font-weight:600;color:var(--text);cursor:pointer;text-align:left}
.toggle::before{content:"▸";display:inline-block;width:1em;color:var(--muted);transition:transform .15s}
.toggle[aria-expanded="true"]::before{transform:rotate(90deg)}
.grouped .country-row td{border-top:1px solid var(--border-strong)}
.grouped .cities td{background:var(--bg)}
.grouped td.city{padding-left:28px}
.tabs{display:flex;gap:4px;flex-wrap:wrap;margin:4px 0 8px}
.tabs a{padding:5px 10px;border-radius:8px;color:var(--muted);font-size:14px}
.tabs a[aria-current]{background:var(--accent-soft);color:var(--accent)}
.promo{border-top:1px solid var(--border);padding:12px 0}
.promo.airline .promo-head b{color:var(--accent)}
.promo-head{display:flex;gap:8px;align-items:baseline;flex-wrap:wrap}
.chips-row{display:flex;gap:6px;flex-wrap:wrap;margin:6px 0}
.chips-row .chip{font-size:13px;cursor:default}
.chip.rel{background:var(--hot-bg);color:var(--hot-text)}
.chip.muted-chip{background:var(--bg);color:var(--muted)}
.promo-text{white-space:pre-line;margin:6px 0;font-size:14px;overflow-wrap:anywhere}
.promo-more summary{list-style:none;cursor:pointer}
.promo-more summary::-webkit-details-marker{display:none}
.promo-more .more{color:var(--accent);font-size:13px;white-space:nowrap}
.promo-more[open] summary{display:none}
.opt-toggle{background:none;border:0;padding:0;min-height:0;font:inherit;font-weight:500;color:var(--text);cursor:pointer;text-align:left}
.opt-toggle::after{content:" ▾";color:var(--muted);font-size:12px}
.opt-toggle[aria-expanded="true"]::after{content:" ▴"}
.options-row td{background:var(--bg);padding:8px 10px 12px}
.opts{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}
.opt{display:grid;grid-template-columns:auto 1fr auto;gap:8px;padding:4px 6px;border-radius:6px;color:var(--text);font-size:13px;align-items:baseline}
.opt:hover{background:var(--surface);text-decoration:none}
.opt .num{white-space:nowrap}
