
:root{--bg:#0b1220;--bg-2:#0c1b33;--card:#0e1626cc;--text:#e8ecf1;--muted:#b9c2d6;--border:#243653;--accent:#7c9bff;--shadow:0 10px 30px rgba(0,0,0,.35)}
*{box-sizing:border-box}html,body{height:100%}
body{margin:0;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial;color:var(--text);
  background:radial-gradient(1200px 600px at 20% -10%,#1b2b5a 0%,transparent 40%),radial-gradient(1200px 600px at 120% 0%,#112947 0%,transparent 45%),linear-gradient(180deg,var(--bg) 0%,var(--bg-2) 100%)}
header{position:sticky;top:0;z-index:40;backdrop-filter:saturate(140%) blur(10px);background:linear-gradient(180deg,rgba(8,14,28,.8),rgba(8,14,28,.4));border-bottom:1px solid var(--border);padding:.6rem 1rem;display:flex;justify-content:space-between;align-items:center}
.logo{font-weight:800;letter-spacing:.3px}.logo b{color:var(--accent)}header a{color:var(--muted);text-decoration:none}header a:hover{color:#fff}
.container{max-width:1000px;margin:0 auto;padding:1rem}
.hero{text-align:center;padding:1.2rem .5rem .5rem}.hero h1{font-size:clamp(1.8rem,4vw,2.6rem);margin:.2rem 0 .4rem}.hero p{margin:.25rem auto .75rem;color:var(--muted);max-width:40ch}
.ad-slot{width:100%;border:1px dashed var(--border);color:var(--muted);border-radius:16px;min-height:170px;display:grid;place-items:center;background:#0c1630;box-shadow:var(--shadow);margin:.75rem 0}
.card{background:var(--card);border:1px solid var(--border);border-radius:18px;box-shadow:var(--shadow);padding:1rem}
.form-grid{display:grid;gap:.8rem;grid-template-columns:1fr 1fr 1fr}.form-grid .wide{grid-column:1 / -1}.form-grid .two{grid-column:span 2}
@media (max-width:720px){.form-grid{grid-template-columns:1fr 1fr}.form-grid .two,.form-grid .wide{grid-column:1 / -1}}
@media (max-width:520px){.form-grid{grid-template-columns:1fr}}
label{display:block;font-weight:700;margin:.15rem 0 .35rem}
input[type=text],input[type=number]{width:100%;padding:.8rem .9rem;border-radius:14px;border:1px solid var(--border);background:#0b1530;color:#dfe6f5;outline:none;transition:border .2s,box-shadow .2s,transform .03s}
input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #5a84ff44}input.error{border-color:#ff5a5f;box-shadow:0 0 0 3px #ff5a5f33}
.help{font-size:.86rem;color:var(--muted);margin-top:.25rem}.error{font-size:.86rem;color:#ffb3b6;margin-top:.25rem;display:none}
.toggle{display:inline-flex;gap:.3rem;border:1px solid var(--border);padding:.25rem;border-radius:999px;background:#0b1530}
.toggle button{border:none;background:transparent;color:#cfe0ff;padding:.45rem .8rem;border-radius:999px;cursor:pointer;font-weight:700}
.toggle button.active{background:linear-gradient(180deg,#4f6fff,#3556f3);color:white}
.actions{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:.4rem}
.primary-btn{border:none;cursor:pointer;font-weight:900;letter-spacing:.2px;padding:.85rem 1rem;border-radius:14px;color:white;background:linear-gradient(180deg,#6f8bff,#4563ff);box-shadow:0 10px 20px #2b3fa744,inset 0 -2px 0 #2b49ff;transition:transform .05s ease,filter .2s ease}
.primary-btn:hover{filter:brightness(1.05)}.primary-btn:active{transform:translateY(1px) scale(.99)}
.secondary-btn{background:#0b1530;color:#bcd1ff;border:1px solid var(--border);border-radius:12px;padding:.75rem .9rem;cursor:pointer}
.result{margin-top:1rem;padding:1rem;border-radius:16px;border:1px solid var(--border);background:#0b1632;display:none}
.result.ok{border-color:#1e7a43;background:#042a1a}.result.no{border-color:#7a1e1e;background:#2a0f12}.result h3{margin:0 0 .25rem 0}
.sizer{margin-top:.6rem}.sizer svg{width:100%;height:auto;border-radius:10px;background:#0e1b3b}
.policy{margin-top:.6rem;color:#c8d5f9}.small{font-size:.92rem}.muted{color:var(--muted)}
.top-airlines{margin:.8rem auto;display:flex;gap:.6rem;flex-wrap:wrap;justify-content:center}
.top-airlines a{display:inline-flex;align-items:center;gap:.4rem;padding:.35rem .7rem;border:1px solid var(--border);border-radius:999px;background:#0b1530;color:#cfe0ff;text-decoration:none;font-size:.92rem}
.top-airlines a:hover{border-color:#4f6fff}
footer{margin-top:1rem;padding:.9rem 1rem;border-top:1px solid var(--border);display:flex;gap:.8rem;align-items:center;justify-content:space-between;flex-wrap:wrap;color:var(--muted)}
:focus-visible{outline:3px solid #5a84ff77;outline-offset:3px}

/* Listbox (text-only) */
.listbox{position:relative}
.listbox-panel{position:absolute;z-index:50;left:0;right:0;max-height:280px;overflow:auto;background:#0b1530;border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow);margin-top:.25rem;padding:.25rem}
.option{display:flex;align-items:center;gap:.6rem;padding:.5rem .6rem;border-radius:10px;cursor:pointer}
.option:hover,.option[aria-selected="true"]{background:#10224a}
.option .name{font-weight:700}
.picked{display:flex;align-items:center;gap:.6rem;margin-top:.35rem;color:#d7e3ff}
.badge{display:inline-flex;align-items:center;gap:.4rem}
