:root{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#fff;background:#0a1013}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;min-height:100%;overflow:hidden;background:#0a1013}body{min-height:100dvh;overscroll-behavior:none}#app{position:fixed;inset:0;margin:0;overflow:hidden;background:#0a1013}#map,#weatherMapCanvas{position:absolute;inset:0;width:auto;height:auto}button{font:inherit;color:inherit}#map{position:absolute;inset:0;background:#11191d}.topbar{position:absolute;z-index:4;top:max(14px,env(safe-area-inset-top));left:14px;right:14px;display:flex;gap:10px}.search{height:58px;flex:1;border:1px solid #ffffff26;background:#10181bd9;backdrop-filter:blur(18px);border-radius:18px;display:flex;align-items:center;text-align:left;padding:0 15px;box-shadow:0 10px 30px #0005}.search-icon{font-size:27px;margin-right:10px}.search b,.search small{display:block}.search b{font-size:15px}.search small{font-size:11px;color:#aeb8b8;margin-top:2px}.round,.tool{border:1px solid #ffffff26;background:#10181bd9;backdrop-filter:blur(16px);box-shadow:0 8px 24px #0005}.round{width:58px;height:58px;border-radius:18px;font-size:25px}.map-tools{position:absolute;z-index:4;right:14px;top:100px;display:flex;flex-direction:column;gap:8px}.tool{width:46px;height:46px;border-radius:15px;font-weight:800}.tool.active{background:#fff;color:#101719}.compass span{display:block;color:#f1f4f2;transform:rotate(-10deg)}.place-card{position:absolute;z-index:3;left:14px;right:14px;bottom:126px;padding:7px 18px 14px;border:1px solid #ffffff20;border-radius:21px;background:linear-gradient(135deg,#0b1115e8,#162126d9);backdrop-filter:blur(20px);box-shadow:0 18px 50px #0008}.eyebrow{font-size:10px;letter-spacing:.18em;color:#9eaaa8;font-weight:800}.place-card h1{font-size:21px;margin:5px 0 5px;letter-spacing:-.02em}.place-card p{font-size:12px;line-height:1.4;color:#b8c1c0;margin:0 0 12px;max-width:470px}.stats{display:flex;border-top:1px solid #ffffff16;padding-top:10px}.stats span{flex:1}.stats b,.stats small{display:block}.stats b{font-size:13px}.stats small{font-size:9px;color:#8f9b9a;margin-top:2px}.bottom-nav{position:absolute;z-index:5;left:0;right:0;bottom:0;height:78px;padding:7px 10px max(7px,env(safe-area-inset-bottom));display:flex;align-items:center;background:#091013f2;border-top:1px solid #ffffff14;backdrop-filter:blur(20px)}.bottom-nav button{flex:1;border:0;background:none;color:#71807e;display:flex;flex-direction:column;align-items:center;gap:3px;font-size:19px}.bottom-nav small{font-size:9px}.bottom-nav .selected{color:#fff}.bottom-nav .record span{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#e8eeeb;color:#18211f;font-size:13px}.panel{position:absolute;z-index:10;left:0;right:0;bottom:0;padding:8px 18px calc(20px + env(safe-area-inset-bottom));border-radius:28px 28px 0 0;background:#101719f7;box-shadow:0 -20px 60px #000a;backdrop-filter:blur(22px)}.grabber{width:38px;height:4px;background:#66706f;border-radius:4px;margin:2px auto 15px}.panel-head{display:flex;justify-content:space-between;align-items:center}.panel-head small{font-size:9px;letter-spacing:.16em;color:#7e8b89}.panel-head h2{margin:2px 0 13px}.panel-head button{border:0;background:#ffffff12;border-radius:50%;width:36px;height:36px;font-size:24px}.layer-row{width:100%;display:flex;align-items:center;gap:12px;padding:10px 0;border:0;border-top:1px solid #ffffff12;background:none;text-align:left}.layer-row span:nth-child(2){flex:1}.layer-row b,.layer-row small{display:block}.layer-row small{color:#85918f;margin-top:2px}.layer-preview{width:52px;height:42px;border-radius:10px;background:#33413f}.layer-preview.terrain{background:linear-gradient(145deg,#6e7e72,#1b2927)}.layer-preview.satellite{background:linear-gradient(145deg,#3b4938,#152322)}.layer-preview.pistes{background:linear-gradient(145deg,#cfd6d2,#7f8e88)}.disabled{opacity:.45}.status{position:fixed;z-index:78;top:max(82px,calc(env(safe-area-inset-top) + 72px));left:50%;transform:translateX(-50%);max-width:calc(100vw - 28px);padding:8px 12px;border:1px solid #ffffff18;border-radius:12px;background:#0b1215f2;box-shadow:0 10px 28px #0007;backdrop-filter:blur(14px);font-size:11px;line-height:1.25;text-align:center;transition:.35s;white-space:normal;pointer-events:none}.status.hide{opacity:0;pointer-events:none}.maplibregl-ctrl-attrib{font-size:9px!important;background:#0b1115aa!important;color:#aaa!important}.maplibregl-ctrl-attrib a{color:#ccc!important}@media(min-width:760px){.topbar{max-width:460px}.place-card{max-width:440px;left:20px;bottom:25px}.bottom-nav{width:410px;left:50%;right:auto;transform:translateX(-50%);bottom:20px;border:1px solid #ffffff1a;border-radius:22px;height:66px}.panel{width:420px;left:auto;right:20px;bottom:20px;border-radius:28px}}.layer-preview.snow{background:linear-gradient(145deg,#f7fbff,#9db8c8)}.slope-legend{position:absolute;right:14px;left:14px;top:auto;bottom:86px;z-index:7;display:none;gap:7px;align-items:center;padding:8px 10px;border:1px solid rgba(255,255,255,.16);border-radius:12px;background:rgba(17,24,28,.78);backdrop-filter:blur(12px);box-shadow:0 5px 20px rgba(0,0,0,.22);font-size:10px;color:rgba(255,255,255,.9)}.slope-legend.show{display:flex}.slope-legend .legend-title{font-size:9px;font-weight:800;letter-spacing:.12em;color:rgba(255,255,255,.62);margin-right:2px}.slope-legend span{display:flex;align-items:center;gap:4px;white-space:nowrap}.slope-legend i{width:13px;height:8px;border-radius:2px;display:inline-block}.slope-legend .s25{background:rgb(255,226,92)}.slope-legend .s30{background:rgb(255,193,55)}.slope-legend .s35{background:rgb(255,139,39)}.slope-legend .s40{background:rgb(239,75,45)}.slope-legend .s45{background:rgb(196,38,38)}
@media(max-width:620px){.slope-legend{left:10px;right:10px;top:auto;bottom:86px;max-width:none;justify-content:center;gap:5px;padding:7px 8px}.slope-legend .legend-title{display:none}.slope-legend i{width:11px}}.sun-panel{position:absolute;left:50%;transform:translateX(-50%);bottom:126px;z-index:8;width:min(420px,calc(100% - 28px));display:none;padding:10px 13px;border:1px solid rgba(255,255,255,.16);border-radius:14px;background:rgba(17,24,28,.82);backdrop-filter:blur(14px);box-shadow:0 6px 22px rgba(0,0,0,.24);color:#fff}.sun-panel.show{display:block}.sun-panel>div{display:flex;align-items:center;justify-content:space-between;margin-bottom:7px;font-size:11px}.sun-panel>div span{color:rgba(255,255,255,.7);font-variant-numeric:tabular-nums}.sun-panel input{width:100%;accent-color:#f2c15d}.layer-preview.sun{background:linear-gradient(135deg,#f1c15c 0 48%,#26384c 52% 100%)}
@media(max-width:620px){.sun-panel{bottom:116px}}.maplibregl-popup-content{background:rgba(18,25,29,.94);color:#fff;border:1px solid rgba(255,255,255,.14);border-radius:14px;padding:12px 14px;box-shadow:0 8px 28px rgba(0,0,0,.3);backdrop-filter:blur(12px)}.maplibregl-popup-tip{border-top-color:rgba(18,25,29,.94)!important;border-bottom-color:rgba(18,25,29,.94)!important}.maplibregl-popup-close-button{color:#fff;font-size:18px;padding:4px 7px}.ski-popup{display:flex;flex-direction:column;gap:3px;padding-right:12px}.ski-popup small{font-size:9px;letter-spacing:.12em;color:rgba(255,255,255,.55)}.ski-popup b{font-size:14px}.ski-popup span{font-size:11px;color:rgba(255,255,255,.72)}.search-wrap{position:relative;min-width:0;flex:1;max-width:440px}.search-wrap .search{width:100%;cursor:text}.search-wrap .search input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:inherit;font:inherit;font-size:14px;padding:0}.search-wrap .search input::placeholder{color:rgba(255,255,255,.7)}.search-results{position:absolute;top:calc(100% + 8px);left:0;right:0;background:rgba(15,22,26,.96);border:1px solid rgba(255,255,255,.13);border-radius:16px;padding:6px;box-shadow:0 14px 38px rgba(0,0,0,.32);backdrop-filter:blur(16px);overflow:hidden}.search-result{display:flex;width:100%;min-height:48px;flex-direction:column;align-items:flex-start;justify-content:center;gap:2px;padding:8px 10px;border:0;border-radius:11px;background:transparent;color:#fff;text-align:left;cursor:pointer}.search-result:hover,.search-result:focus-visible{background:rgba(255,255,255,.09);outline:none}.search-result b{font-size:13px;font-weight:650}.search-result small{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px;color:rgba(255,255,255,.6)}.search-empty{padding:13px 10px;font-size:12px;color:rgba(255,255,255,.62)}
@media(max-width:600px){.search-wrap{max-width:none}.search-results{right:-48px}.search-wrap .search input{font-size:16px}}.search-submit{flex:0 0 38px;width:38px;height:38px;margin-left:8px;padding:0;border:0;border-radius:12px;background:rgba(255,255,255,.08);color:rgba(255,255,255,.82);display:grid;place-items:center;cursor:pointer;transition:background .16s ease,color .16s ease}.search-submit span{font-size:20px;line-height:1;transform:translateY(-1px)}.search-submit:hover,.search-submit:focus-visible{background:rgba(255,255,255,.14);color:#fff;outline:none}.search-submit:active{background:rgba(255,255,255,.19)}.record-sheet{position:absolute;z-index:11;left:14px;right:14px;bottom:92px;padding:16px;border:1px solid #ffffff20;border-radius:22px;background:#0d1519f2;backdrop-filter:blur(22px);box-shadow:0 18px 55px #0009}.record-head{display:flex;justify-content:space-between;align-items:flex-start}.record-head small{font-size:9px;letter-spacing:.16em;color:#8d9997;font-weight:800}.record-head h2{font-size:20px;margin:3px 0 14px}.record-head button{width:34px;height:34px;border:0;border-radius:50%;background:#ffffff12;font-size:22px}.record-stats{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:#ffffff12;border-radius:15px;overflow:hidden}.record-stats span{padding:12px;background:#111a1e}.record-stats b,.record-stats small{display:block}.record-stats b{font-size:19px;font-variant-numeric:tabular-nums}.record-stats small{font-size:9px;color:#85918f;margin-top:2px}.record-gps{display:flex;justify-content:space-between;padding:10px 2px 8px;font-size:10px;color:#98a5a2}.record-actions{display:flex;gap:8px}.record-actions button{flex:1;height:48px;border:1px solid #ffffff1c;border-radius:14px;background:#1b272b;font-weight:750}.record-actions .record-primary{background:#f2f5f3;color:#101719}.record-actions #finishRecord{background:#b63834;border-color:#c84b45}@media(min-width:760px){.record-sheet{width:390px;left:auto;right:20px;bottom:96px}}.activities-sheet,.activity-detail,.explore-sheet{position:absolute;z-index:12;left:14px;right:14px;bottom:92px;max-height:70vh;overflow:auto;padding:16px;border:1px solid #ffffff20;border-radius:22px;background:#0d1519f4;backdrop-filter:blur(22px);box-shadow:0 18px 55px #0009}.activities-head,.activity-detail-head{display:flex;align-items:flex-start;justify-content:space-between}.activities-head small,.activity-detail-head small{font-size:9px;letter-spacing:.16em;color:#8d9997;font-weight:800}.activities-head h2,.activity-detail-head h2{margin:3px 0 14px;font-size:21px}.activities-head button,.activity-detail-head button{width:34px;height:34px;border:0;border-radius:50%;background:#ffffff12;font-size:22px}.activities-totals,.activity-detail-stats{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:#ffffff12;border-radius:15px;overflow:hidden;margin-bottom:12px}.activities-totals span,.activity-detail-stats span{padding:11px;background:#111a1e}.activities-totals b,.activities-totals small,.activity-detail-stats b,.activity-detail-stats small{display:block}.activities-totals b,.activity-detail-stats b{font-size:15px;font-variant-numeric:tabular-nums}.activities-totals small,.activity-detail-stats small{font-size:9px;color:#85918f;margin-top:2px}.activities-list{display:flex;flex-direction:column;gap:6px}.activity-row{display:flex;align-items:center;width:100%;min-height:68px;padding:9px 10px;border:1px solid #ffffff10;border-radius:14px;background:#ffffff08;text-align:left}.activity-icon{display:grid;place-items:center;width:38px;height:38px;margin-right:10px;border-radius:12px;background:#ffffff10}.activity-copy{display:flex;flex:1;min-width:0;flex-direction:column}.activity-copy small{font-size:9px;color:#84908e}.activity-copy b{font-size:14px;margin:2px 0}.activity-copy em{font-style:normal;font-size:10px;color:#a2adaa}.activity-arrow{font-size:24px;color:#8d9997}.activities-empty{padding:24px 10px;text-align:center;color:#a2adaa}.activities-empty b,.activities-empty span{display:block}.activities-empty b{color:#fff;margin-bottom:4px}.activities-empty span{font-size:11px}.elevation-profile{height:130px;padding:8px;border:1px solid #ffffff10;border-radius:14px;background:#ffffff06}.elevation-profile canvas{display:block;width:100%;height:100%}@media(min-width:760px){.activities-sheet,.activity-detail,.explore-sheet{width:410px;left:auto;right:20px;bottom:96px}}.activity-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:10px}.activity-actions button{min-height:42px;border:1px solid #ffffff18;border-radius:12px;background:#ffffff0b;color:#fff;font-size:11px;font-weight:750}.activity-actions button:first-child{background:#f4f6f5;color:#0b1115}.activity-actions{grid-template-columns:1fr 1fr 1fr}.activity-actions #playActivity{background:#f4f6f5;color:#0b1115}.replay-controls{position:absolute;z-index:15;left:14px;right:14px;bottom:92px;display:grid;grid-template-columns:42px 1fr 44px;align-items:center;gap:8px;padding:11px 12px 27px;border:1px solid #ffffff20;border-radius:18px;background:#0d1519ed;backdrop-filter:blur(20px);box-shadow:0 15px 45px #0009}.replay-controls[hidden]{display:none}.replay-controls button{height:38px;border:0;border-radius:11px;background:#ffffff12;color:#fff;font-weight:800}.replay-controls input{width:100%;accent-color:#fff}.replay-controls span{position:absolute;left:62px;bottom:7px;font-size:9px;color:#9aa5a3;font-variant-numeric:tabular-nums}@media(min-width:760px){.replay-controls{left:auto;right:20px;width:410px}}.library-head-actions{display:flex;align-items:center;gap:7px}.activities-head .import-head{width:auto;height:34px;padding:0 11px;border-radius:11px;font-size:10px;font-weight:800;color:#eef5f2}.activities-head .import-head[hidden]{display:none}.activities-totals[hidden]{display:none}.route-row{gap:0}.route-main{display:flex;flex:1;min-width:0;padding:0;border:0;background:transparent;color:inherit;text-align:left}.route-map-toggle{flex:0 0 auto;min-width:58px;height:34px;margin-left:8px;padding:0 10px;border:1px solid #ffffff20;border-radius:10px;background:#ffffff0b;color:#aab5b2;font-size:10px;font-weight:800}.route-map-toggle.active{background:#dff5ff;color:#102129;border-color:#dff5ff}.route-row .activity-icon{flex:0 0 38px}.explore-sheet{z-index:12;left:14px;right:14px;bottom:92px;max-height:70vh;overflow:auto;padding:16px;border:1px solid #ffffff20;border-radius:22px;background:#0d1519f4;backdrop-filter:blur(22px);box-shadow:0 18px 55px #0009}.explore-intro{margin:-2px 0 14px;color:#98a4a1;font-size:11px;line-height:1.45}.explore-sheet .activities-list{margin-top:4px}@media(min-width:760px){.explore-sheet{width:410px;left:auto;right:20px;bottom:96px}}.map-route-chip{position:absolute;z-index:10;left:50%;bottom:94px;display:flex;align-items:center;transform:translateX(-50%);border:1px solid #ffffff24;border-radius:14px;background:#0d1519e8;backdrop-filter:blur(18px);box-shadow:0 8px 28px #0007;overflow:hidden}.map-route-chip[hidden]{display:none}.map-route-chip button{height:40px;border:0;background:transparent;color:#f4f7f5}.map-route-chip #openMapRoutes{display:flex;align-items:center;gap:7px;padding:0 11px 0 12px}.map-route-chip #openMapRoutes span{color:#4fc3f7;font-size:17px}.map-route-chip #openMapRoutes b{font-size:10px;white-space:nowrap}.map-route-chip #clearMapRoutes{width:36px;border-left:1px solid #ffffff18;font-size:18px;color:#9ba7a4}.place-card{transition:transform .28s cubic-bezier(.2,.8,.2,1),padding .28s ease}.place-card-handle{display:block;width:100%;height:20px;margin:0 0 2px;border:0;background:transparent;touch-action:none;cursor:grab}.place-card-handle span{display:block;width:38px;height:4px;margin:auto;border-radius:4px;background:#7f8988}.place-card-content{overflow:hidden;max-height:180px;opacity:1;transition:max-height .28s cubic-bezier(.2,.8,.2,1),opacity .18s ease}.place-card.collapsed{padding-bottom:6px}.place-card.collapsed .place-card-content{max-height:0;opacity:0;pointer-events:none}.place-card.collapsed .place-card-handle{margin-bottom:0}.place-card.dragging{transition:none}.place-card.dragging .place-card-content{transition:none}.ski-area-summary{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:2px 0 10px;padding:11px 12px;border:1px solid #ffffff12;border-radius:14px;background:#ffffff07}.ski-area-summary>div:first-child{min-width:0}.ski-area-summary>div:first-child small,.ski-area-summary>div:first-child b{display:block}.ski-area-summary>div:first-child small{font-size:7.5px;letter-spacing:.13em;color:#7f8c89;font-weight:800}.ski-area-summary>div:first-child b{margin-top:3px;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ski-area-counts{display:flex;flex:none;border-left:1px solid #ffffff12}.ski-area-counts span{min-width:48px;padding-left:10px}.ski-area-counts b,.ski-area-counts small{display:block}.ski-area-counts b{font-size:15px}.ski-area-counts small{font-size:7.5px;color:#8d9997}.ski-area-summary>div:first-child em{display:block;margin-top:2px;color:#aab5b2;font-size:9px;font-style:normal;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

@media(min-width:760px){.slope-legend{left:20px;right:auto;bottom:94px;transform:none}.place-card{bottom:134px}}.aspect-legend{position:absolute;right:14px;left:14px;bottom:86px;z-index:7;display:none;gap:6px;align-items:center;justify-content:center;padding:8px 10px;border:1px solid rgba(255,255,255,.16);border-radius:12px;background:rgba(17,24,28,.78);backdrop-filter:blur(12px);box-shadow:0 5px 20px rgba(0,0,0,.22);font-size:9px;color:rgba(255,255,255,.9)}.aspect-legend.show{display:flex}.aspect-legend .legend-title{font-size:9px;font-weight:800;letter-spacing:.12em;color:rgba(255,255,255,.62);margin-right:2px}.aspect-legend span{display:flex;align-items:center;gap:3px;white-space:nowrap}.aspect-legend i{width:10px;height:8px;border-radius:2px;display:inline-block}.aspect-legend .aN{background:rgb(42,116,196)}.aspect-legend .aNE{background:rgb(46,170,196)}.aspect-legend .aE{background:rgb(64,190,120)}.aspect-legend .aSE{background:rgb(180,202,70)}.aspect-legend .aS{background:rgb(245,166,52)}.aspect-legend .aSW{background:rgb(232,92,62)}.aspect-legend .aW{background:rgb(186,74,166)}.aspect-legend .aNW{background:rgb(102,88,190)}
@media(max-width:620px){.aspect-legend{left:10px;right:10px;bottom:86px;gap:4px;padding:7px 6px}.aspect-legend .legend-title{display:none}.aspect-legend i{width:8px}}
@media(min-width:760px){.aspect-legend{left:20px;right:auto;bottom:94px}}.route-head-actions{display:flex;gap:7px}.route-planner{position:absolute;z-index:12;left:12px;right:12px;bottom:92px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid rgba(255,255,255,.18);border-radius:16px;background:rgba(16,23,27,.9);backdrop-filter:blur(16px);box-shadow:0 8px 30px rgba(0,0,0,.28);color:#fff}.route-planner[hidden]{display:none}.route-planner-copy{display:flex;flex-direction:column;gap:3px;min-width:0}.route-planner-copy small{font-size:9px;letter-spacing:.14em;color:rgba(255,255,255,.58)}.route-planner-copy b{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.route-planner-actions{display:flex;gap:7px}.route-planner-actions button{border:1px solid rgba(255,255,255,.16);border-radius:10px;background:rgba(255,255,255,.08);color:#fff;padding:8px 10px;font:inherit;font-size:11px;font-weight:700}.route-planner-actions button:disabled{opacity:.38}.route-planner-actions .route-save{background:#fff;color:#10171b;border-color:#fff}
@media(min-width:760px){.route-planner{left:50%;right:auto;bottom:102px;width:min(620px,calc(100vw - 40px));transform:translateX(-50%)}}
@media(max-width:520px){.route-planner{align-items:flex-start;flex-direction:column}.route-planner-actions{width:100%}.route-planner-actions button{flex:1}}.route-library-filters{display:flex;gap:6px;margin:2px 0 10px;overflow-x:auto;scrollbar-width:none}.route-library-filters::-webkit-scrollbar{display:none}.route-library-filters button{flex:0 0 auto;height:31px;padding:0 11px;border:1px solid #ffffff14;border-radius:999px;background:#ffffff07;color:#8f9b98;font-size:9px;font-weight:800}.route-library-filters button.active{background:#eef5f2;color:#102027;border-color:#eef5f2}.route-row .activity-copy small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}/* Route library: one primary row,one map action,secondary actions in overflow. */
.route-library-filters{position:sticky;top:-16px;z-index:4;margin:0 -16px 8px;padding:10px 16px 8px;background:linear-gradient(#0d1519 72%,#0d151900)}.route-row{position:relative;align-items:center;min-height:62px;padding:5px 4px 5px 0}.route-main{align-items:center;gap:10px;min-height:52px}.route-kind{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;border-radius:11px;background:#ffffff0a;color:#c8d3d0;font-size:16px}.route-row .activity-copy{min-width:0}.route-row .activity-copy b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.route-row .activity-copy em{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.route-map-toggle{min-width:52px;margin-left:6px}.route-more-wrap{position:relative;flex:0 0 34px;margin-left:3px}.route-more{width:34px;height:34px;border:0;border-radius:10px;background:transparent;color:#87938f;font-size:14px;font-weight:900;letter-spacing:1px}.route-more:active{background:#ffffff0b;color:#f4f7f5}.route-menu{position:absolute;z-index:12;right:0;top:38px;width:132px;padding:5px;border:1px solid #ffffff1c;border-radius:12px;background:#121c20f7;box-shadow:0 12px 30px #0009;backdrop-filter:blur(18px)}.route-menu[hidden]{display:none}.route-menu button{display:block;width:100%;height:36px;padding:0 10px;border:0;border-radius:8px;background:transparent;color:#e9efed;text-align:left;font-size:11px;font-weight:700}.route-menu button:active{background:#ffffff0c}.route-menu button.danger{color:#ff9c96}.route-detail{position:absolute;z-index:13;left:14px;right:14px;bottom:92px;max-height:72vh;overflow:auto;padding:16px;border:1px solid #ffffff20;border-radius:22px;background:#0d1519f4;backdrop-filter:blur(22px);box-shadow:0 18px 55px #0009}.route-detail-head{display:grid;grid-template-columns:34px 1fr 34px;align-items:start;gap:10px}.route-detail-head>div{min-width:0}.route-detail-head button{width:34px;height:34px;border:0;border-radius:50%;background:#ffffff12;color:#fff;font-size:22px}.route-detail-head small{display:block;font-size:8px;letter-spacing:.14em;color:#84908e;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.route-detail-head h2{margin:3px 0 14px;font-size:20px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.route-detail-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-bottom:13px;border-radius:14px;overflow:hidden;background:#ffffff12}.route-detail-stats span{padding:10px 8px;background:#111a1e}.route-detail-stats b,.route-detail-stats small{display:block}.route-detail-stats b{font-size:13px;font-variant-numeric:tabular-nums}.route-detail-stats small{margin-top:2px;color:#82908c;font-size:8px}.route-profile-head{display:flex;justify-content:space-between;align-items:center;margin:0 2px 6px}.route-profile-head span{font-size:10px;font-weight:800}.route-profile-head small{font-size:9px;color:#84908e}.route-elevation-profile{touch-action:none}.route-detail-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}.route-detail-actions .route-primary{flex:1 1 150px}.route-detail-actions #routeDetailReplay{flex:0 0 92px}.route-detail-actions #routeDetailMore{flex:0 0 44px}.route-detail-actions .route-community-save:not([hidden]){order:4;flex:1 0 100%}.route-detail-actions button,.route-detail-menu button{min-height:42px;border:1px solid #ffffff18;border-radius:12px;background:#ffffff0b;color:#fff;font-size:10px;font-weight:800}.route-detail-actions .route-primary{background:#f1f5f3;color:#0d171b}.route-detail-menu{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px;margin-top:7px}.route-detail-menu[hidden]{display:none}.route-detail-menu button.danger{color:#ff9c96}.route-detail[hidden]{display:none}@media(min-width:760px){.route-detail{width:410px;left:auto;right:20px;bottom:96px}}.route-planner-copy span{color:rgba(255,255,255,.48);font-size:9px;line-height:1.25}.route-planner-actions #deleteRoutePoint:not(:disabled){color:#ffb0aa}.route-planner-actions .route-save{min-width:66px}
@media(max-width:520px){.route-planner-actions{display:grid;grid-template-columns:1fr 1fr 1fr}.route-planner-actions .route-save{grid-column:3}.route-planner-actions #cancelRoute{grid-column:1}.route-planner-actions #deleteRoutePoint{grid-column:1 / span 2;grid-row:2}.route-planner-actions #undoRoutePoint{grid-column:3;grid-row:2}}.ski-map-badge{display:flex;flex-direction:column;align-items:flex-end;justify-content:center;min-width:72px}.ski-map-badge span{display:inline-flex;align-items:center;justify-content:center;height:25px;padding:0 9px;border:1px solid #ffffff1c;border-radius:999px;background:#ffffff0b;color:#edf4f1;font-size:8px;font-weight:900;letter-spacing:.12em}.ski-map-badge small{margin-top:4px;color:#7f8d89;font-size:8px;white-space:nowrap}/* Final UI pass: one consistent map chrome / sheet stack. */
:root{--ui-edge:14px;--nav-h:78px;--ui-above-nav:92px;--sheet-max:70vh;--ui-radius:22px}button{touch-action:manipulation}.activities-sheet,.activity-detail,.explore-sheet,.record-sheet,.route-detail{left:var(--ui-edge);right:var(--ui-edge);bottom:calc(var(--ui-above-nav) + env(safe-area-inset-bottom));border-radius:var(--ui-radius)}.activities-sheet,.activity-detail,.explore-sheet,.route-detail{max-height:min(var(--sheet-max),calc(100dvh - 150px));overscroll-behavior:contain;scrollbar-width:none}.activities-sheet::-webkit-scrollbar,.activity-detail::-webkit-scrollbar,.explore-sheet::-webkit-scrollbar,.route-detail::-webkit-scrollbar{display:none}.route-planner,.replay-controls{bottom:calc(var(--ui-above-nav) + env(safe-area-inset-bottom))}.slope-legend,.aspect-legend{bottom:calc(86px + env(safe-area-inset-bottom))}.sun-panel{bottom:calc(116px + env(safe-area-inset-bottom))}.place-card{bottom:calc(126px + env(safe-area-inset-bottom))}.activities-head,.activity-detail-head,.route-detail-head{position:sticky;top:-16px;z-index:3;margin:-16px -16px 10px;padding:16px 16px 6px;background:linear-gradient(180deg,#0d1519 72%,rgba(13,21,25,0));}.activities-head h2,.activity-detail-head h2,.route-detail-head h2{margin-bottom:8px}.layer-row,.activity-row,.route-row,.route-detail-actions button,.activity-actions button,.record-actions button{cursor:pointer}.layer-row{min-height:58px}.route-library-filters{position:sticky;top:48px;z-index:2;margin-left:-4px;margin-right:-4px;padding:5px 4px 7px;background:linear-gradient(180deg,#0d1519 75%,rgba(13,21,25,0))}.route-row{min-height:64px}.route-more,.route-map-toggle{min-height:36px}.route-detail-actions button,.activity-actions button,.record-actions button{min-height:44px}.ski-area-summary{min-height:58px}
@media(max-width:520px){.topbar{left:10px;right:10px;gap:8px}.search{height:54px;padding:0 12px;border-radius:16px}.round{width:54px;height:54px;border-radius:16px}.map-tools{right:10px;top:92px}.tool{width:44px;height:44px}.place-card{left:10px;right:10px}.route-detail-stats span,.activities-totals span,.activity-detail-stats span{padding:9px 7px}.route-detail-menu{grid-template-columns:1fr}.route-detail-menu button{min-height:40px}.ski-map-badge small{display:none}
}
@media(min-width:760px){:root{--ui-edge:20px;--ui-above-nav:96px}.activities-sheet,.activity-detail,.explore-sheet,.route-detail{left:auto;right:20px;bottom:96px;width:410px;max-height:min(72vh,calc(100dvh - 125px))}.record-sheet{left:auto;right:20px;bottom:96px;width:390px}.route-planner{bottom:102px}.replay-controls{bottom:96px}.place-card{left:20px;right:auto;bottom:134px}.slope-legend,.aspect-legend{bottom:94px}
}.mode-hidden{display:none!important}.weather-hidden{visibility:hidden}.weather-view{position:absolute;z-index:20;inset:0;overflow:auto;padding:max(74px,calc(62px + env(safe-area-inset-top))) 14px calc(28px + env(safe-area-inset-bottom));background:radial-gradient(circle at 85% -5%,#31424a 0,transparent 32%),linear-gradient(180deg,#10191d,#091014 55%,#070d10);color:#f4f7f6;overscroll-behavior:contain}.weather-view[hidden]{display:none}.weather-view>*{max-width:920px;margin-left:auto;margin-right:auto}.weather-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding-top:8px}.weather-head small,.weather-section-head small{font-size:9px;letter-spacing:.16em;color:#83918e;font-weight:900}.weather-head h1{margin:4px 0 3px;font-size:26px;letter-spacing:-.035em}.weather-head p{margin:0;color:#84918f;font-size:10px}.weather-head button{width:40px;height:40px;border:1px solid #ffffff18;border-radius:13px;background:#ffffff0b;color:#fff;font-size:20px}.weather-summary{margin-top:20px!important;padding:15px 16px;border:1px solid #ffffff14;border-radius:17px;background:#ffffff08}.weather-summary b,.weather-summary span{display:block}.weather-summary b{font-size:16px}.weather-summary span{margin-top:4px;color:#a7b2af;font-size:10px}.weather-levels{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:10px!important}.weather-levels article{min-width:0;padding:14px;border:1px solid #ffffff12;border-radius:17px;background:#111c20}.weather-levels article>small{display:block;color:#84928f;font-size:8px;font-weight:850;letter-spacing:.09em}.weather-levels article>b{display:block;margin:8px 0 10px;font-size:30px;letter-spacing:-.05em}.weather-levels article div{display:grid;gap:5px}.weather-levels article span{display:flex;justify-content:space-between;gap:8px;color:#82908d;font-size:9px}.weather-levels article strong{color:#dce4e1;font-weight:750;white-space:nowrap}.weather-section{margin-top:22px!important}.weather-section-head{display:flex;align-items:end;justify-content:space-between;margin-bottom:9px}.weather-section-head h2{margin:3px 0 0;font-size:17px}.weather-section-head>span{padding:6px 9px;border-radius:9px;background:#ffffff0b;color:#b9c3c0;font-size:9px;font-weight:800}.weather-hours{display:flex;gap:6px;overflow-x:auto;padding-bottom:5px;scrollbar-width:none}.weather-hours::-webkit-scrollbar{display:none}.weather-hours div{flex:0 0 68px;padding:10px 7px;border:1px solid #ffffff10;border-radius:14px;background:#ffffff07;text-align:center}.weather-hours small,.weather-hours b,.weather-hours span,.weather-hours em{display:block}.weather-hours small{color:#7f8e8b;font-size:8px}.weather-hours b{margin:7px 0;font-size:18px}.weather-hours span{font-size:9px}.weather-hours em{margin-top:4px;color:#899693;font-size:8px;font-style:normal}.weather-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:20px!important}.weather-feature{min-height:92px;padding:14px;border:1px solid #ffffff12;border-radius:17px;background:#ffffff07;color:#fff;text-align:left}.weather-feature span,.weather-feature b,.weather-feature small{display:block}.weather-feature span{color:#83918e;font-size:8px;font-weight:900;letter-spacing:.14em}.weather-feature b{margin:7px 0 3px;font-size:13px}.weather-feature small{color:#7e8b88;font-size:9px}.weather-feature:disabled{opacity:.55}.weather-source{padding:22px 0 6px;color:#62706d;font-size:8px;text-align:center}
@media(max-width:760px){.weather-view{padding-left:10px;padding-right:10px}.weather-head h1{font-size:22px}.weather-levels{gap:5px}.weather-levels article{padding:11px 9px}.weather-levels article>b{font-size:25px}.weather-levels article span{display:block}.weather-levels article strong{display:block;margin-top:1px}.weather-grid{grid-template-columns:1fr 1fr}}
@media(min-width:760px){.weather-view{padding-top:88px}.weather-head{padding-top:18px}.weather-levels article{padding:18px}}.weather-tabs{position:sticky;top:0;z-index:25;display:flex;width:max-content;margin:-58px auto 18px!important;padding:3px;border:1px solid #ffffff16;border-radius:12px;background:#0c1417e8;backdrop-filter:blur(16px)}.weather-tabs button{height:30px;min-width:82px;padding:0 13px;border:0;border-radius:9px;background:transparent;color:#7f8c89;font-size:9px;font-weight:850}.weather-tabs button.active{background:#ffffff12;color:#fff}.weather-forecast[hidden],.weather-map-view[hidden]{display:none}#map.weather-map-active{visibility:visible;z-index:21}.weather-view:has(.weather-map-view:not([hidden])){pointer-events:none;background:transparent;overflow:hidden}.weather-view:has(.weather-map-view:not([hidden])) .weather-tabs,.weather-view:has(.weather-map-view:not([hidden])) .weather-map-view{pointer-events:auto}.weather-map-view{position:fixed;z-index:24;inset:0;max-width:none!important;pointer-events:none}
@media(max-width:760px){.weather-tabs{margin:-57px auto 14px!important}}
@media(min-width:760px){.weather-tabs{margin:-69px auto 25px!important}}/* Final top-stack ownership: mode switch gets its own row; search never sits beneath it. */
:root{--mode-top:max(10px,env(safe-area-inset-top));--mode-h:38px;--map-topbar-top:calc(max(10px,env(safe-area-inset-top)) + 48px)}.topbar{top:var(--map-topbar-top)}.map-tools{top:calc(var(--map-topbar-top) + 76px)}/* Weather navigation always owns the highest interactive weather layer. */
.weather-tabs{position:fixed;top:var(--mode-top);left:14px;z-index:60;margin:0!important;transform:none;pointer-events:auto}.weather-view:has(.weather-map-view:not([hidden])) .weather-tabs{z-index:60;pointer-events:auto}.weather-map-view{z-index:24}.weather-forecast{padding-top:12px}

@media(max-width:520px){.topbar{left:10px;right:10px}.search{height:52px;border-radius:16px}.round{width:52px;height:52px;border-radius:16px}.map-tools{right:10px;top:calc(var(--map-topbar-top) + 68px)}.weather-tabs{left:10px}
}
@media(min-width:760px){:root{--map-topbar-top:calc(max(14px,env(safe-area-inset-top)) + 50px)}.weather-tabs{left:20px}
}/* Navigation layout authority — keep this block last. */
:root{
  --view-nav-top:max(10px,env(safe-area-inset-top));
  --view-nav-main-h:38px;
  --view-nav-gap:7px;
  --view-nav-weather-h:34px;
  --map-search-top:calc(var(--view-nav-top) + var(--view-nav-main-h) + 10px);
  --weather-content-top:calc(var(--view-nav-top) + var(--view-nav-main-h) + var(--view-nav-gap) + var(--view-nav-weather-h) + 14px)
}.topbar{top:var(--map-search-top)!important}.map-tools{top:calc(var(--map-search-top) + 72px)!important}.weather-view{padding-top:var(--weather-content-top)!important}.weather-map-view{z-index:24!important}#map.weather-map-active{z-index:21}
@media(max-width:520px){:root{--map-search-top:calc(var(--view-nav-top) + var(--view-nav-main-h) + 9px)}.topbar{left:10px!important;right:10px!important}.map-tools{top:calc(var(--map-search-top) + 64px)!important}
}
@media(min-width:760px){:root{--view-nav-top:max(14px,env(safe-area-inset-top));--map-search-top:calc(var(--view-nav-top) + var(--view-nav-main-h) + 12px)}
}/* Weather Map HUD authority — controls always render above the MapLibre canvas. */
.weather-map-view{position:fixed!important;inset:0!important;z-index:70!important;display:block;pointer-events:none!important;background:transparent!important}.weather-map-view[hidden]{display:none!important}#map.weather-map-active{z-index:21!important;visibility:visible!important}
@media(min-width:760px){
}/* Dedicated flat weather map,isolated from the main 3D ski map.
   In Weather Map mode the original terrain map must never sit underneath/above it. */
#map.weather-map-active{visibility:hidden!important;z-index:0!important;pointer-events:none!important}#weatherMapCanvas{position:absolute;inset:0;z-index:21;background:#081015}#weatherMapCanvas[hidden]{display:none!important}.weather-map-view{z-index:70!important}/* Layout authority v2 — one collision-free stack for map and weather chrome. */
:root{
  --app-edge:10px;
  --bottom-nav-clearance:86px;
  --place-card-dock:86px;
  --place-card-current-h:38px;
  --map-preview-h:0px;
  --place-card-left:108px;
  --place-card-w:360px;
  --map-float-gap:8px;
  --weather-bottom:12px;
  --weather-timeline-h:62px;
}.topbar{z-index:40}.map-tools{z-index:40}.bottom-nav{z-index:50}.place-card{z-index:30;bottom:var(--place-card-dock)!important}.slope-legend,.aspect-legend{
  z-index:31;
  bottom:calc(var(--place-card-dock) + var(--place-card-current-h) + var(--map-float-gap))!important;
}.sun-panel{
  z-index:32;
  bottom:calc(var(--place-card-dock) + var(--place-card-current-h) + var(--map-float-gap))!important;
}.map-route-chip{
  z-index:33;
  bottom:calc(var(--place-card-dock) + var(--place-card-current-h) + var(--map-float-gap))!important;
}.panel{z-index:120}.record-sheet,.activities-sheet,.activity-detail,.explore-sheet,.route-detail{z-index:110}.route-planner,.replay-controls{z-index:115}/* Weather map: top controls own separate rows,bottom status always clears timeline. */
#weatherMapCanvas{z-index:21}.weather-map-view{z-index:70!important}/* Small phones: preserve usable map area and never let top controls collide. */
@media(max-width:520px){
  
  
  
  
  .map-route-chip{max-width:calc(100vw - 20px)}
}/* Desktop has room beside the bottom nav; keep cards low and float legends above them. */
@media(min-width:760px){
  :root{--app-edge:20px;--place-card-dock:20px;--weather-bottom:20px}
  .place-card{bottom:var(--place-card-dock)!important}
  .slope-legend,.aspect-legend,.sun-panel{
    bottom:calc(var(--place-card-dock) + var(--place-card-current-h) + var(--map-float-gap))!important;
  }
  .map-route-chip{bottom:96px!important}
}/* Forecast cleanup: altitude cards are the forecast selector. */
.weather-level-card{cursor:pointer;transition:border-color .16s ease,background .16s ease,transform .16s ease}.weather-level-card.active{border-color:#ffffff38;background:#172328}.weather-level-card:active{transform:scale(.985)}.weather-level-card:focus-visible{outline:2px solid #ffffff80;outline-offset:2px}.weather-levels article div span:first-child:last-child{margin:0}.weather-source{padding-top:16px}/* Seven-day mountain outlook: compact,readable and tied to selected altitude. */
.weather-days{display:grid;gap:7px}.weather-days article{display:grid;grid-template-columns:minmax(70px,1.2fr) .9fr .8fr .8fr .55fr;align-items:center;gap:8px;padding:12px 14px;border:1px solid #ffffff12;border-radius:13px;background:#ffffff06}.weather-days article>div{display:grid;gap:2px}.weather-days article>div b{font-size:14px}.weather-days article small{color:#91a0a4;font-size:11px}.weather-days article>strong{font-size:16px}.weather-days article>strong span{color:#849397;font-weight:600}.weather-days article>em{font-style:normal;color:#dce8eb;font-size:13px}.weather-days article>span{font-size:12px;color:#c3d0d3}.weather-days article>small:last-child{text-align:right}
@media(max-width:520px){.weather-days article{grid-template-columns:minmax(64px,1.1fr) .85fr .75fr .75fr .5fr;padding:11px 10px;gap:5px}.weather-days article>strong{font-size:15px}}/* Powder outlook: compact forecast signal,separate from snow depth. */
.powder-card{margin:12px 0 4px;padding:14px 16px;border:1px solid #ffffff14;border-radius:15px;background:#ffffff07}.powder-card>div{display:grid;gap:4px}.powder-card small{font-size:10px;letter-spacing:.11em;color:#91a0a4}.powder-card b{font-size:16px}.powder-card span{font-size:12px;color:#b9c7ca;line-height:1.45}.weather-level-card div{display:flex;flex-wrap:wrap;gap:5px 12px}/* Weather refinement: label the compact seven-day metrics without adding card clutter. */
.weather-days-head{display:grid;grid-template-columns:minmax(70px,1.2fr) .9fr .8fr .8fr .55fr;gap:8px;padding:0 14px 6px;color:#77878b;font-size:9px;letter-spacing:.05em;text-transform:uppercase}.weather-days-head span:last-child{text-align:right}
@media(max-width:520px){.weather-days-head{grid-template-columns:minmax(64px,1.1fr) .85fr .75fr .75fr .5fr;padding:0 10px 6px;gap:5px;font-size:8px}}/* Keep snow-depth provenance visible without adding another UI row. */
.weather-source-tag{display:inline-block;margin-left:5px;font-style:normal;font-size:8px;line-height:1;letter-spacing:.08em;color:#7f9094;vertical-align:1px}/* Release polish — final responsive and interaction authority. */
:root{--tap-min:44px}button{cursor:pointer;-webkit-tap-highlight-color:transparent}button:disabled{cursor:default}button:focus-visible,input:focus-visible{outline:2px solid rgba(255,255,255,.78);outline-offset:2px}/* Search: reserve real space for the query and never let long place names disappear under controls. */
.search-wrap,.search,.search input{min-width:0}.search{gap:0;overflow:visible}.search-icon{flex:0 0 auto}.search-wrap .search input{flex:1 1 auto;width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.search-submit{flex:0 0 40px;width:40px;height:40px;margin-left:6px}.search-result{min-width:0}.search-result b,.search-result small{display:block;width:100%;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.search-results{max-height:min(48vh,360px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none}.search-results::-webkit-scrollbar{display:none}/* Consistent mobile hit areas without visually inflating the chrome. */
.tool,.weather-head button,.panel-head button,.record-head button,.activities-head button,.activity-detail-head button,.route-detail-head button,.route-more,.route-map-toggle{min-width:var(--tap-min);min-height:var(--tap-min)}.bottom-nav button{min-height:52px}.weather-tabs button{min-height:32px}/* Long selected place names must stay readable in map and weather headers. */
.place-card h1,.weather-head h1,.activities-head h2{overflow-wrap:anywhere}/* Sheets: safe on short phones and with larger text. */
.panel,.record-sheet,.activities-sheet,.activity-detail,.explore-sheet,.route-detail{max-height:calc(100dvh - max(110px,env(safe-area-inset-top) + 86px))}.panel,.record-sheet{overflow-y:auto;overscroll-behavior:contain}.layer-row{min-height:58px}.layer-row>span:nth-child(2){min-width:0}.layer-row b,.layer-row small{overflow-wrap:anywhere}/* Weather forecast: preserve hierarchy,but allow data to breathe on narrow screens. */
.weather-head>div{min-width:0}.weather-head h1{line-height:1.08}.weather-level-card{min-width:0}.weather-level-card span{min-width:0}.weather-source-tag{white-space:nowrap}.weather-hours{scroll-snap-type:x proximity}.weather-hours>div{scroll-snap-align:start}.weather-days-section{overflow:hidden}.weather-days,.weather-days-head{min-width:0}/* Bottom navigation labels and disabled state stay legible but quiet. */
.bottom-nav small{white-space:nowrap}.bottom-nav button:disabled{opacity:.38}/* Compact phones: search gets priority; forecast switches from cramped table to readable rows. */
@media(max-width:390px){
  .topbar{gap:6px!important}
  .round{flex:0 0 48px!important;width:48px!important;height:52px!important}
  .search{padding-left:10px!important;padding-right:6px!important}
  .search-icon{font-size:22px;margin-right:7px}
  .search-submit{flex-basis:38px;width:38px;height:38px;margin-left:4px}
  .search-wrap .search input{font-size:16px}
  .weather-levels{grid-template-columns:1fr;gap:7px}
  .weather-levels article{display:grid;grid-template-columns:minmax(76px,.75fr) 56px 1.7fr;align-items:center;gap:8px;padding:10px 12px}
  .weather-levels article>b{margin:0;font-size:24px}
  .weather-levels article div{margin:0}
  .weather-days-section{overflow:visible}
  .weather-days-head{display:none}
  .weather-days article{grid-template-columns:1.15fr .9fr .85fr;grid-template-areas:"day temp snow" "day wind precip";gap:4px 8px}
  .weather-days article>div{grid-area:day}
  .weather-days article>strong{grid-area:temp}
  .weather-days article>em{grid-area:snow}
  .weather-days article>span{grid-area:wind}
  .weather-days article>small:last-child{grid-area:precip;text-align:left}
  
  
  .bottom-nav{padding-left:4px;padding-right:4px}
  .bottom-nav button{font-size:18px}
  .bottom-nav small{font-size:8px}
}/* Very short screens: sheets take priority over decorative map chrome. */
@media(max-height:650px) and (max-width:759px){
  .activities-sheet,.activity-detail,.explore-sheet,.record-sheet,.route-detail{max-height:calc(100dvh - 112px)}
  .panel{max-height:calc(100dvh - 18px)}
}/* Map IA polish — Routes and Ski log have one job each. */
.routes-sheet .activities-head>div{flex:1 1 auto;min-width:0}.routes-sheet .activities-head h2{max-width:calc(100% - 54px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.routes-intro{margin:-2px 0 14px;color:#8e9b98;font-size:11px;line-height:1.45}.routes-sheet .route-library-filters{margin-top:2px}
@media(max-width:360px){}/* Active ski/tour navigation — recording never blocks the map. */
.active-session{position:fixed;left:12px;right:12px;bottom:calc(72px + env(safe-area-inset-bottom));z-index:16;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px;align-items:stretch;pointer-events:auto}.active-session[hidden]{display:none!important}.active-session-main,.active-map-controls{background:rgba(13,20,23,.92);border:1px solid rgba(255,255,255,.14);box-shadow:0 8px 26px rgba(0,0,0,.26);backdrop-filter:blur(14px)}.active-session-main{min-width:0;border-radius:14px;padding:8px 11px;color:#eef4f1;text-align:left;display:grid;grid-template-columns:auto 1fr;grid-template-areas:"live time" "stats stats";gap:2px 8px;align-items:center}.session-live{grid-area:live;color:#9be4bc;font-size:9px;font-weight:900;letter-spacing:.08em;white-space:nowrap}.active-session-main strong{grid-area:time;text-align:right;font-size:12px}.active-session-main small{grid-area:stats;color:#a8b4b1;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.active-map-controls{border-radius:14px;padding:4px;display:flex;gap:2px}.active-map-controls button{min-width:45px;min-height:44px;border:0;border-radius:10px;background:transparent;color:#8e9b98;font-size:15px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px}.active-map-controls button span{font-size:7px;font-weight:800;letter-spacing:.03em}.active-map-controls button.active{background:#ffffff12;color:#eef4f1}.layer-section{padding:13px 4px 5px;color:#71807d;font-size:8px;font-weight:900;letter-spacing:.12em}.layer-preview.track{background:linear-gradient(145deg,#182226,#182226);position:relative}.layer-preview.track:after{content:"";position:absolute;left:7px;right:7px;top:15px;border-top:3px solid #fff;border-radius:8px;transform:rotate(-17deg)}.layer-preview.route{background:linear-gradient(145deg,#182226,#182226);position:relative}.layer-preview.route:after{content:"";position:absolute;left:7px;right:7px;top:15px;border-top:3px dashed #38bdf8;transform:rotate(-17deg)}
@media(max-width:390px){.active-session{grid-template-columns:minmax(0,1fr) auto;left:8px;right:8px;bottom:calc(69px + env(safe-area-inset-bottom))}.active-map-controls button{min-width:41px}.active-session-main{padding-left:9px;padding-right:9px}
}/* Active-session stacking authority: place card stays docked; session follows its real height. */
body:has(.active-session:not([hidden])) .place-card{bottom:var(--place-card-dock)!important}.active-session{bottom:calc(var(--place-card-dock) + var(--place-card-current-h) + 8px)!important}body:has(.active-session:not([hidden])) .slope-legend,body:has(.active-session:not([hidden])) .aspect-legend,body:has(.active-session:not([hidden])) .sun-panel{
  bottom:calc(var(--place-card-dock) + var(--place-card-current-h) + 70px + var(--map-float-gap))!important
}body:has(.active-session:not([hidden])) .map-route-chip{
  bottom:calc(var(--place-card-dock) + var(--place-card-current-h) + 70px + var(--map-float-gap))!important
}
@media(max-width:390px){.active-session{bottom:calc(var(--place-card-dock) + var(--place-card-current-h) + 7px)!important}
}/* Ski / Tour start flow */
.record-chooser{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:4px 0 14px}.record-choice{min-height:92px;border:1px solid #ffffff14;border-radius:15px;background:#ffffff08;color:#edf3f1;padding:13px;text-align:left;display:grid;grid-template-columns:28px 1fr;grid-template-areas:"icon title" "icon copy";column-gap:8px;align-content:center}.record-choice>span{grid-area:icon;font-size:20px;align-self:center}.record-choice>b{grid-area:title;font-size:14px}.record-choice>small{grid-area:copy;color:#8f9d99;font-size:9px;line-height:1.35}.record-choice:active{transform:scale(.985);background:#ffffff0e}.tour-route-picker{margin:0 0 14px;padding:12px;border:1px solid #ffffff12;border-radius:14px;background:#ffffff05}.tour-route-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:9px}.tour-route-head>div{display:grid;gap:2px}.tour-route-head small{font-size:8px;color:#74827f;font-weight:900;letter-spacing:.1em}.tour-route-head b{font-size:12px}.tour-route-head>button{min-height:36px;border:1px solid #ffffff14;border-radius:10px;background:transparent;color:#91a09c;padding:0 10px;font-size:9px;font-weight:800}.tour-route-head>button.active{background:#edf3f1;color:#10191c}.tour-route-list{display:grid;gap:6px;max-height:190px;overflow:auto}.tour-route-option{min-height:48px;border:1px solid #ffffff10;border-radius:11px;background:#ffffff05;color:#e6eeeb;padding:8px 10px;display:grid;grid-template-columns:24px minmax(0,1fr);gap:6px;text-align:left;align-items:center}.tour-route-option>span:last-child{display:grid;gap:2px;min-width:0}.tour-route-option b{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tour-route-option small{font-size:8px;color:#84938f;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tour-route-option.active{border-color:#ffffff45;background:#ffffff10}.tour-route-empty{padding:10px;color:#7f8d89;font-size:9px;text-align:center}.bottom-nav .record.recording-active span{color:#8fe0b5;text-shadow:0 0 12px rgba(143,224,181,.35)}.bottom-nav .record.recording-active small{color:#dfe9e5}
@media(max-width:360px){.record-chooser{grid-template-columns:1fr}.record-choice{min-height:68px}}/* Favorites,compare,snow conditions and offline state */
.place-card-title{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.place-card-title>div{min-width:0}.place-card-title h1{margin-right:0}.favorite-place{flex:0 0 44px;width:44px;height:44px;border:1px solid #ffffff16;border-radius:50%;background:#ffffff08;color:#d8e1de;font-size:23px;line-height:1}.favorite-place.active{color:#f3df91;background:#ffffff0e}.compare-sheet{position:fixed;z-index:30;left:10px;right:10px;bottom:calc(72px + env(safe-area-inset-bottom));max-height:min(72vh,650px);overflow:auto;border:1px solid #ffffff16;border-radius:20px;background:rgba(12,19,22,.97);box-shadow:0 18px 55px #0008;padding:15px;backdrop-filter:blur(18px)}.compare-sheet[hidden]{display:none}.compare-intro{margin:2px 0 13px;color:#8b9996;font-size:10px;line-height:1.45}.compare-grid{display:grid;gap:8px}.compare-card{width:100%;min-height:82px;border:1px solid #ffffff11;border-radius:14px;background:#ffffff06;color:#e9efed;padding:11px;display:grid;grid-template-columns:minmax(0,1.5fr) .5fr .72fr .62fr .62fr;gap:8px;align-items:center;text-align:left}.compare-card>div{min-width:0;display:grid;gap:3px}.compare-card>div small{font-size:7px;color:#8f9d99;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.compare-card>div b{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.compare-card>strong{font-size:18px}.compare-card>span{display:grid;gap:2px}.compare-card>span b{font-size:11px}.compare-card>span small{font-size:7px;color:#82908d}.compare-loading{padding:22px;text-align:center;color:#899794;font-size:10px}.layer-preview.powder{background:linear-gradient(145deg,#dfeef2,#7fa5b2);position:relative}.layer-preview.powder:after{content:"✦";position:absolute;inset:0;display:grid;place-items:center;color:#fff;font-size:14px}.offline-badge{position:fixed;z-index:80;top:calc(7px + env(safe-area-inset-top));left:50%;transform:translateX(-50%);border:1px solid #ffffff18;border-radius:20px;background:#151d20eF;color:#d9e2df;padding:5px 9px;font-size:7px;font-weight:900;letter-spacing:.08em;pointer-events:none}.offline-badge[hidden]{display:none}
@media(max-width:520px){.compare-card{grid-template-columns:minmax(0,1.4fr) .5fr .7fr}.compare-card>span:nth-of-type(2),.compare-card>span:nth-of-type(3){display:none}}.resort-status{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin:10px 0 8px}.resort-status span{min-width:0;padding:7px 5px;border:1px solid #ffffff0d;border-radius:10px;background:#ffffff05;display:grid;gap:2px}.resort-status b{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.resort-status small{font-size:6.5px;color:#7f8e8a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}/* Avalanche Bulletin — official regional bulletin. Danger is always number + text,never color alone. */
.layer-preview.avalanche{background:linear-gradient(145deg,#24323a,#121b20);position:relative;overflow:hidden}.layer-preview.avalanche:before{content:"";position:absolute;left:6px;right:6px;top:7px;bottom:7px;border:1.5px dashed #d6ecff;border-radius:7px;background:#8fc8ff14}.layer-preview.avalanche:after{content:"3";position:absolute;right:4px;bottom:4px;width:15px;height:15px;border-radius:4px;background:#ff9900;color:#111;font-size:9px;font-weight:900;display:grid;place-items:center}.avalanche-level{flex:0 0 auto;width:40px;height:40px;border-radius:11px;display:grid;place-items:center;font-size:20px;font-weight:900;color:#111;background:#55656a;border:1px solid #ffffff24}.avalanche-level.small{width:24px;height:24px;border-radius:7px;font-size:12px}.avalanche-level[data-level="1"]{background:#ccff66}.avalanche-level[data-level="2"]{background:#ffff00}.avalanche-level[data-level="3"]{background:#ff9900}.avalanche-level[data-level="4"]{background:#ff0000;color:#fff}.avalanche-level[data-level="5"]{background:repeating-linear-gradient(45deg,#ff0000 0 5px,#111 5px 10px);color:#fff;text-shadow:0 0 3px #000}.avalanche-level[data-level="0"]{color:#e3ebe8}.avalanche-chip{position:absolute;z-index:4;left:14px;top:calc(var(--map-search-top) + 72px);max-width:min(240px,calc(100vw - 92px));min-height:44px;padding:6px 11px 6px 7px;display:flex;align-items:center;gap:8px;border:1px solid #ffffff26;border-radius:14px;background:#10181bd9;backdrop-filter:blur(16px);box-shadow:0 8px 24px #0005;text-align:left;cursor:pointer}.avalanche-chip[hidden]{display:none}.avalanche-chip>span:last-child{min-width:0;display:grid;gap:1px}.avalanche-chip b{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.avalanche-chip small{font-size:8px;color:#9eaaa8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.avalanche-chip[data-state="stale"] b{color:#c8d0ce}.avalanche-chip:focus-visible,.layer-row:focus-visible,.avalanche-sheet button:focus-visible,.avalanche-sheet a:focus-visible{outline:2px solid #8fc8ff;outline-offset:2px}.avalanche-sheet{position:fixed;z-index:60;left:10px;right:10px;bottom:calc(72px + env(safe-area-inset-bottom));max-height:min(72vh,650px);overflow:auto;overscroll-behavior:contain;border:1px solid #ffffff16;border-radius:20px;background:rgba(12,19,22,.97);box-shadow:0 18px 55px #0008;padding:15px;backdrop-filter:blur(18px)}.avalanche-sheet[hidden]{display:none}.avalanche-body{display:grid;gap:12px}.avalanche-hero{display:flex;align-items:center;gap:12px}.avalanche-hero>div{min-width:0;display:grid;gap:3px}.avalanche-hero strong{font-size:19px;letter-spacing:-.01em}.avalanche-hero>div>span{font-size:11px;color:#a9b5b2;overflow-wrap:anywhere}.avalanche-disclaimer{margin:0;padding:8px 10px;border-radius:10px;background:#ffffff08;border:1px solid #ffffff10;color:#c9d3d0;font-size:10px;font-weight:700}.avalanche-notice{padding:8px 10px;border-radius:10px;background:#3a2f17;border:1px solid #f3c56b55;color:#f6deaa;font-size:10px;line-height:1.4}.avalanche-times{display:grid;grid-template-columns:1fr 1fr;gap:6px}.avalanche-times span{display:grid;gap:2px;padding:7px 9px;border:1px solid #ffffff0d;border-radius:10px;background:#ffffff05}.avalanche-times small,.avalanche-section>small{font-size:7px;font-weight:900;letter-spacing:.1em;color:#7e8d89}.avalanche-times b{font-size:11px}.avalanche-section{display:grid;gap:6px}.avalanche-rating{display:flex;align-items:center;gap:8px;font-size:10px;color:#dce5e2}.avalanche-problem{display:grid;gap:2px;padding:7px 9px;border:1px solid #ffffff0d;border-radius:10px;background:#ffffff05}.avalanche-problem b{font-size:11px}.avalanche-problem span{font-size:9px;color:#9eaaa8}.avalanche-highlights{margin:0;font-size:10px;line-height:1.45;color:#c9d3d0}.avalanche-source{display:flex;justify-content:space-between;align-items:center;gap:10px;padding-top:10px;border-top:1px solid #ffffff12;font-size:9px;color:#9eaaa8}.avalanche-source a{flex:0 0 auto;min-height:36px;display:inline-flex;align-items:center;padding:0 11px;border-radius:10px;background:#eef4f1;color:#10191c;font-weight:800;text-decoration:none}.avalanche-empty{display:grid;gap:5px;padding:12px;border:1px solid #ffffff10;border-radius:12px;background:#ffffff05}.avalanche-empty b{font-size:12px}.avalanche-empty span{font-size:10px;color:#9eaaa8;line-height:1.45}.layer-row[data-state="stale"] small,.layer-row[data-state="error"] small{color:#e2c98f}
@media(min-width:760px){.avalanche-sheet{width:420px;left:auto;right:20px;bottom:20px}}
@media(max-width:520px){.avalanche-chip{left:10px;top:calc(var(--map-search-top) + 64px)}}/* Map overlay only: hidden while the Weather view is shown. */
body:has(#weatherView:not([hidden])) .avalanche-chip,body:has(#weatherView:not([hidden])) .avalanche-sheet{display:none}/* Bulletin terrain — the bulletin's aspects/elevations,colored with the official danger level (EAWS colors). */
.layer-preview.bulletin-terrain{background:repeating-linear-gradient(135deg,#0000 0 4px,#10181b88 4px 7px),linear-gradient(160deg,#ccff66 0 30%,#ffff00 30% 55%,#ff9900 55% 80%,#ff0000 80%)}.bulletin-terrain-legend{position:absolute;z-index:4;left:14px;top:calc(var(--map-search-top) + 124px);max-width:min(260px,calc(100vw - 92px));padding:8px 10px;display:grid;gap:3px;border:1px solid #ffffff26;border-radius:12px;background:#10181bd9;backdrop-filter:blur(16px);box-shadow:0 8px 24px #0005;font-size:9px;color:#d6dedb;pointer-events:none}.bulletin-terrain-legend[hidden]{display:none}.bulletin-terrain-legend b{font-size:10px}.bulletin-terrain-legend span{display:flex;align-items:center;gap:6px}.bulletin-terrain-legend i{flex:0 0 14px;height:10px;border-radius:3px;border:1px solid #0006}.bulletin-terrain-legend small{font-size:8px;color:#9eaaa8;font-weight:700}
@media(max-width:520px){.bulletin-terrain-legend{left:10px;top:calc(var(--map-search-top) + 116px)}}body:has(#weatherView:not([hidden])) .bulletin-terrain-legend{display:none}.avalanche-archive{padding-top:8px;border-top:1px solid #ffffff0d;font-size:9px;color:#6f7d7a}.avalanche-archive summary{cursor:pointer;width:max-content;padding:4px 0;list-style:none;font-size:9px;color:#6f7d7a}.avalanche-archive summary::-webkit-details-marker{display:none}.avalanche-archive summary:after{content:" ›"}.avalanche-archive[open] summary:after{content:" ˅"}.avalanche-archive-row{display:flex;align-items:center;gap:6px;margin-top:6px}.avalanche-archive input{min-width:0;flex:1 1 auto;max-width:170px}.avalanche-archive input{min-height:32px;border:1px solid #ffffff14;border-radius:9px;background:#ffffff06;color:#c9d3d0;padding:0 8px;font:inherit;font-size:11px;color-scheme:dark}.avalanche-archive button{min-height:32px;border:1px solid #ffffff14;border-radius:9px;background:#ffffff08;color:#c9d3d0;padding:0 10px;font-size:10px;font-weight:700}/* Desktop map rotation: drag the control horizontally. MapLibre's native right-drag/Ctrl-drag remains available. */
.desktop-rotate{display:none;touch-action:none;cursor:ew-resize}.desktop-rotate span{display:block;font-size:20px;line-height:1}
@media (hover:hover) and (pointer:fine){.desktop-rotate{display:block}}/* Unified map sheet/card UX. */
.managed-sheet{--sheet-drag-y:0px;transform:translateY(var(--sheet-drag-y));transition:transform .22s ease,max-height .22s ease}.managed-sheet.sheet-dragging{transition:none}.sheet-grabber{display:block;width:100%;height:22px;margin:-6px 0 1px;padding:0;border:0;background:transparent;touch-action:none;cursor:ns-resize}.sheet-grabber span{display:block;width:40px;height:4px;margin:9px auto;border-radius:4px;background:#687472;transition:width .18s ease,background .18s ease}.sheet-grabber:hover span,.sheet-grabber:focus-visible span{width:46px;background:#93a09d}.sheet-grabber:focus-visible{outline:none}.managed-sheet>.grabber{display:none}/* Collapsed means parked above the bottom navigation,not closed. Header remains the restore affordance. */
.managed-sheet.sheet-collapsed{max-height:76px!important;overflow:hidden!important;padding-top:8px!important;padding-bottom:9px!important}.managed-sheet.sheet-collapsed>*:not(.sheet-grabber):not(.panel-head):not(.activities-head):not(.activity-detail-head):not(.route-detail-head){display:none!important}.managed-sheet.sheet-collapsed .panel-head,.managed-sheet.sheet-collapsed .activities-head,.managed-sheet.sheet-collapsed .activity-detail-head,.managed-sheet.sheet-collapsed .route-detail-head{min-height:38px;align-items:center}.managed-sheet.sheet-collapsed .panel-head h2,.managed-sheet.sheet-collapsed .activities-head h2,.managed-sheet.sheet-collapsed .activity-detail-head h2,.managed-sheet.sheet-collapsed .route-detail-head h2{margin:1px 0 0;font-size:15px}.managed-sheet.sheet-collapsed .panel-head small,.managed-sheet.sheet-collapsed .activities-head small,.managed-sheet.sheet-collapsed .activity-detail-head small,.managed-sheet.sheet-collapsed .route-detail-head small{font-size:7px}.managed-sheet.sheet-collapsed .panel-head>button,.managed-sheet.sheet-collapsed .activities-head>button:last-child,.managed-sheet.sheet-collapsed .activity-detail-head>button,.managed-sheet.sheet-collapsed .route-detail-head>button{width:30px;height:30px;font-size:18px}/* Back buttons do not make sense while a detail card is parked; the title + grabber restores it. */
.activity-detail.sheet-collapsed #backActivities,.route-detail.sheet-collapsed #backRouteDetail{visibility:hidden}

@media(min-width:760px){.managed-sheet.sheet-collapsed{max-height:78px!important}
}/* Active recording is persistent,but can be parked as a compact live chip. */
.active-session{grid-template-rows:16px auto}.active-session-handle{grid-column:1/-1;width:100%;height:16px;margin:0;padding:0;border:0;background:transparent;touch-action:none;cursor:ns-resize}.active-session-handle span{display:block;width:36px;height:4px;margin:6px auto;border-radius:4px;background:#687472}.active-session-main{grid-row:2}.active-map-controls{grid-row:2}.active-session.collapsed{grid-template-columns:minmax(0,1fr);right:auto;max-width:min(280px,calc(100vw - 24px));grid-template-rows:12px auto}.active-session.collapsed .active-session-handle{height:12px}.active-session.collapsed .active-session-handle span{width:30px;height:3px;margin:4px auto}.active-session.collapsed .active-map-controls{display:none}.active-session.collapsed .active-session-main{min-height:40px;padding:6px 10px;border-radius:13px;grid-template-columns:auto auto;grid-template-areas:"live time";gap:8px}.active-session.collapsed .active-session-main small{display:none}.active-session.collapsed .session-live{font-size:8px}.active-session.collapsed .active-session-main strong{font-size:11px}body:has(.active-session.collapsed:not([hidden])) .slope-legend,body:has(.active-session.collapsed:not([hidden])) .aspect-legend,body:has(.active-session.collapsed:not([hidden])) .sun-panel,body:has(.active-session.collapsed:not([hidden])) .map-route-chip{
  bottom:calc(var(--place-card-dock) + var(--place-card-current-h) + 54px + var(--map-float-gap))!important
}.community-view{position:fixed;inset:0;z-index:22;overflow-y:auto;padding:calc(var(--view-nav-top) + var(--view-nav-main-h) + 28px) 14px calc(32px + env(safe-area-inset-bottom));background:linear-gradient(180deg,#0c1418 0%,#0a1013 100%);color:#edf3f1}.community-view[hidden]{display:none!important}.community-head{max-width:760px;margin:0 auto 20px;display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.community-head small,.community-section-head small,.community-empty small{font-size:9px;letter-spacing:.16em;color:#7f908d;font-weight:800}.community-head h1{margin:5px 0 5px;font-size:28px;letter-spacing:-.035em}.community-head p,.community-copy{margin:0;color:#9eaaa8;font-size:12px;line-height:1.5}.community-profile{flex:0 0 42px;width:42px;height:42px;border-radius:50%;border:1px solid #ffffff18;background:#ffffff09;color:#edf3f1;font-size:19px}.community-tabs{max-width:760px;margin:0 auto 22px;padding:4px;display:grid;grid-template-columns:repeat(3,1fr);gap:3px;border:1px solid #ffffff10;border-radius:14px;background:#ffffff07}.community-tabs button{height:38px;border:0;border-radius:10px;background:transparent;color:#81908d;font-size:11px;font-weight:750}.community-tabs button.active{background:#edf3f1;color:#111a1d}.community-pane{max-width:760px;margin:0 auto}.community-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:8px}.community-section-head h2{margin:3px 0 0;font-size:19px}.community-section-head button,.community-empty button{border:1px solid #ffffff16;border-radius:11px;background:#ffffff09;color:#e9efed;padding:9px 12px;font-size:10px;font-weight:750}.community-copy{margin-bottom:15px}.community-list{display:grid;gap:8px}.community-route-card{width:100%;display:grid;gap:7px;padding:14px;border:1px solid #ffffff12;border-radius:15px;background:#111b1f;color:#edf3f1;text-align:left}.community-route-card:active{transform:scale(.99)}.community-route-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.community-route-top small{font-size:8px;letter-spacing:.1em;color:#7f908d}.community-route-top i{font-style:normal;font-size:8px;padding:4px 7px;border-radius:999px;background:#ffffff0b;color:#aebbb8}.community-route-card>b{font-size:15px}.community-route-meta{font-size:10px;color:#91a09d}.community-inline-empty,.community-empty{border:1px solid #ffffff10;border-radius:17px;background:#ffffff05}.community-inline-empty{display:grid;gap:5px;padding:18px}.community-inline-empty b{font-size:14px}.community-inline-empty span{font-size:11px;color:#899794}.community-empty{min-height:300px;padding:34px 24px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.community-empty>span{font-size:30px;margin-bottom:15px;color:#b7c2bf}.community-empty h2{margin:5px 0 7px;font-size:20px}.community-empty p{max-width:390px;margin:0 0 18px;color:#8f9d99;font-size:12px;line-height:1.55}.community-empty button:disabled{opacity:.55}
@media(min-width:760px){.community-view{padding-top:calc(var(--view-nav-top) + var(--view-nav-main-h) + 38px)}.community-head h1{font-size:34px}}/* Community route discovery. */
.community-discover{margin-bottom:28px}.community-own-routes{padding-top:22px;border-top:1px solid #ffffff10}.community-search{height:48px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;padding:5px 6px 5px 13px;border:1px solid #ffffff14;border-radius:15px;background:#111b1f}.community-search>span{font-size:19px;color:#899995}.community-search input{min-width:0;border:0;outline:0;background:transparent;color:#edf3f1;font:inherit;font-size:13px}.community-search input::placeholder{color:#687774}.community-search button{height:36px;padding:0 13px;border:0;border-radius:10px;background:#edf3f1;color:#111a1d;font-size:10px;font-weight:800}.community-area-chips{display:flex;gap:7px;overflow-x:auto;padding:9px 1px 2px;scrollbar-width:none}.community-area-chips::-webkit-scrollbar{display:none}.community-area-chips button{flex:0 0 auto;border:1px solid #ffffff12;border-radius:999px;background:#ffffff06;color:#a8b4b1;padding:7px 10px;font-size:9px}.community-search-state{display:grid;gap:4px;padding:18px 4px 14px}.community-search-state b{font-size:12px}.community-search-state span{font-size:10px;color:#7f8e8b}.community-route-card.published .community-route-top i{background:#dfe9e5;color:#15201d}/* Community route publishing inside route detail. */
.publish-route-sheet{margin-top:12px;padding:14px;border:1px solid #ffffff12;border-radius:15px;background:#0d1518;display:grid;gap:12px}.publish-route-sheet[hidden]{display:none!important}.publish-route-head{display:flex;justify-content:space-between;align-items:center}.publish-route-head small,.publish-route-head b{display:block}.publish-route-head small{font-size:8px;letter-spacing:.14em;color:#7f908d}.publish-route-head b{margin-top:3px;font-size:14px}.publish-route-head button{width:30px;height:30px;border:0;border-radius:50%;background:#ffffff0b;color:#dfe7e4;font-size:18px}.publish-route-sheet label{display:grid;gap:6px;font-size:9px;color:#899794;font-weight:700}.publish-route-sheet input,.publish-route-sheet textarea{width:100%;box-sizing:border-box;border:1px solid #ffffff12;border-radius:10px;background:#ffffff06;color:#edf3f1;padding:10px 11px;font:inherit;font-size:11px;outline:0;resize:vertical}.publish-route-sheet input:focus,.publish-route-sheet textarea:focus{border-color:#ffffff35}.publish-route-note{font-size:9px;line-height:1.45;color:#899794}/* Vertex account state in Community. */
.account-card-copy{min-width:0;display:grid;gap:3px}.account-card-copy small{font-size:8px;letter-spacing:.14em;color:#7f908d}.account-card-copy b{font-size:12px}.account-card-copy span{font-size:9px;color:#899794;line-height:1.4}
@media(max-width:520px){}/* Secret-gated development account sheet. */
/* Community route preview + independent save. */
.route-detail-actions .route-community-save{background:#edf3f1;color:#111a1d;border-color:transparent}.route-community-info{margin:10px 0 2px;padding:12px 13px;border:1px solid #ffffff10;border-radius:13px;background:#ffffff05;display:grid;gap:4px}.route-community-info[hidden]{display:none!important}.route-community-info small{font-size:8px;letter-spacing:.14em;color:#7f908d;font-weight:800}.route-community-info b{font-size:11px}.route-community-info span{font-size:10px;line-height:1.45;color:#899794}.community-route-card-wrap{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:stretch}.community-route-card-wrap>.community-route-card{min-width:0}.community-route-save-inline{min-width:118px;padding:0 12px;border:1px solid #ffffff1c;border-radius:14px;background:#f1f5f3;color:#0d171b;font-size:10px;font-weight:850;white-space:nowrap}.community-route-save-inline:disabled{opacity:.65}
@media(max-width:560px){.community-route-card-wrap{grid-template-columns:1fr}.community-route-save-inline{min-height:40px;width:100%}}.community-preview-bar{position:absolute;z-index:29;top:calc(max(15px,env(safe-area-inset-top)) + 45px);left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:7px;padding:6px 9px;border:1px solid #ffffff1a;border-radius:999px;background:#0b1215d9;backdrop-filter:blur(16px);box-shadow:0 7px 22px #0005;pointer-events:none}.community-preview-bar[hidden]{display:none!important}.community-preview-bar span{font-size:7px;letter-spacing:.14em;color:#8d9b98;font-weight:900}.community-preview-bar b{font-size:9px;color:#edf3f1}.community-library-summary{margin-top:24px;padding-top:18px;border-top:1px solid #ffffff10}.community-library-card{width:100%;display:grid;grid-template-columns:42px minmax(0,1fr) 24px;align-items:center;gap:11px;padding:13px 14px;border:1px solid #ffffff12;border-radius:16px;background:#0f181c;color:#edf3f1;text-align:left}.community-library-card:active{transform:scale(.995)}.community-library-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:#ffffff0a;color:#c9d4d1;font-size:18px}.community-library-copy{min-width:0;display:grid;gap:3px}.community-library-copy small{font-size:8px;letter-spacing:.13em;color:#7f908d;font-weight:850}.community-library-copy b{font-size:14px}.community-library-copy em{font-style:normal;font-size:10px;color:#899794;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.community-library-arrow{justify-self:end;color:#75837f;font-size:24px;line-height:1}.community-library-status{display:flex;gap:6px;overflow-x:auto;padding-top:8px;scrollbar-width:none}.community-library-status:empty{display:none}.community-library-status::-webkit-scrollbar{display:none}.community-library-pill{display:flex;align-items:center;gap:5px;flex:0 0 auto;padding:6px 8px;border:1px solid #ffffff10;border-radius:999px;background:#ffffff05}.community-library-pill b{font-size:9px}.community-library-pill small{font-size:8px;color:#8e9b98}.community-context-area{flex:0 0 auto;max-width:46%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:6px 8px;border-radius:999px;background:#ffffff08;color:#a3b0ad;font-size:8px;font-weight:800}.community-context-row{max-width:760px;margin:8px auto 0;display:flex;justify-content:flex-end}.community-view-toggle{display:flex;gap:3px;padding:3px;border:1px solid #ffffff12;border-radius:11px;background:#ffffff06}.community-view-toggle button{height:28px;padding:0 10px;border:0;border-radius:8px;background:transparent;color:#84918e;font-size:9px;font-weight:800}.community-view-toggle button.active{background:#edf3f1;color:#111a1d}.route-detail.community-map-card{left:10px;right:10px;bottom:10px;max-height:min(240px,34dvh);padding:12px 14px;border-radius:18px}.route-detail.community-map-card .sheet-grabber{height:14px;margin:-5px 0 0}.route-detail.community-map-card .route-detail-head{position:static;margin:0 0 6px;padding:0;background:none}.route-detail.community-map-card .route-detail-head h2{margin:2px 0 0;font-size:17px}.route-detail.community-map-card .route-detail-head small{font-size:7px}.route-detail.community-map-card .route-detail-stats{grid-template-columns:repeat(3,1fr);margin-bottom:8px}.route-detail.community-map-card .route-detail-stats span:nth-child(n+4){display:none}.route-detail.community-map-card .route-profile-head,.route-detail.community-map-card .route-elevation-profile,.route-detail.community-map-card .route-community-info{display:none}.route-detail.community-map-card .route-detail-actions{margin-top:6px}.route-detail.community-map-card #routeDetailReplay{display:none}.route-detail.community-map-card #routeDetailMore{display:none}.route-detail.community-map-card .route-community-save:not([hidden]){order:0;flex:1 1 100%}
@media(min-width:760px){.route-detail.community-map-card{left:20px;right:auto;bottom:20px;width:360px;max-height:230px}
}.community-map-bar{position:absolute;z-index:29;top:calc(max(15px,env(safe-area-inset-top)) + 45px);left:10px;right:10px;display:flex;align-items:center;justify-content:space-between;gap:10px;pointer-events:none}.community-map-bar[hidden]{display:none!important}.community-map-bar button{pointer-events:auto;height:34px;padding:0 12px;border:1px solid #ffffff18;border-radius:11px;background:#0b1215df;color:#edf3f1;font-size:10px;font-weight:800;backdrop-filter:blur(16px)}.community-map-bar span{padding:7px 9px;border:1px solid #ffffff12;border-radius:999px;background:#0b1215cf;color:#aeb9b6;font-size:9px;font-weight:800;backdrop-filter:blur(14px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.community-search-wrap{position:relative}.community-place-results{position:absolute;z-index:8;top:54px;left:0;right:0;display:grid;gap:2px;padding:6px;border:1px solid #ffffff14;border-radius:14px;background:#0c1519f5;backdrop-filter:blur(18px);box-shadow:0 16px 42px #0008}.community-place-results[hidden]{display:none!important}.community-place-result{display:grid;gap:3px;width:100%;padding:10px 11px;border:0;border-radius:10px;background:transparent;color:#edf3f1;text-align:left}.community-place-result:hover,.community-place-result:focus-visible{background:#ffffff0a}.community-place-result b{font-size:12px}.community-place-result small{font-size:9px;color:#879692;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.community-place-empty{padding:12px 10px;color:#81908d;font-size:10px}.community-map-open{height:32px;padding:0 11px;border:1px solid #ffffff14;border-radius:10px;background:#ffffff08;color:#e8efec;font-size:9px;font-weight:800}.community-context-area[hidden]{display:none!important}.community-discover{margin-bottom:22px}.community-search-state{padding:13px 4px 10px}.community-library-summary{margin-top:20px}.community-view-toggle,.community-area-chips,.community-context-row{display:none!important}/* App chrome must stay fixed-scale; the map itself owns pinch/zoom gestures. */
html,body,#app{touch-action:manipulation}#map,#weatherMapCanvas{touch-action:auto}input,textarea,select{font-size:16px}.community-search input,.search input{font-size:16px}.community-view,.weather-view,.panel,.activities-sheet,.activity-detail,.explore-sheet,.record-sheet,.route-detail,.bottom-nav,.topbar{touch-action:pan-x pan-y}.route-detail-meta{margin-top:2px;color:#8f9c99;font-size:9px;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.route-detail-head>div{min-width:0}.route-detail-stats{grid-template-columns:repeat(3,1fr)}.route-detail.community-map-card{max-height:min(190px,28dvh)}.route-detail.community-map-card .route-detail-meta{font-size:8px}.route-detail.community-map-card .route-detail-stats{margin-bottom:6px}.route-detail.community-map-card .route-community-info{display:none!important}.route-detail.community-map-card .route-detail-actions{margin-top:4px}.route-detail.community-map-card .route-detail-actions button{min-height:38px}
@media(min-width:760px){.route-detail.community-map-card{max-height:190px}}.route-detail-stats{grid-template-columns:repeat(5,minmax(0,1fr))}.route-detail-stats span{min-width:0}.route-detail-stats b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.route-detail.community-map-card .route-detail-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.route-detail.community-map-card .route-detail-stats span:nth-child(5){display:none}.community-people-discover{max-width:760px;margin:0 auto}.community-people-list{display:grid;gap:8px;margin-top:8px}.community-person-card{display:grid;grid-template-columns:42px minmax(0,1fr);gap:11px;align-items:start;padding:12px 13px;border:1px solid #ffffff10;border-radius:15px;background:#0f181c}.community-person-avatar{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#ffffff0b;color:#edf3f1;font-size:14px;font-weight:900}.community-person-copy{min-width:0}.community-person-top{display:flex;align-items:center;gap:7px}.community-person-top b{font-size:13px}.community-person-top i{font-style:normal;padding:3px 6px;border-radius:999px;background:#edf3f1;color:#111a1d;font-size:7px;font-weight:900}.community-person-copy small{display:block;margin-top:3px;color:#899793;font-size:9px}.community-person-copy p{margin:7px 0 0;color:#aeb9b6;font-size:10px;line-height:1.35}.community-profile-view{max-width:760px;margin:0 auto;padding-bottom:28px}.community-profile-head{display:grid;grid-template-columns:36px minmax(0,1fr);align-items:center;gap:9px;margin-bottom:14px}.community-profile-head button{width:36px;height:36px;border:1px solid #ffffff14;border-radius:50%;background:#ffffff08;color:#edf3f1;font-size:22px}.community-profile-head small{display:block;color:#81908d;font-size:8px;letter-spacing:.14em;font-weight:850}.community-profile-head h2{margin:2px 0 0;font-size:19px}.community-profile-hero{display:grid;grid-template-columns:56px minmax(0,1fr);gap:13px;align-items:start;padding:14px;border:1px solid #ffffff10;border-radius:17px;background:#0f181c;margin-bottom:20px}.community-profile-avatar{display:grid;place-items:center;width:56px;height:56px;border-radius:50%;background:#ffffff0b;font-size:18px;font-weight:900}.community-profile-hero b{display:block;font-size:15px}.community-profile-hero small{display:block;margin-top:3px;color:#8b9995;font-size:9px}.community-profile-hero p{margin:8px 0 0;color:#aeb9b6;font-size:10px;line-height:1.4}.community-profile-routes-head{margin-top:0}.community-person-card{width:100%;border:1px solid #ffffff10;text-align:left;color:#edf3f1}.community-person-card:active{transform:scale(.995)}.profile-editor-sheet{position:absolute;z-index:45;left:12px;right:12px;top:calc(max(18px,env(safe-area-inset-top)) + 54px);max-width:520px;margin:0 auto;padding:16px;border:1px solid #ffffff16;border-radius:20px;background:#0d1519f7;backdrop-filter:blur(20px);box-shadow:0 24px 70px #0009}.profile-editor-sheet[hidden]{display:none!important}.profile-editor-sheet label{display:grid;gap:6px;margin-top:12px;color:#95a39f;font-size:9px;font-weight:800}.profile-editor-sheet input,.profile-editor-sheet textarea{width:100%;border:1px solid #ffffff14;border-radius:12px;background:#ffffff08;color:#edf3f1;padding:11px 12px;font:inherit;resize:none}.community-profile-edit{margin-top:10px;padding:7px 9px;border:1px solid #ffffff14;border-radius:10px;background:#ffffff08;color:#edf3f1;font-size:9px;font-weight:800}.community-profile{display:flex;align-items:center;gap:7px;height:36px;padding:0 10px 0 6px;border:1px solid #ffffff16;border-radius:999px;background:#ffffff08;color:#edf3f1}.community-profile span{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#ffffff10;font-size:10px;font-weight:900}.community-profile b{font-size:9px;white-space:nowrap}
@media(max-width:430px){.community-profile b{font-size:8px}}.community-profile{display:grid;place-items:center;width:40px;height:40px;padding:0;border:1px solid #ffffff18;border-radius:50%;background:#ffffff0a;color:#edf3f1}.community-profile svg{width:22px;height:22px;fill:currentColor}.community-profile:active{transform:scale(.96)}/* Community/account controls — aligned with the rest of Vertex */
.profile-editor-sheet #saveProfile,.community-profile-edit{
  min-height:42px;
  padding:0 13px;
  border:1px solid #ffffff18!important;
  border-radius:12px!important;
  font-size:10px!important;
  font-weight:800!important;
  line-height:1;
  box-shadow:none!important;
}.profile-editor-sheet #saveProfile{
  background:#f1f5f3!important;
  color:#0d171b!important;
  border-color:transparent!important;
}.community-profile-edit{
  background:#ffffff0b!important;
  color:#edf3f1!important;
  border-color:#ffffff18!important;
}.profile-editor-sheet #saveProfile:active,.community-profile-edit:active{
  transform:scale(.985);
}.profile-editor-sheet .publish-route-head button{
  width:34px;
  height:34px;
  border:1px solid #ffffff14!important;
  border-radius:50%!important;
  background:#ffffff08!important;
  color:#dfe7e4!important;
  font-size:18px!important;
  line-height:1;
}.profile-editor-sheet .publish-route-head button:active{
  transform:scale(.96);
}

@media(max-width:520px){
}/* Community polish pass */
.profile-editor-sheet{
  position:fixed!important;
  z-index:46;
  left:var(--ui-edge)!important;
  right:var(--ui-edge)!important;
  top:auto!important;
  bottom:calc(var(--ui-edge) + env(safe-area-inset-bottom))!important;
  max-width:520px;
  max-height:min(70dvh,640px);
  overflow-y:auto;
  margin:0 auto!important;
  padding:16px;
  border:1px solid #ffffff16;
  border-radius:var(--ui-radius)!important;
  background:#0d1519f7;
  backdrop-filter:blur(20px);
  box-shadow:0 24px 70px #0009;
}.profile-editor-sheet label{
  color:#899794;
  font-size:9px;
  font-weight:700;
}.profile-editor-sheet input,.profile-editor-sheet textarea{
  border:1px solid #ffffff12;
  border-radius:10px;
  background:#ffffff06;
  color:#edf3f1;
  padding:10px 11px;
  outline:0;
}.profile-editor-sheet input:focus,.profile-editor-sheet textarea:focus{
  border-color:#ffffff35;
}.community-profile-actions{
  display:flex;
  gap:7px;
  flex-wrap:wrap;
  margin-top:10px;
}.community-profile-actions[hidden]{display:none!important}.community-profile-edit{
  min-height:38px;
  padding:0 11px;
  border:1px solid #ffffff18;
  border-radius:11px;
  background:#ffffff0b;
  color:#edf3f1;
  font-size:9px;
  font-weight:800;
}.community-profile-edit:active{
  transform:scale(.985);
}.community-head{
  margin-bottom:16px;
}.community-tabs{
  margin-bottom:18px;
}.community-profile-view{
  padding-bottom:40px;
}

@media(max-width:520px){.profile-editor-sheet{
    left:10px!important;
    right:10px!important;
    bottom:calc(10px + env(safe-area-inset-bottom))!important;
  }
}/* Final Community hierarchy cleanup */
.community-library-status{display:none!important}.community-library-summary{margin-top:22px;padding-top:18px}.community-search-state{display:grid;gap:3px;padding:11px 4px 8px}.community-search-state b{font-size:11px;font-weight:800}.community-search-state span{font-size:9px;line-height:1.4;color:#7f8e8b}.community-profile-routes-head{margin-bottom:8px}.community-profile-hero{margin-bottom:18px}.community-person-copy p{max-width:52ch}.community-empty{min-height:260px}.community-empty button{min-height:42px}/* Friends foundation */
.community-friends-overview{display:grid;gap:14px;margin:0 0 18px}.community-friends-overview[hidden]{display:none!important}.community-friends-block{display:grid;gap:8px}.community-friends-block[hidden]{display:none!important}.community-friends-title{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.community-friends-title small{font-size:8px;letter-spacing:.14em;color:#7f908d;font-weight:850}.community-friends-title b{font-size:11px;color:#dfe7e4}.community-friends-list{display:grid;gap:7px}.community-friend-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:9px 10px;border:1px solid #ffffff10;border-radius:14px;background:#0f181c}.community-friend-main{display:grid;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:10px;min-width:0;padding:0;border:0;background:transparent;color:#edf3f1;text-align:left}.community-friend-main .community-person-avatar{width:38px;height:38px}.community-friend-copy{display:grid;gap:3px;min-width:0}.community-friend-copy b{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.community-friend-copy small{font-size:8px;color:#84928f;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.community-friend-row-actions{display:flex;gap:6px}.community-friend-row-actions button,.community-friend-actions button{min-height:36px;padding:0 10px;border:1px solid #ffffff18;border-radius:10px;background:#ffffff0b;color:#edf3f1;font-size:9px;font-weight:800}.community-friend-row-actions button:first-child,.community-friend-actions .community-friend-primary{background:#f1f5f3;color:#0d171b;border-color:transparent}.community-friend-row-actions button:last-child,.community-friend-actions .community-friend-secondary{background:#ffffff08;color:#aeb9b6}.community-friend-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}.community-friend-actions[hidden]{display:none!important}.community-friend-actions button:disabled,.community-friend-row-actions button:disabled{opacity:.62}
@media(max-width:520px){.community-friend-row{grid-template-columns:1fr}.community-friend-row-actions{padding-left:48px}
}/* Vertex launch splash */
.app-splash{
  position:fixed;
  inset:0;
  z-index:2000;
  display:grid;
  place-items:center;
  min-height:100dvh;
  padding:max(24px,env(safe-area-inset-top)) 18px max(24px,env(safe-area-inset-bottom));
  background:
    linear-gradient(180deg,rgba(8,12,16,.16) 0%,rgba(8,12,16,.28) 44%,rgba(8,12,16,.48) 100%),
    url('/assets/ChatGPT-bild 4 okt. 2026 18_02_15.png') center center / cover no-repeat,
    #091014;
  opacity:1;
  visibility:visible;
  transition:opacity .22s ease,visibility .22s ease;
}.app-splash img{
  display:block;
  width:min(56vw,220px);
  height:auto;
  filter:drop-shadow(0 4px 18px rgba(0,0,0,.38));
}.app-splash.hide{opacity:0;visibility:hidden;pointer-events:none}
@media(max-width:520px){.app-splash{
    background:
      linear-gradient(180deg,rgba(8,12,16,.10) 0%,rgba(8,12,16,.20) 42%,rgba(8,12,16,.42) 100%),
      url('/assets/ChatGPT-bild 4 okt. 2026 18_02_06.png') center center / cover no-repeat,
      #091014;
  }.app-splash img{width:min(58vw,204px)}
}/* Full-app authentication gate — Vertex Maps */
#app[hidden]{display:none!important}.auth-gate{
  position:fixed;
  inset:0;
  z-index:999;
  display:grid;
  place-items:center;
  min-height:100dvh;
  overflow:auto;
  padding:max(26px,env(safe-area-inset-top)) 18px max(26px,env(safe-area-inset-bottom));
  background:
    linear-gradient(180deg,rgba(8,12,16,.20) 0%,rgba(8,12,16,.30) 38%,rgba(8,12,16,.62) 100%),
    url('/assets/ChatGPT-bild 4 okt. 2026 18_02_15.png') center center / cover no-repeat,
    #091014;
  color:#fff;
}.auth-gate[hidden]{display:none!important}.auth-gate-shell{
  width:min(100%,332px);
  display:grid;
  gap:17px;
  margin:auto;
}.auth-gate-brand{
  display:grid;
  justify-items:center;
  gap:8px;
  text-align:center;
  filter:drop-shadow(0 4px 18px rgba(0,0,0,.38));
}.auth-gate-brand img{
  display:block;
  width:min(60vw,218px);
  height:auto;
}.auth-gate-brand p{
  margin:-2px 0 0;
  color:rgba(255,255,255,.82);
  font-size:8px;
  font-weight:600;
  letter-spacing:.22em;
  text-transform:uppercase;
}.auth-gate-card{
  width:100%;
  display:grid;
  gap:9px;
  padding:13px 14px 12px;
  border:1px solid rgba(255,255,255,.13);
  border-radius:16px;
  background:rgba(11,17,21,.88);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  box-shadow:0 18px 52px rgba(0,0,0,.34);
}.auth-gate-card label{
  display:grid;
  gap:5px;
  color:#9aa4a2;
  font-size:8px;
  font-weight:700;
}.auth-gate-card label[hidden]{display:none!important}.auth-gate-card input{
  width:100%;
  box-sizing:border-box;
  min-height:40px;
  padding:9px 11px;
  border:1px solid rgba(255,255,255,.17);
  border-radius:11px;
  outline:0;
  background:rgba(255,255,255,.035);
  color:#fff;
  font:inherit;
  font-size:16px;
  box-shadow:none;
}.auth-gate-card input::placeholder{color:#7f8987}.auth-gate-card input:focus{
  border-color:rgba(255,255,255,.42);
  background:rgba(255,255,255,.055);
}.auth-gate-note{
  min-height:12px;
  color:#8e9896;
  font-size:8px;
  line-height:1.4;
}.auth-gate-primary{
  min-height:40px;
  border:0;
  border-radius:9px;
  background:#f5f5f2;
  color:#101417;
  font-size:10px;
  font-weight:750;
  box-shadow:none;
}.auth-gate-primary:active{transform:scale(.989)}.auth-gate-primary:disabled{opacity:.62}.auth-gate-divider{
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  gap:9px;
  color:#78827f;
  font-size:8px;
}.auth-gate-divider::before,.auth-gate-divider::after{
  content:"";
  height:1px;
  background:rgba(255,255,255,.14);
}.auth-gate-tabs{
  display:block;
  padding:0;
  border:0;
  background:transparent;
}.auth-gate-tabs button{
  width:100%;
  min-height:39px;
  border:1px solid rgba(255,255,255,.28);
  border-radius:9px;
  background:transparent;
  color:#fff;
  font-size:9px;
  font-weight:800;
}.auth-gate-tabs button.active{display:none}.auth-gate-tabs button:not(.active){display:block}body.auth-locked{overflow:hidden}

@media(max-width:520px){.auth-gate{
    place-items:end center;
    padding:calc(26px + env(safe-area-inset-top)) 12px calc(12px + env(safe-area-inset-bottom));
    background:
      linear-gradient(180deg,rgba(8,12,16,.12) 0%,rgba(8,12,16,.22) 40%,rgba(8,12,16,.58) 100%),
      url('/assets/ChatGPT-bild 4 okt. 2026 18_02_06.png') center center / cover no-repeat,
      #091014;
  }.auth-gate-shell{width:min(100%,312px);gap:13px}.auth-gate-brand img{width:min(56vw,200px)}.auth-gate-card{
    width:min(100%,300px);
    padding:12px 13px 11px;
    border-radius:15px;
  }
}
@media(min-width:760px){.auth-gate-card input{font-size:14px}.auth-gate{
    padding:42px;
    background-position:center center;
  }.auth-gate-shell{
    width:min(332px,calc(100vw - 96px));
    gap:18px;
  }.auth-gate-brand img{width:220px}.auth-gate-card{width:312px;padding:14px 15px 13px}
}
@media(min-width:1200px){.auth-gate-shell{transform:translateY(1vh)}
}/* People/Friends hierarchy polish */
.community-friends-overview{
  margin:0 0 20px;
  padding-bottom:18px;
  border-bottom:1px solid #ffffff10;
}.community-friends-title b{font-size:12px}.community-friend-row{background:#111b1f}.community-friend-main:active{transform:scale(.995)}.community-friend-actions{margin-top:12px}.community-friend-actions .community-friend-primary:not(:disabled){
  min-width:110px;
}.community-friend-actions .community-friend-secondary{
  min-width:82px;
}.community-people-discover .community-search-wrap{
  margin-top:2px;
}.community-people-discover .community-search-state{
  padding-top:10px;
}/* Community publish action — aligned with route detail UX */
.route-detail-actions .route-publish-action{
  flex:1 0 100%;
  min-height:44px;
  border:1px solid #ffffff18;
  border-radius:12px;
  background:#ffffff0b;
  color:#edf3f1;
  font-size:10px;
  font-weight:800;
}.route-detail-actions .route-publish-action:not([hidden]){
  display:block;
}.route-detail-actions .route-publish-action:active{transform:scale(.992)}.publish-route-sheet{
  padding:15px;
  border-radius:16px;
  background:#0f181c;
}.publish-route-sheet #confirmPublishRoute{
  min-height:44px;
  border:0;
  border-radius:12px;
  background:#f1f5f3;
  color:#0d171b;
  font-size:10px;
  font-weight:850;
}.profile-editor-sheet .route-primary,.community-safety-sheet .route-primary,.publish-route-sheet .route-primary{
  /* Same primary treatment as Publish route; without it these fall back to the browser's grey button with white text. */
  width:100%;
  min-height:44px;
  border:0;
  border-radius:12px;
  background:#f1f5f3;
  color:#0d171b;
  font-size:10px;
  font-weight:850;
}.publish-route-note{color:#8e9b98}.community-friend-message{
  flex:1 0 100%;
  margin-top:2px;
  color:#d3aaa5;
  font-size:9px;
  line-height:1.4;
}/* Community currently exposes Routes + People only. */
.community-tabs{grid-template-columns:repeat(2,1fr)}.community-tabs [hidden]{display:none!important}/* Mobile bottom-stack authority v5.
   Maximise map area: the visible tab bar is compact and sits at the viewport edge.
   iOS safe-area is painted behind it but does not increase layout height. */
@media(max-width:759px){
  :root{
    --mobile-safe-bottom:env(safe-area-inset-bottom);
    --mobile-nav-h:58px;
    --mobile-above-nav:66px;
    --nav-h:var(--mobile-nav-h);
    --ui-above-nav:var(--mobile-above-nav);
    --bottom-nav-clearance:var(--mobile-above-nav);
    --place-card-dock:var(--mobile-above-nav);
    --map-nav-clearance:var(--mobile-above-nav);
  }

  .bottom-nav{
    position:absolute;
    left:0;
    right:0;
    bottom:0!important;
    width:auto;
    height:var(--mobile-nav-h);
    min-height:var(--mobile-nav-h);
    padding:0 4px 2px;
    transform:none;
    border-left:0;
    border-right:0;
    border-bottom:0;
    border-radius:0;
    display:flex;
    align-items:flex-end;
    background:#091013f2;
    overflow:visible;
  }

  .bottom-nav::after{
    content:"";
    position:absolute;
    z-index:-1;
    left:0;
    right:0;
    bottom:calc(-1 * var(--mobile-safe-bottom));
    height:var(--mobile-safe-bottom);
    background:#091013f2;
    pointer-events:none;
  }

  .bottom-nav button{
    height:54px;
    min-height:54px;
    justify-content:flex-end;
    gap:2px;
    padding:1px 0 3px;
  }
  .bottom-nav .record span{
    width:30px;
    height:30px;
  }
  .bottom-nav small{
    font-size:8px;
    line-height:1;
  }

  .activities-sheet,
  .activity-detail,
  .explore-sheet,
  .record-sheet,
  .route-detail,
  .route-planner,
  .replay-controls{
    bottom:var(--mobile-above-nav)!important;
  }
  .place-card{
    bottom:var(--mobile-above-nav)!important;
  }
  
}/* Account lifecycle */
.account-delete{
  width:100%;
  min-height:44px;
  margin-top:8px;
  border:1px solid rgba(255,110,110,.28);
  border-radius:12px;
  background:rgba(130,28,28,.14);
  color:#ffb0aa;
  font-weight:800;
}.account-delete:active{background:rgba(150,34,34,.24)}.danger-action{
  background:#b33a32!important;
  color:#fff!important;
}/* Community safety — shared report/block dialog */
.community-safety-actions{
  display:flex;
  gap:8px;
  margin-top:10px;
}.community-safety-actions button{
  min-height:38px;
  padding:0 12px;
  border:1px solid #ffffff18;
  border-radius:11px;
  background:#ffffff09;
  color:#aeb9b6;
  font-size:10px;
  font-weight:800;
}.community-safety-actions #communityProfileBlock{
  color:#ffaaa4;
  border-color:rgba(255,110,110,.22);
}.community-safety-sheet{
  position:fixed;
  z-index:240;
  left:50%;
  top:50%;
  width:min(420px,calc(100vw - 28px));
  max-height:min(560px,calc(100dvh - 40px));
  overflow:auto;
  transform:translate(-50%,-50%);
  padding:16px;
  border:1px solid #ffffff20;
  border-radius:20px;
  background:#0d1519f8;
  backdrop-filter:blur(24px);
  box-shadow:0 24px 70px #000b;
}.community-safety-sheet[hidden]{display:none!important}.community-safety-sheet label{
  display:grid;
  gap:6px;
  margin-top:12px;
  color:#a8b4b1;
  font-size:10px;
  font-weight:800;
}.community-safety-sheet select,.community-safety-sheet textarea{
  width:100%;
  border:1px solid #ffffff18;
  border-radius:12px;
  background:#111c21;
  color:#f2f6f4;
  padding:11px 12px;
  font:inherit;
}.community-safety-sheet textarea{resize:vertical;min-height:82px}.community-safety-sheet .route-primary{width:100%;margin-top:14px}.account-secondary{
  width:100%;
  min-height:44px;
  margin-top:8px;
  border:1px solid #ffffff18;
  border-radius:12px;
  background:#ffffff08;
  color:#dce4e1;
  font-weight:800;
}.account-secondary:active{background:#ffffff12}/* Full mountain forecast: conventional weather readability with snow and elevation retained. */
.weather-overview{display:grid;grid-template-columns:minmax(210px,1.2fr) 1.7fr auto;gap:10px;margin-top:10px!important;padding:14px 16px;border:1px solid #ffffff14;border-radius:18px;background:linear-gradient(145deg,#ffffff0b,#ffffff05)}.weather-now-main{display:flex;align-items:center;gap:12px;min-width:0}.weather-condition-icon{font-size:35px;line-height:1}.weather-now-main>div{min-width:0}.weather-now-main small,.weather-now-main b,.weather-now-main strong{display:block}.weather-now-main small{font-size:8px;letter-spacing:.12em;color:#81908d;font-weight:850}.weather-now-main b{margin-top:3px;font-size:14px}.weather-now-main strong{margin-top:2px;font-size:28px;letter-spacing:-.04em}.weather-now-metrics{display:grid;grid-template-columns:repeat(4,minmax(62px,1fr));gap:6px}.weather-now-metrics span,.weather-sun span{display:grid;align-content:center;padding:8px 10px;border-radius:12px;background:#ffffff07}.weather-now-metrics small,.weather-sun small{font-size:8px;color:#80908d}.weather-now-metrics b,.weather-sun b{margin-top:2px;font-size:11px;white-space:nowrap}.weather-sun{display:grid;grid-template-columns:1fr;gap:6px;min-width:82px}.weather-level-card.active{border-color:#ffffff32;background:#17252a;box-shadow:inset 0 0 0 1px #ffffff0b}.weather-level-card> b span{font-size:.65em;vertical-align:.08em}.weather-hour-card i{display:block;margin:5px 0 2px;font-size:20px;font-style:normal}.weather-hour-card b{margin:2px 0 5px!important}.weather-hour-card span{min-height:24px;color:#c8d3d0;line-height:1.25}.weather-hour-card em{line-height:1.25}.weather-day-icon{display:inline-block;margin-right:6px;font-size:15px}.weather-days article>div b{display:flex;align-items:center}
@media(max-width:720px){.weather-overview{grid-template-columns:1fr 1fr}.weather-now-main{grid-column:1/-1}.weather-now-metrics{grid-template-columns:repeat(2,1fr)}.weather-sun{grid-template-columns:1fr 1fr;min-width:0}}
@media(max-width:390px){.weather-overview{padding:12px}.weather-now-main strong{font-size:25px}.weather-condition-icon{font-size:31px}.weather-now-metrics b,.weather-sun b{font-size:10px}.weather-hours>div{flex-basis:78px}}/* Persistent Vertex signature across Map,Weather and Community. */
.app-brand-mark{
  position:fixed;
  z-index:79;
  top:max(10px,env(safe-area-inset-top));
  right:12px;
  width:54px;
  opacity:.58;
  pointer-events:none;
  filter:drop-shadow(0 2px 8px rgba(0,0,0,.28));
}.app-brand-mark img{display:block;width:100%;height:auto}
@media(max-width:390px){.app-brand-mark{right:8px;width:48px;opacity:.52}
}
@media(min-width:760px){.app-brand-mark{top:max(14px,env(safe-area-inset-top));right:20px;width:68px;opacity:.62}
}/* Product foundation: Settings,profile privacy and Powder Finder */
.community-profile-settings{border:1px solid #ffffff1c;background:#ffffff0b}.community-profile-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin:12px 0 18px;overflow:hidden;border:1px solid #ffffff14;border-radius:16px;background:#ffffff10}.community-profile-stats span{padding:12px 10px;background:#10181c}.community-profile-stats b,.community-profile-stats small{display:block}.community-profile-stats b{font-size:16px;font-variant-numeric:tabular-nums}.community-profile-stats small{margin-top:3px;font-size:9px;color:#8f9b99;text-transform:uppercase;letter-spacing:.08em}.community-profile-private-head{margin-top:20px}.community-profile-activity{display:flex;width:100%;padding:11px 12px;border:1px solid #ffffff14;border-radius:14px;background:#111a1e}.community-profile-activity span{min-width:0}.community-profile-activity small,.community-profile-activity b,.community-profile-activity em{display:block}.community-profile-activity small{font-size:9px;color:#84918f;letter-spacing:.08em}.community-profile-activity b{margin-top:2px;font-size:13px}.community-profile-activity em{margin-top:3px;font-size:10px;color:#aeb8b6;font-style:normal}.settings-sheet{z-index:30!important;max-height:min(82vh,760px)!important;overflow:auto}.settings-section{display:flex;flex-direction:column;gap:9px;padding:14px 0;border-bottom:1px solid #ffffff12}.settings-section>small{font-size:9px;font-weight:800;letter-spacing:.15em;color:#80908d}.settings-section label{display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:12px;color:#d9dfdd}.settings-section select{min-width:132px;height:36px;padding:0 10px;border:1px solid #ffffff18;border-radius:10px;background:#172126;color:#fff}.settings-toggle input{width:20px;height:20px;accent-color:#fff}.settings-plan{display:flex;align-items:center;justify-content:space-between;padding:12px;border:1px solid #ffffff16;border-radius:15px;background:linear-gradient(135deg,#101a1d,#172328)}.settings-plan b,.settings-plan span{display:block}.settings-plan b{font-size:15px}.settings-plan span{margin-top:2px;font-size:10px;color:#879491}.settings-plan button{height:36px;padding:0 13px;border:0;border-radius:11px;background:#f3f5f4;color:#101719;font-weight:800}.settings-pro{display:flex;flex-direction:column;gap:3px;padding:12px;border-radius:14px;background:#ffffff08}.settings-pro b{font-size:14px}.settings-pro span{font-size:12px;font-weight:700}.settings-pro small,.settings-pro em{font-size:10px;color:#9eaaa7;font-style:normal}.powder-card{width:100%;border:1px solid #ffffff16;text-align:left;color:inherit;cursor:pointer}.powder-card>strong{margin-left:auto;padding-left:14px;font-size:11px;color:#dce4e0;white-space:nowrap}.powder-finder-sheet{position:fixed;z-index:76;left:14px;right:14px;bottom:max(14px,env(safe-area-inset-bottom));max-height:min(78vh,720px);overflow:auto;padding:16px;border:1px solid #ffffff20;border-radius:24px;background:#0d1519f8;backdrop-filter:blur(24px);box-shadow:0 24px 70px #000b}.powder-finder-summary{display:flex;flex-direction:column;gap:3px;padding:13px 14px;margin:8px 0 10px;border-radius:15px;background:linear-gradient(135deg,#1c2d35,#18231f)}.powder-finder-summary b{font-size:14px}.powder-finder-summary span{font-size:11px;color:#abb6b3}.powder-finder-list{display:flex;flex-direction:column;gap:6px}.powder-finder-row{display:grid;grid-template-columns:28px minmax(0,1fr) auto auto;align-items:center;gap:9px;width:100%;padding:10px;border:1px solid #ffffff12;border-radius:14px;background:#111a1e;color:#fff;text-align:left}.powder-finder-row:hover,.powder-finder-row:focus-visible{background:#172328;outline:none}.powder-rank{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#ffffff0e;font-size:10px;font-weight:800}.powder-place b,.powder-place small,.powder-snow b,.powder-snow small,.powder-meta b,.powder-meta small{display:block}.powder-place b{font-size:13px}.powder-place small,.powder-snow small,.powder-meta small{font-size:9px;color:#85918f}.powder-snow,.powder-meta{text-align:right}.powder-snow b{font-size:13px}.powder-meta b{font-size:11px}.powder-finder-note{margin-top:10px;padding:10px 12px;border-radius:12px;background:#ffffff07;color:#8f9b99;font-size:9px;line-height:1.45}
@media(max-width:620px){.powder-finder-row{grid-template-columns:26px minmax(0,1fr) auto}.powder-meta{display:none}.community-profile-stats span{padding:10px 8px}.community-profile-stats b{font-size:14px}
}
@media(min-width:760px){.settings-sheet{width:460px;left:auto!important;right:20px!important}.powder-finder-sheet{width:560px;left:50%;right:auto;transform:translateX(-50%)}
}/* Powder snowfall raster overview */
.powder-map-card{margin:10px 0 12px;padding:10px;border:1px solid #ffffff16;border-radius:18px;background:#0b1215}.powder-map-tabs{display:flex;gap:5px;margin-bottom:8px}.powder-map-tabs button{height:30px;min-width:58px;padding:0 11px;border:1px solid #ffffff14;border-radius:9px;background:#ffffff08;color:#9eaaa8;font-size:10px;font-weight:800}.powder-map-tabs button.active{background:#eef2f0;color:#101719;border-color:#eef2f0}.powder-raster-map{position:relative;width:100%;height:220px;overflow:hidden;border-radius:14px;background:#172126;pointer-events:none}.powder-raster-map .maplibregl-canvas{cursor:default!important}.powder-raster-map .maplibregl-control-container{display:none}.powder-map-scale{display:flex;align-items:center;justify-content:flex-end;gap:7px;padding-top:8px;font-size:8px;color:#83908d}.powder-map-scale span{display:flex;align-items:center;gap:3px;white-space:nowrap}.powder-map-scale i{display:inline-block;width:13px;height:7px;border-radius:3px}.powder-map-scale i[data-snow="0"]{background:#273236}.powder-map-scale i[data-snow="5"]{background:rgb(114,210,255)}.powder-map-scale i[data-snow="10"]{background:rgb(84,151,255)}.powder-map-scale i[data-snow="20"]{background:rgb(104,92,246)}.powder-map-scale i[data-snow="30"]{background:rgb(166,86,246)}.powder-map-scale i[data-snow="50"]{background:rgb(255,245,255)}.powder-map-meta{margin-top:5px;font-size:8px;color:#75827f;text-align:right}
@media(max-width:620px){.powder-raster-map{height:190px}.powder-map-scale{gap:5px}.powder-map-scale i{width:11px}
}.powder-map-town{
  pointer-events:none;
  padding:1px 3px;
  color:#eef2ef;
  font-size:8px;
  font-weight:700;
  line-height:1;
  white-space:nowrap;
  text-shadow:
    0 1px 2px #0a1013,
    0 0 3px #0a1013,
    0 0 5px #0a1013;
  opacity:.9
}
@media(max-width:620px){.powder-map-town{font-size:7px;opacity:.86}
}/* Community IA cleanup */
.community-profile{display:flex;align-items:center;gap:6px;min-width:50px;padding:5px 8px!important;border-radius:999px!important}.community-profile>span{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#f2f5f3;color:#101719;font-size:10px;font-weight:850}.community-profile>em{font-style:normal;font-size:8px;font-weight:850;letter-spacing:.08em;color:#aeb8b5}.community-my-profile-card{display:grid;grid-template-columns:42px minmax(0,1fr) 18px;align-items:center;gap:10px;width:100%;margin-bottom:16px;padding:12px;border:1px solid #ffffff18;border-radius:16px;background:linear-gradient(135deg,#172226,#11191c);color:#fff;text-align:left}.community-my-profile-card>span:nth-child(2){min-width:0}.community-my-profile-card small,.community-my-profile-card b,.community-my-profile-card em{display:block}.community-my-profile-card small{font-size:8px;font-weight:850;letter-spacing:.12em;color:#82908d}.community-my-profile-card b{margin-top:2px;font-size:14px}.community-my-profile-card em{margin-top:3px;font-size:9px;font-style:normal;color:#9ba7a4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.community-my-profile-card>i{font-style:normal;font-size:22px;color:#81908c;text-align:right}.community-friends-overview{display:flex;flex-direction:column;gap:10px;margin-bottom:18px}.community-friends-block{padding:10px;border:1px solid #ffffff10;border-radius:15px;background:#ffffff06}.community-friends-title{display:flex;align-items:baseline;justify-content:space-between;margin:0 2px 8px}.community-friends-title small{font-size:8px;font-weight:850;letter-spacing:.12em;color:#7d8a87}.community-friends-title b{font-size:11px}.community-friends-list{display:flex;flex-direction:column;gap:6px}.community-friend-row{border-radius:12px;background:#10181c}.community-friend-pending{font-size:8px;color:#83908e;white-space:nowrap}.community-discover-people-head{margin:4px 0 8px!important}.community-discover-people-head h2{font-size:17px!important}.settings-signout{margin-top:8px}.community-profile-view .community-profile-actions{gap:7px}.community-profile-view .community-profile-actions button{flex:1}
@media(max-width:620px){.community-my-profile-card{grid-template-columns:38px minmax(0,1fr) 16px;padding:10px}.community-profile>em{display:none}
}/* Community desktop layout authority */
.community-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.community-profile{
  display:flex!important;
  width:auto!important;
  min-width:58px!important;
  height:36px!important;
  padding:5px 9px 5px 6px!important;
  place-items:unset!important;
  justify-content:flex-start;
  align-items:center;
}.community-profile>span{flex:0 0 24px}.community-profile>em{display:block}
@media(min-width:760px){.community-head,.community-tabs,.community-pane,.community-profile-view,.community-people-discover{max-width:920px}.community-people-discover{display:grid;grid-template-columns:minmax(280px,.9fr) minmax(360px,1.35fr);column-gap:26px;align-items:start}.community-my-profile-card{grid-column:1}.community-friends-overview{grid-column:1}.community-discover-people-head,.community-search-wrap,.community-people-discover>.community-search-state,.community-people-list{grid-column:2}.community-discover-people-head{grid-row:1;margin-top:0!important}.community-search-wrap{grid-row:2}.community-people-discover>.community-search-state{grid-row:3}.community-people-list{grid-row:4}.community-my-profile-card{grid-row:1}.community-friends-overview{grid-row:2 / span 3;margin-bottom:0}.community-profile-view{padding-bottom:48px}
}
@media(max-width:759px){.community-profile{width:40px!important;min-width:40px!important;height:40px!important;padding:0!important;justify-content:center}.community-profile>em{display:none}
}/* Community dialog + action authority */
.profile-editor-sheet,.community-safety-sheet{
  position:fixed!important;
  z-index:240!important;
  left:50%!important;
  right:auto!important;
  top:50%!important;
  bottom:auto!important;
  width:min(460px,calc(100vw - 28px))!important;
  max-width:460px!important;
  max-height:min(82dvh,760px)!important;
  margin:0!important;
  overflow:auto!important;
  transform:translate(-50%,-50%)!important;
  padding:16px!important;
  border:1px solid #ffffff20!important;
  border-radius:20px!important;
  background:#0d1519f8!important;
  backdrop-filter:blur(24px)!important;
  -webkit-backdrop-filter:blur(24px)!important;
  box-shadow:0 24px 70px #000b!important;
}.profile-editor-sheet[hidden],.community-safety-sheet[hidden]{display:none!important}.profile-editor-sheet .publish-route-head,.community-safety-sheet .publish-route-head{position:sticky;top:-16px;z-index:2;margin:-16px -16px 8px;padding:16px;background:#0d1519f4;backdrop-filter:blur(18px)}.profile-editor-sheet .publish-route-head>button,.community-safety-sheet .publish-route-head>button{
  display:grid;place-items:center;flex:0 0 32px;width:32px;height:32px;padding:0;border:1px solid #ffffff18;border-radius:50%;background:#ffffff08;color:#eef3f1;font-size:18px;line-height:1
}.profile-editor-sheet .publish-route-head>button:hover,.community-safety-sheet .publish-route-head>button:hover{background:#ffffff12}.community-profile-actions{display:grid!important;grid-template-columns:1fr 1fr;gap:7px!important;margin-top:10px}.community-profile-actions button{
  min-height:40px!important;margin:0!important;padding:0 12px!important;border-radius:11px!important;font-size:9px!important;font-weight:800!important
}.community-profile-edit{border:1px solid #eef3f1!important;background:#eef3f1!important;color:#101719!important}.community-profile-settings{border:1px solid #ffffff18!important;background:#ffffff09!important;color:#e6ece9!important}.community-friend-actions button,.community-friend-row-actions button{min-height:38px;border-radius:11px}.settings-account{padding-bottom:0!important;border-bottom:0!important}.settings-account .account-secondary,.settings-account .account-delete{margin-top:0}.settings-account .account-delete{margin-top:2px}#saveSettings{width:100%;min-height:42px}
@media(max-width:620px){.profile-editor-sheet,.community-safety-sheet{
    left:10px!important;
    right:10px!important;
    top:auto!important;
    bottom:calc(10px + env(safe-area-inset-bottom))!important;
    width:auto!important;
    max-width:none!important;
    max-height:min(82dvh,720px)!important;
    transform:none!important;
    border-radius:20px!important;
  }.community-profile-actions{grid-template-columns:1fr 1fr}
}/* Weather visual redesign — premium,restrained,fewer cards */
.weather-forecast{max-width:1040px;margin:0 auto}.weather-head{margin-bottom:8px}.weather-head h1{font-size:clamp(26px,4vw,40px);letter-spacing:-.04em}.weather-head p{margin-top:4px;color:#7f8d8a}.weather-summary{padding:0 2px 14px;border-bottom:1px solid #ffffff10;background:transparent!important}.weather-summary b{font-size:12px}.weather-summary span{display:block;margin-top:3px;color:#84918e;font-size:10px}.weather-overview{
  position:relative;
  overflow:hidden;
  display:grid!important;
  grid-template-columns:minmax(230px,1.15fr) 1.5fr auto!important;
  gap:18px!important;
  margin:18px 0 20px!important;
  padding:24px 26px!important;
  border:1px solid #ffffff14!important;
  border-radius:22px!important;
  background:
    radial-gradient(circle at 82% 18%,rgba(255,255,255,.07),transparent 34%),
    linear-gradient(145deg,#172328 0%,#10191d 58%,#0d1518 100%)!important;
  box-shadow:0 20px 50px #0004;
}.weather-vertex-mark{
  position:absolute;right:22px;bottom:12px;width:128px;opacity:.035;pointer-events:none;filter:grayscale(1)
}.weather-vertex-mark img{display:block;width:100%;height:auto}.weather-now-main{position:relative;z-index:1;display:flex!important;align-items:flex-end!important}.weather-now-main small{font-size:8px!important;letter-spacing:.14em!important;color:#84918f!important}.weather-now-main b{margin-top:7px!important;font-size:14px!important;font-weight:650!important;color:#cbd5d2}.weather-now-main strong{margin-top:0!important;font-size:52px!important;line-height:.95!important;letter-spacing:-.065em!important;font-weight:650!important}.weather-now-metrics{position:relative;z-index:1;display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:0!important;border-left:1px solid #ffffff10}.weather-now-metrics span{padding:4px 14px!important;border-radius:0!important;background:transparent!important;border-right:1px solid #ffffff0d}.weather-now-metrics small,.weather-sun small{font-size:8px!important;letter-spacing:.08em;text-transform:uppercase;color:#758481!important}.weather-now-metrics b,.weather-sun b{margin-top:5px!important;font-size:13px!important;font-weight:650!important}.weather-sun{position:relative;z-index:1;display:grid!important;grid-template-columns:1fr!important;gap:8px!important;min-width:86px!important}.weather-sun span{padding:4px 0!important;border-radius:0!important;background:transparent!important}.weather-levels{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:0!important;
  margin:0 0 18px!important;
  overflow:hidden;
  border-top:1px solid #ffffff12;
  border-bottom:1px solid #ffffff12;
}.weather-level-card{
  position:relative;
  min-height:auto!important;
  padding:14px 16px!important;
  border:0!important;
  border-right:1px solid #ffffff10!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}.weather-level-card:last-child{border-right:0!important}.weather-level-card::after{
  content:"";position:absolute;left:16px;right:16px;bottom:-1px;height:2px;background:transparent
}.weather-level-card.active{background:#ffffff05!important}.weather-level-card.active::after{background:#eef3f1}.weather-level-card>small{font-size:8px!important;letter-spacing:.11em!important;color:#7b8986!important}.weather-level-card>b{display:block;margin:5px 0 7px!important;font-size:28px!important;letter-spacing:-.04em}.weather-level-card div{display:flex!important;flex-wrap:wrap;gap:4px 12px!important;margin:0!important}.weather-level-card div span{font-size:9px!important;color:#8f9c99!important}.weather-level-card div strong{color:#cbd5d2!important;font-weight:650!important}.powder-card{
  display:flex!important;align-items:center;justify-content:space-between;gap:18px;
  margin:0 0 28px!important;padding:14px 0!important;
  border:0!important;border-top:1px solid #ffffff10!important;border-bottom:1px solid #ffffff10!important;border-radius:0!important;
  background:transparent!important;
}.powder-card:hover{background:#ffffff03!important}.powder-card small{font-size:8px!important;letter-spacing:.14em!important;color:#778683!important}.powder-card b{font-size:15px!important;font-weight:700}.powder-card span{font-size:10px!important;color:#8e9b98!important}.powder-card>strong{font-size:10px!important;letter-spacing:.08em;color:#b9c4c1!important}.weather-section{margin-top:26px!important}.weather-section-head{margin-bottom:10px!important}.weather-section-head small{font-size:8px!important;letter-spacing:.13em!important;color:#778683!important}.weather-section-head h2{margin-top:3px!important;font-size:20px!important;letter-spacing:-.025em}.weather-section-head>span{padding:0!important;border:0!important;background:transparent!important;color:#9aa7a4!important;font-size:10px!important}.weather-hours{
  display:flex!important;
  gap:0!important;
  overflow-x:auto;
  border-top:1px solid #ffffff12;
  border-bottom:1px solid #ffffff12;
}.weather-hour-card{
  flex:0 0 118px!important;
  min-height:128px!important;
  padding:14px 12px!important;
  border:0!important;
  border-right:1px solid #ffffff0e!important;
  border-radius:0!important;
  background:transparent!important;
}.weather-hour-card small{font-size:8px!important;color:#758481!important}.weather-hour-card b{display:block;margin:7px 0 3px!important;font-size:23px!important;letter-spacing:-.035em}.weather-hour-card strong{display:block;min-height:24px;font-size:9px;font-weight:650;color:#c3cecb}.weather-hour-card span{display:block;margin-top:8px;font-size:9px!important;color:#97a4a1!important;line-height:1.25}.weather-hour-card em{display:block;margin-top:5px;font-size:8px!important;color:#6f7d7a!important;font-style:normal}.weather-days-head{border-bottom:1px solid #ffffff10;padding-bottom:8px!important}.weather-days{gap:0!important}.weather-days article{
  border:0!important;
  border-bottom:1px solid #ffffff0f!important;
  border-radius:0!important;
  background:transparent!important;
  padding:13px 10px!important;
}.weather-days article:hover{background:#ffffff025!important}.weather-days article>div b{font-size:13px!important}.weather-days article>div small{font-size:9px!important}.weather-days article>strong{font-size:15px!important;font-weight:650}.weather-days article>em,.weather-days article>span{font-size:10px!important}.weather-days article>small:last-child{font-size:9px!important}

@media(max-width:720px){.weather-overview{
    grid-template-columns:1fr 1fr!important;
    gap:16px!important;
    padding:20px!important;
  }.weather-now-main{grid-column:1/-1}.weather-now-main strong{font-size:46px!important}.weather-now-metrics{grid-column:1/-1;grid-template-columns:repeat(4,1fr)!important;border-left:0;border-top:1px solid #ffffff10;padding-top:12px}.weather-now-metrics span:first-child{padding-left:0!important}.weather-sun{grid-column:1/-1;grid-template-columns:1fr 1fr!important;border-top:1px solid #ffffff10;padding-top:10px}.weather-vertex-mark{width:105px;right:14px;bottom:10px}
}
@media(max-width:520px){.weather-overview{margin-top:14px!important;border-radius:18px!important}.weather-levels{grid-template-columns:1fr!important}.weather-level-card{display:grid!important;grid-template-columns:1fr auto!important;gap:6px 12px!important;padding:12px 4px!important;border-right:0!important;border-bottom:1px solid #ffffff0f!important}.weather-level-card:last-child{border-bottom:0!important}.weather-level-card>b{grid-column:2;grid-row:1 / span 2;margin:0!important;align-self:center;font-size:25px!important}.weather-level-card div{grid-column:1/-1}.weather-level-card::after{left:0;right:auto;top:10px;bottom:10px;width:2px;height:auto}.weather-hour-card{flex-basis:104px!important}.weather-days article{padding-left:2px!important;padding-right:2px!important}
}/* Weather visual redesign — premium, restrained, fewer cards */
/* Weather identity + line icon authority */
.weather-vertex-mark{
  right:18px!important;
  bottom:8px!important;
  width:138px!important;
  opacity:.11!important;
  filter:none!important;
}.weather-vertex-mark svg{display:block;width:100%;height:auto;fill:#dfe8e5}.weather-now-main{gap:14px!important}.weather-condition-icon{
  display:grid;
  place-items:center;
  flex:0 0 54px;
  width:54px;
  height:54px;
  color:#eef4f1;
  opacity:.96
}.weather-condition-icon svg,.weather-mini-icon svg,.weather-day-icon svg{
  display:block;
  width:100%;
  height:100%;
  fill:none;
  stroke:currentColor;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}.weather-mini-icon{
  display:block;
  width:24px;
  height:24px;
  margin:8px 0 1px;
  color:#c9d3d0;
  opacity:.88
}.weather-day-icon{
  display:inline-block;
  width:18px;
  height:18px;
  margin-right:7px;
  color:#c9d3d0;
  vertical-align:-4px;
  opacity:.9
}
@media(max-width:720px){.weather-condition-icon{flex-basis:46px;width:46px;height:46px}.weather-vertex-mark{width:118px!important;opacity:.095!important}
}/* Post-activity summary */
.activity-detail{max-height:min(78vh,760px)}.activity-route-preview{
  position:relative;
  height:150px;
  margin:2px 0 12px;
  overflow:hidden;
  border:1px solid #ffffff14;
  border-radius:16px;
  background:#10191d
}.activity-route-preview canvas{display:block;width:100%;height:100%}.activity-route-preview>span{
  position:absolute;left:10px;top:9px;
  padding:4px 7px;border-radius:999px;
  background:#0b1215cc;color:#96a5a1;
  font-size:7px;font-weight:850;letter-spacing:.12em
}.activity-detail-stats{grid-template-columns:repeat(3,minmax(0,1fr))!important}.activity-detail-stats span{padding:10px 9px!important}.activity-detail-stats b{font-size:14px!important}.activity-actions{grid-template-columns:1fr 1fr 1fr!important}.activity-actions #saveActivityRoute{background:#f2f5f3;color:#0b1115;border-color:#f2f5f3}.activity-actions #playActivity{background:#ffffff0b;color:#fff}
@media(max-width:520px){.activity-route-preview{height:132px}.activity-detail-stats{grid-template-columns:repeat(2,minmax(0,1fr))!important}.activity-actions{grid-template-columns:1fr 1fr!important}.activity-actions #exportActivityGpx{grid-column:1/-1}
}/* ==========================================================================
   Vertex first-use IA — FATMAP-like map-first hierarchy
   Keeps the existing product surfaces and domain logic{
  font-size:22px;
  color:#d7dfdc;
}/* Community is now a global destination in the bottom bar,not a competing
   top-level switch. The top switch is intentionally only Map / Weather. */
.community-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.community-library-summary{display:none!important}.community-view{
  padding-bottom:calc(92px + env(safe-area-inset-bottom))!important;
}/* Weather belongs to Explore,so global navigation remains available. */
.weather-view{
  padding-bottom:calc(92px + env(safe-area-inset-bottom))!important;
}
@media(max-width:759px){
}/* Compact map context by default on phones: keep the mountain and the useful
   condition summary visible instead of reducing the card to an empty handle. */
@media(max-width:759px){
  .place-card.collapsed{padding-bottom:9px}
  .place-card.collapsed .place-card-content{
    max-height:112px;
    opacity:1;
    pointer-events:auto;
  }
  .place-card.collapsed .stats{display:none}
  .place-card.collapsed .place-card-title{align-items:center}
  .place-card.collapsed .place-card-title .eyebrow{display:none}
  .place-card.collapsed .place-card-title h1{
    margin:0;
    font-size:16px;
    line-height:1.1;
  }
  .place-card.collapsed .favorite-place{
    width:38px;
    height:38px;
    flex-basis:38px;
    font-size:20px;
  }
  .place-card.collapsed .resort-status{
    grid-template-columns:repeat(3,minmax(0,1fr));
    margin:7px 0 0;
  }
  .place-card.collapsed .resort-status span{
    padding:5px 6px;
    background:transparent;
  }
  .place-card.collapsed .resort-status span:nth-child(3){display:none}
}/* My Routes: one obvious add action,with source choice revealed on demand. */
.route-add-primary{
  width:100%;
  min-height:47px;
  border:1px solid #eef4f1;
  border-radius:14px;
  background:#eef4f1;
  color:#10191c;
  font-size:11px;
  font-weight:850;
}.route-add-menu{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  margin-top:8px;
}.route-add-menu[hidden]{display:none!important}.route-add-menu button{
  min-width:0;
  min-height:72px;
  padding:11px 12px;
  border:1px solid #ffffff14;
  border-radius:14px;
  background:#ffffff08;
  color:#edf3f1;
  text-align:left;
  display:grid;
  grid-template-columns:25px 1fr;
  grid-template-areas:"icon title" "icon copy";
  column-gap:8px;
  align-content:center;
}.route-add-menu button>span{grid-area:icon;font-size:17px}.route-add-menu button>b{grid-area:title;font-size:11px}.route-add-menu button>small{
  grid-area:copy;
  margin-top:2px;
  color:#84928f;
  font-size:8px;
  line-height:1.3;
}.routes-sheet .route-library-filters button{opacity:.78}.routes-sheet .route-library-filters button.active{opacity:1}

@media(max-width:390px){.route-add-menu{grid-template-columns:1fr}
}/* Keep the five global destinations stable across Map,Weather and Community. */
.bottom-nav button[data-bottom-nav="community"] span{font-size:19px}/* ==========================================================================
   Vertex UX v2 — progressive disclosure / FATMAP-like map-first hierarchy
   ========================================================================== */

/* Four global destinations only. */
.bottom-nav{grid-template-columns:repeat(4,minmax(0,1fr))!important}.bottom-nav button{min-width:0}.bottom-nav .record{transform:none}/* Explore: only essential map controls remain permanent. */
.advanced-map-tool{display:none!important}.contextual-compass{opacity:.9}.topbar{grid-template-columns:minmax(0,1fr) auto!important}/* Map / Weather is contextual{display:none!important}.contextual-navigation{pointer-events:none}.contextual-navigation .weather-tabs{pointer-events:auto}.contextual-navigation:has(.weather-tabs[hidden]){display:none!important}/* Mountain dock: summary first,tools on expansion. */
.place-card{max-width:560px}.place-expanded-content{display:grid;gap:10px}.mountain-primary-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px}.mountain-primary-actions button{
  min-height:58px;padding:9px 10px;border:1px solid #ffffff12;border-radius:13px;
  background:#ffffff06;color:#edf3f1;text-align:left;
  display:grid;grid-template-columns:25px 1fr;grid-template-areas:"icon title" "icon copy";
  column-gap:7px;align-content:center
}.mountain-primary-actions button>span{grid-area:icon;font-size:17px}.mountain-primary-actions button>b{grid-area:title;font-size:10.5px}.mountain-primary-actions button>small{grid-area:copy;color:#81908d;font-size:8px;line-height:1.25}
@media(max-width:759px){.place-card.collapsed .place-expanded-content{display:none}.place-card.collapsed .resort-status{grid-template-columns:repeat(3,minmax(0,1fr))}.place-card.collapsed .resort-status span:nth-child(3){display:none}.place-card.collapsed .place-card-content{max-height:112px!important}.place-card:not(.collapsed) .place-expanded-content{display:grid}
}/* Layers: capability stays intact,advanced controls are revealed by intent. */
.layer-more-group{border-top:1px solid #ffffff0c}.layer-more-group summary{
  list-style:none;cursor:pointer;min-height:42px;padding:0 10px;
  display:flex;align-items:center;justify-content:space-between;
  color:#96a39f;font-size:9px;font-weight:800
}.layer-more-group summary::-webkit-details-marker{display:none}.layer-more-group summary:after{content:"›";font-size:18px;color:#6f7c79;transition:transform .18s ease}.layer-more-group[open] summary:after{transform:rotate(90deg)}.layer-more-group .layer-row{border-top:1px solid #ffffff08}.layer-weather-entry{background:#ffffff05}/* Routes is one product area: discover or your library. */
.routes-library-toolbar{display:grid;grid-template-columns:1fr auto;gap:7px;margin-bottom:9px}.routes-library-toolbar button{min-height:42px}.route-add-primary{border-radius:12px!important}.route-filter-toggle{
  min-width:72px;border:1px solid #ffffff14;border-radius:12px;background:#ffffff07;
  color:#aab5b2;font-size:10px;font-weight:800
}.routes-sheet .route-library-filters{
  position:static!important;top:auto!important;margin:0 0 9px!important;padding:0!important;
  background:transparent!important
}.routes-sheet .route-library-filters[hidden]{display:none!important}.routes-intro{display:none!important}/* Contextual Community surfaces. Routes and people no longer read as a
   separate fifth app destination. */
.context-surface-nav{
  max-width:760px;margin:0 auto 14px;padding:3px;display:grid;grid-template-columns:1fr 1fr;
  gap:3px;border:1px solid #ffffff10;border-radius:12px;background:#ffffff06
}.context-surface-nav[hidden]{display:none!important}.context-surface-nav button{
  min-height:36px;border:0;border-radius:9px;background:transparent;color:#82908d;
  font-size:10px;font-weight:800
}.context-surface-nav button.active{background:#edf3f1;color:#11191c}#app[data-context-surface="routes"] .community-head,#app[data-context-surface="routes"] .community-tabs,#app[data-context-surface="routes"] .community-library-summary{display:none!important}#app[data-context-surface="people"] .community-head,#app[data-context-surface="people"] .community-tabs{display:none!important}#app[data-context-surface="routes"] .community-view,#app[data-context-surface="people"] .community-view{
  padding-top:calc(max(12px,env(safe-area-inset-top)) + 12px)!important;
  padding-bottom:calc(86px + env(safe-area-inset-bottom))!important
}#app[data-context-surface="routes"] #communityPeople{display:none!important}#app[data-context-surface="people"] #communityRoutes{display:none!important}/* You replaces a permanently visible Ski Log + Community destination. */
.you-sheet{
  position:fixed;z-index:30;left:10px;right:10px;bottom:var(--mobile-above-nav);
  max-height:min(72vh,680px);overflow:auto;padding:15px;
  border:1px solid #ffffff16;border-radius:20px;background:rgba(12,19,22,.97);
  box-shadow:0 18px 55px #0008;backdrop-filter:blur(18px);color:#edf3f1
}.you-sheet[hidden]{display:none!important}.you-season-summary{
  margin:2px 0 16px;padding:15px 2px 16px;border-bottom:1px solid #ffffff10;
  display:grid;gap:4px
}.you-season-summary small{font-size:8px;letter-spacing:.14em;color:#768581;font-weight:900}.you-season-summary b{font-size:17px;letter-spacing:-.02em}.you-season-summary span{font-size:9px;color:#83918e}.you-menu{display:grid}.you-menu>button{
  min-height:61px;width:100%;padding:8px 2px;border:0;border-bottom:1px solid #ffffff0c;
  background:transparent;color:#edf3f1;display:grid;grid-template-columns:36px 1fr 20px;
  gap:9px;align-items:center;text-align:left
}.you-menu>button>span{
  width:34px;height:34px;border-radius:11px;background:#ffffff08;
  display:grid;place-items:center;font-size:16px;color:#bec9c6
}.you-menu>button>div{min-width:0;display:grid;gap:3px}.you-menu>button b{font-size:12px}.you-menu>button small{font-size:8.5px;color:#7f8e8b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.you-menu>button i{font-style:normal;color:#6f7c79;font-size:20px}
@media(min-width:760px){.you-sheet{left:auto;right:20px;bottom:96px;width:390px;max-height:min(72vh,680px)}
}/* Route detail: one primary action; secondary management recedes. */
.route-detail-actions{display:grid!important;grid-template-columns:minmax(0,1fr) auto auto!important}.route-detail-actions .route-primary,.route-detail-actions .route-community-save:not([hidden]),.route-detail-actions .route-publish-action:not([hidden]){
  grid-column:1/-1!important;order:0!important
}.route-detail-actions #routeDetailReplay{min-width:86px}.route-detail-menu{margin-top:7px}/* Finished activity: Save as Route is the product moment,export is overflow. */
.activity-actions{
  display:grid!important;grid-template-columns:minmax(0,1fr) auto auto!important;gap:7px
}.activity-actions #saveActivityRoute{order:0}.activity-actions #playActivity{min-width:84px}.activity-actions #activityMoreButton{width:44px}.activity-more-menu{margin-top:7px}.activity-more-menu[hidden]{display:none!important}.activity-more-menu button{
  width:100%;min-height:42px;border:1px solid #ffffff14;border-radius:11px;
  background:#ffffff07;color:#dce4e1;font-size:10px;font-weight:800
}
@media(max-width:520px){.activity-actions{grid-template-columns:minmax(0,1fr) auto auto!important}.activity-actions #exportActivityGpx{grid-column:auto!important}
}/* Record: reduce visual weight of optional routing until Tour is selected. */
.record-sheet .tour-route-picker{border-top:1px solid #ffffff0d;padding-top:10px}.record-sheet .record-chooser{margin-bottom:8px}.active-map-controls{opacity:.78}.active-session:not(:focus-within):not(:hover) .active-map-controls{max-width:128px}/* Weather itself becomes an intentional detail surface rather than an always
   competing app mode. Reduce duplicated summary density. */
.weather-summary{display:none!important}.weather-overview{margin-top:12px!important}.weather-head{padding-top:2px!important}.weather-source{opacity:.65}/* Cards are reserved for actual standout content; ordinary lists become rows. */
.community-route-card,.community-person-card,.route-row,.activity-row{
  box-shadow:none!important
}.community-route-card,.community-person-card{
  border-left:0!important;border-right:0!important;border-radius:0!important;
  background:transparent!important
}

/* Vertex Pro capability presentation — one shared treatment across desktop and mobile. */
.pro-badge{display:inline-flex;align-items:center;justify-content:center;min-height:16px;padding:1px 5px;margin-left:5px;border:1px solid #ffffff24;border-radius:999px;background:#ffffff0d;color:#d9e2df;font-size:8px!important;font-style:normal!important;font-weight:800!important;line-height:1;letter-spacing:.08em;vertical-align:1px}
#app[data-plan="pro"] .pro-badge{display:none!important}
.settings-toggle input:disabled{opacity:.45;cursor:not-allowed}
.settings-toggle:has(input:disabled){opacity:.72}
.pro-upsell-sheet{z-index:145!important}
.pro-upsell-hero{display:grid;gap:7px;padding:18px;border:1px solid #ffffff12;border-radius:18px;background:linear-gradient(145deg,#ffffff0b,#ffffff04)}
.pro-upsell-hero>span{justify-self:start;padding:4px 7px;border:1px solid #ffffff2b;border-radius:999px;font-size:9px;font-weight:800;letter-spacing:.11em}
.pro-upsell-hero>b{font-size:20px;line-height:1.12;letter-spacing:-.02em}
.pro-upsell-hero p{margin:0;color:#aebbb8;font-size:13px;line-height:1.45}
.pro-upsell-features{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:12px 0}
.pro-upsell-features span{padding:10px 11px;border-bottom:1px solid #ffffff10;color:#d9e1df;font-size:12px}
.pro-upsell-price{display:grid;gap:2px;margin:4px 0 12px}.pro-upsell-price b{font-size:18px}.pro-upsell-price span,.pro-upsell-native{color:#879794;font-size:11px}
.pro-upsell-native{display:block;margin-top:10px;line-height:1.4}
@media(max-width:390px){.pro-upsell-features{grid-template-columns:1fr}.pro-upsell-hero{padding:15px}.pro-upsell-hero>b{font-size:18px}}
