:root{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#202737;background:#e8edf5;font-synthesis:none;--muted:#667185;--border:rgba(92,112,149,.14);--blue:#007aff;--cat:#67758c}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 85% 8%,#d6e9fc 0,transparent 45%),radial-gradient(ellipse at 15% 65%,#e4dcf6 0,transparent 46%),linear-gradient(135deg,#f2f5fa,#e4ecf5);background-attachment:fixed}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #007aff;outline-offset:4px}button{transition:background .2s,transform .2s,box-shadow .2s}button:active{transform:scale(.97)}.app{min-height:100vh}.sidebar{position:fixed;inset:16px auto 16px 16px;width:228px;z-index:20;display:flex;flex-direction:column;padding:24px 16px;background:rgba(255,255,255,.55);backdrop-filter:blur(32px) saturate(160%);-webkit-backdrop-filter:blur(32px) saturate(160%);border:1px solid rgba(255,255,255,.85);border-radius:26px;box-shadow:0 16px 48px #27395c0d,inset 0 1px 0 #fff}.window-controls{display:flex;gap:7px;margin:0 0 27px 8px}.window-controls i{height:11px;width:11px;border-radius:50%;background:#ff6058;border:1px solid #0000000d}.window-controls i:nth-child(2){background:#ffbd2e}.window-controls i:nth-child(3){background:#28c840}.brand{display:flex;align-items:center;gap:9px;font-size:21px;font-weight:750;letter-spacing:-.8px;padding:0 8px}.brand>span:last-child{color:#718096;margin-left:-9px}.brandmark{display:grid;place-items:center;width:35px;height:35px;border-radius:11px;background:linear-gradient(145deg,#5fb5ff,#0069ef);color:white;font-size:28px;box-shadow:0 5px 12px #007aff30,inset 0 1px 0 #ffffff80}.nav-label{margin:37px 12px 12px;font-size:10px;letter-spacing:1.4px;font-weight:650;color:#7e8799}nav{display:flex;flex-direction:column;gap:5px}nav button{display:flex;align-items:center;gap:12px;border:0;background:transparent;color:#59667b;padding:13px 14px;border-radius:13px;text-align:left;font-size:13px;font-weight:550}nav button span{width:21px;height:21px;display:grid;place-items:center}nav svg{height:20px;width:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}nav button.active{background:linear-gradient(135deg,#198cff,#0070ec);color:#fff;box-shadow:0 4px 13px #007aff26,inset 0 1px 0 #ffffff40}nav button:hover:not(.active){background:#ffffff80;color:#007aff}.sidebar-bottom{margin-top:auto;padding:30px 12px 0}.legend-title{font-size:10px;color:#7e8799;font-weight:600;letter-spacing:1px}.legend{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:16px;font-size:10px;color:#657084}.VFR{--cat:#24865e}.MVFR{--cat:#2c75c8}.IFR{--cat:#c44250}.LIFR{--cat:#8b4eb3}.UNKNOWN{--cat:#67758c}.legend i{width:6px;height:6px;border-radius:50%;display:inline-block;background:var(--cat);margin-right:7px}.sidebar-bottom p{font-size:12px;line-height:1.8;color:#7a879b;margin:26px 0 12px}.source-label{font-size:9px;color:#8490a2}main{margin-left:260px;padding:0 30px 0 14px}.topbar{height:88px;display:flex;align-items:center;justify-content:space-between;max-width:1440px;margin:auto;padding:0 8px}.breadcrumb{font-size:12px;color:#8390a3}.breadcrumb span{margin:0 13px;color:#a3afbd}.breadcrumb strong{color:#4b596c;font-weight:550}.top-right{display:flex;align-items:center;gap:18px}.utc{font-size:11px;color:#69768a;font-variant-numeric:tabular-nums}.avatar{width:31px;height:31px;display:grid;place-items:center;border:1px solid #fff;border-radius:50%;background:linear-gradient(135deg,#d1dff2,#f1e5f4);font-size:10px;color:#576c89}.content{max-width:1440px;margin:auto;padding:25px 8px 20px}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:30px}.eyebrow{font-size:10px;letter-spacing:1.5px;font-weight:650;color:#667da0}h1{font-size:clamp(27px,2.6vw,39px);letter-spacing:-1.5px;line-height:1.13;font-weight:720;margin:12px 0 10px}.page-heading p{font-size:13px;color:var(--muted);line-height:1.6;margin:0}.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;border:1px solid #ffffff35;border-radius:12px;background:linear-gradient(145deg,#2893ff,#0073ed);box-shadow:0 3px 8px #007aff18,inset 0 1px 0 #ffffff30;color:white;padding:12px 18px;font-size:12px;font-weight:600}.button:hover{box-shadow:0 5px 16px #007aff35}.button.secondary{background:#ffffff75;color:#44617e;border:1px solid #ffffffd9;box-shadow:0 3px 12px #27395c05}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:22px}.toolbar form{display:flex;align-items:center;padding:5px 5px 5px 12px;flex:1;max-width:560px;background:#ffffff88;border:1px solid #ffffffd9;border-radius:17px;box-shadow:0 4px 16px #32446307,inset 0 1px 0 #fff;backdrop-filter:blur(20px)}.toolbar form>span{font-size:26px;color:#7e90a7;margin-right:12px}.toolbar input{min-width:0;flex:1;width:100%;border:0;background:transparent;padding:9px 0;font-size:13px;color:#263c57;text-transform:uppercase}.toolbar input::placeholder{text-transform:none;color:#8693a5}.toolbar .button{white-space:nowrap}.toolbar #feed-status{font-size:11px;color:#697b90;white-space:nowrap}.dot{display:inline-block;width:6px;height:6px;background:#38a47b;border-radius:50%;margin-right:7px;box-shadow:0 0 0 3px #38a47b10}.airport-links{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px;font-size:11px;color:#526a8a}.airport-links a{padding:8px 12px;border:1px solid #ffffffa6;border-radius:20px;background:#ffffff50}.airport-links a:hover{background:#fff;color:#007aff}.hero-grid{display:grid;grid-template-columns:1.65fr 1fr;gap:20px}.weather-hero{position:relative;overflow:hidden;min-height:324px;padding:28px 30px;border-radius:25px;color:white;background:radial-gradient(ellipse at 90% 5%,#87bbf3a6,transparent 55%),linear-gradient(145deg,#528bdd,#285ba5 70%,#254984);border:1px solid #ffffff60;box-shadow:0 12px 35px #2e5da527,inset 0 1px 0 #ffffff66}.weather-hero:after{content:'';position:absolute;inset:0;background:linear-gradient(145deg,#ffffff17,transparent 48%);pointer-events:none}.hero-head{display:flex;align-items:center;gap:12px;position:relative;z-index:1}.airport-code{font-size:27px;font-weight:700;letter-spacing:.5px}.airport-name{font-size:12px;color:#e0edff;margin-top:5px;max-width:85%}.badge{display:inline-block;font-size:10px;font-weight:650;letter-spacing:.5px;color:var(--cat);background:color-mix(in srgb,var(--cat) 10%,#fff);border:1px solid color-mix(in srgb,var(--cat) 14%,transparent);border-radius:8px;padding:6px 9px;white-space:nowrap}.hero-head .badge{margin-left:auto}.weather-hero .badge{background:#ffffffe0}.weather-picture{position:absolute;width:245px;right:12px;top:75px;filter:drop-shadow(0 12px 14px #163a6530);z-index:1}.hero-temperature{font-size:70px;letter-spacing:-4px;font-weight:350;margin-top:23px;position:relative;z-index:2;line-height:1.1}.hero-temperature span{font-size:30px;letter-spacing:-1px;vertical-align:top;display:inline-block;margin-top:10px;font-weight:400}.hero-condition{font-size:13px;margin-top:8px;color:#e7f0ff;position:relative;z-index:2;max-width:60%}.hero-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:27px;padding-top:20px;border-top:1px solid #ffffff35;position:relative;z-index:2}.hero-metrics small{display:block;font-size:9px;font-weight:600;letter-spacing:1px;color:#cfdef5;margin-bottom:8px}.hero-metrics strong{font-size:15px;font-weight:550}.panel,.airport-card,.metric,.period,.table-wrap,.empty{background:rgba(255,255,255,.65);border:1px solid rgba(255,255,255,.95);box-shadow:0 6px 24px #33496908,inset 0 1px 0 #fff;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-radius:22px}.panel{padding:25px}.panel h3{font-size:14px;font-weight:650;letter-spacing:-.2px;margin:0 0 8px}.panel p{font-size:12px;color:var(--muted);line-height:1.8}.status-panel{display:flex;flex-direction:column;background:linear-gradient(145deg,#ffffffbd,#ffffff5e)}.status-title{display:flex;align-items:center;justify-content:space-between;gap:10px}.status-title span{font-size:9px;color:#8491a4;letter-spacing:.5px}.stats{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:24px 0}.stats strong{font-size:34px;font-weight:650;letter-spacing:-1.4px;display:block}.stats span{font-size:11px;color:#7d8b9f}.feed-row{display:flex;justify-content:space-between;padding:12px 0;border-top:1px solid var(--border);font-size:11px}.feed-row span:last-child{color:#49846f}.section-head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:30px 0 16px}.section-head h2{font-size:18px;font-weight:650;letter-spacing:-.5px;margin:0}.section-head p,.selected-label{font-size:11px;color:#8692a4;font-weight:400}.text-button{background:#ffffff50;border:1px solid #ffffff80;border-radius:20px;color:#46749e;font-size:11px;padding:8px 12px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.airport-card{padding:22px;cursor:pointer;transition:transform .2s,box-shadow .2s}.airport-card:hover{transform:translateY(-3px);box-shadow:0 12px 28px #33496914}.card-head{display:flex;align-items:center;justify-content:space-between}.card-head strong{font-size:19px;font-weight:650;letter-spacing:-.4px}.card-city{font-size:11px;color:#738199;margin-top:6px;line-height:1.5}.card-weather{display:flex;align-items:center;justify-content:space-between;margin:20px 0}.card-weather strong{font-size:38px;font-weight:400;letter-spacing:-1.5px}.card-weather img{width:98px;height:70px;object-fit:contain;filter:drop-shadow(0 6px 8px #36516c10)}.card-bottom{border-top:1px solid var(--border);padding-top:15px;display:flex;justify-content:space-between;gap:12px;font-size:10px;color:#718198}.bottom-grid{display:grid;grid-template-columns:1.65fr 1fr;gap:20px;margin-top:22px}.raw{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:11px;line-height:1.9;overflow-wrap:anywhere;margin-top:15px;padding:16px;background:#eaf0f780;border:1px solid #e0e8f380;border-radius:13px;color:#4e6380}.updated{font-size:10px;color:#7c8ba1;line-height:1.6}.brief-title{display:flex;justify-content:space-between;align-items:center;gap:12px}.brief-title h3{margin:0}.empty{padding:50px 25px;text-align:center}.empty h2{font-size:21px;font-weight:600;letter-spacing:-.5px}.empty p{font-size:13px;line-height:1.8;color:var(--muted)}.notice{margin-bottom:20px;padding:14px 17px;font-size:12px;line-height:1.7;border:1px solid #eed7a680;border-radius:15px;background:#fff8e4c9;color:#82652c}.metrics-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:22px 0}.metric{padding:23px}.metric label{display:block;font-size:10px;font-weight:600;letter-spacing:.8px;text-transform:uppercase;color:#7587a0;margin-bottom:15px}.metric strong{font-size:27px;font-weight:600;letter-spacing:-.8px}.metric p{font-size:11px;line-height:1.6;color:#7c8a9f;margin:9px 0 0}.cloud-layer{display:flex;justify-content:space-between;gap:15px;padding:14px 0;border-bottom:1px solid var(--border);font-size:12px;color:#687991}.cloud-layer strong{color:#334760;font-weight:550;text-align:right}.timeline{display:grid;gap:13px}.period{display:grid;grid-template-columns:175px 1fr;gap:24px;padding:23px;position:relative}.period-time{border-right:1px solid var(--border);padding-right:18px}.period-time strong{display:block;font-size:12px;font-weight:600;margin:10px 0 5px}.period-time small{font-size:10px;color:#7e8aa0}.period-content{display:flex;align-items:center;justify-content:space-between;gap:18px}.period-values{display:flex;gap:32px;flex-wrap:wrap}.period-values small{display:block;font-size:9px;font-weight:600;letter-spacing:.7px;color:#7b8da5;margin-bottom:8px}.period-values span{font-size:14px;display:block;font-weight:550}.period-clouds{font-size:11px;line-height:1.7;color:#6f8099;margin-top:15px}.filter-row{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-bottom:18px}.filter-row select{padding:11px 14px;font-size:12px;color:#405b7c;border:1px solid #fff;border-radius:12px;background:#ffffffb0}table{width:100%;border-collapse:collapse;text-align:left;font-size:12px}th{padding:16px;font-size:9px;font-weight:600;letter-spacing:.7px;color:#7b8da4;border-bottom:1px solid var(--border)}td{padding:16px;border-bottom:1px solid var(--border);color:#4d607c}td strong{color:#243b59}.table-wrap{overflow:auto}details summary{cursor:pointer;font-size:11px;color:#007aff}.flight-form{display:grid;grid-template-columns:repeat(3,1fr) auto;gap:16px;align-items:end;margin-top:22px}.flight-form label{display:block;font-size:9px;letter-spacing:.7px;font-weight:600;color:#7586a0;margin-bottom:8px}.flight-form input{width:100%;padding:12px 14px;text-transform:uppercase;background:#ffffffa6;border:1px solid #dce6f1;border-radius:12px;color:#304c6e}.route-banner{display:flex;align-items:center;justify-content:center;gap:24px;margin:30px 0;color:#7a99c0}.route-banner strong{font-size:28px;font-weight:650;letter-spacing:-1px;color:#315579}.trend{width:100%;height:140px;display:block}.trend-label{font-size:10px;fill:#71859f}.danger{color:#bd4d47}.sky{font-size:11px;color:#71869f;margin-top:9px}.loading{padding:70px 20px;text-align:center;color:#71859f;font-size:13px}.loading:before{content:'';display:block;width:24px;height:24px;border:2px solid #007aff25;border-top-color:#007aff;border-radius:50%;margin:0 auto 16px;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}footer{display:flex;align-items:center;justify-content:space-between;gap:18px;border-top:1px solid var(--border);padding:22px 0 10px;margin-top:35px;color:#8190a5;font-size:10px;line-height:1.8}footer b{margin:0 8px}footer a{color:#547cab}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.bookmark{border:0;background:transparent;color:#007aff;font-size:18px}.runway-recommendation{display:flex;align-items:center;flex-wrap:wrap;gap:12px 20px;background:linear-gradient(120deg,#e6f3ffb5,#ffffffa6);border:1px solid #fff;border-radius:19px;box-shadow:0 5px 20px #007aff08,inset 0 1px 0 #fff;padding:20px 23px;margin:20px 0}.runway-recommendation strong{font-size:27px;font-weight:650;letter-spacing:-.7px;color:#2363a6}.runway-recommendation>span:last-child{font-size:11px;color:#617c9d}.runway-favoured{background:#d9ebff45}.runway-star{color:#007aff}.runway-detail{display:block;font-size:10px;line-height:1.8;color:#7d8ca1;white-space:nowrap}.runway-panel td,.runway-panel th{white-space:nowrap}.runway-note{font-size:11px!important;color:#7b899d!important}.runway-panel .table-wrap{border:0;box-shadow:none;background:transparent;backdrop-filter:none}.runway-panel .brief-title{flex-wrap:wrap}.runway-panel{margin-top:0}
@media(min-width:1500px){.content{padding-top:35px}.weather-hero{min-height:345px}.weather-picture{width:270px}.hero-temperature{font-size:77px}}
@media(max-width:1150px){.sidebar{width:200px}main{margin-left:226px;padding-right:20px}.content{padding-top:20px}.hero-grid,.bottom-grid{grid-template-columns:1.45fr 1fr}.weather-hero{padding:24px}.weather-picture{width:185px;top:100px}.hero-metrics strong{font-size:12px}.airport-card{padding:18px}.card-weather img{width:75px}.flight-form{grid-template-columns:repeat(3,1fr)}.flight-form .button{grid-column:1/-1}.metrics-grid{grid-template-columns:repeat(2,1fr)}.period-values{gap:20px}footer{flex-wrap:wrap}}
@media (max-width:800px), (max-width:1000px) and (max-height:500px){body{background:radial-gradient(ellipse at 95% 10%,#bcdcf9 0,transparent 42%),radial-gradient(ellipse at 0 50%,#dbd0f4 0,transparent 45%),linear-gradient(160deg,#edf3fb,#e2edf9);background-attachment:fixed}.sidebar{inset:auto 12px max(12px,env(safe-area-inset-bottom)) 12px;width:auto;height:76px;display:block;padding:7px;border-radius:29px;background:rgba(247,250,255,.73);border:1px solid #ffffffea;box-shadow:0 8px 36px #324d7930,inset 0 1px 1px #fff;backdrop-filter:blur(30px) saturate(180%);-webkit-backdrop-filter:blur(30px) saturate(180%)}.sidebar .brand,.window-controls,.nav-label,.sidebar-bottom{display:none}nav{display:grid;grid-template-columns:repeat(5,1fr);gap:2px;height:100%}nav button{flex-direction:column;justify-content:center;gap:5px;font-size:9px;letter-spacing:-.15px;padding:7px 2px;border-radius:22px;color:#687994;font-weight:600}nav button span{width:22px;height:22px}nav svg{width:22px;height:22px}nav button.active{background:linear-gradient(145deg,#ffffffea,#dbeaffbd);color:#007aff;box-shadow:inset 0 1px 0 #fff,0 3px 10px #4373b216}main{margin:0;padding:0 20px 110px;width:100%}.topbar{height:64px;padding:0 2px}.breadcrumb{font-size:11px}.breadcrumb:before{content:'↗';display:inline-grid;place-items:center;width:26px;height:26px;margin-right:9px;border-radius:9px;color:white;background:linear-gradient(135deg,#47a6ff,#007aff);font-size:21px;vertical-align:middle}.breadcrumb span{margin:0 8px}.top-right{gap:8px}.utc{font-size:10px}.avatar{display:none}.content{padding:16px 0 0}.page-heading{gap:12px;margin-bottom:24px;align-items:flex-start}.eyebrow{font-size:9px;letter-spacing:1.4px}h1{font-size:32px;line-height:1.12;letter-spacing:-1.3px;max-width:330px;margin:10px 0}.page-heading p{font-size:12px;max-width:300px}.page-heading .secondary{height:38px;width:38px;padding:0;flex-shrink:0;border-radius:50%;font-size:17px;margin-top:24px}.page-heading .secondary span{display:none}.toolbar{flex-direction:column;align-items:stretch;gap:12px;margin-bottom:19px}.toolbar form{max-width:none;border-radius:20px;padding:5px 5px 5px 13px}.toolbar input{font-size:13px}.toolbar .button{padding:12px 13px;border-radius:15px;font-size:11px;gap:8px}.toolbar #feed-status{font-size:10px;padding-left:4px}.airport-links{font-size:10px;gap:7px;margin-bottom:16px}.airport-links a{padding:7px 10px}.hero-grid,.bottom-grid{grid-template-columns:1fr;gap:16px}.weather-hero{border-radius:28px;min-height:325px;padding:25px;background:radial-gradient(ellipse at 90% 0%,#aed3ff6b,transparent 60%),linear-gradient(145deg,#6296e3,#3465b0 70%,#305796);box-shadow:0 12px 30px #2e5da521,inset 0 1px 0 #ffffff80}.airport-code{font-size:26px}.airport-name{font-size:11px;line-height:1.5;max-width:90%}.weather-picture{width:210px;right:0;top:92px}.hero-temperature{font-size:76px;margin-top:27px;font-weight:300}.hero-condition{font-size:12px}.hero-metrics{margin-top:30px;padding-top:19px;gap:8px}.hero-metrics strong{font-size:13px}.hero-metrics small{font-size:8px;letter-spacing:.7px}.panel,.airport-card,.metric,.period,.table-wrap,.empty{border-radius:23px;background:#ffffffa3}.panel{padding:22px}.status-panel{padding:21px}.status-panel>p{margin-bottom:0}.stats{margin:18px 0}.stats strong{font-size:30px}.feed-row{padding:11px 0}.section-head{margin:26px 0 14px}.section-head h2{font-size:17px}.text-button{font-size:10px;padding:8px 10px}.cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.airport-card{padding:17px}.cards .airport-card:last-child:nth-child(odd){grid-column:1/-1}.card-head strong{font-size:18px}.card-head .badge{font-size:8px;padding:5px 6px;border-radius:6px}.card-city{font-size:10px}.card-weather{margin:15px 0}.card-weather strong{font-size:34px}.card-weather img{width:63px;height:57px}.card-bottom{flex-wrap:wrap;font-size:9px;gap:7px;padding-top:12px}.cards .airport-card:last-child:nth-child(odd) .card-weather img{width:110px}.metrics-grid{gap:12px;margin:18px 0}.metric{padding:19px}.metric strong{font-size:24px}.metric label{font-size:9px}.metric p{font-size:10px}.period{grid-template-columns:1fr;gap:16px;padding:21px}.period-time{border-right:0;border-bottom:1px solid var(--border);padding:0 0 14px;display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px}.period-time .eyebrow{width:100%}.period-time strong{margin:0}.period-values{gap:16px}.period-values span{font-size:12px}.period-values small{font-size:8px}.period-content{gap:10px;align-items:flex-start}.period-clouds{font-size:10px}.flight-form{grid-template-columns:1fr;gap:15px}.flight-form .button{grid-column:auto}.route-banner{gap:16px}.route-banner strong{font-size:25px}.route-banner span{font-size:11px}.runway-recommendation{padding:18px 20px;gap:10px 14px;border-radius:21px}.runway-recommendation .eyebrow{width:100%}.runway-recommendation strong{font-size:28px}.runway-recommendation>span:last-child{font-size:10px;line-height:1.6}.runway-panel{padding:21px 17px}.runway-panel td,.runway-panel th{padding:14px 10px}.runway-note{font-size:10px!important}.raw{font-size:10px;padding:14px}.brief-title{flex-wrap:wrap}.cloud-layer{font-size:11px}.filter-row select{font-size:11px}.filter-row .updated{width:100%}footer{display:block;margin-top:26px;padding-bottom:5px;font-size:9px}footer>span,footer a{display:block;margin:5px 0}}
@media(max-width:370px){main{padding-left:14px;padding-right:14px}.airport-card{padding:13px}.card-weather img{width:48px}.hero-metrics strong{font-size:11px}h1{font-size:29px}.weather-picture{width:185px}}
@media(prefers-reduced-motion:reduce){*,*:before{transition:none!important;animation:none!important}}@supports not (backdrop-filter:blur(1px)){.sidebar,.panel,.airport-card,.period,.metric{background:#f7f9fc}}
@media (max-width:800px), (max-width:1000px) and (max-height:500px){.toolbar input,.flight-form input{font-size:16px}.filter-row select{font-size:16px}.sidebar nav button{min-height:44px}}
/* Mobile liquid-glass dock: the content remains visible through the optical surface. */
@media (max-width:800px), (max-width:1000px) and (max-height:500px){
.sidebar{height:72px;inset:auto 16px max(14px,env(safe-area-inset-bottom)) 16px;padding:5px;border-radius:38px;background:linear-gradient(180deg,rgba(255,255,255,.2),rgba(255,255,255,.06));border:1px solid rgba(255,255,255,.68);backdrop-filter:blur(15px) saturate(185%) brightness(1.06);-webkit-backdrop-filter:blur(15px) saturate(185%) brightness(1.06);box-shadow:0 12px 34px rgba(25,44,76,.19),0 3px 8px rgba(25,44,76,.07),inset 0 1px 1px rgba(255,255,255,.95),inset 0 -1px 1px rgba(255,255,255,.46);isolation:isolate;transition:transform .45s cubic-bezier(.22,1,.36,1),box-shadow .3s;}
.sidebar:before{content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:radial-gradient(ellipse at var(--glass-light,28%) 0%,rgba(255,255,255,.65),transparent 65%),linear-gradient(120deg,rgba(255,255,255,.16),transparent 35%,transparent 65%,rgba(255,255,255,.16));opacity:.6;z-index:0}
.sidebar:after{content:'';position:absolute;inset:1px;border-radius:inherit;pointer-events:none;border:1px solid rgba(255,255,255,.13);mask-image:linear-gradient(#000,transparent 42%,#000);-webkit-mask-image:linear-gradient(#000,transparent 42%,#000)}
.sidebar nav{position:relative;isolation:isolate;gap:0;touch-action:pan-y;--dock-index:0;--lens-scale:1;}
.sidebar nav:before{content:'';position:absolute;top:0;bottom:0;left:0;width:20%;border-radius:33px;background:linear-gradient(155deg,rgba(255,255,255,.5),rgba(255,255,255,.12) 55%,rgba(255,255,255,.26));border:1px solid rgba(255,255,255,.55);box-shadow:inset 0 1px 2px #ffffffc9,inset 0 -1px 2px #ffffff70,0 3px 9px #305a8a12;backdrop-filter:blur(4px) saturate(140%);-webkit-backdrop-filter:blur(4px) saturate(140%);transform:translateX(calc(var(--dock-index)*100%)) scale(var(--lens-scale));transition:transform .58s cubic-bezier(.22,1.28,.36,1),background .3s;z-index:-1;pointer-events:none}
.sidebar nav button{position:relative;background:transparent!important;box-shadow:none!important;border:0;border-radius:32px;padding:6px 1px;gap:4px;font-size:9px;font-weight:600;color:#3e5069;transition:color .2s,transform .35s cubic-bezier(.22,1.4,.36,1);text-shadow:0 1px 1px #ffffff80;user-select:none;-webkit-user-select:none}
.sidebar nav button.active{color:#006deb}.sidebar nav button:hover:not(.active){color:#1d3e65}.sidebar nav button:active{transform:scale(.88)}
.sidebar nav button span{height:24px;width:24px;transition:transform .4s cubic-bezier(.22,1.5,.36,1);filter:drop-shadow(0 1px 1px #ffffff55)}.sidebar nav svg{width:23px;height:23px;stroke-width:1.8}
.sidebar nav button.active span{animation:dock-icon-arrive .55s cubic-bezier(.22,1.4,.36,1)}
.sidebar.dock-touch{transform:translateY(-2px);box-shadow:0 15px 38px #192c4c29,inset 0 1px 1px #fffffff0,inset 0 -1px 1px #ffffff80}.sidebar.dock-touch nav{--lens-scale:1.08}
#view{animation:weather-arrive .35s cubic-bezier(.22,1,.36,1) both}
@keyframes dock-icon-arrive{0%{transform:translateY(2px) scale(.85)}55%{transform:translateY(-2px) scale(1.12)}100%{transform:translateY(0) scale(1)}}
@keyframes weather-arrive{from{opacity:.5;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
}
@media(prefers-reduced-transparency:reduce){.sidebar{background:rgba(244,248,255,.97)}}
@media(prefers-reduced-motion:reduce){.sidebar nav:before,.sidebar nav button,.sidebar nav button span,.sidebar{transition:none!important;animation:none!important}#view{animation:none!important}}
.install-card{display:flex;align-items:center;gap:14px;border:1px solid #ffffffcf;border-radius:20px;background:#ffffff79;box-shadow:0 6px 22px #25436b08;padding:16px 18px;margin:0 0 20px}.install-card img{border-radius:11px;box-shadow:0 3px 8px #007aff24;flex-shrink:0}.install-card>div{flex:1}.install-card strong{font-size:12px;font-weight:650}.install-card p{font-size:11px;line-height:1.6;color:#62758d;margin:4px 0}.install-card small{color:#527c72;font-size:10px;line-height:1.6;display:block}.install-dismiss{align-self:flex-start;border:0;background:#ffffff60;border-radius:50%;color:#71839a;width:28px;height:28px;font-size:20px;flex-shrink:0}.offline-dot{display:inline-block;background:#c98b25;width:6px;height:6px;border-radius:50%;margin-right:7px}
@media (max-width:800px), (max-width:1000px) and (max-height:500px){.sidebar{height:74px;max-width:480px;margin:0 auto;padding:6px;border-radius:40px;background:linear-gradient(180deg,#ffffff38,#ffffff12);backdrop-filter:blur(22px) saturate(155%);-webkit-backdrop-filter:blur(22px) saturate(155%);border-color:#ffffff80;box-shadow:0 8px 24px #1c324029,inset 0 1px 1px #ffffffe6,inset 0 -1px 1px #ffffff4d}.sidebar:before{opacity:.38}.sidebar nav:before{background:linear-gradient(165deg,#ffffff7a,#ffffff28 65%,#ffffff45);border-color:#ffffff65;box-shadow:inset 0 1px 2px #ffffffc9,inset 0 -1px 2px #ffffff55,0 2px 7px #2444630f;backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px)}.sidebar nav button{font-size:10px;color:#263d59;text-shadow:0 1px 2px #ffffff8c}.sidebar nav button.active{color:#005bc9}.sidebar nav button.active span{filter:drop-shadow(0 2px 5px #007aff20)}.install-card{gap:11px;padding:14px;border-radius:22px;align-items:flex-start}.install-card .button{padding:9px 11px;font-size:10px}.install-card p{font-size:10px}main{padding-top:env(safe-area-inset-top)}}
@media(display-mode:standalone){.topbar{padding-top:5px}#install-area{display:none}}
.toolbar form{padding:5px 5px 5px 16px}.toolbar input{padding:10px 0}.toolbar input:focus-visible{outline:none}.toolbar form:focus-within{border-color:rgba(104,122,145,.38);box-shadow:0 0 0 2px rgba(104,122,145,.08),inset 0 1px 0 #fff}.toolbar .search-button{width:44px;height:44px;padding:0;flex:0 0 44px;border-radius:14px;background:rgba(255,255,255,.5);color:#52647a;border:1px solid rgba(255,255,255,.75);box-shadow:inset 0 1px 0 #fff}.toolbar .search-button:hover{background:rgba(255,255,255,.85);box-shadow:0 3px 10px #3044630d}.search-button svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;display:block}
.brandmark{background:none;overflow:hidden;box-shadow:0 3px 10px #32496320}.brandmark img{display:block;width:100%;height:100%;object-fit:cover}@media (max-width:800px), (max-width:1000px) and (max-height:500px){.breadcrumb:before{content:'';background:url('/icons/cloud-192.png') center/cover no-repeat;box-shadow:0 2px 7px #32496318}}
#offline-indicator{color:#947444;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px}#offline-indicator[hidden]{display:none}#offline-indicator svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}#feed-status{display:none}body[data-tab="Dashboard"] #install-area{display:none}.watchlist-reports{display:grid;gap:16px}.watchlist-report{padding:24px}.watchlist-head{display:flex;justify-content:space-between;gap:16px;align-items:center}.watchlist-head h2{font-size:21px;letter-spacing:.2px;margin:0;font-weight:650}.watchlist-head p{margin:5px 0 0;font-size:11px}.watchlist-report .raw{font-size:13px;line-height:1.8;background:rgba(255,255,255,.25);padding:18px;margin:18px 0;border:1px solid #ffffff80;color:#344d69}.watchlist-actions{display:flex;align-items:center;justify-content:space-between;gap:14px}.watchlist-actions .button{font-size:11px;padding:10px 14px}.delete-airport{width:40px;height:40px;display:grid;place-items:center;background:rgba(255,255,255,.35);border:1px solid #ffffffa0;border-radius:50%;color:#8090a4;flex-shrink:0}.delete-airport:hover{background:#fff0ef;color:#ba5352}.delete-airport svg{height:18px;width:18px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}@media (max-width:800px), (max-width:1000px) and (max-height:500px){.watchlist-report{padding:20px}.watchlist-report .raw{font-size:12px;padding:15px}.watchlist-actions{align-items:center;gap:10px}.watchlist-actions .updated{font-size:9px}.watchlist-actions .button{white-space:nowrap;padding:10px 12px;font-size:10px}}
html{touch-action:pan-x pan-y}.watchlist-code{display:flex;align-items:center;gap:11px}.watchlist-code .badge{font-size:10px;padding:6px 10px;border-radius:9px}.toolbar input,.flight-form input{font-size:16px}
.report-label{font-size:10px;font-weight:650;letter-spacing:1px;color:#72849c;margin-top:18px}.watchlist-report .report-label+.raw{margin-top:9px}.watchlist-taf{border-top:1px solid var(--border);margin-top:19px;padding-top:1px}
/* Compact combined METAR / TAF watchlist cards. */
.watchlist-reports{gap:12px}.watchlist-report{padding:18px 20px}.watchlist-head h2{font-size:19px}.watchlist-head p{font-size:10px;margin-top:3px}.watchlist-code{gap:9px}.watchlist-code .badge{padding:4px 7px;font-size:9px;border-radius:7px}.delete-airport{width:34px;height:34px}.report-label{margin-top:12px;font-size:9px}.watchlist-report .raw{font-size:12px;line-height:1.65;padding:11px 13px;margin:7px 0 10px;border-radius:10px}.watchlist-report .report-label+.raw{margin-top:6px}.watchlist-actions .button{padding:7px 10px;min-height:34px;font-size:10px;gap:7px;border-radius:10px}.watchlist-actions .updated{font-size:9px}.watchlist-taf{margin-top:12px}.watchlist-taf .report-label{margin-top:10px}@media (max-width:800px), (max-width:1000px) and (max-height:500px){.watchlist-report{padding:15px 16px;border-radius:20px}.watchlist-report .raw{font-size:11px;line-height:1.6;padding:10px 11px}.watchlist-head h2{font-size:18px}.watchlist-head p{font-size:10px}.watchlist-actions .button{padding:7px 10px;font-size:10px;min-height:36px}.delete-airport{width:36px;height:36px}.watchlist-reports{gap:11px}}
.history-reports{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.history-report{min-width:0;padding:20px}.history-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.history-head h3{font-size:14px;margin:8px 0 0}.history-metrics{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin:20px 0}.history-metrics small{display:block;font-size:9px;letter-spacing:.8px;color:#7b8da5;margin-bottom:6px}.history-metrics span{font-size:12px;color:#405777}.history-original{border-top:1px solid var(--border);padding-top:6px}.history-original summary{display:flex;align-items:center;justify-content:space-between;min-height:44px;color:#526e91;font-size:12px;list-style:none}.history-original summary::-webkit-details-marker{display:none}.history-original summary span{transition:transform .25s;font-size:19px}.history-original[open] summary span{transform:rotate(180deg)}.history-original .raw{margin-top:0;font-size:12px;white-space:normal;overflow-wrap:anywhere;word-break:normal;max-width:100%;line-height:1.8}
@media (max-width:800px), (max-width:1000px) and (max-height:500px){
.history-reports{grid-template-columns:minmax(0,1fr);gap:12px}.history-report{padding:20px}.history-original .raw{font-size:11px;padding:14px}
.sidebar{height:76px;inset:auto 14px max(14px,env(safe-area-inset-bottom)) 14px;padding:6px;border-radius:42px;background:linear-gradient(170deg,#ffffff24,#ffffff0d 60%,#ffffff20);border:1px solid #ffffff9e;backdrop-filter:blur(18px) saturate(165%);-webkit-backdrop-filter:blur(18px) saturate(165%);box-shadow:0 10px 35px #152c4926,0 2px 5px #152c4912,inset 0 1px 1px #ffffffe6,inset 0 -1px 1px #ffffff75;overflow:visible}
.sidebar:before{background:radial-gradient(ellipse at var(--glass-light,30%) 0%,#ffffffbf,transparent 60%);opacity:.38;transition:opacity .2s}
.sidebar nav{touch-action:none;--lens-y:0px;--lens-stretch:1}
.sidebar nav:before{border-radius:36px;background:linear-gradient(160deg,#ffffff6b,#ffffff15 50%,#ffffff3b);border:1px solid #ffffff99;box-shadow:inset 0 1px 3px #fffffff0,inset 0 -1px 2px #ffffff80,0 3px 10px #31537618;backdrop-filter:blur(7px) saturate(130%);-webkit-backdrop-filter:blur(7px) saturate(130%);transform:translate3d(calc(var(--dock-index)*100%),var(--lens-y),0) scaleX(calc(var(--lens-scale)*var(--lens-stretch))) scaleY(var(--lens-scale));transition:transform .6s cubic-bezier(.18,1.32,.35,1);will-change:transform}
.sidebar.dock-touch nav:before{transition:none}.sidebar.dock-touch{transform:translateY(-3px);--lens-scale:1.07}.sidebar.dock-held{transform:translateY(-6px) scale(1.025);box-shadow:0 15px 42px #152c4935,inset 0 1px 2px #fff,inset 0 -1px 1px #ffffffa6}.sidebar.dock-held nav{--lens-scale:1.14}
.sidebar nav button:active{transform:none}.sidebar.dock-touch nav button.active{color:#3e5069}.sidebar.dock-touch nav button.dock-preview{color:#0062dd}.sidebar nav button.dock-preview span{transform:translateY(-3px) scale(1.15)}.sidebar nav button span{transition:transform .25s cubic-bezier(.2,1.5,.4,1)}.sidebar nav button{min-height:50px}.sidebar.dock-touch nav button{transition:color .1s}
}
@media(prefers-reduced-motion:reduce){.sidebar.dock-touch,.sidebar.dock-held{transform:none}.sidebar nav:before{transition:none!important}.sidebar nav button.dock-preview span{transform:none}.history-original summary span{transition:none}}
.period{grid-template-columns:225px 1fr}.forecast-range{display:grid;grid-template-columns:1fr 20px 1fr;align-items:center;gap:12px;margin-top:18px}.forecast-range small{display:block;font-size:8px;font-weight:650;letter-spacing:1px;color:#8090a5}.forecast-range strong{display:block;font-size:25px!important;font-weight:550;margin:7px 0 4px!important;letter-spacing:-.8px;line-height:1.1}.forecast-range div>span{display:block;font-size:11px;color:#6c7e96}.range-arrow{font-size:18px;color:#97a6ba}.range-caption{font-size:9px;color:#8090a5;margin-top:12px}.period-time{min-width:0}
@media (max-width:800px), (max-width:1000px) and (max-height:500px){.period{grid-template-columns:1fr}.period-time{display:block;padding-bottom:18px}.forecast-range{grid-template-columns:1fr 30px 1fr;gap:18px;margin-top:16px}.forecast-range strong{font-size:29px!important}.range-caption{margin-top:13px}.sidebar{height:68px;padding:4px;inset:auto 18px max(12px,env(safe-area-inset-bottom)) 18px;border-radius:37px;background:linear-gradient(160deg,#ffffff30,#ffffff0a 48%,#ffffff20);border:1px solid #ffffffb3;backdrop-filter:blur(12px) saturate(140%) brightness(1.04);-webkit-backdrop-filter:blur(12px) saturate(140%) brightness(1.04);box-shadow:0 8px 24px #25385420,inset 0 1px 1px #fffffff0,inset 0 -1px 1px #ffffff70}.sidebar:before{opacity:.25}.sidebar nav:before{background:linear-gradient(155deg,#ffffff85,#ffffff28 55%,#ffffff5c);border-color:#ffffff8c;box-shadow:inset 0 1px 2px #ffffffec,inset 0 -1px 1px #ffffff70,0 2px 5px #293f5810}.sidebar nav button{font-size:9px;font-weight:550;gap:3px;padding:5px 0;color:#526071;text-shadow:0 1px 1px #ffffff88}.sidebar nav button span{width:23px;height:23px}.sidebar nav svg{height:22px;width:22px;stroke-width:1.65}.sidebar nav button.active,.sidebar.dock-touch nav button.dock-preview{color:#007aff}.sidebar.dock-held{transform:translateY(-4px) scale(1.015)}}
/* Optical material refinement only: existing dock geometry and gesture state are preserved. */
@media (max-width:800px), (max-width:1000px) and (max-height:500px){
.sidebar{background:linear-gradient(180deg,rgba(255,255,255,.13),rgba(255,255,255,.035) 55%,rgba(255,255,255,.075));border-color:rgba(255,255,255,.36);border-top-color:rgba(255,255,255,.72);border-bottom-color:rgba(255,255,255,.22);backdrop-filter:blur(21px) saturate(158%) brightness(1.065);-webkit-backdrop-filter:blur(21px) saturate(158%) brightness(1.065);box-shadow:0 10px 28px rgba(21,35,53,.16),0 2px 5px rgba(21,35,53,.04),inset 0 1px 1px rgba(255,255,255,.78),inset 0 -1px 1px rgba(255,255,255,.2);transition:transform .42s cubic-bezier(.2,1.18,.35,1),box-shadow .25s}
.sidebar:before{background:radial-gradient(ellipse at var(--glass-light,32%) 0%,rgba(255,255,255,.6),transparent 62%),linear-gradient(115deg,rgba(255,255,255,.09),transparent 36%,rgba(255,255,255,.035) 68%,transparent);opacity:.23;transition:opacity .22s}
.sidebar:after{border-color:rgba(255,255,255,.2);background:linear-gradient(180deg,rgba(255,255,255,.1),transparent 18%,transparent 80%,rgba(255,255,255,.025));opacity:.7}
.sidebar nav:before{background:linear-gradient(165deg,rgba(255,255,255,.29),rgba(255,255,255,.075) 52%,rgba(255,255,255,.13));border:1px solid rgba(255,255,255,.38);border-top-color:rgba(255,255,255,.73);border-bottom-color:rgba(255,255,255,.25);backdrop-filter:blur(9px) saturate(145%) brightness(1.09);-webkit-backdrop-filter:blur(9px) saturate(145%) brightness(1.09);box-shadow:inset 0 1px 2px rgba(255,255,255,.72),inset 0 -1px 1px rgba(255,255,255,.24),0 2px 6px rgba(34,51,71,.055);transition:transform .44s cubic-bezier(.2,1.12,.34,1);transform-origin:center;will-change:transform}
.sidebar nav button span{opacity:.77;transform:translateY(0) scale(1);animation:none!important;transition:transform .44s cubic-bezier(.2,1.12,.34,1),opacity .3s}
.sidebar nav button.active span{opacity:1;transform:translateY(-1px) scale(1.075)}
.sidebar.dock-touch nav button.active span{opacity:.77;transform:none}
.sidebar.dock-touch nav button.dock-preview span{opacity:1;transform:translateY(-1px) scale(1.08)}
.sidebar nav button:active{transform:scale(.97)}
.sidebar.dock-touch:before{opacity:.34}.sidebar.dock-touch nav:before{transition:none;animation:none!important;scale:1}
.sidebar.dock-held{box-shadow:0 12px 30px rgba(21,35,53,.19),inset 0 1px 2px rgba(255,255,255,.9),inset 0 -1px 1px rgba(255,255,255,.25)}
.sidebar nav:has(button:nth-child(1).active):before{animation:glass-settle-1 .44s ease-out both}
.sidebar nav:has(button:nth-child(2).active):before{animation:glass-settle-2 .44s ease-out both}
.sidebar nav:has(button:nth-child(3).active):before{animation:glass-settle-3 .44s ease-out both}
.sidebar nav:has(button:nth-child(4).active):before{animation:glass-settle-4 .44s ease-out both}
.sidebar nav:has(button:nth-child(5).active):before{animation:glass-settle-5 .44s ease-out both}
@keyframes glass-settle-1{0%{scale:1}35%{scale:1.055 .97}76%{scale:.99 1.015}100%{scale:1}}
@keyframes glass-settle-2{0%{scale:1}35%{scale:1.055 .97}76%{scale:.99 1.015}100%{scale:1}}
@keyframes glass-settle-3{0%{scale:1}35%{scale:1.055 .97}76%{scale:.99 1.015}100%{scale:1}}
@keyframes glass-settle-4{0%{scale:1}35%{scale:1.055 .97}76%{scale:.99 1.015}100%{scale:1}}
@keyframes glass-settle-5{0%{scale:1}35%{scale:1.055 .97}76%{scale:.99 1.015}100%{scale:1}}
}
@media(prefers-reduced-motion:reduce){.sidebar nav:before{animation:none!important;scale:1;transition:none!important}.sidebar nav button span{transition:none!important}.sidebar nav button:active{transform:none}}
@media(prefers-reduced-transparency:reduce){.sidebar{background:rgba(247,250,255,.96)}}
@media (max-width:800px), (max-width:1000px) and (max-height:500px){.sidebar nav button,.sidebar.dock-touch nav button.active{color:#293d55}.sidebar nav button.active,.sidebar.dock-touch nav button.dock-preview{color:#003f91}.sidebar nav button span{opacity:.9}.sidebar nav button.active span,.sidebar.dock-touch nav button.dock-preview span{opacity:1}}
@media (max-width:800px), (max-width:1000px) and (max-height:500px){.sidebar nav:before{box-sizing:border-box}}
/* Short phone viewports retain the mobile shell rather than the desktop sidebar. */
@media(max-width:1000px) and (max-height:500px) and (orientation:landscape){
main{padding-left:max(20px,env(safe-area-inset-left));padding-right:max(20px,env(safe-area-inset-right));padding-bottom:calc(85px + env(safe-area-inset-bottom));padding-top:env(safe-area-inset-top)}
.topbar{height:42px}.content{padding-top:10px}.page-heading{margin-bottom:16px;align-items:center}.page-heading .eyebrow{display:none}h1{font-size:26px;max-width:none;margin:4px 0 7px}.page-heading p{max-width:none;font-size:11px}.page-heading .secondary{margin-top:0}.toolbar{margin-bottom:15px}.toolbar form{max-width:none}.sidebar{height:60px;left:max(18px,env(safe-area-inset-left));right:max(18px,env(safe-area-inset-right));bottom:max(8px,env(safe-area-inset-bottom));max-width:480px}.sidebar nav button{min-height:44px;padding:3px 0;gap:2px}.sidebar nav button span{height:21px;width:21px}.sidebar nav svg{height:20px;width:20px}.watchlist-report{padding:16px 18px}.history-reports{grid-template-columns:repeat(2,minmax(0,1fr))}.metrics-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.metric{padding:15px}.metric strong{font-size:21px}.period{grid-template-columns:215px minmax(0,1fr);gap:20px}.period-time{border-bottom:0;border-right:1px solid var(--border);padding-bottom:0;padding-right:16px}.forecast-range{gap:10px;grid-template-columns:1fr 18px 1fr}.forecast-range strong{font-size:25px!important}.period-values{gap:14px}.period-values span{font-size:11px}.flight-form{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.flight-form .button{grid-column:1/-1}.route-banner{margin:20px 0}.install-card{padding:12px 16px}.runway-panel{overflow:hidden}.weather-picture{width:210px}.hero-metrics strong{font-size:14px}
}

.flight-planner{padding:28px}.flight-planner-head h2{margin:8px 0}.flight-planner-head p,.flight-delivery p{color:var(--muted);font-size:13px;line-height:1.6}.flight-airports{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.flight-schedule{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:20px 0}.flight-planner label{display:block;font-size:13px;margin-bottom:8px}.flight-planner input:not([type=checkbox]){box-sizing:border-box;width:100%;min-width:0;padding:13px;border-radius:14px;border:1px solid rgba(90,115,145,.2);background:rgba(255,255,255,.55);color:inherit;font:16px system-ui}.enroute-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.enroute-heading h3{font-size:15px}.enroute-input{display:flex;gap:10px;margin-bottom:10px}.enroute-input input{flex:1}.flight-delivery{border-top:1px solid var(--border);padding-top:20px;margin:20px 0}.flight-planner .email-optin{display:flex;align-items:center;gap:10px;line-height:1.5}.email-optin input{width:18px;height:18px}.monitor-status{padding:14px;border-radius:14px;background:rgba(255,255,255,.4);font-size:13px}.flight-saved-route{display:flex;justify-content:space-between;gap:15px;margin:24px 0}.flight-saved-route strong,.flight-saved-route span{display:block}.flight-saved-route strong{font-size:23px}.flight-saved-route span{font-size:12px;margin-top:7px}.flight-brief{padding:24px;margin-bottom:18px;min-width:0}.brief-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:15px}.brief-title h3{margin:8px 0;font-size:18px}.flight-brief details{border-top:1px solid var(--border);padding-top:14px;margin-top:16px}.flight-brief summary{cursor:pointer;font-size:14px;font-weight:600}.flight-brief .timeline,.flight-brief .runway-panel{margin-top:16px}.flight-brief .raw{overflow-wrap:anywhere;white-space:pre-wrap}.flight-brief .period{padding:18px}
@media(max-width:600px){.flight-planner{padding:20px}.flight-airports{grid-template-columns:1fr;gap:14px}.flight-schedule{grid-template-columns:1fr}.flight-saved-route{flex-direction:column}.flight-brief{padding:18px}.brief-title h3{font-size:16px}.flight-save{width:100%}}

.flight-list-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:22px}.flight-list-heading h2{margin:0}.flight-list-card{width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:23px;margin-bottom:14px;text-align:left;color:inherit;cursor:pointer;font:inherit}.flight-list-card strong{display:block;font-size:22px}.flight-list-card span{display:block;font-size:12px;margin-top:8px;color:var(--muted)}.flight-status{white-space:nowrap}.flight-empty,.flight-detail{padding:24px;margin:18px 0}.flight-detail p{font-size:13px;line-height:1.7;overflow-wrap:anywhere}.flight-message{padding:14px 0;border-top:1px solid var(--border)}.flight-message summary{cursor:pointer;font-size:13px}.flight-message pre{white-space:pre-wrap;overflow-wrap:anywhere;font:13px/1.7 ui-monospace,monospace}.flight-sheet{box-sizing:border-box;width:min(680px,calc(100% - 40px));max-height:85dvh;padding:0;border:1px solid rgba(255,255,255,.7);border-radius:28px;background:rgba(246,249,253,.97);color:#24354a;box-shadow:0 30px 90px rgba(15,30,50,.25);overflow:auto;overscroll-behavior:contain;animation:flight-popup .25s cubic-bezier(.2,.8,.2,1)}.flight-sheet::backdrop{background:rgba(15,25,45,.3);backdrop-filter:blur(5px)}.flight-sheet>header{position:sticky;top:0;z-index:2;background:rgba(246,249,253,.95);display:flex;align-items:center;justify-content:space-between;padding:16px 24px;border-bottom:1px solid rgba(90,115,145,.12)}.flight-sheet>header h2{margin:0;font-size:20px}.flight-sheet>header button{width:34px;height:34px;border:0;border-radius:50%;background:rgba(90,115,145,.1);font-size:24px;color:inherit;cursor:pointer}.flight-sheet .flight-planner{margin:0;border:0;box-shadow:none;background:transparent}.sheet-handle{display:none}body:has(.flight-sheet[open]){overflow:hidden}@keyframes flight-popup{from{opacity:0;transform:translateY(18px) scale(.97)}to{opacity:1;transform:none}}
@media(max-width:800px),(max-width:1000px) and (max-height:500px){.flight-sheet{position:fixed;inset:auto 0 0;margin:0;width:100%;max-height:92dvh;border-radius:28px 28px 0 0;padding-bottom:env(safe-area-inset-bottom);animation:flight-sheet-in .38s cubic-bezier(.22,1,.36,1)}.sheet-handle{display:block;width:36px;height:5px;border-radius:4px;background:rgba(40,55,75,.25);margin:10px auto 0}.flight-sheet>header{padding:12px 20px}.flight-list-card{padding:18px}.flight-list-card strong{font-size:19px}.flight-list-heading h2{font-size:21px}}@keyframes flight-sheet-in{from{transform:translateY(100%)}to{transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.flight-sheet{animation:none}}

.sheet-handle{touch-action:none;cursor:grab}#flight-sheet-notice .notice{margin:12px 20px}

.flight-list-row{position:relative}.flight-list-row .flight-list-card{padding-right:65px}.flight-delete-icon{position:absolute;right:14px;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:38px;height:38px;border:0;border-radius:50%;background:rgba(195,45,55,.07);color:#b92d38;cursor:pointer}.flight-delete-icon:hover{background:rgba(195,45,55,.14)}.flight-delete-icon:disabled{opacity:.5}.flight-detail-actions{display:flex;justify-content:space-between;align-items:center;gap:15px}.flight-delete-text{color:#b92d38}

/* One transform animation owns the sheet; dragging never inherits a transition. */
.flight-sheet{animation:none!important;transition:none;transform:translate3d(0,0,0);will-change:transform}.flight-sheet::backdrop{transition:opacity .28s ease}.flight-sheet.sheet-closing::backdrop{opacity:0}.sheet-dragging{user-select:none}.flight-sheet .sheet-handle{touch-action:none}
@media(max-width:800px),(max-width:1000px) and (max-height:500px){.flight-sheet #close-flight-sheet{display:none}.flight-sheet .sheet-handle{position:sticky;top:0;z-index:3;display:block;width:100%;height:30px;margin:0;border-radius:0;background:rgba(246,249,253,.98);cursor:grab}.flight-sheet .sheet-handle:before{content:'';position:absolute;left:50%;top:11px;transform:translateX(-50%);width:36px;height:5px;border-radius:4px;background:rgba(40,55,75,.25)}.flight-sheet>header{top:30px;padding-top:5px}}

@media(max-width:800px),(max-width:1000px) and (max-height:500px){.flight-sheet{max-width:100%;border-left:0;border-right:0}}

/* Keep scrolling inside the content, separate from the draggable sheet handle. */
.flight-sheet[open]{display:flex;flex-direction:column;overflow:hidden}.flight-sheet>header,.flight-sheet>.sheet-handle,.flight-sheet>#flight-sheet-notice{flex-shrink:0}.flight-sheet>header{position:relative;top:auto}.flight-sheet>.flight-planner{min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior-x:none;overscroll-behavior-y:contain;touch-action:pan-y;max-width:100%;box-sizing:border-box}.flight-sheet .flight-airports,.flight-sheet .flight-schedule,.flight-sheet #enroute-inputs,.flight-sheet .flight-delivery{min-width:0}.flight-sheet>.sheet-handle{position:relative;top:auto}.flight-sheet input{max-width:100%}
@media(max-width:800px),(max-width:1000px) and (max-height:500px){.flight-sheet{height:92dvh}.flight-sheet>header{top:auto}.flight-sheet>.flight-planner{flex:1}.flight-sheet>.sheet-handle{flex-basis:30px}}

/* App surfaces do not select text, drag artwork, or flash tap highlights. */
html,body,body *{-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}img,svg,a,button{-webkit-user-drag:none}input,textarea,[contenteditable=true]{-webkit-user-select:text;user-select:text;-webkit-touch-callout:default}

.content{overflow-x:clip}#view{transform-origin:center top}@media(prefers-reduced-motion:reduce){#view{transform:none!important}}

.flight-date-time{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;min-width:0}.flight-date-time>div{min-width:0}.flight-date-time input{height:48px;min-width:0;width:100%;font-size:16px}.flight-clock{font-variant-numeric:tabular-nums;letter-spacing:.06em}.flight-planner input[type=date]{appearance:none;-webkit-appearance:none;display:block;text-align:left}

.toolbar{gap:12px}.toolbar #refresh{flex-shrink:0;margin:0}.toolbar form{min-width:0}@media(max-width:800px),(max-width:1000px) and (max-height:500px){.toolbar #refresh{width:44px;height:44px;padding:0;display:grid;place-items:center}.toolbar #refresh span{display:none}.toolbar form{flex:1}}

.pull-refresh-indicator{display:none;position:fixed;top:env(safe-area-inset-top,0px);left:50%;z-index:60;width:38px;height:38px;border-radius:50%;background:rgba(249,252,255,.95);box-shadow:0 3px 16px rgba(30,50,80,.13);color:#526783;pointer-events:none;opacity:0;transform:translate3d(-50%,calc(var(--pull-offset,0px) - 36px),0);transition:transform .2s ease,opacity .15s ease}.pull-refresh-indicator.pull-visible{opacity:1}.pull-refresh-indicator.pull-ready{color:#154f96}.pull-refresh-indicator svg{transition:transform .15s ease}.pull-refresh-indicator.pull-ready svg{transform:rotate(180deg)}.pull-refresh-indicator.pull-loading svg{animation:pull-refresh-spin .8s linear infinite}@keyframes pull-refresh-spin{to{transform:rotate(360deg)}}
@media(max-width:800px),(max-width:1000px) and (max-height:500px){.toolbar #refresh{display:none}.pull-refresh-indicator{display:grid;place-items:center}html{overscroll-behavior-y:auto}.pull-refresh-indicator.pull-visible:not(.pull-loading){transition:opacity .1s ease}}
@media(prefers-reduced-motion:reduce){.pull-refresh-indicator,.pull-refresh-indicator svg{transition:none}.pull-refresh-indicator.pull-loading svg{animation:none}}

/* Native-style refresh: resistant content movement and a quiet, unboxed spinner. */
.pull-refresh-indicator{top:calc(54px + env(safe-area-inset-top,0px));width:28px;height:28px;background:transparent;box-shadow:none;color:#7e8794;transform:translate3d(-50%,calc(var(--pull-offset,0px) * .5 - 24px),0);opacity:0;transition:transform .32s cubic-bezier(.22,1,.36,1),opacity .2s ease}.pull-refresh-indicator.pull-visible{opacity:var(--pull-progress,1)}.pull-refresh-indicator.pull-loading{opacity:1}.pull-refresh-indicator.pull-dragging{transition:none!important}.pull-refresh-indicator svg,.pull-refresh-indicator.pull-ready svg,.pull-refresh-indicator.pull-loading svg{animation:none;transition:none;transform:none}.pull-refresh-indicator.pull-ready{color:#7e8794}.pull-loading .refresh-spoke{animation:refresh-spoke-fade 1s linear infinite}@keyframes refresh-spoke-fade{0%{opacity:1}100%{opacity:.15}}
@media(max-width:800px),(max-width:1000px) and (max-height:500px){.content{transition:transform .32s cubic-bezier(.22,1,.36,1)}.content.pull-dragging{transition:none}.pull-refresh-indicator.pull-visible:not(.pull-loading){transition:transform .32s cubic-bezier(.22,1,.36,1),opacity .2s ease}}
@media(prefers-reduced-motion:reduce){.content,.pull-refresh-indicator{transition:none!important}.pull-loading .refresh-spoke{animation:none}}

/* Pre-composite moving surfaces and shorten only the release, never the finger tracking. */
@media(max-width:800px),(max-width:1000px) and (max-height:500px){.content{will-change:transform;backface-visibility:hidden;transition:transform .24s cubic-bezier(.2,.8,.2,1)}.content.pull-dragging{transition:none!important}.pull-refresh-indicator{will-change:transform,opacity;transition:transform .24s cubic-bezier(.2,.8,.2,1),opacity .16s ease}.pull-refresh-indicator.pull-dragging{transition:none!important}.pull-refresh-indicator.pull-visible:not(.pull-loading){transition:transform .24s cubic-bezier(.2,.8,.2,1),opacity .16s ease}}

@media(max-width:800px),(max-width:1000px) and (max-height:500px){html,body,body *{scrollbar-width:none}html::-webkit-scrollbar,body::-webkit-scrollbar,body *::-webkit-scrollbar{display:none;width:0;height:0}}

.toolbar .search-button{touch-action:manipulation}@media(hover:none){.toolbar .search-button:hover{background:rgba(255,255,255,.6);box-shadow:inset 0 1px 0 #fff}.toolbar .search-button:active{transform:none}}

/* Readable original reports on the dashboard. */
.watchlist-report .raw{font-size:14px;line-height:1.65}
@media (max-width:800px), (max-width:1000px) and (max-height:500px){.watchlist-report .raw{font-size:13px;line-height:1.65}}

.watchlist-report{scroll-margin-top:20px}
.floating-search-launcher{display:none}
@media(max-width:800px),(max-width:1000px) and (max-height:500px){
 .toolbar{position:fixed;z-index:35;left:18px;right:18px;bottom:calc(max(16px,env(safe-area-inset-bottom)) + 82px);margin:0;display:flex;justify-content:flex-end;pointer-events:none}
 .toolbar form{display:none;pointer-events:auto;box-shadow:0 8px 30px #26354c20;backdrop-filter:blur(24px) saturate(160%);-webkit-backdrop-filter:blur(24px) saturate(160%);background:rgba(245,248,255,.78)}
 .toolbar .floating-search-launcher{display:grid;place-items:center;width:50px;height:50px;padding:0;border-radius:50%;pointer-events:auto;color:#52647a;background:rgba(245,248,255,.65);border:1px solid #ffffffb0;box-shadow:0 5px 20px #26354c18,inset 0 1px 0 #fff;backdrop-filter:blur(24px) saturate(160%);-webkit-backdrop-filter:blur(24px) saturate(160%)}
 .floating-search-launcher svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
 .toolbar.search-open{bottom:calc(var(--keyboard-lift,0px) + 12px)}
 .toolbar.search-open form{display:flex;max-width:none;width:100%;animation:search-appear .18s ease-out}
 .toolbar.search-open .floating-search-launcher{display:none}
 .content{padding-bottom:0}main{padding-bottom:calc(156px + env(safe-area-inset-bottom))}
 @keyframes search-appear{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
}
@media(prefers-reduced-motion:reduce){.toolbar.search-open form{animation:none}}

@media(max-width:800px),(max-width:1000px) and (max-height:500px){.toolbar .floating-search-launcher{align-self:center}}

.toolbar form .search-button{display:none}.toolbar form{padding-right:16px}
.search-focus-veil{display:none}
@media(max-width:800px),(max-width:1000px) and (max-height:500px){
 .search-focus-veil{display:block;position:fixed;inset:0;z-index:34;pointer-events:none;opacity:0;background:rgba(24,32,48,.18);backdrop-filter:blur(4px) saturate(110%);-webkit-backdrop-filter:blur(4px) saturate(110%);transition:opacity .28s cubic-bezier(.2,.8,.2,1)}
 .airport-input-open .search-focus-veil{opacity:1;pointer-events:auto}
 .toolbar.search-open form{position:relative;isolation:isolate;overflow:hidden;border-radius:29px;min-height:58px;padding:7px 23px;border:1px solid rgba(255,255,255,.75);background:linear-gradient(155deg,rgba(255,255,255,.46),rgba(242,247,255,.24));backdrop-filter:blur(28px) saturate(165%) brightness(1.1);-webkit-backdrop-filter:blur(28px) saturate(165%) brightness(1.1);box-shadow:0 12px 35px rgba(18,30,50,.2),inset 0 1px 1px rgba(255,255,255,.95),inset 0 -1px 1px rgba(255,255,255,.22);animation:search-glass-enter .28s cubic-bezier(.16,1,.3,1)}
 .toolbar.search-open form::before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(180deg,rgba(255,255,255,.28),transparent 42%,rgba(255,255,255,.04));border-radius:inherit}
 .toolbar.search-open form::after{content:'';position:absolute;top:1px;left:13%;right:13%;height:1px;pointer-events:none;background:linear-gradient(90deg,transparent,rgba(255,255,255,.9),transparent)}
 .toolbar.search-open input{color:#24344c;font-size:17px;letter-spacing:.4px;caret-color:#344965;min-height:42px;background:transparent}
 .toolbar.search-open input::placeholder{color:rgba(42,58,80,.62)}
 @keyframes search-glass-enter{from{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:none}}
}
@media(prefers-reduced-motion:reduce){.search-focus-veil{transition:none}.toolbar.search-open form{animation:none}}

.flight-form .flight-registration{grid-column:1/-1}
.flight-account{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px;font-size:12px;color:var(--muted)}.flight-account span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.auth-content{padding:24px}.auth-content>p{font-size:14px;line-height:1.6;color:#65748a}.auth-providers{display:grid;gap:12px;margin:22px 0}.auth-providers button{display:flex;align-items:center;justify-content:center;gap:12px;min-height:52px;border:1px solid #dbe2ee;border-radius:16px;background:#ffffffa0;color:#24354e;font-size:15px;font-weight:600}.auth-providers button:disabled{opacity:.5;cursor:default}.auth-providers small{font-size:10px;font-weight:400}.google-letter{font-size:21px;color:#4285f4;font-weight:700}.auth-divider{text-align:center;font-size:12px;color:#718096;margin:24px 0}.auth-form{display:grid;gap:14px}.auth-form label{font-size:12px;color:#61718a}.auth-form input{width:100%;height:52px;border:1px solid #dce3ee;border-radius:15px;background:rgba(255,255,255,.65);font-size:16px;padding:12px 16px;color:#27394f;text-transform:none!important}.auth-form #signin-code{letter-spacing:7px;font-variant-numeric:tabular-nums;text-align:center}.auth-form .button{min-height:50px}.auth-message{min-height:20px;font-size:13px;line-height:1.6;color:#775b30}.auth-content .auth-footnote{font-size:12px;color:#7a889c;margin-top:22px}.auth-sheet{max-width:470px}.auth-sheet .auth-content{min-height:0;overflow-y:auto}.auth-sheet[open]{max-height:90dvh}@media(max-width:800px),(max-width:1000px) and (max-height:500px){.auth-sheet{height:auto;max-height:90dvh}.auth-sheet .auth-content{padding:20px 22px max(24px,env(safe-area-inset-bottom))}.flight-account{font-size:11px}}

.empty-mobile-hint{display:none}.watchlist-empty h2{margin:0 0 12px}.watchlist-empty p{margin:0;line-height:1.6}
@media(max-width:800px),(max-width:1000px) and (max-height:500px){.watchlist-reports.is-empty{min-height:max(180px,calc(100dvh - 236px - env(safe-area-inset-top) - env(safe-area-inset-bottom)))}.watchlist-empty{display:flex;flex-direction:column;justify-content:center;padding:32px 24px}.empty-mobile-hint{display:block}.empty-desktop-hint{display:none}}

.profile-setup{max-width:520px;margin:auto;padding:28px}.profile-setup h2{margin-top:0}.profile-setup>p{line-height:1.6;color:var(--muted);font-size:14px}.profile-setup .auth-form{margin-top:24px}.flight-account span{flex:1}

.profile-title h2{margin-bottom:8px}.profile-title p,.profile-note{color:var(--muted);font-size:13px;line-height:1.6}.profile-setup .auth-form>div{display:grid;gap:8px}.profile-setup select{width:100%;min-height:52px;border:1px solid #dce3ee;border-radius:15px;background:#ffffffa6;padding:12px 16px;font-size:16px;color:#27394f}.profile-setup .profile-aircraft{grid-template-columns:1fr 1fr;gap:14px}.profile-aircraft>div{min-width:0;display:grid;gap:8px}.support-card{margin:22px auto 0;padding:24px;display:flex;flex-wrap:wrap;align-items:center;gap:16px;max-width:680px}.support-card>div{flex:1;min-width:180px}.support-card h3{margin:0 0 8px}.support-card p{margin:0;line-height:1.6;font-size:13px;color:var(--muted)}.support-card small{width:100%;font-size:12px;color:var(--muted);line-height:1.5}.support-symbol{font-size:32px;color:#92749f}.support-card button:disabled{opacity:.6;cursor:default}

.support-form{width:100%;display:grid;gap:8px}.support-form label{font-size:12px;color:var(--muted)}.support-form>div{display:flex;gap:12px}.support-form input{width:110px;min-width:0;min-height:48px;border:1px solid #ffffffb3;background:#ffffff80;border-radius:15px;padding:10px 14px;font-size:16px;color:var(--text)}.support-form .button{flex:1;min-height:48px}

.flight-loading{min-height:240px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;color:var(--muted)}.flight-loading p{margin:0;font-size:14px}.flight-loading-spinner{width:28px;height:28px;border:2px solid rgba(90,109,136,.16);border-top-color:#71829c;border-radius:50%;animation:flight-loading-spin .8s linear infinite}@keyframes flight-loading-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.flight-loading-spinner{animation:none}}

/* Follow the device appearance live, including native calendars and form controls. */
:root{color-scheme:light dark;--text:#202737}
@media(prefers-color-scheme:dark){
 :root{color:#f2f3f7;background:#090a0e;--text:#f2f3f7;--muted:#b0b7c5;--border:rgba(222,230,245,.13);--blue:#64aaff;--cat:#b0b7c5}
 body{background:radial-gradient(ellipse at 85% 0%,rgba(38,69,110,.28),transparent 48%),radial-gradient(ellipse at 0% 60%,rgba(69,43,91,.2),transparent 48%),linear-gradient(155deg,#101219,#08090d);background-attachment:fixed}
 .VFR{--cat:#65d5a0}.MVFR{--cat:#82b7ff}.IFR{--cat:#ff8791}.LIFR{--cat:#d3a0fa}.UNKNOWN{--cat:#bac3d2}
 .panel,.airport-card,.metric,.period,.table-wrap,.empty,.status-panel,.install-card{color:var(--text);background:rgba(30,32,41,.76);border-color:rgba(231,237,255,.13);box-shadow:0 8px 28px rgba(0,0,0,.2),inset 0 1px 0 rgba(255,255,255,.045)}
 .sidebar{background:rgba(27,29,37,.7);border-color:rgba(255,255,255,.13);box-shadow:0 16px 48px #0005,inset 0 1px 0 #ffffff12}
 .brand>span:last-child,.nav-label,.legend-title,.legend,.sidebar-bottom p,.source-label,.utc,.breadcrumb,.breadcrumb strong,.eyebrow,.updated,.report-label,.selected-label,.section-head p,.status-title span,.stats span,.card-city,.card-bottom,.metric label,.metric p,.cloud-layer,.period-time small,.period-values small,.period-clouds,.forecast-range small,.forecast-range div>span,.range-caption,.range-arrow,.history-metrics small,th,.auth-content>p,.auth-divider,.auth-form label,.auth-content .auth-footnote,.install-card p{color:var(--muted)}
 nav button{color:#c0c7d4}nav button:hover:not(.active){background:#ffffff0b;color:#85bcff}
 .button.secondary,.text-button,.delete-airport,.install-dismiss{background:rgba(255,255,255,.065);border-color:rgba(255,255,255,.14);color:#b9d6fa;box-shadow:inset 0 1px 0 #ffffff08}
 .button.secondary:hover,.text-button:hover{background:rgba(255,255,255,.12)}
 .delete-airport:hover,.flight-delete-icon:hover{background:#ff7e881c;color:#ff98a0}.flight-delete-text,.flight-delete-icon{color:#ff929c}.flight-delete-icon{background:#ff7e8810}
 .raw,.watchlist-report .raw{color:#e0e8f5;background:rgba(9,12,19,.38);border-color:rgba(255,255,255,.09)}
 .badge,.weather-hero .badge{background:color-mix(in srgb,var(--cat) 14%,#171b23);border-color:color-mix(in srgb,var(--cat) 28%,transparent);color:var(--cat)}
 .weather-hero{background:radial-gradient(ellipse at 90% 0%,#507c9e55,transparent 65%),linear-gradient(145deg,#253d60,#15253d 75%,#131e31);border-color:#a7c7f32b;box-shadow:0 12px 32px #0004,inset 0 1px 0 #ffffff1a}
 .weather-hero:after{background:linear-gradient(145deg,#ffffff09,transparent 48%)}
 .cloud-layer strong,.history-metrics span,td,td strong{color:#d6dfed}
 .runway-recommendation{background:linear-gradient(135deg,#223431cc,#19272ecc);border-color:#8be6bf30;color:#b3f3d2}.runway-recommendation strong{color:#ccf9e2}.runway-note{color:var(--muted)}
 .notice,.auth-message{background:#dba74610;border-color:#e8bb6330;color:#f2ce89}.auth-message{background:transparent;border:0}
 .avatar{background:linear-gradient(135deg,#35445a,#45394e);border-color:#ffffff25;color:#d8e2f0}
 .toolbar form,.toolbar.search-open form{background:linear-gradient(155deg,rgba(58,62,76,.72),rgba(28,32,43,.65));border-color:#ffffff29;box-shadow:0 12px 35px #0006,inset 0 1px 1px #ffffff2b,inset 0 -1px 1px #ffffff08;backdrop-filter:blur(28px) saturate(150%);-webkit-backdrop-filter:blur(28px) saturate(150%)}
 .toolbar form:focus-within{border-color:#a4b8d85c;box-shadow:0 0 0 2px #b2c5e012,inset 0 1px 0 #ffffff20}
 .toolbar input,.toolbar.search-open input{color:var(--text);caret-color:#a9ceff}.toolbar input::placeholder,.toolbar.search-open input::placeholder{color:#bdc5d3}
 .toolbar.search-open form::before{background:linear-gradient(180deg,#ffffff10,transparent 42%,#ffffff02)}.toolbar.search-open form::after{background:linear-gradient(90deg,transparent,#ffffff60,transparent)}
 .toolbar .floating-search-launcher,.toolbar .search-button{background:linear-gradient(155deg,#5b657550,#22263170);border-color:#ffffff3b;color:#e0e9f8;box-shadow:0 6px 24px #0006,inset 0 1px 1px #ffffff38}
 .toolbar .search-button:hover{background:#ffffff1c;box-shadow:inset 0 1px 0 #ffffff26}.search-focus-veil{background:rgba(0,0,0,.32)}
 .flight-planner input:not([type=checkbox]),.flight-form input,.auth-form input,.profile-setup select,.filter-row select,.support-form input{background:rgba(8,11,17,.4);border-color:#ffffff24;color:var(--text);color-scheme:dark}
 input::placeholder{color:#9da8b9}input[type=checkbox]{accent-color:#65a9ff}select option{background:#20232c;color:#f2f3f7}
 .flight-sheet,.flight-sheet>header,.flight-sheet .sheet-handle{background:rgba(29,31,40,.96);color:var(--text);border-color:#ffffff24;box-shadow:0 30px 90px #0006}
 .flight-sheet>header,.flight-sheet .sheet-handle{box-shadow:none}.flight-sheet::backdrop{background:#0008;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
 .flight-sheet .sheet-handle:before{background:#b6bec754}.flight-sheet>header button{background:#ffffff16;color:#d7dfec}.flight-sheet .flight-planner{background:transparent;box-shadow:none}
 .monitor-status{background:#ffffff08}.flight-message pre{color:#e0e8f5}.auth-providers button{background:#ffffff0c;border-color:#ffffff24;color:#e8edf7}.google-letter{color:#89b6ff}.support-symbol{color:#d4b3f0}.install-card small{color:#a8d9c7}.feed-row span:last-child{color:#93d8b3}
 #offline-indicator{color:#e4bc78}.pull-refresh-indicator,.pull-refresh-indicator.pull-ready{color:#b0bac9}.flight-loading-spinner{border-color:#b0bac926;border-top-color:#c4d0e2}
 @media(max-width:800px),(max-width:1000px) and (max-height:500px){
  .sidebar{background:linear-gradient(180deg,rgba(82,87,103,.22),rgba(24,27,37,.18) 55%,rgba(61,65,80,.18));border-color:rgba(255,255,255,.16);border-top-color:rgba(255,255,255,.34);border-bottom-color:rgba(255,255,255,.09);backdrop-filter:blur(24px) saturate(150%) brightness(1.03);-webkit-backdrop-filter:blur(24px) saturate(150%) brightness(1.03);box-shadow:0 12px 32px #0007,inset 0 1px 1px #ffffff24,inset 0 -1px 1px #ffffff08}
  .sidebar:before{background:radial-gradient(ellipse at var(--glass-light,32%) 0%,#d4e4ff3d,transparent 62%),linear-gradient(115deg,#ffffff08,transparent 40%,#ffffff03);opacity:.45}.sidebar:after{border-color:#ffffff12;background:linear-gradient(180deg,#ffffff0a,transparent 24%)}
  .sidebar nav:before{background:linear-gradient(165deg,rgba(200,218,255,.19),rgba(159,179,217,.05) 52%,rgba(183,202,236,.12));border-color:#ffffff2e;border-top-color:#ffffff5e;border-bottom-color:#ffffff20;backdrop-filter:blur(9px) saturate(140%) brightness(1.08);-webkit-backdrop-filter:blur(9px) saturate(140%) brightness(1.08);box-shadow:inset 0 1px 2px #ffffff3b,inset 0 -1px 1px #ffffff12,0 2px 8px #0003}
  .sidebar nav button,.sidebar.dock-touch nav button.active{color:#c5cedd;text-shadow:none}.sidebar nav button.active,.sidebar.dock-touch nav button.dock-preview{color:#86bdff}.sidebar nav button:hover:not(.active){color:#ecf2fb}.sidebar nav button span,.sidebar nav button.active span{filter:none}
  .sidebar.dock-held,.sidebar.dock-touch{box-shadow:0 15px 38px #0008,inset 0 1px 2px #ffffff40,inset 0 -1px 1px #ffffff16}
 }
 @supports not (backdrop-filter:blur(1px)){.sidebar,.panel,.airport-card,.metric,.period,.table-wrap,.empty,.toolbar form,.toolbar.search-open form,.toolbar .floating-search-launcher{background:#20232c}}
}

@media(prefers-color-scheme:dark){.flight-form label,.runway-recommendation>span:last-child{color:var(--muted)}.runway-recommendation{box-shadow:0 5px 20px #0003,inset 0 1px 0 #ffffff0b}}

@media(prefers-color-scheme:dark){.runway-favoured{background:#69aaff12}.runway-detail,.sky{color:var(--muted)}.runway-star{color:#89beff}.runway-note{color:var(--muted)!important}.route-banner strong{color:#c7dcf6}.danger{color:#ff9c9c}}

@media(prefers-color-scheme:dark){.history-original summary{color:#b9d6fa}.trend-label{fill:var(--muted)}.trend>path{stroke:#ffffff1c}.trend>polyline{stroke:#91d5b3}.loading{color:var(--muted)}.loading:before{border-color:#b0bac926;border-top-color:#96bcf2}}

.toolbar .floating-search-launcher:disabled{opacity:.35;cursor:default}.toolbar input:disabled{opacity:.45;cursor:not-allowed}button:disabled{cursor:default}.flight-delete-icon:disabled,.flight-account button:disabled,.flight-list-heading button:disabled,.flight-detail-actions button:disabled{opacity:.4}

.remembered-profile{display:grid;gap:8px;text-align:center;padding:14px 0}.remembered-profile strong{font-size:20px;color:var(--text)}.remembered-profile span{font-size:14px;color:var(--muted)}.auth-other{min-height:44px}
