:root{font-family:var(--font-family);color:var(--color-text);background:var(--color-background);font-synthesis:none;--panel: var(--color-surface-alpha-f2);--line: var(--color-white-alpha18);--muted: var(--color-text-muted);--accent: var(--color-accent);--header: var(--size-56);--safe-top: env(safe-area-inset-top, 0px);--safe-right: env(safe-area-inset-right, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px);--radius-overlay: var(--radius-10)}*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden}button,a,input,select{touch-action:manipulation}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,canvas:focus-visible{outline:var(--size-3) solid var(--accent);outline-offset:var(--size-3)}header{height:calc(var(--header) + var(--safe-top));display:flex;align-items:center;justify-content:space-between;gap:var(--size-12);padding:var(--safe-top) max(var(--size-18),var(--safe-right)) 0 max(var(--size-18),var(--safe-left));border-bottom:var(--size-1) solid var(--line);background:var(--color-surface);min-width:0}.brand{font-size:var(--font-size-22);font-weight:var(--weight-800);letter-spacing:var(--size-minus-1_2);white-space:nowrap}.brand span{color:var(--accent);margin-right:var(--size-8)}.header-right{display:flex;gap:var(--size-14);align-items:center;min-width:0;flex:0 1 auto}#resort-select{min-width:0;max-width:var(--size-260);background:var(--color-surface-raised);color:var(--color-accent);border:var(--size-1) solid var(--color-accent-alpha60);padding:var(--size-8) var(--size-10);border-radius:var(--radius-8);font:inherit;font-size:var(--font-size-14);text-overflow:ellipsis}#locale-toggle,#edit-toggle,#edit-login button{background:none;border:var(--size-1) solid var(--color-accent-alpha60);border-radius:var(--radius-8);color:var(--color-accent);font:inherit;font-size:var(--font-size-14);padding:var(--size-7) var(--size-12);white-space:nowrap}#locale-toggle:hover,#edit-toggle:hover,#edit-login button:hover{background:var(--color-accent-alpha20)}#edit-login{display:flex;gap:var(--size-6);align-items:center}#edit-login[hidden]{display:none}#edit-login input{background:var(--color-surface-raised);color:var(--color-text);border:var(--size-1) solid var(--color-accent-alpha60);border-radius:var(--radius-8);padding:var(--size-7) var(--size-10);font:inherit;font-size:var(--font-size-14);width:var(--size-170)}#edit-bar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--size-8);padding:var(--size-8) var(--size-12);background:var(--color-accent-surface);border-bottom:var(--size-1) solid var(--line);font-size:var(--font-size-13);color:var(--color-accent-text)}#edit-bar span{flex:1 1 var(--size-140);min-width:0}#edit-bar button,.edit-actions button,#edit-dialog button,.edit-release button{background:var(--accent);color:var(--color-surface-raised);border:0;border-radius:var(--radius-7);padding:var(--size-6) var(--size-12);font:inherit;font-size:var(--font-size-13);font-weight:var(--weight-600)}#edit-bar button:disabled{opacity:.45}#edit-exit,.edit-actions button[type=button],#edit-dialog button+button{background:var(--color-white-alpha18);color:var(--color-text);font-weight:var(--weight-500)}.edit-remove{margin-left:auto;color:var(--color-danger)!important;border-color:var(--color-danger)!important;background:var(--color-black-alpha55)!important}.edit-remove:hover,.edit-remove:focus-visible{background:var(--color-danger)!important;color:var(--color-surface)!important}.edit-field{float:right;background:none;border:var(--size-1) solid var(--color-accent-alpha60);border-radius:var(--radius-6);color:var(--color-accent);font:inherit;font-size:var(--font-size-12);padding:var(--size-3) var(--size-9)}.edit-form label{display:block;font-size:var(--font-size-12);color:var(--muted);margin:var(--size-8) 0 var(--size-4)}.edit-form textarea,.edit-form input,#edit-dialog textarea{display:block;width:100%;margin-top:var(--size-4);background:var(--color-surface);color:var(--color-text);border:var(--size-1) solid var(--color-white-alpha30);border-radius:var(--radius-8);padding:var(--size-8) var(--size-10);font:inherit;font-size:var(--font-size-14)}.edit-form textarea,#edit-dialog textarea{min-height:var(--size-90);resize:vertical}.edit-error{color:var(--color-danger);font-size:var(--font-size-12);margin:var(--size-6) 0 0}.edit-error:empty{display:none}.edit-actions{display:flex;gap:var(--size-8);margin-top:var(--size-10)}#edit-history h3{font-size:var(--font-size-14);margin:var(--size-18) 0 var(--size-8)}.edit-release{display:flex;align-items:center;justify-content:space-between;gap:var(--size-8);font-size:var(--font-size-13);padding:var(--size-6) 0;border-bottom:var(--size-1) solid var(--color-profile-border-alpha40)}.edit-release b{color:var(--accent);font-size:var(--font-size-12)}#edit-dialog{background:var(--color-surface);color:var(--color-text);border:var(--size-1) solid var(--line);border-radius:var(--radius-12);padding:var(--size-18) var(--size-20);max-width:var(--size-440);width:calc(100% - var(--size-32))}#edit-dialog::backdrop{background:var(--color-black-alpha88)}#edit-dialog h3{margin:0 0 var(--size-10);font-size:var(--font-size-16)}#edit-dialog ul{padding-left:var(--size-18);margin:0 0 var(--size-12);font-size:var(--font-size-14);line-height:var(--line-height-1_5)}#edit-dialog textarea[hidden]{display:none}#edit-dialog .edit-actions{justify-content:flex-end}main{position:relative;height:calc(100dvh - var(--header) - var(--safe-top));overflow:hidden}.scene{position:absolute;inset:0;background:var(--color-sky)}#viewport{position:absolute;inset:0}canvas{display:block;width:100%;height:100%}.scene-top{position:absolute;top:var(--size-18);left:calc(var(--size-390) + var(--safe-left));right:calc(var(--size-80) + var(--safe-right));display:flex;flex-direction:column;align-items:center;gap:var(--size-8);pointer-events:none}.weather-chip{pointer-events:auto;display:inline-flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:var(--size-6) var(--size-12);max-width:100%;padding:var(--size-6) var(--size-12);background:var(--color-surface-alpha-f2);color:var(--color-text);font-size:var(--font-size-14);font-weight:var(--weight-600);white-space:nowrap;cursor:help;border-radius:var(--radius-overlay);border:var(--size-1) solid var(--color-border-strong)}.weather-chip .weather-place{color:var(--color-text-muted);font-weight:var(--weight-500)}.weather-chip .weather-temp{font-size:var(--font-size-17);font-weight:var(--weight-800)}.weather-chip .weather-wind{display:inline-flex;align-items:center;gap:var(--size-4)}.wind-icon{width:var(--size-16);height:var(--size-16);fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round}.weather-chip .weather-empty{color:var(--color-text-muted);font-weight:var(--weight-500)}.weather-chip[data-freshness=very-stale]{border-color:var(--color-warning)}.scene-tag{color:var(--color-surface-raised);font-size:var(--font-size-30);letter-spacing:var(--size-1);font-weight:var(--weight-750);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;-webkit-text-stroke:var(--size-3) var(--color-sky);paint-order:stroke fill;text-shadow:0 0 var(--size-6) var(--color-sky);padding:var(--size-3)}.controls{position:absolute;right:calc(var(--size-18) + var(--safe-right));top:var(--size-18);display:grid;gap:var(--size-8)}.controls button{width:var(--size-42);height:var(--size-42);background:var(--color-surface-alpha-f2);color:var(--color-text);font-size:var(--font-size-20);border-radius:var(--radius-overlay);border:var(--size-1) solid var(--color-border-strong)}.controls button svg{display:block;margin:0 auto}.controls .animation-icon[hidden],.controls .control-icon[hidden]{display:none}.compass-dial{transform-origin:center}.compass-north{fill:var(--color-compass-north)}.compass-south{fill:var(--color-white)}.controls button:hover{background:var(--color-surface-hover)}.hint{font-size:var(--font-size-12);color:var(--color-surface-hover);line-height:var(--line-height-1_8);text-align:right}.loading{position:absolute;inset:0;display:grid;place-content:center;color:var(--color-surface-raised);background:var(--color-sky);z-index:5;padding:var(--size-30);text-align:center}.loading[hidden]{display:none}.loading strong{font-size:var(--font-size-22);margin-bottom:var(--size-12)}.loading button{padding:var(--size-12);margin-top:var(--size-12)}.panel{position:absolute;top:var(--size-18);left:calc(var(--size-18) + var(--safe-left));bottom:calc(var(--size-18) + var(--safe-bottom));width:var(--size-350);display:flex;flex-direction:column;background:var(--panel);border:var(--size-1) solid var(--line);border-radius:var(--radius-14);-webkit-backdrop-filter:blur(var(--size-10));backdrop-filter:blur(var(--size-10));overflow:hidden;z-index:3}.panel-handle{display:none}.panel-body{order:1;flex:1;min-height:0;display:flex;flex-direction:column}.detail{order:2;border-top:var(--size-1) solid var(--line);padding:var(--size-14) var(--size-18) var(--size-16);background:var(--color-surface)}.tabs{display:flex;border-bottom:var(--size-1) solid var(--line);padding:0 var(--size-8)}.tabs [role=tab]{flex:1;background:none;border:0;border-bottom:var(--size-2) solid transparent;color:var(--muted);padding:var(--size-14) var(--size-6) var(--size-12);font-size:var(--font-size-14);font-weight:var(--weight-600)}.tabs [role=tab][aria-selected=true]{color:var(--color-text);border-bottom-color:var(--accent)}[role=tabpanel]{flex:1;min-height:0;overflow:auto;padding:var(--size-16) var(--size-18) var(--size-18);scrollbar-width:thin;scrollbar-color:var(--color-text-on-light) transparent}[role=tabpanel][hidden]{display:none}h1{font-size:var(--font-size-26);letter-spacing:var(--size-minus-1);margin:0 0 var(--size-6);font-weight:var(--weight-650);overflow-wrap:anywhere}h3{font-size:var(--font-size-14);margin:var(--size-18) 0 var(--size-6)}p{font-size:var(--font-size-14);line-height:var(--line-height-1_6);color:var(--muted);margin:0 0 var(--size-14)}.row{display:flex;gap:var(--size-8)}.search{width:100%;font:inherit;font-size:var(--font-size-16);border:var(--size-1) solid var(--color-white-alpha30);border-radius:var(--radius-8);background:var(--color-surface);color:var(--color-text);padding:var(--size-10)}.section-title{display:flex;justify-content:space-between;align-items:center;margin:var(--size-20) 0 var(--size-8);font-size:var(--font-size-14)}.section-title span{font-size:var(--font-size-12);color:var(--muted)}.route-list{scrollbar-width:thin;scrollbar-color:var(--color-text-on-light) transparent}.route{display:flex;align-items:center;width:100%;text-align:left;padding:var(--size-10);margin:var(--size-3) 0;color:var(--color-text);border:var(--size-1) solid transparent;background:transparent;border-radius:var(--radius-10);gap:var(--size-12);min-height:var(--size-44)}.route:hover{background:var(--color-white-alpha07)}.route.selected{border-color:var(--color-accent-alpha65);background:var(--color-accent-alpha0-b)}.route[hidden]{display:none}.route .symbol{flex-shrink:0;width:var(--size-28);height:var(--size-28);border:var(--size-1) solid currentColor;border-radius:50%;display:grid;place-items:center;font-size:var(--font-size-12);font-weight:var(--weight-700)}.route .name{flex:1;font-size:var(--font-size-14);min-width:0;overflow-wrap:anywhere}.route small{display:block;color:var(--color-text-muted);font-size:var(--font-size-12);margin-top:var(--size-3)}.dot{width:var(--size-6);height:var(--size-6);border-radius:50%;background:var(--accent);flex-shrink:0}.no-results{margin-top:var(--size-14);padding:var(--size-12);border:var(--size-1) dashed var(--color-white-alpha30);border-radius:var(--radius-10);text-align:center}.no-results[hidden]{display:none}.no-results p{font-size:var(--font-size-13);margin:0 0 var(--size-10)}.no-results button{border:var(--size-1) solid var(--color-accent-alpha80);border-radius:var(--radius-8);background:transparent;color:var(--accent);padding:var(--size-9) var(--size-14);min-height:var(--size-40)}.detail h2{font-size:var(--font-size-17);margin:var(--size-6) 0 var(--size-4);overflow-wrap:anywhere}.detail p{font-size:var(--font-size-12);margin-bottom:var(--size-10)}.detail-actions{display:flex;justify-content:space-between;align-items:center;gap:var(--size-12)}#route-source{color:var(--color-accent);font-size:var(--font-size-12);white-space:nowrap}#route-source:not([href]){display:none}.motion{margin-top:var(--size-4)}.notice{font-size:var(--font-size-12);color:var(--color-text-muted);margin:var(--size-12) 0 0}.source{color:var(--color-text);font-size:var(--font-size-12);line-height:var(--line-height-1_5)}.source a{color:inherit}.source p{font-size:var(--font-size-12);margin:0 0 var(--size-10)}.sr-only{position:absolute;width:var(--size-1);height:var(--size-1);overflow:hidden;clip-path:inset(50%)}.chips{display:flex;flex-direction:column;gap:var(--size-6);margin-top:var(--size-12)}.chip-row{display:flex;flex-wrap:wrap;gap:var(--size-6)}.chips button{border:var(--size-1) solid var(--color-white-alpha30);background:var(--color-surface);color:var(--color-text);border-radius:var(--radius-20);padding:var(--size-7) var(--size-12);font-size:var(--font-size-13);min-height:var(--size-34)}.chips button[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:var(--color-surface-raised);font-weight:var(--weight-600)}.route.route-hidden{opacity:.5;text-decoration:line-through}.route .star{color:var(--color-warning);font-size:var(--font-size-12)}.detail-head{display:flex;align-items:start;justify-content:space-between;gap:var(--size-8)}#favorite{background:none;border:var(--size-1) solid var(--color-white-alpha30);color:var(--color-text);border-radius:var(--radius-8);width:var(--size-36);height:var(--size-36);font-size:var(--font-size-18);flex-shrink:0}#favorite[hidden],#deselect[hidden],.controls button[hidden]{display:none}.detail-buttons{display:flex;gap:var(--size-6);flex-shrink:0}#deselect{background:none;border:var(--size-1) solid var(--color-white-alpha30);color:var(--color-text);border-radius:var(--radius-8);width:var(--size-36);height:var(--size-36);font-size:var(--font-size-20);line-height:var(--line-height-1)}#deselect:hover,#favorite:hover{background:var(--color-white-alpha10)}.selection-note{font-size:var(--font-size-12);color:var(--color-warning);margin:var(--size-minus-4) 0 var(--size-10)}.selection-note[hidden]{display:none}.selection-note button{border:var(--size-1) solid var(--color-warning-alpha80);border-radius:var(--radius-6);background:transparent;color:var(--color-warning);padding:var(--size-3) var(--size-8);font-size:var(--font-size-12);margin-left:var(--size-4)}#favorite[aria-pressed=true]{color:var(--color-warning);border-color:var(--color-warning-alpha80)}.profile{color:var(--color-accent);margin:var(--size-4) 0 var(--size-2)}.detail[hidden],.profile[hidden],.profile-meta[hidden]{display:none}.profile-meta{font-size:var(--font-size-12);margin-bottom:var(--size-10)}.facts{display:grid;grid-template-columns:auto 1fr;gap:var(--size-2) var(--size-10);margin:0 0 var(--size-8);font-size:var(--font-size-12)}.facts dt{color:var(--muted)}.facts dd{margin:0;overflow-wrap:anywhere}.facts a{color:var(--color-accent)}.weather-elevation{margin-top:var(--size-8)}.weather-legend,.weather-time{color:var(--muted);font-size:var(--font-size-12);margin:var(--size-6) 0 0}.weather-banner{margin:var(--size-12) 0 0;padding:var(--size-8) var(--size-10);border-radius:var(--radius-8);background:var(--color-warning);color:var(--color-warning-surface);font-size:var(--font-size-13);font-weight:var(--weight-600)}.weather-now{margin-top:var(--size-14);padding:var(--size-12) var(--size-14);border:var(--size-1) solid var(--line);border-radius:var(--radius-12);background:var(--color-surface)}.weather-now-head{display:flex;align-items:baseline;gap:var(--size-12);margin-bottom:var(--size-8)}.weather-now-temp{font-size:var(--font-size-34);font-weight:var(--weight-800);letter-spacing:var(--size-minus-1)}.weather-now-code{font-size:var(--font-size-15);font-weight:var(--weight-600)}.weather-now .facts{font-size:var(--font-size-13);margin:0}#pane-weather h3{font-size:var(--font-size-14);margin:var(--size-18) 0 var(--size-8)}.weather-hours{display:flex;gap:var(--size-6);overflow-x:auto;padding-bottom:var(--size-6);scrollbar-width:thin}.weather-hours:focus-visible{outline:var(--size-2) solid var(--accent);outline-offset:var(--size-2)}.weather-hours-divider{flex:0 0 auto;display:flex;align-items:center;padding:0 var(--size-6);border-left:var(--size-1) solid var(--line);color:var(--muted);font-size:var(--font-size-11);white-space:nowrap}.weather-hour{flex:0 0 auto;display:grid;gap:var(--size-3);justify-items:center;min-width:var(--size-58);padding:var(--size-8) var(--size-6);border:var(--size-1) solid var(--line);border-radius:var(--radius-10);background:var(--color-surface);font-size:var(--font-size-12)}.weather-hour-time{color:var(--muted)}.weather-hour-temp{font-size:var(--font-size-15);font-weight:var(--weight-700)}.weather-hour-prob{color:var(--color-link)}.weather-hour-precip{color:var(--muted);font-size:var(--font-size-11)}.weather-hour-precip:empty{display:none}.weather-days{width:100%;border-collapse:collapse;font-size:var(--font-size-12)}.weather-days th,.weather-days td{text-align:left;padding:var(--size-6) var(--size-6) var(--size-6) 0;border-bottom:var(--size-1) solid var(--line);vertical-align:top}.weather-days th{color:var(--muted);font-weight:var(--weight-600)}.weather-days td:nth-child(3){white-space:nowrap}.weather-source{margin-top:var(--size-16);color:var(--muted);font-size:var(--font-size-12);line-height:var(--line-height-1_5)}.weather-source a{color:var(--color-accent)}.no-webgl .controls,.no-webgl .motion,.no-webgl #level-filter,.no-webgl #favorite,.no-webgl #profile,.no-webgl #profile-meta,.no-webgl #detail-facts{display:none}.no-webgl .loading{z-index:2;padding-left:var(--size-400)}.labels{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:1}.label{font-size:var(--font-size-11);font-weight:var(--weight-600);color:var(--color-surface-raised);background:var(--color-light-surface-alpha-d9);border:var(--size-1) solid var(--color-white-alpha-b0);border-radius:var(--radius-5);padding:var(--size-2) var(--size-6);white-space:nowrap;max-width:var(--size-160);overflow:hidden;text-overflow:ellipsis;transform:translateY(var(--size-minus-14))}.label-active{background:var(--color-accent);border-color:var(--color-accent-border);color:var(--color-surface);font-size:var(--font-size-13);font-weight:var(--weight-700);max-width:var(--size-220);padding:var(--size-3) var(--size-9);box-shadow:0 var(--size-2) var(--size-8) var(--color-surface-alpha40);transform:translateY(var(--size-minus-18))}#labels[aria-pressed=true]{background:var(--color-text);border-color:var(--color-text);color:var(--color-surface)}@media(max-width:760px){.brand{font-size:var(--font-size-18)}#edit-login input{width:var(--size-120)}#resort-select,#locale-toggle,#edit-toggle,.chips button{min-height:var(--size-40)}#favorite,#deselect{width:var(--size-40);height:var(--size-40)}.scene-top{left:calc(var(--size-14) + var(--safe-left));right:calc(var(--size-70) + var(--safe-right))}.scene-top{top:var(--size-12)}.scene-tag{font-size:var(--font-size-20)}.weather-chip{font-size:var(--font-size-12);gap:var(--size-4) var(--size-8);padding:var(--size-5) var(--size-10)}.weather-chip .weather-temp{font-size:var(--font-size-15)}.controls{right:calc(var(--size-12) + var(--safe-right));top:var(--size-12)}.no-webgl .loading{padding:var(--size-24) var(--size-18) 30dvh;place-content:start center}.panel{inset:auto 0 0;width:auto;height:100%;max-height:none;--peek-h: calc(116px + var(--safe-bottom));--half-h: min(calc(33dvh + var(--safe-bottom)), 50%);--open-h: min(calc(66dvh + var(--safe-bottom)), 100%);padding-bottom:var(--safe-bottom);border-radius:var(--radius-16) var(--radius-16) 0 0;border-bottom:0;transition:transform .25s ease}.panel[data-state=peek]{transform:translateY(calc(100% - var(--peek-h)))}.panel[data-state=half]{transform:translateY(calc(100% - var(--half-h)))}.panel[data-state=open]{transform:translateY(calc(100% - var(--open-h)))}.panel[data-state=full]{transform:translateY(0)}.panel.dragging{transition:none}.panel-handle{order:0;touch-action:none;display:flex;flex-direction:column;align-items:center;gap:var(--size-6);width:100%;background:none;border:0;color:var(--muted);font-size:var(--font-size-12);padding:var(--size-8) 0 var(--size-6)}.grip{width:var(--size-40);height:var(--size-4);border-radius:var(--radius-2);background:var(--color-text-on-light)}.detail{order:1;border-top:0;border-bottom:var(--size-1) solid var(--line);background:transparent;padding:var(--size-4) var(--size-16) var(--size-12)}.panel-body{order:2}.panel[data-state=peek]:not(.dragging) .panel-body{display:none}.panel[data-state=peek]:not(.dragging) .facts,.panel[data-state=peek]:not(.dragging) .profile,.panel[data-state=peek]:not(.dragging) .profile-meta,.panel[data-state=peek]:not(.dragging) .detail-actions{display:none}.panel[data-state=peek]:not(.dragging) .detail{padding-bottom:var(--size-14);border-bottom:0}.panel[data-state=peek]:not(.dragging) .detail p{margin-bottom:0}[role=tabpanel]{padding:var(--size-14) var(--size-16) var(--size-24)}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}#route-edit{margin:var(--size-10) 0 var(--size-4)}#route-edit:empty{display:none}.edit-actions .edit-secondary{background:var(--color-white-alpha18);color:var(--color-text);font-weight:var(--weight-500)}.edit-hint{font-size:var(--font-size-12);color:var(--muted);margin:var(--size-8) 0 0;line-height:var(--line-height-1_5)}.edit-form select{display:block;width:100%;margin-top:var(--size-4);background:var(--color-surface);color:var(--color-text);border:var(--size-1) solid var(--color-white-alpha30);border-radius:var(--radius-8);padding:var(--size-8) var(--size-10);font:inherit;font-size:var(--font-size-14)}.edit-check{display:flex!important;align-items:center;gap:var(--size-8);color:var(--color-text)!important;font-size:var(--font-size-14)!important}.edit-check input{display:inline;width:auto;margin:0;accent-color:var(--accent)}#draw-bar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--size-6);margin:var(--size-12) 0 var(--size-4);font-size:var(--font-size-13);color:var(--muted)}#draw-bar span{flex:1 1 100%}#draw-bar button{background:var(--accent);color:var(--color-surface-raised);border:0;border-radius:var(--radius-7);padding:var(--size-6) var(--size-12);font:inherit;font-size:var(--font-size-13);font-weight:var(--weight-600)}#draw-bar button:disabled{opacity:.45}#draw-bar button.edit-secondary{background:var(--color-white-alpha18);color:var(--color-text);font-weight:var(--weight-500)}#edit-source,#edit-focus{background:var(--color-warning)!important;color:var(--color-surface-raised)!important}#focus-exclusions{margin:var(--size-8) 0 var(--size-12);padding:var(--size-10);border:var(--size-1) solid var(--color-warning-alpha80);border-radius:var(--radius-8);color:var(--color-text);font-size:var(--font-size-12)}#focus-exclusions[hidden]{display:none}#focus-exclusions>div{display:flex;align-items:center;justify-content:space-between;gap:var(--size-8);margin-top:var(--size-8)}#focus-exclusions button{flex:0 0 auto;border:var(--size-1) solid var(--color-warning-alpha80);border-radius:var(--radius-6);background:transparent;color:var(--color-warning);padding:var(--size-4) var(--size-8)}.resort-prices section{margin-bottom:var(--size-18)}.resort-prices h3{font-size:var(--font-size-14);margin:0 0 var(--size-8);display:flex;align-items:center;gap:var(--size-8)}.price{padding:var(--size-10) var(--size-12);margin-bottom:var(--size-8);border:var(--size-1) solid var(--line);border-radius:var(--radius-10);background:var(--color-surface)}.resort-prices .price{padding:var(--size-12) 0;margin:0;border:0;border-bottom:var(--size-1) solid var(--line);border-radius:0;background:transparent}.resort-prices .price .profile-source{margin:var(--size-4) 0 0}.price-head{display:flex;justify-content:space-between;align-items:baseline;gap:var(--size-10)}.price-amount{font-weight:var(--weight-800);font-size:var(--font-size-15);white-space:nowrap}.price-meta{font-size:var(--font-size-12);color:var(--muted);margin:var(--size-6) 0 0}.price-empty{color:var(--muted);font-size:var(--font-size-13);margin:0}.price-actions{margin-top:var(--size-8)}.price-form label{display:block}.label-marker{pointer-events:auto;font-size:var(--font-size-22);padding:0;border:0;border-radius:0;background:none;text-decoration:none;cursor:pointer;filter:drop-shadow(0 var(--size-1) var(--size-2) var(--color-black-alpha80))}.label-marker:hover,.label-marker:focus-visible{transform:scale(1.15);outline:none}.camera-link{color:var(--color-accent);font-weight:var(--weight-700);text-decoration:none;display:inline-block;padding:var(--size-6) 0;min-height:var(--size-32)}.camera-link:hover{text-decoration:underline}.resort-cameras{margin-top:var(--size-10)}.disclosure{margin-block:var(--size-12)}.disclosure>summary{cursor:pointer;min-height:var(--size-40);display:list-item;padding:var(--size-10) 0;font-weight:var(--weight-600)}.disclosure>summary:focus-visible{outline:var(--size-2) solid var(--color-piste-easy);outline-offset:var(--size-3)}#level-filter [data-level=novice]{border-bottom:var(--size-3) solid var(--color-piste-novice)}#level-filter [data-level=easy]{border-bottom:var(--size-3) solid var(--color-piste-easy)}#level-filter [data-level=intermediate]{border-bottom:var(--size-3) solid var(--color-piste-intermediate)}#level-filter [data-level=advanced]{border-bottom:var(--size-3) solid var(--color-piste-advanced)}header{position:relative;z-index:60}.header-right{flex:1;justify-content:flex-end;gap:var(--size-10)}.resort-search{position:relative;width:min(var(--size-320),100%);min-width:0}#resort-select{width:100%;max-width:none;min-height:var(--size-42);padding-right:var(--size-12)}#resort-options{position:absolute;top:calc(100% + var(--size-6));left:0;right:0;background:var(--color-surface-raised);color:var(--color-text);border:var(--size-1) solid var(--color-border-strong);border-radius:var(--radius-10);box-shadow:0 var(--size-8) var(--size-24) var(--color-black-alpha55);overflow:auto;max-height:var(--size-240)}#resort-options>div{padding:var(--size-12);cursor:pointer;font-size:var(--font-size-14)}#resort-options .resort-option-region{display:block;color:var(--color-text-muted);font-size:var(--font-size-12);margin-top:var(--size-2)}#resort-options [role=option]:hover,#resort-options [aria-selected=true]{background:var(--color-surface-hover);color:var(--color-accent)}#edit-login{min-width:0}#edit-login input,#edit-login button,#edit-toggle{height:var(--size-42);margin:0;box-sizing:border-box}#edit-login input{min-width:0}.resort-prices>section+section{margin-top:var(--size-24)}.resort-prices>section>h3{color:var(--color-accent);padding-bottom:var(--size-8);border-bottom:var(--size-1) solid var(--color-border-strong)}.resort-prices .price{padding-left:var(--size-8)}.resort-prices .price-source-link{color:var(--color-accent);display:inline-flex;align-items:center;justify-content:center;min-width:var(--size-28);min-height:var(--size-28);font-size:var(--font-size-17);text-decoration:none}.resort-prices .price-source-link:hover{color:var(--color-white);background:var(--color-surface-hover);border-radius:var(--radius-4)}@media(max-width:760px){header{padding-inline:max(var(--size-10),var(--safe-left)) max(var(--size-10),var(--safe-right));gap:var(--size-8)}.header-right{gap:var(--size-6)}.resort-search{width:100%}#resort-select{font-size:var(--font-size-16)}#edit-toggle{padding-inline:var(--size-8)}#edit-login:not([hidden]){position:absolute;top:calc(100% + var(--size-8));right:var(--size-10);width:min(var(--size-360),calc(100vw - var(--size-20)));padding:var(--size-10);background:var(--color-surface-raised);border:var(--size-1) solid var(--color-border-strong);border-radius:var(--radius-10);box-shadow:0 var(--size-8) var(--size-24) var(--color-black-alpha55)}#edit-login input{flex:1;width:0;font-size:var(--font-size-16)}}.resort-search:before,.route-search:before{content:"";position:absolute;left:var(--size-12);top:50%;transform:translateY(-50%);width:var(--size-18);height:var(--size-18);pointer-events:none;background-color:var(--color-text-muted);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2393aab6' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='10.5' cy='10.5' r='6.5'/%3E%3Cpath d='m16 16 5 5'/%3E%3C/svg%3E") center / contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2393aab6' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='10.5' cy='10.5' r='6.5'/%3E%3Cpath d='m16 16 5 5'/%3E%3C/svg%3E") center / contain no-repeat}.route-search{position:relative}#resort-select,#search{padding-left:var(--size-38)}#pane-routes .section-title{color:var(--color-accent);padding-bottom:var(--size-8);border-bottom:var(--size-1) solid var(--color-border-strong)}.route[data-kind=piste] .symbol,.route[data-kind=lift] .symbol{width:var(--size-16);height:var(--size-16);min-width:var(--size-16);flex:0 0 var(--size-16);border:var(--size-1) solid var(--color-text-muted);border-radius:50%;background:transparent}.route[data-difficulty=novice] .symbol{background:var(--color-piste-novice);border-color:var(--color-piste-novice)}.route[data-difficulty=easy] .symbol{background:var(--color-piste-easy);border-color:var(--color-piste-easy)}.route[data-difficulty=intermediate] .symbol{background:var(--color-piste-intermediate);border-color:var(--color-piste-intermediate)}.route[data-difficulty=advanced] .symbol,.route[data-difficulty=expert] .symbol,.route[data-difficulty=freeride] .symbol{background:var(--color-black);border-color:var(--color-text-muted)}.route[data-kind=piste][data-difficulty=unknown] .symbol{background:var(--color-piste-unknown);border-color:var(--color-piste-unknown)}.route[data-kind=lift] .symbol{background:var(--color-lift);border-color:var(--color-lift)}.resort-staging{position:fixed;inset:0;visibility:hidden;pointer-events:none}#resort-search-status:not(.sr-only){position:absolute;top:100%;right:0;padding:var(--size-8);background:var(--color-surface);color:var(--color-text);border-radius:var(--radius-8);font-size:var(--font-size-12)}.resort-profile section{border-bottom:var(--size-1) solid var(--color-profile-border-alpha40);padding:var(--size-4) 0 var(--size-12)}.resort-profile p{white-space:pre-wrap;overflow-wrap:anywhere;margin:var(--size-6) 0;line-height:var(--line-height-1_6)}.resort-profile a{color:inherit;text-decoration:underline;overflow-wrap:anywhere}.resort-profile .profile-source{font-size:var(--font-size-12);opacity:.8}
