.calculator-page{padding:24px}.calculator-header{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;margin-bottom:24px}.calculator-brand{display:block;width:190px;height:42px;overflow:hidden;flex:none}.calculator-brand img{display:block;width:225px;max-width:none;height:auto;transform:translate(-21px,-18px);filter:brightness(0) saturate(100%) opacity(.84)}.calculator-page .calculator-header .app-nav{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0;padding:0;border:0}.calculator-page .calculator-header .app-nav a{background:#f6f9f5;border:1px solid #dce6df;border-radius:8px;color:#375c49;padding:8px 12px;text-decoration:none;font-size:.84rem;font-weight:650}.calculator-page .calculator-header .app-nav a[aria-current=page]{background:#e7f1eb;border-color:#a9c7b2}.calculator-heading{margin-bottom:24px}.calculator-heading h1{font:600 clamp(2rem,3vw,2.9rem)/1.1 'Host Grotesk',system-ui,sans-serif;color:#263d33;margin:0 0 6px}.calculator-heading p{margin:0;color:#607369}.calculator-heading .calculator-description{margin-top:8px;font-size:.9rem}.calculator-page #routeMap.leaflet-container,.calculator-page #routeMap.leaflet-grab,.calculator-page #routeMap.leaflet-dragging{cursor:default!important}.calculator-page #routeMap .leaflet-marker-icon{cursor:move!important}.weather-comparison{padding:24px!important;margin-top:24px}.weather-header{display:flex;justify-content:space-between;align-items:start;gap:16px;flex-wrap:wrap}.weather-header h2{margin:0 0 4px}.weather-header p{margin:0;color:#64766b;font-size:.9rem}.weather-timezone{padding:5px 9px;border-radius:20px;background:#edf4ef;color:#486a54;font-size:.72rem;font-weight:700;white-space:nowrap}.weather-setup{margin-top:18px;padding:16px;background:#f7faf8;border:1px solid #e0eae3;border-radius:12px}.weather-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.weather-fields label{display:grid;gap:6px;color:#425e4a;font-size:.78rem;font-weight:650}.weather-fields input,.weather-fields select{width:100%;box-sizing:border-box;min-width:0}.weather-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}.weather-actions button{padding:9px 13px;border:1px solid #cadbd0;border-radius:8px;background:#fff;color:#315a43;cursor:pointer}.weather-actions [data-weather-load]{background:#4f8e7b;border-color:#4f8e7b;color:#fff;font-weight:650}.weather-actions button:disabled{opacity:.5;cursor:default}.weather-comparison [data-weather-status]{color:#567265;font-size:.84rem;margin:14px 0}.weather-comparison [data-weather-result]:empty{display:none}.weather-comparison .weather-metrics{margin:16px 0 10px}.weather-comparison .weather-metric{border-top:3px solid #6e9e88}.weather-comparison .weather-metric:nth-child(2){border-top-color:#a39b6a}.weather-comparison .weather-metric:nth-child(3){border-top-color:#7c9baf}.weather-result-note{font-size:.78rem;color:#68796e;margin:0 0 12px}.weather-details{border-top:1px solid #e5ebe6;margin-top:18px;padding-top:12px}.weather-details>summary,.weather-comparison [data-weather-result] summary{cursor:pointer;color:#4b6956;font-size:.82rem;font-weight:650}.weather-details p{font-size:.78rem;line-height:1.5}.weather-details details{margin:10px 0}.weather-comparison [data-weather-result] table{margin-top:10px}@media(max-width:760px){.weather-fields{grid-template-columns:1fr}.calculator-page{padding:16px}.weather-comparison{padding:16px!important}}

.map-search{margin:16px 0 12px;padding:14px 16px;border:1px solid #dce6df;border-radius:10px;background:#f6f9f5}.map-search label{display:block;margin-bottom:7px;font-weight:650;color:#375c49}.map-search-row{display:flex;gap:8px}.map-search-row input{flex:1;min-width:0}.map-search-row button{white-space:nowrap}.map-search p{margin:7px 0 3px;color:#607369;font-size:.85rem}.map-search small{color:#607369}.map-search a{color:#375c49}@media(max-width:560px){.map-search-row{flex-direction:column}}

#terrainStatus{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0!important;align-items:stretch}#terrainStatus>span{display:grid;gap:2px;padding:9px 12px;background:#f2f7f3;border:1px solid #dce9df;border-radius:9px;color:#315544}#terrainStatus small{font-size:.7rem;color:#60776a;text-transform:uppercase;letter-spacing:.06em}#terrainStatus strong{font-size:.95rem}#terrainStatus .terrain-source{display:flex;align-items:center;background:#e6f2ea;color:#246448;font-weight:700;font-size:.8rem}#routeMatch .route-result-head{display:grid;gap:3px}#routeMatch .route-result-kicker{font-size:.72rem;font-weight:750;letter-spacing:.1em;text-transform:uppercase;color:#5d806a}#routeMatch .route-result-head strong{font-size:1.4rem;line-height:1.2;color:#244d39}#routeMatch .route-result-head>span:last-child{font-size:.83rem;color:#607369}#routeMatch .route-result-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:14px 0}#routeMatch .route-result-details>div{display:grid;gap:3px;padding:10px 12px;border:1px solid #dce9df;border-radius:9px;background:#fff}#routeMatch .route-result-details small{font-size:.72rem;color:#607369}#routeMatch .route-result-details strong{font-size:1rem;color:#294b3a}#routeMatch .route-result-context{margin:0 0 10px;font-size:.84rem;line-height:1.45}#routeMatch .route-result-caveat{margin:0;padding-top:9px;border-top:1px solid #dce9df;color:#63756a;font-size:.78rem;line-height:1.4}@media(max-width:520px){#routeMatch .route-result-details{grid-template-columns:1fr}}

/* These rules are opt-in: app/mobile-experience.js adds .mobile-view only for handsets. */
body.mobile-view{max-width:none;padding:12px 12px calc(20px + env(safe-area-inset-bottom));font-size:16px}
.mobile-view .calculator-page{padding:0}.mobile-view .calculator-header{display:grid;grid-template-columns:1fr;margin:0 0 14px;gap:12px}.mobile-view .calculator-brand{width:166px;height:36px}.mobile-view .calculator-brand img{width:198px;transform:translate(-19px,-16px)}.mobile-view .calculator-header .app-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.mobile-view .calculator-header .app-nav a{display:grid;place-items:center;min-height:44px;padding:6px 4px;text-align:center;font-size:.72rem;line-height:1.1}.mobile-experience-notice{display:flex;align-items:center;gap:8px;margin:0 0 14px;padding:9px 11px;border:1px solid #cfe0d5;border-radius:10px;background:#f0f7f2;color:#416653;font-size:.79rem}.mobile-experience-notice::before{content:"⌁";font-size:1.15rem;font-weight:800;color:#4f8e7b}.mobile-view .calculator-heading{margin-bottom:16px}.mobile-view .calculator-heading h1{font-size:2rem}.mobile-view .controls,.mobile-view .panel{margin:10px 0;border-radius:12px;padding:13px}.mobile-view .controls{display:grid;grid-template-columns:1fr 1fr;gap:10px;align-items:end}.mobile-view .controls .wide,.mobile-view .controls #flightCount,.mobile-view .calculator-controls #routeStatus{grid-column:1/-1;min-width:0}.mobile-view label,.mobile-view input,.mobile-view select{min-width:0;width:100%}.mobile-view input,.mobile-view select,.mobile-view button{min-height:44px}.mobile-view .drag-handle{display:none}.mobile-view .library-toggle,.mobile-view .panel-toggle{gap:8px;min-height:38px}.mobile-view .library-toggle h2,.mobile-view .panel-toggle h2{font-size:1rem}.mobile-view .tablewrap{position:relative;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;border:1px solid #dce6df;border-radius:9px;background:linear-gradient(90deg,#fbfdfb 0,#fbfdfb calc(100% - 22px),#edf5ef 100%)}.mobile-view .tablewrap table{min-width:720px}.mobile-view .library-panel .tablewrap table{min-width:1060px}.mobile-view .tablewrap::after{content:"Swipe to view more →";position:sticky;left:0;display:block;width:max-content;padding:5px 8px;color:#527563;font-size:.7rem;font-weight:650}.mobile-view .barrow{grid-template-columns:minmax(86px,1fr) minmax(62px,1fr) max-content;gap:7px;margin:10px 0;font-size:.82rem}.mobile-view .barrow b{font-size:.78rem;white-space:nowrap}.mobile-view .match-head{align-items:flex-start;flex-direction:column;gap:3px}.mobile-view .match-grid{grid-template-columns:1fr}.mobile-view .route-save-row{display:grid;grid-template-columns:1fr 1fr;gap:9px;align-items:end}.mobile-view .route-save-row input,.mobile-view .route-save-row select{grid-column:1/-1;width:100%}.mobile-view .route-save-row button{width:100%}.mobile-view #routeMap{height:380px!important}.mobile-view #flightDetail.active{inset:8px;width:calc(100% - 16px);padding:14px;border-radius:12px}.mobile-view #flightDetail svg{width:100%;height:auto}.mobile-view .sensor-grid{grid-template-columns:1fr}.mobile-view .weather-fields{grid-template-columns:1fr}.mobile-view .map-search-row{flex-direction:column}.mobile-view .map-search-row button{width:100%}
@media(max-width:360px){.mobile-view .calculator-header .app-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.mobile-view .controls,.mobile-view .route-save-row{grid-template-columns:1fr}.mobile-view .route-save-row button{grid-column:1/-1}}
