/* /flight page. Mobile first, big readable text. */
.fl-hero{padding-bottom:28px}
.fl-form{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;margin-top:18px;max-width:640px}
.fl-f{display:flex;flex-direction:column;gap:4px;font-weight:600;font-size:.9rem}
.fl-f input{font:inherit;font-size:1.05rem;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--slate);min-width:0}
.fl-fn{flex:1 1 200px}.fl-fn input{font-size:1.35rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
.fl-go{padding:14px 26px;font-size:1.1rem}
.fl-more{flex-basis:100%}.fl-more summary{cursor:pointer;font-weight:600;padding:6px 0}
.fl-grid{display:grid;grid-template-columns:1fr;gap:10px;margin-top:8px}.fl-wide{grid-column:1/-1;margin:0}
@media(min-width:620px){.fl-grid{grid-template-columns:1fr 1fr}}
#fl-out{display:grid;gap:18px;margin:22px 0}
.fl-status{padding:20px}
.fl-head{margin:0;font-weight:700;font-size:1rem;color:var(--slate-3)}
.fl-big{margin:.25em 0 0;font-size:1.65rem;line-height:1.2;font-weight:800;color:var(--slate)}
.fl-sub{margin:.3em 0 0;font-size:1.05rem;color:var(--slate-3)}
.fl-legs{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.fl-eta{display:flex;gap:12px;margin-top:14px;flex-wrap:wrap}
.fl-eta>div{flex:1 1 140px;background:var(--bg);border:1px solid var(--line);border-radius:12px;padding:10px 12px}
.fl-eta span{display:block;font-size:.8rem;color:var(--slate-3);font-weight:600;text-transform:uppercase;letter-spacing:.04em}
.fl-eta b{display:block;font-size:1.5rem}.fl-eta small{color:var(--slate-3)}
.fl-risk{margin-top:16px;border-radius:14px;padding:14px 16px;border:2px solid}
.fl-risk.lv0{background:#F0FDF4;border-color:#86EFAC}.fl-risk.lv1{background:#FFFBEB;border-color:#FCD34D}.fl-risk.lv2{background:#FEF2F2;border-color:#FCA5A5}
.fl-risk-h b{display:block;font-size:1.35rem}.fl-risk-h span{font-size:.85rem;color:var(--slate-3);font-weight:600}
.fl-todo{margin-top:10px;background:#fff;border-radius:10px;padding:10px 12px}.fl-todo b{font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;color:var(--slate-3)}
.fl-todo p{margin:.25em 0 0;font-size:1.08rem;font-weight:600}
.fl-risk ul{margin:10px 0 0;padding-left:20px}.fl-risk li{margin:.3em 0;font-size:1rem}.fl-risk li small{color:var(--slate-3)}
.fl-risk li.r2{font-weight:700}
.fl-upd{margin:10px 0 0}
.fl-cta{display:flex;flex-direction:column;align-items:stretch;gap:12px;background:var(--slate);color:#fff;border-radius:var(--r);padding:14px 16px;min-width:0;max-width:100%;box-sizing:border-box;overflow:hidden}
.fl-cta b{display:block;font-size:1.02rem;line-height:1.3;color:#fff}.fl-cta span{display:block;color:#E2E8F0;font-size:.88rem;line-height:1.45;overflow-wrap:anywhere}
.fl-cta>div{min-width:0;max-width:100%}
.fl-cta .btn{width:100%;max-width:100%;box-sizing:border-box;justify-content:center;font-size:.88rem;padding:11px 14px;white-space:normal;flex:0 0 auto}
.fl-map{border-radius:var(--r);overflow:hidden;background:#0B1E3A;box-shadow:var(--shadow)}.fl-map svg{display:block;width:100%;height:auto}
.fl-rt{fill:none;stroke:#FBBF24;stroke-width:3;stroke-dasharray:10 8}.fl-rt.done{stroke-dasharray:none;stroke-width:4}.fl-rt.in{stroke:#7DD3FC;stroke-width:2.5}
.fl-sig{fill:rgba(220,38,38,.28);stroke:#F87171;stroke-width:2}
.fl-apt circle{fill:#fff;stroke:#0F172A;stroke-width:3}.fl-apt text{fill:#fff;font:800 26px system-ui,sans-serif;text-anchor:middle;paint-order:stroke;stroke:#0F172A;stroke-width:5px}
.fl-plane path{fill:#FBBF24;stroke:#0F172A;stroke-width:2}
.fl-legend{margin:0;padding:8px 12px;background:#0F172A;color:#CBD5E1;font-size:.85rem}
.fl-legend .k{display:inline-block;width:18px;height:0;border-top:3px dashed #FBBF24;vertical-align:middle}.fl-legend .k.in{border-color:#7DD3FC}.fl-legend .k.sg{height:10px;border:2px solid #F87171;background:rgba(220,38,38,.4)}
.fl-apts{display:grid;gap:14px}@media(min-width:760px){.fl-apts{grid-template-columns:1fr 1fr}}
.fl-apt-c h3{margin:.1em 0 .4em;font-size:1.5rem}.fl-apt-c h3 small{font-size:.85rem;font-weight:500;color:var(--slate-3)}
.fl-role{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--slate-3)}
.fl-cat{display:inline-block;padding:4px 10px;border-radius:8px;font-size:1rem;margin:4px 0}
.fl-cat.cVFR{background:#DCFCE7}.fl-cat.cMVFR{background:#DBEAFE}.fl-cat.cIFR{background:#FEE2E2}.fl-cat.cLIFR{background:#F5D0FE}
.fl-faa{margin:.3em 0;font-weight:600}.fl-faa.ok{color:#166534}.fl-faa.r1{color:var(--amber-d)}.fl-faa.r2{color:var(--red)}
.fl-apt-c code,.fl-hz code{display:block;white-space:pre-wrap;word-break:break-word;font-size:.8rem;background:var(--bg);padding:8px;border-radius:8px;margin-top:6px}
.fl-haz h2,.fl-how h2{margin:.2em 0 .4em}.fl-hz{padding-left:20px}.fl-hz li{margin:.5em 0}
.fl-stuck{margin:0 0 18px;border:1px solid #E2E8F0;background:#fff;border-radius:var(--r);box-shadow:var(--shadow);overflow:hidden}
.fl-stuck>summary,.fl-stuck-sum{cursor:pointer;list-style:none;display:block;padding:0;margin:0}.fl-stuck>summary::-webkit-details-marker{display:none}
.fl-stuck-sum-hot,.fl-stuck-sum-idle{display:none;padding:16px 18px;gap:4px;border-left:3px solid transparent}
.fl-stuck-sum-hot b,.fl-stuck-sum-idle b{display:block;font-size:1.12rem;line-height:1.3;color:var(--slate);font-weight:700}
.fl-stuck-sum-hot em,.fl-stuck-sum-idle em{display:block;font-style:normal;font-size:.92rem;color:var(--slate-3);margin-top:3px;font-weight:500}
.fl-stuck.hot .fl-stuck-sum-hot,.fl-stuck:not(.hot) .fl-stuck-sum-idle{display:block}
.fl-stuck:not([open]).hot .fl-stuck-sum-hot,.fl-stuck:not([open]):not(.hot) .fl-stuck-sum-idle{display:block}
.fl-stuck[open].hot .fl-stuck-sum-idle,.fl-stuck[open]:not(.hot) .fl-stuck-sum-hot{display:none}
.fl-stuck.hot{border-color:#FCD34D}.fl-stuck.hot .fl-stuck-sum-hot{border-left-color:#F59E0B;background:#FFFBEB}
.fl-stuck[open].hot .fl-stuck-sum-hot{display:block;border-bottom:1px solid #FDE68A}
.fl-stuck:not(.hot) .fl-stuck-sum-idle{border-left-color:#38BDF8;background:#F8FAFC}
.fl-stuck[open]:not(.hot) .fl-stuck-sum-idle{border-bottom:1px solid #E2E8F0}
.fl-stuck-body{padding:4px 16px 16px}
.fl-how-est{margin:14px 0 0;border-top:1px solid #E2E8F0;padding-top:8px}
.fl-how-est>summary{cursor:pointer;list-style:none;font-size:.82rem;font-weight:600;color:var(--slate-3)}.fl-how-est>summary::-webkit-details-marker{display:none}
.fl-how-est>summary::before{content:"▸ ";font-size:.75rem}.fl-how-est[open]>summary::before{content:"▾ "}
.fl-how-est p{margin:8px 0 0;font-size:.8rem;line-height:1.45;color:var(--slate-3)}
.fl-whatif{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:12px}
.fl-whatif button{font:inherit;font-weight:800;font-size:.92rem;border:0;border-radius:999px;padding:10px 16px;cursor:pointer;background:#fff;color:#0F172A;box-shadow:0 2px 8px rgba(15,23,42,.18)}
.fl-whatif button:hover{transform:translateY(-1px)}.fl-whatif button[aria-pressed="true"]{background:#0F172A;color:#fff}
.fl-whatif-in{margin:0}.fl-whatif-in button{background:#FFF7ED;border:1px solid #FDBA74;box-shadow:none;padding:7px 12px;font-size:.85rem}
.fl-whatif-in button[aria-pressed="true"]{background:#92400E;color:#fff;border-color:#92400E}
.fl-whatif-clear{opacity:.75}
.fl-stuck-picks{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:8px;margin:8px 0 4px;overflow:visible;min-width:0;max-width:100%}
.fl-stuck-picks .fl-pick{min-width:0;max-width:none;width:auto;flex:none}
.fl-pick{display:flex;flex-direction:column;gap:4px;border:1px solid var(--line);border-radius:14px;padding:10px 12px;background:#fff;box-shadow:0 8px 22px -14px rgba(15,23,42,.35);min-height:0}
.fl-pick b{font-size:1.02rem;line-height:1.25}.fl-pick span{color:var(--slate-3);font-size:.86rem;flex:1;line-height:1.35}
.fl-pick .fl-links{margin-top:4px}.fl-pick.air{background:#F0F9FF;border-color:#7DD3FC}
.fl-pick.food{background:#FFF7ED;border-color:#FDBA74}.fl-pick.todo{background:#F5F3FF;border-color:#C4B5FD}
.fl-pick.hotel{background:#ECFDF5;border-color:#6EE7B7}.fl-pick.ride{background:#F8FAFC;border-color:#CBD5E1}
.fl-set{display:flex;flex-direction:column;flex-wrap:nowrap;gap:10px;margin:12px 0;font-size:.95rem;align-items:stretch}
.fl-set select{box-sizing:border-box;width:auto;min-width:4.5em;max-width:none;flex:0 0 auto;font:inherit;font-size:1.1rem;font-weight:800;font-variant-numeric:tabular-nums;line-height:1.2;padding:9px 12px;border-radius:10px;border:1.5px solid #94A3B8;background:#fff;color:#0F172A;appearance:auto;-webkit-appearance:menulist}
.fl-set-lab{display:flex;align-items:center;flex-wrap:wrap;gap:6px 8px;color:var(--slate);font-weight:600;min-width:0}
.fl-set-lab span{white-space:nowrap;color:var(--slate)}
.fl-set .fl-whatif{margin-top:2px}
.fl-clock{background:var(--slate);color:#fff;border-radius:14px;padding:14px 16px}
.fl-clock>span{display:block;color:#CBD5E1;font-weight:600}.fl-clock b{display:block;font-size:2.1rem;line-height:1.1}.fl-clock .fl-cd{font-size:1.2rem;color:#FBBF24;font-weight:800}
.fl-clock small{display:block;margin-top:6px;color:#CBD5E1;font-size:.88rem}.fl-clock small b{display:inline;font-size:1em;color:#fff}
.fl-clock-miss{font-weight:600}
.fl-wi-tag{display:inline-block;align-self:flex-start;font-style:normal;font-weight:800;font-size:.8rem;letter-spacing:.01em;background:#92400E;color:#fff;border-radius:999px;padding:3px 10px;margin-bottom:4px}
.fl-wi-x{font:inherit;font-weight:700;color:#1D4ED8;background:none;border:0;padding:2px 0;text-decoration:underline;cursor:pointer;white-space:nowrap}
.fl-clock .fl-wi-x{color:#FDE68A}.fl-clock .fl-wi-tag{background:#FBBF24;color:#1F2937}
.fl-wi-x:focus-visible{outline:3px solid #2563EB;outline-offset:2px}
.fl-mytime{margin:12px 0 4px;padding:12px 14px;border:1.5px solid #94A3B8;border-radius:12px;background:#F8FAFC;min-width:0;max-width:100%;box-sizing:border-box}
.fl-mytime-h{margin:0 0 10px;display:flex;flex-direction:column;gap:2px;color:#0F172A}
.fl-mytime-h b{font-size:1.02rem}.fl-mytime-h span{font-size:.9rem;color:#334155;font-weight:500}
.fl-mytime-g{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:10px;min-width:0}
.fl-mytime-f{display:flex;flex-direction:column;gap:4px;min-width:0;color:#0F172A;font-weight:700;font-size:.92rem}
.fl-mytime-f small{color:#334155;font-weight:500}
.fl-mytime-f input{box-sizing:border-box;width:100%;max-width:100%;min-width:0;font:inherit;font-size:1.05rem;font-weight:800;font-variant-numeric:tabular-nums;line-height:1.2;padding:9px 12px;border-radius:10px;border:1.5px solid #94A3B8;background:#fff;color:#0F172A;color-scheme:light}
.fl-mytime-f input:focus-visible{outline:3px solid #2563EB;outline-offset:1px}
.fl-warn{background:#FFFBEB;border:1px solid #FDE68A;border-radius:10px;padding:10px 12px;font-weight:600;margin:12px 0;font-size:.92rem;color:#78350F}
.fl-opt{border:1px solid var(--line);border-radius:12px;padding:10px 12px;margin:8px 0}.fl-opt b{display:block;font-size:1rem}.fl-opt span{display:block;color:var(--slate-3);font-size:.88rem;line-height:1.35}
.fl-air{background:#F0F9FF;border-color:#7DD3FC}
.fl-pl{list-style:none;padding:0;margin:0}.fl-place{border-bottom:1px solid var(--line);padding:10px 0}.fl-place p{margin:.3em 0 0}
.fl-fit{display:inline-block;font-size:.78rem;font-weight:800;text-transform:uppercase;padding:2px 8px;border-radius:999px}
.fl-fit.fits{background:#DCFCE7;color:#166534}.fl-fit.tight{background:#FEF3C7;color:#92400E}.fl-fit.nofit{background:#FEE2E2;color:#991B1B}
.fl-links{display:flex;flex-wrap:wrap;gap:6px 14px;font-weight:600}.fl-links a{padding:4px 0}
.fl-modes{padding-left:4px;list-style:none}.fl-modes li{margin:.35em 0}
.fl-how ul{padding-left:20px}

/* ---- premium live card ---- */
.fl-status{position:relative;overflow:hidden;background:linear-gradient(160deg,#0B1E3A 0%,#12325E 55%,#0E4A7A 100%);color:#E2E8F0;border:0;box-shadow:0 18px 40px -18px rgba(2,12,40,.65)}
.fl-status .fl-head{color:#93C5FD}.fl-status .dim{color:#94A3B8}.fl-status .fl-big{color:#fff;font-size:1.65rem;margin-top:10px}.fl-status .fl-sub{color:#CBD5E1}
.fl-status .fl-eta>div{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.12)}.fl-status .fl-eta span{color:#93C5FD}.fl-status .fl-eta small{color:#94A3B8}
.fl-status .fl-risk{color:var(--slate)}
.fl-top{display:flex;flex-wrap:wrap;gap:6px;align-items:center;justify-content:space-between}
.fl-top-right{display:inline-flex;align-items:center;gap:6px}
.fl-top-right .fl-chip{padding:6px 10px;font-size:.8rem}
.fl-acts{display:flex;gap:8px}
.fl-chip{font:inherit;font-size:.88rem;font-weight:700;color:#fff;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);border-radius:999px;padding:8px 14px;cursor:pointer;transition:background .2s,transform .1s}
.fl-chip:hover{background:rgba(255,255,255,.2)}.fl-chip:active{transform:scale(.96)}.fl-chip[aria-pressed="true"]{background:#F59E0B;border-color:#F59E0B;color:#111827}
.fl-app-cta{display:flex;flex-direction:column;align-items:stretch;gap:4px;margin:10px 0 2px;width:100%}
.fl-chip.fl-open-app{background:linear-gradient(135deg,#2563EB,#1D4ED8);border-color:#60A5FA;color:#fff;justify-content:center;width:100%;border-radius:14px;padding:11px 16px;font-size:.92rem}
.fl-chip.fl-open-app:hover{background:linear-gradient(135deg,#3B82F6,#2563EB)}
.fl-app-sub{font-size:.78rem;color:#94A3B8;padding:0 4px}
.fl-pass{display:flex;align-items:center;gap:12px;margin:16px 0 6px}
.fl-pa b{display:block;font-size:2.4rem;line-height:1;font-weight:900;letter-spacing:.02em;color:#fff}.fl-pa span{display:block;font-size:.8rem;color:#94A3B8;max-width:9em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fl-pa.r{text-align:right}
.fl-track{position:relative;flex:1;height:4px;border-radius:4px;background:repeating-linear-gradient(90deg,rgba(255,255,255,.35) 0 6px,transparent 6px 12px)}
.fl-bar{position:absolute;left:0;top:0;bottom:0;border-radius:4px;background:linear-gradient(90deg,#38BDF8,#FBBF24);transition:width 1s ease}
.fl-dot{position:absolute;top:50%;transform:translate(-50%,-55%);font-style:normal;font-size:1.3rem;color:#FBBF24;text-shadow:0 0 12px rgba(251,191,36,.8);transition:left 1s ease}
.fl-nums{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px}
.fl-nums>div{background:rgba(255,255,255,.07);border-radius:12px;padding:8px 10px}.fl-nums>div>span{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:#93C5FD;font-weight:700}
.fl-nums b{font-size:1.15rem;white-space:nowrap;color:#fff;font-variant-numeric:tabular-nums}
[data-live]{font-variant-numeric:tabular-nums}
.fl-fresh{margin:12px 0 0;font-size:.85rem;color:#94A3B8}
.dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:4px;vertical-align:middle;background:#64748B}
.dot.ok{background:#22C55E;box-shadow:0 0 0 0 rgba(34,197,94,.6);animation:flPulse 2s infinite}.dot.warn{background:#F59E0B}
@keyframes flPulse{0%{box-shadow:0 0 0 0 rgba(34,197,94,.55)}70%{box-shadow:0 0 0 9px rgba(34,197,94,0)}100%{box-shadow:0 0 0 0 rgba(34,197,94,0)}}
.fl-landed{margin:10px 0;padding:14px 16px;border-radius:14px;background:linear-gradient(135deg,#16A34A,#22C55E);color:#fff}
.fl-landed b{display:block;font-size:1.7rem;font-weight:900}.fl-landed span{font-size:.95rem}
.fl-landed.pop{animation:flPop .7s cubic-bezier(.2,1.4,.4,1)}
@keyframes flPop{0%{transform:scale(.7);opacity:0}100%{transform:scale(1);opacity:1}}
.fl-conf{position:absolute;top:30%;width:8px;height:12px;border-radius:2px;opacity:0;animation:flConf 2.2s ease-out forwards;pointer-events:none}
@keyframes flConf{0%{opacity:1;transform:translate(0,0) rotate(0)}100%{opacity:0;transform:translate(var(--dx),260px) rotate(540deg)}}
/* map interactivity */
.fl-mapw{position:relative}.fl-map{position:relative}
.fl-plane{transition:transform 1s linear;cursor:pointer}.fl-plane .halo{fill:rgba(251,191,36,.25);animation:flHalo 2.4s ease-out infinite;transform-box:fill-box;transform-origin:center}
.fl-plane.stale{opacity:.55}
.fl-plane.stale .halo{animation:none;fill:rgba(148,163,184,.4)}
.fl-plane .fl-last{fill:#0F172A;font:700 13px system-ui,-apple-system,sans-serif;paint-order:stroke fill;stroke:#fff;stroke-width:3.5px}
.fl-status .fl-big.fl-calm-busy,.fl-status .fl-sub.fl-calm-busy{color:#E2E8F0}
.fl-status .fl-sub.fl-calm-busy{color:#CBD5E1}
@keyframes flHalo{0%{transform:scale(.6);opacity:.9}100%{transform:scale(1.6);opacity:0}}
.hit{fill:transparent;stroke:none}.fl-apt,.fl-sig{cursor:pointer}.fl-sig:hover,.fl-sig:focus{fill:rgba(220,38,38,.45)}
.fl-pop{position:absolute;left:12px;right:12px;bottom:46px;max-width:380px;background:rgba(15,23,42,.94);color:#E2E8F0;border-radius:14px;padding:12px 40px 12px 14px;box-shadow:0 10px 30px rgba(0,0,0,.4);animation:flUp .2s ease;backdrop-filter:blur(6px)}
.fl-pop b{display:block;color:#fff}.fl-pop span{display:block;font-size:.92rem}.fl-pop small{display:block;color:#94A3B8;margin-top:4px}.fl-pop a{color:#7DD3FC;font-weight:600}
.fl-pop .x{position:absolute;top:6px;right:8px;background:none;border:0;color:#fff;font-size:1.4rem;cursor:pointer}
@keyframes flUp{from{transform:translateY(8px);opacity:0}to{transform:none;opacity:1}}
/* collapsible airport cards */
.fl-apt-c>summary{list-style:none;cursor:pointer;display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;position:relative;padding-right:28px}
.fl-apt-c>summary::-webkit-details-marker{display:none}.fl-apt-c>summary .fl-role{flex-basis:100%}
.fl-apt-c>summary::after{content:"▾";position:absolute;right:0;top:0;color:var(--mute);transition:transform .2s}.fl-apt-c:not([open])>summary::after{transform:rotate(-90deg)}
.fl-pill{font-style:normal;font-size:.75rem;font-weight:800;padding:3px 8px;border-radius:999px;background:#E2E8F0}
.fl-pill.cVFR{background:#DCFCE7}.fl-pill.cMVFR{background:#DBEAFE}.fl-pill.cIFR{background:#FEE2E2}.fl-pill.cLIFR{background:#F5D0FE}.fl-pill.r1{background:#FEF3C7}.fl-pill.r2{background:#FEE2E2;color:#991B1B}
/* nearby place suggestions — wrap, never horizontal-scroll */
.fl-tabs{display:flex;flex-wrap:wrap;gap:8px;padding-bottom:4px;overflow:visible}
.fl-tabs button{font:inherit;font-weight:700;font-size:.92rem;white-space:nowrap;border:1px solid var(--line);background:#fff;border-radius:999px;padding:8px 14px;cursor:pointer;transition:all .2s}
.fl-tabs button[aria-selected="true"]{background:var(--slate);color:#fff;border-color:var(--slate)}.fl-tabs small{opacity:.7}
.fl-swipe{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:10px;padding:10px 0 12px;margin:0;overflow:visible;min-width:0;max-width:100%;width:100%;box-sizing:border-box;list-style:none}
.fl-swipe .fl-place{flex:none;max-width:none;min-width:0;border:1px solid var(--line);border-radius:14px;padding:12px 14px;background:#fff;box-shadow:0 4px 14px -8px rgba(15,23,42,.25);animation:flUp .25s ease both}
.fl-swipe-h{margin-top:0}
.fl-cd.late{color:#F87171!important}
/* alerts */
.fl-alerts{position:sticky;top:8px;z-index:30;display:grid;gap:8px}
.fl-al{position:relative;display:grid;gap:2px;padding:12px 40px 12px 14px;border-radius:14px;color:#fff;box-shadow:0 12px 30px -10px rgba(0,0,0,.45);animation:flDrop .35s cubic-bezier(.2,1.2,.4,1);transition:opacity .6s}
.fl-al.bad{background:linear-gradient(135deg,#B91C1C,#EF4444)}.fl-al.good{background:linear-gradient(135deg,#15803D,#22C55E)}.fl-al.info{background:linear-gradient(135deg,#1D4ED8,#38BDF8)}
.fl-al b{font-size:1.05rem}.fl-al small{opacity:.8}.fl-al.fade{opacity:.55}
.fl-al button{position:absolute;top:6px;right:8px;background:none;border:0;color:#fff;font-size:1.4rem;cursor:pointer}
@keyframes flDrop{from{transform:translateY(-14px);opacity:0}to{transform:none;opacity:1}}
.fl-alert-note{margin:-8px 4px 0}
.fl-toast{position:fixed;left:50%;bottom:90px;transform:translate(-50%,20px);background:#0F172A;color:#fff;padding:12px 18px;border-radius:12px;font-weight:600;opacity:0;pointer-events:none;transition:all .25s;z-index:60;max-width:90vw;text-align:center}
.fl-toast.on{opacity:1;transform:translate(-50%,0)}
#fl-out>section,#fl-out>.fl-cta,#fl-out>details{animation:flUp .35s ease both}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
@media(max-width:420px){.fl-pa b{font-size:2rem}.fl-big{font-size:1.45rem}.fl-acts{width:100%}.fl-chip{flex:1}}
@media(max-width:420px){.fl-status .fl-big{font-size:1.4rem}}
#fl-out,#fl-out>*,#fl-stuck,#fl-stuck-b{min-width:0;max-width:100%}.fl-swipe{width:100%;box-sizing:border-box}
@media(max-width:520px){.fl-pop{font-size:.82rem;padding:8px 34px 8px 10px;bottom:40px;left:8px;right:auto;max-width:78%}.fl-pop span{font-size:.82rem}}

/* AI delay read card */
.fl-ai{position:relative}
.fl-ai .fl-headline{font-size:1.15rem;font-weight:700;margin:10px 0 6px;line-height:1.35}
.fl-meter{display:flex;align-items:center;gap:6px;margin-top:10px}
.fl-meter i{display:inline-block;width:28px;height:10px;border-radius:999px;background:#E2E8F0}
.fl-meter i.on{background:currentColor}
.fl-ai.lv0 .fl-meter{color:#16A34A}.fl-ai.lv1 .fl-meter{color:#D97706}.fl-ai.lv2 .fl-meter{color:#DC2626}
.fl-meter span{font-weight:800;font-size:.85rem;margin-left:4px;letter-spacing:.04em;text-transform:uppercase}
.fl-range{margin:6px 0 0;font-size:.95rem;color:var(--slate-3)}.fl-range b{color:var(--slate);font-size:1.05rem}
.fl-why{margin:10px 0 0;padding-left:20px}.fl-why li{margin:.25em 0}
.fl-more-why{margin-top:8px;font-size:.9rem}.fl-more-why summary{cursor:pointer;color:var(--slate-3);font-weight:600}
.fl-updated{position:absolute;top:12px;right:14px;background:#0EA5E9;color:#fff;font:800 .7rem/1 system-ui,sans-serif;letter-spacing:.06em;text-transform:uppercase;padding:5px 9px;border-radius:999px;animation:flPulse 1.6s ease}
.fl-ai.pulse,.fl-clock.pulse{animation:flPulse 1.6s ease}
@keyframes flPulse{0%{box-shadow:0 0 0 0 rgba(14,165,233,.55)}70%{box-shadow:0 0 0 12px rgba(14,165,233,0)}100%{box-shadow:0 0 0 0 rgba(14,165,233,0)}}
.fl-sim-tag{margin:10px 0 0;padding:8px 12px;border-radius:10px;background:#7C3AED;color:#fff;font-weight:800;font-size:.9rem;letter-spacing:.02em}

/* Canceled plan — secondary action card, same system as AI delay read */
.fl-canceled{margin:0 0 14px;border:1px solid #E2E8F0;background:#fff;border-radius:var(--r);box-shadow:var(--shadow);overflow:hidden}
.fl-canceled>summary{cursor:pointer;list-style:none;padding:0}.fl-canceled>summary::-webkit-details-marker{display:none}
.fl-canceled-sum{display:flex;align-items:flex-start;gap:12px;padding:16px 18px;border-left:3px solid #94A3B8;background:#F8FAFC}
.fl-canceled[open] .fl-canceled-sum{border-bottom:1px solid #E2E8F0;border-left-color:#64748B;background:#F1F5F9}
.fl-canceled-ico{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:10px;background:#E2E8F0;color:#334155;margin-top:1px}
.fl-canceled-txt{min-width:0;flex:1}
.fl-canceled-sum b{display:block;font-size:1.12rem;line-height:1.3;color:var(--slate);font-weight:700}
.fl-canceled-sum em{display:block;font-style:normal;font-size:.92rem;color:var(--slate-3);margin-top:3px;font-weight:500}
.fl-canceled-body{padding:8px 16px 16px}
.fl-canceled-body h3{margin:18px 0 8px;font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--slate-3)}
.fl-canceled-body h3:first-child{margin-top:8px}
.fl-canceled-body .fl-peer{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:baseline;padding:10px 0;border-bottom:1px solid #E2E8F0}
.fl-canceled-body .fl-peer:last-child{border-bottom:0}
.fl-canceled-body .fl-peer b{font-size:1.02rem}
.fl-canceled-body .tag{display:inline-block;font-size:.72rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;padding:2px 8px;border-radius:6px;background:#E2E8F0;color:#334155}
.fl-canceled-body .tag.air{background:#DCFCE7;color:#166534}
.fl-canceled-body .tag.gnd{background:#FEF3C7;color:#92400E}
.fl-canceled-tip{background:#F8FAFC;border:1px solid #E2E8F0;border-radius:12px;padding:12px 14px;margin:10px 0;font-size:.92rem;line-height:1.45;color:var(--slate-3)}
.fl-canceled-tip a{font-weight:600}
.fl-canceled-attr{margin:14px 0 0;font-size:.78rem;color:var(--slate-3);line-height:1.4}

.fl-drive-card{margin:14px 0;padding:14px 16px;border-radius:14px;border:1px solid #FCD34D;background:linear-gradient(180deg,#FFFBEB,#FEF3C7);color:var(--slate)}
.fl-drive-card>b{display:block;font-size:1.05rem;margin-bottom:4px;color:#92400E}
.fl-drive-card>span{display:block;font-size:.9rem;color:var(--slate-3);margin-bottom:8px}
.fl-drive-card .fl-opt{background:#fff;border-radius:10px;margin-top:8px}
.fl-drive-skip{margin:10px 0}



/* ---------- Layout v2: first-screen above fold + sticky panels ---------- */
.fl-layout{display:flex;flex-direction:column;gap:8px;min-width:0}
.fl-col-main,.fl-col-side{display:flex;flex-direction:column;gap:8px;min-width:0}
.fl-status{padding:10px 12px}
.fl-status .fl-big{font-size:1.2rem;margin-top:4px}
.fl-pass{margin:6px 0 2px}
.fl-pa b{font-size:1.55rem}
.fl-eta{margin-top:6px;gap:6px}
.fl-eta>div{padding:6px 8px}
.fl-eta b{font-size:1.1rem}
.fl-fresh{margin:8px 0 0;font-size:.8rem}
.fl-mapw .fl-map{max-height:160px;min-height:120px}
.fl-mapw .fl-map svg{max-height:160px;min-height:120px}
.fl-ai-host{padding:0;border:0;background:transparent;box-shadow:none}
.fl-ai-host .fl-risk{margin:0}
.fl-ai .fl-headline{font-size:1.02rem;margin:8px 0 4px}
.fl-risk-h b{font-size:1.05rem}
.fl-acts-bar{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.fl-acts-bar .fl-chip{color:var(--slate);background:#fff;border:1px solid var(--line)}
.fl-acts-bar .fl-chip:hover{background:#F8FAFC}
.fl-acts-bar .fl-chip[aria-pressed="true"]{background:#F59E0B;border-color:#F59E0B;color:#111827}
.fl-acts-bar .fl-chip.fl-open-app{color:#fff;background:linear-gradient(135deg,#2563EB,#1D4ED8);border-color:#60A5FA}
.fl-acts-bar .fl-app-cta{margin:0;flex:1 1 100%}
.fl-acts-bar .fl-app-sub{color:var(--slate-3)}
.fl-pill-status{font-size:.72rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;padding:5px 10px;border-radius:999px;background:rgba(255,255,255,.14);color:#E2E8F0;border:1px solid rgba(255,255,255,.22)}
.fl-pill-status.good{background:#166534;border-color:#22C55E;color:#fff}
.fl-pill-status.warn{background:#92400E;border-color:#FBBF24;color:#fff}
.fl-pill-status.bad{background:#991B1B;border-color:#F87171;color:#fff}
.fl-seg{position:sticky;top:0;z-index:25;display:flex;flex-wrap:wrap;gap:4px;overflow:visible;padding:6px;margin:0;background:rgba(248,250,252,.92);backdrop-filter:blur(8px);border:1px solid var(--line);border-radius:14px;min-width:0;max-width:100%;box-sizing:border-box}
.fl-seg button{flex:1 1 auto;font:inherit;font-weight:700;font-size:.82rem;white-space:nowrap;border:0;background:transparent;border-radius:10px;padding:10px 12px;cursor:pointer;color:var(--slate-3)}
.fl-seg button[aria-selected="true"]{background:var(--slate);color:#fff;box-shadow:0 4px 12px -6px rgba(15,23,42,.45)}
.fl-panels{min-width:0}
.fl-panel{display:grid;gap:12px;min-width:0}
.fl-panel[hidden]{display:none!important}
.fl-plans-grid{display:grid;gap:12px}
.fl-how.card{padding:0;border:1px solid var(--line);border-radius:var(--r);background:#fff;box-shadow:var(--shadow);overflow:hidden}
.fl-how.card>summary{cursor:pointer;list-style:none;padding:14px 16px;display:block}
.fl-how.card>summary::-webkit-details-marker{display:none}
.fl-how.card>summary b{display:block;font-size:1.02rem}
.fl-how.card>summary em{display:block;font-style:normal;font-size:.88rem;color:var(--slate-3);margin-top:2px}
.fl-how.card[open]>summary{border-bottom:1px solid var(--line)}
.fl-how.card ul{padding:8px 16px 14px 32px;margin:0}
.fl-alert-note-box{border:1px solid var(--line);border-radius:12px;background:#fff;padding:0}
.fl-alert-note-box>summary{cursor:pointer;list-style:none;padding:10px 14px;font-weight:600;font-size:.9rem;color:var(--slate-3)}
.fl-alert-note-box>summary::-webkit-details-marker{display:none}
.fl-alert-note-box .fl-alert-note{margin:0;padding:0 14px 12px}
.fl-linkish{font:inherit;font-weight:700;color:#1D4ED8;background:none;border:0;padding:0;cursor:pointer;text-decoration:underline}
.fl-nearby-hint{margin:0 2px;overflow-wrap:anywhere}
.fl-nearby,.fl-panel,.fl-panel>* ,#fl-nearby,#fl-stuck-b,#fl-canceled-b{min-width:0;max-width:100%}
.fl-canceled-body .fl-peers{display:grid;grid-template-columns:1fr;gap:0;list-style:none;padding:4px 0 10px;margin:0;overflow:visible;min-width:0;max-width:100%}
.fl-canceled-body .fl-peer{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:baseline;padding:10px 0;border:0;border-bottom:1px solid #E2E8F0;border-radius:0;background:transparent;margin:0;max-width:100%;min-width:0}
.fl-canceled-body .fl-peer:last-child{border-bottom:0}
.fl-apts{display:grid;grid-template-columns:1fr;gap:12px;overflow:visible;padding-bottom:0;min-width:0;max-width:100%}
.fl-apts .fl-apt-c{flex:none;max-width:none;min-width:0;margin:0;width:auto}
@media(min-width:560px){
  .fl-apts{grid-template-columns:1fr 1fr}
}
@media(min-width:760px){
  .fl-mapw .fl-map,.fl-mapw .fl-map svg{max-height:280px}
}
@media(min-width:980px){
  .fl-layout{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:18px;align-items:start}
  .fl-col-side{position:sticky;top:10px;max-height:calc(100vh - 20px);overflow-x:hidden;overflow-y:auto}
  .fl-mapw .fl-map,.fl-mapw .fl-map svg{max-height:320px}
  .fl-pa b{font-size:2.2rem}
  .fl-status .fl-big{font-size:1.55rem}
}
/* overview nums sit on light panel */
#fl-overview-extra .fl-nums>div{background:#F1F5F9;border:1px solid var(--line)}
#fl-overview-extra .fl-nums>div>span{color:var(--slate-3)}
#fl-overview-extra .fl-nums b{color:var(--slate)}
#fl-out{gap:14px}
@media(max-width:420px){
  .fl-pa b{font-size:1.65rem}
  .fl-status .fl-big{font-size:1.25rem}
  .fl-seg button{font-size:.78rem;padding:9px 10px}
  .fl-mapw .fl-map,.fl-mapw .fl-map svg{max-height:150px;min-height:110px}
  .fl-stuck-picks{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:6px 0 2px}
  .fl-pick{padding:8px 9px;border-radius:12px;gap:3px}
  .fl-pick b{font-size:.92rem}
  .fl-pick span{font-size:.78rem;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
  .fl-pick .fl-links{gap:6px;font-size:.78rem}
  .fl-swipe{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
  .fl-place{padding:8px 0}
  .fl-cta{padding:10px 12px;gap:8px}
  .fl-cta b{font-size:.95rem}.fl-cta span{font-size:.8rem}
  .fl-status{padding:8px 10px}
  .fl-ai{padding:8px 10px!important}
  .fl-layout,.fl-col-main,.fl-col-side{gap:6px}
  #fl-out{gap:10px}
  .fl-panel{gap:8px}
  .fl-nearby-hint{font-size:.82rem;margin:0}
}


/* Compact first screen while tracking */
.fl-track-mini{display:none;align-items:center;justify-content:space-between;gap:10px;margin:10px 0 0;padding:10px 14px;border-radius:14px;background:#0F172A;color:#E2E8F0;box-shadow:var(--shadow)}
.fl-track-mini b{font-weight:800;letter-spacing:.04em}
.fl-track-mini .fl-chip{flex:0 0 auto}
body.fl-tracking .fl-hero .fl-form,
body.fl-tracking .fl-hero .lead,
body.fl-tracking .fl-hero h1,
body.fl-tracking .fl-hero .kicker{display:none!important}
body.fl-tracking .fl-track-mini{display:flex}
body.fl-tracking .fl-hero{padding-bottom:8px;padding-top:8px}
.fl-ai{padding:10px 12px!important}
.fl-ai .fl-headline{font-size:.98rem!important;margin:6px 0 2px!important;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.fl-risk-h{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:baseline}
.fl-risk-h b{font-size:.98rem!important}
.fl-seg button.fl-seg-hot{box-shadow:inset 0 -3px 0 #F59E0B}
.fl-sim-tag{margin:8px 0 0;padding:6px 10px;font-size:.78rem}

/* ---------- Live trip embed (iframe on Trip Planner /trip) ---------- */
html.fl-embed .site-header,
html.fl-embed header.top,
html.fl-embed .topbar,
html.fl-embed .site-footer,
html.fl-embed footer,
html.fl-embed .playbar,
html.fl-embed .fl-promo,
html.fl-embed .hero .kicker,
html.fl-embed nav,
body.fl-embed .site-header,
body.fl-embed header.top,
body.fl-embed .site-footer,
body.fl-embed footer,
body.fl-embed .playbar { display: none !important; }
html.fl-embed body,
body.fl-embed { background: #0b1220; }
html.fl-embed .hero,
body.fl-embed .hero { padding-top: 12px; padding-bottom: 8px; }
html.fl-embed .hero h1 { font-size: 1.35rem; }
html.fl-embed .fl-card { margin-top: 0; }

html.fl-embed .fl-form,
html.fl-embed .fl-how,
html.fl-embed .fl-cta,
html.fl-embed .owo-attr,
html.fl-embed .fl-hero .lead,
body.fl-embed .fl-form,
body.fl-embed .fl-how,
body.fl-embed .fl-cta,
body.fl-embed .owo-attr { display: none !important; }
html.fl-embed .fl-hero h1::after { content: " · Live trip"; font-weight: 500; font-size: .7em; opacity: .7; }
html.fl-embed .fl-col-side,
body.fl-embed .fl-col-side,
html.fl-embed .fl-track-mini,
body.fl-embed .fl-track-mini { display: none !important; }
html.fl-embed .fl-layout,
body.fl-embed .fl-layout { display: flex; flex-direction: column; gap: 10px; }
html.fl-embed .fl-mapw, body.fl-embed .fl-mapw { min-height: 220px; }
html.fl-embed .fl-map, body.fl-embed .fl-map { min-height: 220px; height: 260px; }

/* WCAG AA contrast: dark-hero form labels + white-input placeholders */
.fl-hero .fl-f{color:#E2E8F0}
.fl-hero .fl-f small{color:#CBD5E1;font-weight:500}
.fl-hero .fl-more summary{color:#E2E8F0}
.fl-hero .dim{color:#CBD5E1}
.fl-f input::placeholder{color:var(--slate-3);opacity:1}
.fl-canceled-body .dim{color:var(--slate-3)}

/* No horizontal scroll anywhere on /flight */
.fl-layout,.fl-col-main,.fl-col-side,.fl-panels,.fl-panel,.fl-nearby,.fl-plans-grid,.fl-stuck,.fl-canceled,.fl-stuck-body,.fl-canceled-body,#fl-out,#fl-status,#fl-ai-host,#fl-acts-bar{min-width:0;max-width:100%;box-sizing:border-box}
.fl-layout,.fl-col-side,.fl-panel,#fl-out{overflow-x:hidden}
.fl-pick,.fl-place,.fl-apt-c,.fl-opt{min-width:0;max-width:100%;box-sizing:border-box;overflow-wrap:anywhere}
.fl-pick b,.fl-pick span,.fl-place p{overflow-wrap:anywhere}

/* Nearby panel: keep pick grid visible (never clip stacked cards) */
.fl-nearby .fl-stuck-picks{display:grid;width:100%}
.fl-nearby .fl-pick{min-height:0}
.fl-mapw{min-height:120px}
