:root{--bg:#0b1116;--panel:#111a20;--panel2:#162128;--line:#26343d;--text:#f5f2e9;--muted:#94a2aa;--green:#77d89c;--yellow:#efd175;--orange:#ff9b5f;--red:#ff6b67;--blue:#71b8ff;--ice:#c8e8f2;--radius:24px}*{box-sizing:border-box}html{background:var(--bg);scroll-behavior:smooth}body{margin:0;background:radial-gradient(circle at 85% -10%,#203c48 0,transparent 31%),linear-gradient(180deg,#0b1116,#0a0f13 72%);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","Helvetica Neue",Arial,sans-serif;min-height:100vh}.ambient{position:fixed;inset:0;pointer-events:none;opacity:.32;background-image:linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(to bottom,black,transparent 70%)}.topbar{height:62px;display:flex;align-items:center;justify-content:space-between;padding:0 max(20px,env(safe-area-inset-left));border-bottom:1px solid rgba(255,255,255,.07);position:sticky;top:0;background:rgba(11,17,22,.83);backdrop-filter:blur(18px);z-index:20}.back{color:var(--text);text-decoration:none;font-size:14px;font-weight:700}.live{font-size:11px;letter-spacing:.09em;text-transform:uppercase;color:var(--muted);display:flex;gap:8px;align-items:center}.live span{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 13px var(--green);animation:pulse 2.2s infinite}@keyframes pulse{50%{opacity:.4}}main{width:min(1180px,calc(100% - 34px));margin:auto;padding-bottom:70px}.hero{padding:70px 0 34px;position:relative}.kicker,.eyebrow{font-size:11px;letter-spacing:.18em;font-weight:800;color:#8bb8c9}.hero h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(51px,8vw,92px);font-weight:400;line-height:.88;letter-spacing:-.045em;margin:17px 0 26px;max-width:920px}.hero h1 em{font-weight:400;color:var(--ice)}.hero-copy{font-size:clamp(17px,2vw,22px);line-height:1.52;color:#b8c2c7;max-width:760px;margin:0}.updated{color:#7f919a;font-size:12px;margin-top:22px}.verdict{position:relative;padding:28px;border:1px solid color-mix(in srgb,var(--orange) 48%,var(--line));background:linear-gradient(145deg,rgba(255,155,95,.12),rgba(17,26,32,.96) 52%);border-radius:var(--radius);box-shadow:0 26px 70px rgba(0,0,0,.25);overflow:hidden}.verdict:after{content:"";position:absolute;width:290px;height:290px;border-radius:50%;right:-90px;top:-160px;background:var(--orange);filter:blur(85px);opacity:.13}.verdict.green{--status:var(--green)}.verdict.yellow{--status:var(--yellow)}.verdict.orange{--status:var(--orange)}.verdict.red{--status:var(--red)}.verdict.loading{--status:var(--blue)}.verdict{border-color:color-mix(in srgb,var(--status) 44%,var(--line));background:linear-gradient(145deg,color-mix(in srgb,var(--status) 11%,transparent),rgba(17,26,32,.97) 56%)}.verdict-top{display:flex;align-items:center;gap:14px}.verdict-label{font-size:11px;font-weight:800;letter-spacing:.15em;color:var(--status)}.signal{display:flex;gap:4px}.signal i{display:block;width:4px;height:17px;border-radius:3px;background:var(--status);opacity:.25}.signal i:nth-child(2){height:12px;margin-top:5px;opacity:.55}.signal i:nth-child(3){height:8px;margin-top:9px;opacity:1}.verdict h2{font-size:clamp(31px,5vw,58px);letter-spacing:-.04em;line-height:1.02;margin:21px 0 14px;max-width:820px}.verdict>p{font-size:17px;line-height:1.55;color:#c3cace;max-width:800px}.decision-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:25px 0}.decision-row>div{padding:17px 18px;border:1px solid rgba(255,255,255,.08);border-radius:16px;background:rgba(255,255,255,.035)}.decision-row span{font-size:12px;color:var(--muted);display:block;margin-bottom:7px}.decision-row strong{font-size:17px;color:var(--status)}.gates{display:flex;flex-wrap:wrap;gap:8px}.gate{font-size:12px;padding:8px 11px;border-radius:99px;background:rgba(255,255,255,.055);color:#c6ced2;border:1px solid rgba(255,255,255,.06)}.gate.ok:before{content:"✓ ";color:var(--green)}.gate.bad:before{content:"! ";color:var(--orange)}.quick-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:14px 0 46px}.quick{background:rgba(17,26,32,.72);border:1px solid var(--line);padding:18px;border-radius:18px}.quick span{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.quick strong{display:block;font-size:22px;margin-top:8px;letter-spacing:-.02em}.section{padding:42px 0;border-top:1px solid rgba(255,255,255,.07)}.section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:22px}.section h2,.sources h2{font-size:clamp(28px,4vw,42px);letter-spacing:-.035em;margin:7px 0 0}.badge{white-space:nowrap;border:1px solid #34515e;border-radius:99px;color:#9fc4d2;padding:7px 10px;font-size:11px;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.badge.good{color:var(--green);border-color:#2b6846}.badge.warn{color:var(--orange);border-color:#774b34}.badge.danger{color:var(--red);border-color:#73413f}.location-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.location{border-radius:20px;background:var(--panel);border:1px solid var(--line);padding:20px}.location h3{font-size:20px;margin:0 0 17px}.metric-main{display:flex;align-items:flex-end;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:16px;margin-bottom:14px}.temp{font-size:38px;letter-spacing:-.06em}.rain{font-size:13px;color:var(--blue);font-weight:700}.weather-line{display:flex;justify-content:space-between;gap:12px;font-size:13px;color:var(--muted);margin-top:10px}.weather-line b{color:#dce2e4;font-weight:650;text-align:right}.advisory{margin-top:14px;padding:16px 18px;border-left:3px solid var(--yellow);background:rgba(239,209,117,.06);border-radius:0 14px 14px 0;color:#c9d0d2;font-size:14px;line-height:1.5}.airport-board{overflow:hidden;border:1px solid #29404c;border-radius:20px;background:#0d171d}.flight-day{display:grid;grid-template-columns:1.15fr .85fr .85fr 1.2fr;gap:15px;align-items:center;padding:16px 20px;border-bottom:1px solid #20313a}.flight-day:last-child{border-bottom:0}.flight-day.today{background:rgba(113,184,255,.08)}.flight-day .date{font-weight:800}.flight-day .date small{display:block;color:var(--muted);font-size:10px;margin-top:4px;letter-spacing:.08em}.flight-day strong{font-size:19px}.flight-day span{font-size:11px;color:var(--muted);display:block}.flight-status{color:var(--green);font-weight:800}.fine,.disclaimer{font-size:12px;line-height:1.55;color:var(--muted)}.road{border-radius:20px;padding:22px;background:linear-gradient(135deg,rgba(255,107,103,.08),var(--panel));border:1px solid #593a39}.road-title{font-size:20px;font-weight:800}.road-meta{display:flex;flex-wrap:wrap;gap:8px;margin:15px 0}.road-meta span{border:1px solid var(--line);border-radius:99px;padding:7px 9px;font-size:11px;color:#b3bec3}.road p{color:#b8c1c5;line-height:1.55;font-size:14px}.warning-box{background:rgba(255,155,95,.08);border-left:3px solid var(--orange);padding:12px 14px;margin-top:15px;font-size:12px;color:#e3c4ae}.tabs{display:flex;gap:8px;overflow:auto;margin-bottom:16px}.tabs button{border:1px solid var(--line);background:transparent;color:var(--muted);border-radius:99px;padding:9px 13px;font-weight:750;white-space:nowrap}.tabs button.active{background:#20313a;color:var(--text);border-color:#3b5663}.event{display:grid;grid-template-columns:92px 12px 1fr;gap:13px;padding:14px 0}.event-date{font-size:12px;color:var(--muted);padding-top:3px}.event-dot{width:9px;height:9px;border-radius:50%;background:var(--orange);margin-top:5px;box-shadow:0 0 0 5px rgba(255,155,95,.09)}.event-content{padding-bottom:16px;border-bottom:1px solid rgba(255,255,255,.06)}.event-content strong{display:block;font-size:14px}.event-content span{display:block;font-size:12px;color:var(--muted);margin-top:5px}.empty{padding:18px;border:1px dashed var(--line);border-radius:16px;color:var(--muted);font-size:13px}.split-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:14px}.risk-card{border:1px solid var(--line);background:var(--panel);border-radius:20px;padding:22px}.risk-card h3{font-size:24px;margin:7px 0 19px}.hydro-row{display:flex;justify-content:space-between;gap:14px;padding:11px 0;border-bottom:1px solid rgba(255,255,255,.06);font-size:13px}.hydro-row:last-child{border:0}.hydro-row span{color:var(--muted)}.hydro-row b{text-align:right}.callout{font-size:14px;line-height:1.6;color:#bec7ca}.callout strong{color:var(--yellow)}.map-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.map-card{border-radius:18px;overflow:hidden;background:var(--panel);border:1px solid var(--line)}.map-card img{display:block;width:100%;aspect-ratio:1.25;object-fit:cover;background:#e8ecee}.map-card b{display:block;padding:12px 15px;font-size:13px}.trip-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:20px;overflow:hidden;margin:26px 0 50px}.trip-strip div{background:var(--panel);padding:20px}.trip-strip span{font-size:11px;color:var(--muted);display:block;text-transform:uppercase}.trip-strip strong{font-size:21px;display:block;margin-top:7px}.sources{padding:35px 0}.sources>div{display:flex;flex-wrap:wrap;gap:9px;margin:22px 0}.source{color:#cce3eb;text-decoration:none;padding:11px 14px;border-radius:12px;background:#15232a;border:1px solid #2a424d;font-size:13px}.source:after{content:" ↗";color:#70a9bd}footer{width:min(1180px,calc(100% - 34px));margin:auto;border-top:1px solid rgba(255,255,255,.08);padding:22px 0 calc(24px + env(safe-area-inset-bottom));display:flex;justify-content:space-between;color:#6f8189;font-size:11px}.error-banner{color:var(--red);font-weight:700}@media(max-width:820px){main{width:min(100% - 24px,680px)}.topbar{padding:0 14px}.hero{padding-top:46px}.hero h1{font-size:52px}.quick-grid{grid-template-columns:repeat(2,1fr)}.location-grid,.map-strip{grid-template-columns:1fr}.split-grid{grid-template-columns:1fr}.flight-day{grid-template-columns:1.1fr .8fr .8fr}.flight-day>:last-child{grid-column:1/-1}.trip-strip{grid-template-columns:repeat(2,1fr)}}@media(max-width:520px){.hero h1{font-size:45px}.hero-copy{font-size:16px}.verdict{padding:21px}.decision-row{grid-template-columns:1fr}.quick-grid{gap:8px}.quick{padding:14px}.quick strong{font-size:18px}.section{padding:34px 0}.location{padding:17px}.event{grid-template-columns:76px 10px 1fr}.trip-strip div{padding:16px}.flight-day{padding:14px;gap:8px}.flight-day strong{font-size:16px}.live{font-size:9px}}
