:root{color:oklch(22% .02 160);font-synthesis:none;letter-spacing:-.01em;--ink:oklch(22% .02 160);--muted:oklch(52% .02 160);--line:oklch(88% .01 140);--soft-line:oklch(93% .01 140);--paper:oklch(100% 0 0);--canvas:oklch(97% .01 130);--forest:oklch(28% .04 165);--forest-hover:oklch(32% .04 165);--lime:oklch(92% .18 125);--lime-soft:oklch(95% .06 125);--danger:oklch(55% .14 25);--brand-fill:oklch(28% .04 165);--scrim:oklch(15% .02 160/.38);--score-good:oklch(42% .05 165);--score-fair:oklch(52% .04 80);--map-abroad:oklch(92.5% .01 130);--map-land:oklch(99% .004 130);--map-water:oklch(85% .045 225);--map-border:oklch(42% .04 165/.5);--map-open:oklch(62% .19 142);--map-opens:oklch(58% .1 245);--map-unknown:oklch(66% .01 160);--map-relief-opacity:1;--piste-blue:oklch(55% .15 255);--piste-red:oklch(57% .19 27);--piste-black:oklch(22% .01 160);--piste-yellow:oklch(84% .16 92);--chart-seq-lo:oklch(76% .08 165);--chart-seq-hi:oklch(30% .06 165);--chart-saturday:oklch(45% .11 160);--chart-tuesday:oklch(62% .13 158);--chart-low:oklch(55% .11 245);--chart-high:oklch(56% .17 27);--chart-band:oklch(95% .03 90);--chart-none:oklch(94.5% .006 130);--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:64px;--radius-sm:10px;--radius-md:14px;--radius-lg:22px;--text-xs:12px;--text-sm:13px;--text-base:15px;--text-lg:18px;--text-xl:24px;--text-2xl:32px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background:oklch(97% .01 130);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){color:oklch(93% .01 160);--ink:oklch(93% .01 160);--muted:oklch(72% .02 155);--line:oklch(32% .015 160);--soft-line:oklch(26% .015 160);--paper:oklch(20% .015 160);--canvas:oklch(15% .015 155);--forest:oklch(82% .08 155);--forest-hover:oklch(86% .08 155);--lime:oklch(86% .14 125);--lime-soft:oklch(30% .045 130);--danger:oklch(72% .12 25);--brand-fill:oklch(28% .04 165);--scrim:oklch(8% .02 160/.55);--score-good:oklch(78% .06 155);--score-fair:oklch(78% .08 85);--map-abroad:oklch(16.5% .012 160);--map-land:oklch(24.5% .018 160);--map-water:oklch(34% .05 235);--map-border:oklch(82% .05 160/.45);--map-open:oklch(80% .2 140);--map-opens:oklch(74% .1 245);--map-unknown:oklch(56% .01 160);--map-relief-opacity:.9;--piste-blue:oklch(64% .14 255);--piste-red:oklch(64% .18 27);--piste-black:oklch(6% 0 0);--piste-yellow:oklch(84% .15 92);--chart-seq-lo:oklch(42% .06 165);--chart-seq-hi:oklch(86% .12 155);--chart-saturday:oklch(49% .11 158);--chart-tuesday:oklch(67% .14 152);--chart-low:oklch(66% .12 245);--chart-high:oklch(64% .16 27);--chart-band:oklch(24% .02 90);--chart-none:oklch(21% .01 160);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:oklch(15% .015 155)}}:root[data-theme=dark]{color:oklch(93% .01 160);--ink:oklch(93% .01 160);--muted:oklch(72% .02 155);--line:oklch(32% .015 160);--soft-line:oklch(26% .015 160);--paper:oklch(20% .015 160);--canvas:oklch(15% .015 155);--forest:oklch(82% .08 155);--forest-hover:oklch(86% .08 155);--lime:oklch(86% .14 125);--lime-soft:oklch(30% .045 130);--danger:oklch(72% .12 25);--brand-fill:oklch(28% .04 165);--scrim:oklch(8% .02 160/.55);--score-good:oklch(78% .06 155);--score-fair:oklch(78% .08 85);--map-abroad:oklch(16.5% .012 160);--map-land:oklch(24.5% .018 160);--map-water:oklch(34% .05 235);--map-border:oklch(82% .05 160/.45);--map-open:oklch(80% .2 140);--map-opens:oklch(74% .1 245);--map-unknown:oklch(56% .01 160);--map-relief-opacity:.9;--piste-blue:oklch(64% .14 255);--piste-red:oklch(64% .18 27);--piste-black:oklch(6% 0 0);--piste-yellow:oklch(84% .15 92);--chart-seq-lo:oklch(42% .06 165);--chart-seq-hi:oklch(86% .12 155);--chart-saturday:oklch(49% .11 158);--chart-tuesday:oklch(67% .14 152);--chart-low:oklch(66% .12 245);--chart-high:oklch(64% .16 27);--chart-band:oklch(24% .02 90);--chart-none:oklch(21% .01 160);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:oklch(15% .015 155)}*{box-sizing:border-box}html{scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}body{background:var(--canvas);min-width:320px;min-height:100vh;margin:0}button,select,input{font:inherit}button,a,select,input[type=range]{-webkit-tap-highlight-color:transparent}button,a{color:inherit}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible{outline:2px solid var(--forest);outline-offset:2px}.app{min-height:100vh}.app-header{min-height:52px;padding:var(--space-2) var(--space-5);justify-content:space-between;align-items:center;gap:var(--space-4);border-bottom:1px solid var(--line);background:color-mix(in oklch, var(--canvas) 88%, transparent);z-index:40;-webkit-backdrop-filter:saturate(140%)blur(16px);backdrop-filter:saturate(140%)blur(16px);flex-wrap:wrap;display:flex;position:sticky;top:0}.brand{align-items:center;gap:var(--space-2);color:var(--forest);font-weight:600;font-size:var(--text-base);text-decoration:none;display:inline-flex}.brand-mark{width:28px;height:28px;color:var(--lime);background:var(--brand-fill);border-radius:var(--radius-sm);place-items:center;display:grid}.app-header nav{gap:var(--space-5);display:flex}.app-header nav a{padding:var(--space-1) 0;color:var(--muted);font-size:var(--text-sm);border-bottom:2px solid #0000;font-weight:500;text-decoration:none}.app-header nav a.is-active{border-color:var(--forest);color:var(--ink)}.trip-chrome{align-items:flex-end;gap:var(--space-4);flex:1;min-width:0;display:flex}.chrome-group{gap:var(--space-1);flex-direction:column;min-width:0;display:flex}.chrome-label{color:var(--muted);font-size:var(--text-xs);font-weight:500}.chrome-field{gap:var(--space-1);flex-direction:column;display:flex}.chrome-control{align-items:center;gap:var(--space-2);display:flex}.chrome-control select{appearance:none;min-width:0;color:var(--ink);font-size:var(--text-sm);cursor:pointer;background:0 0;border:0;outline:none;font-weight:600}.chrome-filter-button{min-height:36px;padding:0 var(--space-3);align-items:center;gap:var(--space-2);border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--canvas);color:var(--ink);font-size:var(--text-sm);cursor:pointer;flex-shrink:0;font-weight:500;display:inline-flex}.chrome-filter-button:hover{border-color:color-mix(in oklch, var(--forest) 30%, var(--line));background:var(--paper)}.chrome-filter-button .filter-count{background:var(--forest);min-width:18px;height:18px;color:var(--paper);border-radius:999px;place-items:center;padding:0 5px;font-size:11px;font-weight:600;display:inline-grid}.segmented-control{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--canvas);grid-template-columns:1fr 1fr;gap:2px;min-height:36px;padding:2px;display:grid}.segmented-control button{min-width:72px;padding:var(--space-1) var(--space-3);justify-content:center;align-items:center;gap:var(--space-2);border-radius:var(--radius-sm);color:var(--muted);font-size:var(--text-sm);cursor:pointer;background:0 0;border:0;font-weight:500;display:inline-flex}.segmented-control button:hover{color:var(--ink)}.segmented-control button.is-active{background:var(--paper);color:var(--ink)}.date-control button{min-width:110px}.filters-scrim{z-index:89;background:var(--scrim);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:0;animation:.18s ease-out fade-in;display:block;position:fixed;inset:0}.filters-panel{width:min(400px,100%);height:100%;padding:0 var(--space-5) calc(var(--space-6) + env(safe-area-inset-bottom));z-index:90;border:0;border-left:1px solid var(--line);background:var(--paper);transition:transform .22s;position:fixed;top:0;right:0;overflow-y:auto;transform:translate(100%)}.filters-panel.is-open{transform:translate(0)}.filters-mobile-head{margin:0 calc(-1 * var(--space-5)) var(--space-5);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--line);background:var(--paper);z-index:2;justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.filter-heading{margin-top:var(--space-4)}.filter-heading h2{font-size:var(--text-lg);margin:0;font-weight:600}.filter-heading p{margin:var(--space-1) 0 0;color:var(--muted);font-size:var(--text-xs)}.style-chip-row,.preset-row{margin-top:var(--space-3);gap:var(--space-2);flex-wrap:wrap;display:flex}.style-chip{min-height:36px;padding:0 var(--space-3);border:1px solid var(--line);background:var(--canvas);color:var(--ink);font-size:var(--text-sm);cursor:pointer;border-radius:999px;font-weight:500}.style-chip:hover{border-color:color-mix(in oklch, var(--forest) 25%, var(--line))}.style-chip.is-active{border-color:var(--forest);background:var(--forest);color:var(--paper)}.filter-stack{margin-top:var(--space-5);gap:var(--space-2);display:grid}.filter-toggle{min-height:44px;padding:0 var(--space-3);align-items:center;gap:var(--space-2);border:1px solid var(--line);border-radius:var(--radius-sm);background:color-mix(in oklch, var(--paper) 60%, transparent);font-size:var(--text-sm);cursor:pointer;grid-template-columns:24px 1fr 20px;font-weight:500;display:grid}.filter-toggle:hover{border-color:color-mix(in oklch, var(--forest) 20%, var(--line))}.filter-toggle.is-active{border-color:var(--forest);background:var(--paper)}.filter-toggle input{opacity:0;position:absolute}.filter-toggle-icon{color:var(--muted)}.filter-toggle.is-active .filter-toggle-icon{color:var(--forest)}.checkbox-indicator{border:1px solid var(--line);border-radius:var(--radius-sm);place-items:center;width:18px;height:18px;display:grid}.filter-toggle.is-active .checkbox-indicator{border-color:var(--forest);color:var(--lime);background:var(--forest)}.range-group{margin-top:var(--space-5)}.range-group label,.weights-panel label>span{justify-content:space-between;align-items:center;gap:var(--space-3);font-size:var(--text-sm);display:flex}.range-group label strong,.weights-panel label strong{font-size:var(--text-sm);font-weight:600}input[type=range]{width:100%;height:4px;margin:var(--space-3) 0 var(--space-2);border-radius:var(--radius-sm);accent-color:var(--forest);cursor:pointer}.range-labels{color:var(--muted);font-size:var(--text-xs);justify-content:space-between;display:flex}.range-hint{margin:var(--space-1) 0 0;color:var(--muted);font-size:var(--text-xs)}.weights-toggle{width:100%;margin-top:var(--space-5);padding:var(--space-3) 0;border:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:var(--text-sm);cursor:pointer;background:0 0;justify-content:space-between;align-items:center;font-weight:600;display:flex}.weights-toggle span{align-items:center;gap:var(--space-2);display:flex}.weights-toggle svg.is-open{transform:rotate(180deg)}.weights-panel{padding:var(--space-4) 0 var(--space-1);gap:var(--space-3);display:grid}.weight-total{justify-content:space-between;align-items:center;gap:var(--space-2);font-size:var(--text-sm);margin:0;font-weight:500;display:flex}.weight-total.is-warning{color:var(--danger)}.weight-total .text-button{font-size:var(--text-xs);font-weight:500;text-decoration:underline}.weights-panel input{margin:var(--space-2) 0 0}.reset-button{margin-top:var(--space-4);color:var(--muted);font-size:var(--text-sm);text-underline-offset:3px;cursor:pointer;background:0 0;border:0;padding:0;font-weight:500;text-decoration:underline}.data-note{margin-top:var(--space-5);padding-top:var(--space-4);gap:var(--space-2);border-top:1px solid var(--line);color:var(--muted);grid-template-columns:16px 1fr;display:grid}.data-note p{font-size:var(--text-xs);margin:0;line-height:1.5}.results{min-width:0;max-width:1120px;padding:var(--space-6) clamp(var(--space-5), 4vw, var(--space-7)) 150px;margin:0 auto}.results-header{justify-content:space-between;align-items:flex-end;gap:var(--space-5);display:flex}.results-header h1{margin:0 0 var(--space-1);color:var(--forest);font-size:clamp(var(--text-xl), 3.5vw, var(--text-2xl));font-weight:700;line-height:1.1}.results-header p{color:var(--muted);font-size:var(--text-sm);margin:0}.data-trust{color:var(--muted);font-size:var(--text-sm);white-space:nowrap;flex-direction:column;align-items:flex-end;gap:2px;margin:0;font-weight:500;display:flex}.data-trust small{font-size:var(--text-xs);font-weight:400}.score-value{font-variant-numeric:tabular-nums;font-weight:600;line-height:1;display:inline-block}.score-excellent{color:var(--forest)}.score-good{color:var(--score-good)}.score-fair{color:var(--score-fair)}.score-unranked{color:var(--muted)}.data-mode-label{margin-top:var(--space-1);color:var(--muted);font-size:var(--text-xs);font-weight:500;display:inline-block}.demo-banner{margin-top:var(--space-4);align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--canvas);color:var(--muted);font-size:var(--text-xs);line-height:1.5;display:flex}.demo-banner svg{color:var(--score-fair);flex:none;margin-top:1px}.demo-banner p{margin:0}.demo-banner strong{color:var(--ink)}.demo-banner.is-live svg{color:var(--score-good)}.season-banner{margin-top:var(--space-2);border-color:color-mix(in oklch, var(--score-fair) 45%, var(--line))}.closure-note{padding:var(--space-3) var(--space-4);border:1px solid color-mix(in oklch, var(--score-fair) 45%, var(--line));border-radius:var(--radius-sm);background:var(--canvas);font-size:var(--text-sm);line-height:1.5}.results-loading{margin-top:var(--space-5);gap:var(--space-3);display:grid}.loading-row{border-radius:var(--radius-md);background:color-mix(in oklch, var(--line) 55%, transparent);height:72px;display:block}.loading-row:first-child{height:220px}@media (prefers-reduced-motion:no-preference){.loading-row{animation:1.4s ease-in-out infinite loading-pulse}}@keyframes loading-pulse{50%{opacity:.55}}.top-pick{margin-top:var(--space-5);border:1px solid var(--line);border-radius:var(--radius-md);background:var(--paper);grid-template-columns:minmax(260px,.9fr) minmax(360px,1.1fr);display:grid;overflow:hidden}.top-pick-image{background:color-mix(in oklch, var(--forest) 8%, var(--canvas));min-height:280px;overflow:hidden}.top-pick-image img,.top-pick-image .resort-visual-tile{object-fit:cover;width:100%;height:100%;display:block}.top-pick-content{padding:var(--space-5);gap:var(--space-3);flex-direction:column;display:flex}.top-match-label{color:var(--muted);font-size:var(--text-sm);margin:0;font-weight:500}.top-title{justify-content:space-between;align-items:flex-start;gap:var(--space-4);display:flex}.top-region{color:var(--muted);font-size:var(--text-xs);margin:0}.top-title h2{margin:var(--space-1) 0 0;font-size:clamp(var(--text-lg), 2.5vw, 28px);font-weight:700;line-height:1.1}.top-price{text-align:right;flex:none}.top-price strong{font-size:var(--text-lg);font-variant-numeric:tabular-nums;font-weight:600;display:block}.top-price span{color:var(--muted);font-size:var(--text-xs)}.top-price a{color:inherit;text-underline-offset:3px}.top-reason{color:var(--ink);font-size:var(--text-sm);margin:0;line-height:1.5}.top-score{margin-left:var(--space-2);font-size:var(--text-base)}.top-facts{padding:var(--space-4) 0;gap:var(--space-4) var(--space-5);border-top:1px solid var(--soft-line);border-bottom:1px solid var(--soft-line);flex-wrap:wrap;margin:0;display:flex}.top-facts div{min-width:80px}.top-facts dt{color:var(--muted);font-size:var(--text-xs);font-weight:500}.top-facts dd{margin:var(--space-1) 0 0;font-size:var(--text-sm);font-variant-numeric:tabular-nums;font-weight:600}.top-facts dd small,.fact-grid dd small{color:var(--muted);font-size:10px;font-weight:500;display:block}.top-actions{padding-top:var(--space-2);align-items:center;gap:var(--space-4);margin-top:auto;display:flex}.compare-text-button{font-size:var(--text-sm);text-underline-offset:3px;font-weight:500;text-decoration:underline}.compare-text-button[aria-pressed=true]{color:var(--forest);text-decoration:none}.primary-button,.secondary-button,.text-button{min-height:40px;padding:0 var(--space-4);justify-content:center;align-items:center;gap:var(--space-2);border-radius:var(--radius-sm);font-size:var(--text-sm);cursor:pointer;font-weight:600;display:inline-flex}a.primary-button,a.secondary-button{text-decoration:none}.primary-button{border:1px solid var(--forest);color:var(--paper);background:var(--forest)}.primary-button:hover{background:var(--forest-hover);border-color:var(--forest-hover)}.primary-button:active{transform:scale(.98)}.primary-button:disabled{opacity:.5;cursor:not-allowed}.secondary-button{border:1px solid var(--line);background:var(--paper);color:var(--ink)}.text-button{color:var(--ink);background:0 0;border:0}.text-button:hover{color:var(--forest)}.icon-button{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--paper);cursor:pointer;place-items:center;width:36px;height:36px;padding:0;display:inline-grid}.icon-button:hover{border-color:color-mix(in oklch, var(--forest) 25%, var(--line));background:var(--canvas)}.ranked-list{margin-top:var(--space-6)}.list-heading{justify-content:space-between;align-items:center;gap:var(--space-4);display:flex}.list-heading h2{font-size:var(--text-lg);margin:0;font-weight:600}.list-heading>span{color:var(--muted);font-size:var(--text-xs)}.hills-toggle{width:100%;min-height:44px;margin-top:var(--space-3);color:var(--forest);font-size:var(--text-sm);cursor:pointer;background:0 0;border:0;font-weight:600}.hero-map{margin-top:var(--space-5)}.hero-map-stage{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--map-abroad);position:relative;overflow:hidden}.hero-map-frame{width:min(100%, calc(min(64vh, 620px) * var(--map-aspect)));margin-inline:auto;position:relative}.hero-map-art{width:100%;height:100%;display:block;position:absolute;inset:0;-webkit-mask-image:linear-gradient(90deg,#0000,#000 4% 96%,#0000);mask-image:linear-gradient(90deg,#0000,#000 4% 96%,#0000)}.hero-map-abroad{fill:var(--map-abroad)}.hero-map-land{fill:var(--map-land)}.hero-map-relief{opacity:var(--map-relief-opacity)}.hero-map-lakes{fill:var(--map-water)}.hero-map-border{fill:none;stroke:var(--map-border);stroke-width:1.4px;stroke-linejoin:round;vector-effect:non-scaling-stroke}.hero-map-arc{fill:none;stroke:var(--forest);stroke-width:1.8px;stroke-linecap:round;opacity:.55}.hero-map-pins{position:absolute;inset:0}.hero-pin,.hero-city{cursor:pointer;background:0 0;border:0;padding:0;position:absolute}.hero-pin{width:18px;height:18px;margin:-9px 0 0 -9px}.hero-pin:before,.hero-pin:after{content:"";border-radius:50%;position:absolute}.hero-pin:before{background:var(--map-unknown);box-shadow:0 0 0 1.5px var(--map-land);transition:transform .12s;inset:5px}.hero-pin.is-open:before{background:var(--map-open);inset:3.5px}.hero-pin.is-opens:before{background:var(--map-land);box-shadow:inset 0 0 0 2px var(--map-opens);inset:4.5px}.hero-pin.is-ended:before{background:var(--map-land);box-shadow:inset 0 0 0 1.5px var(--map-unknown)}.hero-pin.is-unknown:before{inset:6px}.hero-pin:hover:before{transform:scale(1.4)}.hero-city{width:14px;height:14px;margin:-7px 0 0 -7px}.hero-city:before{content:"";background:var(--ink);opacity:.45;border-radius:1px;position:absolute;inset:4px}.hero-city:hover:before{opacity:.9}.hero-city-label{color:color-mix(in oklch, var(--ink) 62%, transparent);letter-spacing:.01em;white-space:nowrap;text-shadow:0 0 3px var(--map-land), 0 0 3px var(--map-land);font-size:10px;font-weight:600;position:absolute;top:50%;left:13px;transform:translateY(-50%)}.hero-city:hover .hero-city-label{color:var(--ink)}.hero-origin{z-index:2;background:var(--forest);width:12px;height:12px;box-shadow:0 0 0 3px var(--map-land);pointer-events:none;border-radius:3px;margin:-6px 0 0 -6px;position:absolute}.hero-origin-label{background:var(--forest);color:var(--paper);white-space:nowrap;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:700;position:absolute;bottom:calc(100% + 7px);left:50%;transform:translate(-50%)}.hero-pick{z-index:3;width:22px;height:22px;color:inherit;cursor:pointer;background:0 0;border:0;margin:-11px 0 0 -11px;padding:0;position:absolute}.hero-pick-dot{background:var(--forest);color:var(--paper);box-shadow:0 0 0 2px var(--map-land), 0 2px 8px oklch(15% .02 160/.25);border-radius:50%;place-items:center;font-size:12px;font-weight:700;display:grid;position:absolute;inset:0}.hero-pick.is-open .hero-pick-dot{box-shadow:0 0 0 2px var(--map-land), 0 0 0 4px var(--map-open), 0 2px 8px oklch(15% .02 160/.25)}.hero-pick:focus-visible{outline:none}.hero-pick:focus-visible .hero-pick-dot{outline:2px solid var(--forest);outline-offset:4px}.hero-pick-label{top:calc(50% + var(--label-nudge,0px));border:1px solid var(--line);background:var(--paper);color:var(--ink);white-space:nowrap;border-radius:999px;align-items:baseline;gap:6px;padding:4px 9px;font-size:12px;display:flex;position:absolute;left:29px;transform:translateY(-50%);box-shadow:0 2px 10px oklch(15% .02 160/.12)}.hero-pick.is-left .hero-pick-label{left:auto;right:29px}.hero-pick-label strong{font-weight:700}.hero-pick-label span{color:var(--muted);font-variant-numeric:tabular-nums}.hero-pick:hover .hero-pick-label{border-color:var(--forest)}.hero-tooltip{z-index:4;min-width:170px;padding:var(--space-2) var(--space-3);border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--paper);color:var(--muted);font-size:var(--text-xs);pointer-events:none;gap:2px;display:grid;position:absolute;transform:translate(14px,-50%);box-shadow:0 6px 20px oklch(15% .02 160/.18)}.hero-tooltip.is-left{transform:translate(calc(-100% - 14px),-50%)}.hero-tooltip strong{color:var(--ink);font-size:var(--text-sm)}.hero-tooltip-state.is-open{color:var(--score-good);font-weight:600}.hero-map-caption,.hero-map-legend{z-index:3;border:1px solid color-mix(in oklch, var(--line) 70%, transparent);border-radius:var(--radius-sm);background:color-mix(in oklch, var(--paper) 84%, transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);position:absolute}.hero-map-caption{top:var(--space-4);left:var(--space-4);max-width:min(38%,320px);padding:var(--space-3) var(--space-4)}.hero-map-caption p{margin:0}.hero-map-day{color:var(--muted);font-size:var(--text-xs);font-weight:600}.hero-map-count{color:var(--forest);font-size:var(--text-lg);font-weight:700;line-height:1.25}.hero-map-names,.hero-map-next{font-size:var(--text-xs);line-height:1.4;margin-top:var(--space-1)!important}.hero-map-names{color:var(--ink)}.hero-map-next{color:var(--muted)}.hero-map-legend{bottom:var(--space-3);left:var(--space-3);color:var(--ink);flex-wrap:wrap;gap:4px 12px;margin:0;padding:6px 10px;font-size:11px;list-style:none;display:flex}.hero-map-legend li{align-items:center;gap:6px;display:inline-flex}.hero-legend-count{color:var(--muted);font-variant-numeric:tabular-nums}.hero-legend-dot{background:var(--map-unknown);border-radius:50%;width:9px;height:9px}.hero-legend-dot.is-open{background:var(--map-open)}.hero-legend-dot.is-opens{box-shadow:inset 0 0 0 2px var(--map-opens);background:0 0}.hero-legend-dot.is-ended{box-shadow:inset 0 0 0 1.5px var(--map-unknown);background:0 0}@media (prefers-reduced-motion:no-preference){.hero-map-arc{stroke-dasharray:1;animation:.9s ease-out both hero-arc-draw}.hero-pin.is-open:after{border:2px solid var(--map-open);animation:2.4s ease-out infinite hero-pulse;inset:3.5px}}@keyframes hero-arc-draw{0%{stroke-dashoffset:1px}to{stroke-dashoffset:0}}@keyframes hero-pulse{0%{opacity:.8;transform:scale(1)}to{opacity:0;transform:scale(2.6)}}.map-note{margin:var(--space-2) 0 0;color:var(--muted);font-size:var(--text-xs)}.map-credit{opacity:.8;margin-top:2px;display:block}.catalog-toolbar{margin-top:var(--space-4);align-items:stretch;gap:var(--space-2);grid-template-columns:minmax(240px,1fr) auto;display:grid}.catalog-search{min-height:44px;padding:0 var(--space-3);align-items:center;gap:var(--space-2);border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--paper);color:var(--muted);grid-template-columns:18px minmax(0,1fr) 32px;display:grid}.catalog-search input{min-width:0;color:var(--ink);font-size:var(--text-sm);background:0 0;border:0;outline:none}.catalog-search input::placeholder{color:var(--muted)}.catalog-search input::-webkit-search-cancel-button{display:none}.catalog-search button{width:32px;height:32px;color:var(--muted);cursor:pointer;background:0 0;border:0;place-items:center;padding:0;display:grid}.map-filter-toggle{min-height:44px;padding:0 var(--space-3);align-items:center;gap:var(--space-2);border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--paper);color:var(--muted);font-size:var(--text-sm);white-space:nowrap;cursor:pointer;font-weight:500;display:inline-flex}.map-filter-toggle.is-active{border-color:var(--forest);color:var(--forest);background:color-mix(in oklch, var(--lime) 15%, var(--paper))}.beyond-filters-note{margin:var(--space-4) 0 var(--space-2);color:var(--muted);font-size:var(--text-xs);font-weight:500}.list-labels{min-height:32px;margin-top:var(--space-3);align-items:center;gap:var(--space-3);color:var(--muted);font-size:var(--text-xs);grid-template-columns:minmax(180px,1.6fr) repeat(2,minmax(80px,.7fr)) 48px;padding:0 52px 0 130px;font-weight:500;display:grid}.resort-row{margin-top:var(--space-2);border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--paper);grid-template-columns:minmax(0,1fr) auto;transition:border-color .12s;display:grid}.resort-row:hover{border-color:color-mix(in oklch, var(--forest) 20%, var(--line))}.resort-main{min-width:0;min-height:72px;padding:var(--space-2) var(--space-3);align-items:center;gap:var(--space-3);color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:28px 64px minmax(160px,1.6fr) repeat(2,minmax(80px,.7fr)) 48px 14px;text-decoration:none;display:grid}.rank-number{color:var(--muted);font-size:var(--text-xs);font-variant-numeric:tabular-nums;font-weight:600}.is-travel-order .rank-number{display:none}.is-travel-order .resort-main{grid-template-columns:64px minmax(160px,1.6fr) repeat(2,minmax(80px,.7fr)) 48px 14px}.is-travel-order .list-labels{padding-left:90px}.has-price .resort-main{grid-template-columns:28px 64px minmax(160px,1.6fr) repeat(3,minmax(72px,.6fr)) 48px 14px}.has-price.is-travel-order .resort-main{grid-template-columns:64px minmax(160px,1.6fr) repeat(3,minmax(72px,.6fr)) 48px 14px}.has-price .list-labels{grid-template-columns:minmax(180px,1.6fr) repeat(3,minmax(72px,.6fr)) 48px}.resort-thumb{border-radius:var(--radius-sm);background:color-mix(in oklch, var(--forest) 6%, var(--canvas));width:64px;height:56px;position:relative;overflow:hidden}.resort-thumb img,.resort-thumb .resort-visual-tile{object-fit:cover;width:100%;height:100%}.map-affordance{border-radius:var(--radius-sm);color:var(--forest);background:color-mix(in oklch, var(--paper) 90%, transparent);padding:2px;line-height:0;position:absolute;bottom:3px;right:3px}.resort-visual-tile{border:1px solid var(--line);width:100%;height:100%}.resort-visual-tile.has-illustration{display:block;position:relative;overflow:hidden}.resort-visual-tile.has-illustration svg{width:100%;height:100%;display:block;position:absolute;inset:0}.resort-visual-tile.has-illustration:after{content:"";pointer-events:none;background:linear-gradient(#0000 45%,oklch(12% .02 160/.6));position:absolute;inset:0}.resort-visual-caption{z-index:1;left:var(--space-2);right:var(--space-2);bottom:var(--space-1);position:absolute}.resort-visual-caption strong,.resort-visual-caption small{text-overflow:ellipsis;white-space:nowrap;max-width:100%;display:block;overflow:hidden}.resort-visual-caption strong{font-size:var(--text-xs);color:oklch(99% 0 0);font-weight:600}.resort-visual-caption small{color:oklch(92% .01 160/.85);margin-top:1px;font-size:10px;font-weight:500}.resort-visual-hero .resort-visual-caption{left:var(--space-5);right:var(--space-5);bottom:var(--space-5)}.resort-visual-hero .resort-visual-caption strong{font-size:clamp(var(--text-xl), 4vw, 32px);line-height:1.15}.resort-visual-hero .resort-visual-caption small{margin-top:var(--space-1);font-size:var(--text-sm)}.resort-identity{min-width:0}.resort-heading strong,.resort-heading small{display:block}.resort-heading strong{font-size:var(--text-sm);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.resort-heading small{color:var(--muted);font-size:var(--text-xs);margin-top:2px}.row-reason{margin:var(--space-1) 0 0;color:var(--muted);font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap;line-height:1.4;overflow:hidden}.rail-offer-tag{align-items:center;gap:var(--space-1);width:fit-content;max-width:100%;margin-top:var(--space-1);padding:2px var(--space-2);background:var(--lime-soft);color:var(--ink);font-size:var(--text-xs);border-radius:999px;font-weight:600;line-height:1.4;display:inline-flex}.mobile-row-meta{display:none}.data-mode-label.is-live{color:var(--score-good)}.resort-identity .data-mode-label{display:inline-block}.row-stat strong,.row-stat small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.row-stat strong{font-size:var(--text-xs);font-variant-numeric:tabular-nums;font-weight:600}.row-stat small{color:var(--muted);margin-top:2px;font-size:10px}.row-score{font-size:var(--text-base);text-align:right}.row-arrow{color:var(--muted)}.compare-button{min-width:44px;min-height:44px;padding:0 var(--space-3);justify-content:center;align-items:center;gap:var(--space-2);border:0;border-left:1px solid var(--soft-line);border-radius:0 var(--radius-sm) var(--radius-sm) 0;background:var(--canvas);color:var(--muted);font-size:var(--text-xs);cursor:pointer;z-index:2;font-weight:500;display:flex}.compare-checkbox{border:1px solid var(--line);border-radius:3px;width:16px;height:16px}.compare-button.is-active{color:var(--forest);background:color-mix(in oklch, var(--lime) 12%, var(--paper))}.compare-button.is-active .compare-checkbox{display:none}.load-more-button{width:100%;min-height:44px;margin-top:var(--space-3);padding:0 var(--space-4);justify-content:center;align-items:center;gap:var(--space-2);border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--paper);color:var(--forest);font-size:var(--text-sm);cursor:pointer;font-weight:600;display:flex}.load-more-button:hover{border-color:var(--forest);background:var(--canvas)}.load-more-button span{color:var(--muted);font-size:var(--text-xs);font-weight:500}.tourist-guide{margin-top:var(--space-6);padding:var(--space-4) var(--space-5);border:1px solid var(--line);border-radius:var(--radius-md);background:var(--paper);scroll-margin-top:120px}.guide-toggle{justify-content:space-between;align-items:center;gap:var(--space-3);width:100%;color:var(--ink);font-size:var(--text-base);text-align:left;cursor:pointer;background:0 0;border:0;padding:0;font-weight:600;display:flex}.guide-toggle svg{color:var(--muted);flex-shrink:0;transition:transform .16s}.guide-toggle svg.is-open{transform:rotate(180deg)}.tourist-guide h2{font-size:var(--text-base);margin:0}.guide-body{margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--soft-line)}.guide-body>p{color:var(--muted);font-size:var(--text-sm);margin:0;line-height:1.55}.guide-points{margin:var(--space-4) 0 0;padding-left:var(--space-5);color:var(--muted);font-size:var(--text-sm);line-height:1.55}.guide-points li+li{margin-top:var(--space-2)}.guide-links{margin-top:var(--space-4);gap:var(--space-2);flex-wrap:wrap;display:flex}.guide-links a{min-height:36px;padding:0 var(--space-3);align-items:center;gap:var(--space-2);border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--forest);font-size:var(--text-xs);font-weight:500;text-decoration:none;display:inline-flex}.guide-links a:hover{border-color:color-mix(in oklch, var(--forest) 30%, var(--line));background:var(--canvas)}.guide-page{max-width:720px;padding:var(--space-6) var(--space-5) var(--space-8);margin:0 auto}.guide-kicker{margin:0 0 var(--space-2);color:var(--muted);font-size:var(--text-sm);font-weight:500}.guide-page h1{margin:0 0 var(--space-4)}.guide-page h2{margin:var(--space-6) 0 var(--space-3);font-size:var(--text-lg)}.guide-page>p,.guide-faq dd{color:var(--ink);line-height:1.6}.guide-faq{margin:0}.guide-faq dt{margin-top:var(--space-4);font-weight:650}.guide-faq dd{margin:var(--space-2) 0 0;color:var(--muted)}.guide-city-links{gap:var(--space-2);grid-template-columns:repeat(auto-fill,minmax(180px,1fr));margin:0;padding:0;list-style:none;display:grid}.guide-city-links a{color:var(--forest)}.guide-collections{margin:var(--space-4) 0 var(--space-6);gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(220px,1fr));display:grid}.guide-collection{padding:var(--space-4);border:1px solid var(--line);border-radius:var(--radius-md);background:var(--paper)}.guide-collection h3{font-size:var(--text-base);margin:0}.guide-collection p{margin:var(--space-2) 0 var(--space-3);color:var(--muted);font-size:var(--text-sm);line-height:1.5}.guide-collection ul{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.guide-collection a{color:var(--forest);font-size:var(--text-sm);font-weight:500}.knowledge-page{max-width:880px}.knowledge-grid{margin:var(--space-4) 0 var(--space-6);gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(230px,1fr));display:grid}.knowledge-card{padding:var(--space-4);border:1px solid var(--line);border-radius:var(--radius-md);background:var(--paper)}.knowledge-card h2,.knowledge-card h3{margin:0 0 var(--space-2);font-size:var(--text-base)}.knowledge-card p{color:var(--muted);font-size:var(--text-sm);margin:0;line-height:1.5}.knowledge-note{color:var(--muted);font-size:var(--text-sm)}.knowledge-picks{gap:var(--space-3);margin:0;padding:0;list-style:none;display:grid}.knowledge-picks a{gap:var(--space-3);padding:var(--space-3);border:1px solid var(--line);border-radius:var(--radius-md);color:inherit;grid-template-columns:auto 1fr;text-decoration:none;display:grid}.knowledge-picks a:hover{border-color:color-mix(in oklch, var(--forest) 30%, var(--line))}.knowledge-pick-rank{color:var(--muted);font-variant-numeric:tabular-nums;font-weight:650}.knowledge-picks small,.knowledge-pick-blurb{color:var(--muted);font-size:var(--text-sm);line-height:1.45;display:block}.knowledge-picks strong{display:block}.knowledge-steps{counter-reset:knowledge-step;gap:var(--space-4);margin:0;padding:0;list-style:none;display:grid}.knowledge-steps li{counter-increment:knowledge-step;column-gap:var(--space-3);grid-template-columns:auto 1fr;display:grid}.knowledge-steps li:before{content:counter(knowledge-step, decimal-leading-zero);color:var(--muted);font-variant-numeric:tabular-nums;grid-row:1/span 2;font-weight:650;line-height:1.4}.knowledge-steps h3{font-size:var(--text-base);margin:0;line-height:1.4}.knowledge-steps p{margin:var(--space-1) 0 0;line-height:1.6}.static-home,.static-city,.static-resort{max-width:880px;padding:var(--space-5) var(--space-4) var(--space-8);margin:0 auto}@media (scripting:enabled){.static-home,.static-city,.static-resort{display:none}}.page-sections{margin-top:var(--space-6);padding-top:var(--space-4);border-top:1px solid var(--line);line-height:1.6}.page-sections h2{margin:var(--space-6) 0 var(--space-3);font-size:var(--text-lg)}.page-sections a{color:var(--forest)}.closed-row>summary{min-height:46px;padding:var(--space-2) 0;align-items:center;column-gap:var(--space-3);border-top:1px solid var(--soft-line);color:var(--ink);cursor:pointer;grid-template-columns:minmax(0,1fr) auto;font-weight:500;list-style:none;display:grid}.closed-row>summary::-webkit-details-marker{display:none}.closed-row>summary:after{content:"+";color:var(--muted);font-size:var(--text-lg);grid-area:1/2/span 2;font-weight:400}.closed-row[open]>summary:after{content:"−"}.closed-row>summary>small{color:var(--muted);font-size:var(--text-xs);font-weight:400;line-height:1.4;display:block}.closed-row>summary h4 small{color:var(--muted);font-weight:400}.resort-chapter .closed-row>summary h3,.resort-chapter .closed-row>summary h4{font-size:var(--text-base);margin:0;font-weight:600;line-height:1.35}.closed-row[open]{padding-bottom:var(--space-3)}.module-answer{font-weight:500}.resort-chapter{margin-top:var(--space-6);padding-top:var(--space-5);border-top:1px solid var(--line);scroll-margin-top:104px}.resort-chapter:first-child{border-top:0;margin-top:0;padding-top:0}.resort-chapter>h2{font-size:var(--text-xl);margin:0;font-weight:700;line-height:1.15}.resort-chapter h3{margin:var(--space-5) 0 var(--space-2);font-size:var(--text-lg);font-weight:600;line-height:1.25}.resort-chapter h4{margin:var(--space-4) 0 var(--space-2);font-size:var(--text-base)}.resort-chapter .page-sections{margin-top:var(--space-4);border-top:0;padding-top:0}.resort-chapter .page-sections:first-of-type>:first-child{margin-top:0}.resort-chapter .weekend-picks{margin:var(--space-4) 0;padding:var(--space-4)}.resort-chapter .weekend-picks-label{font-size:var(--text-base)}.resort-chapter .weekend-picks-pitch{font-size:var(--text-sm)}.resort-chapter .weekend-picks-fields{gap:var(--space-2);display:flex}.resort-chapter .weekend-picks-fields .weekend-picks-email{flex:1;min-width:0}.resort-chapter [id]{scroll-margin-top:104px}@media (width<=640px){.detail-content,.resort-top{padding-right:var(--space-4);padding-left:var(--space-4)}.trip-bar select{flex:auto;width:0}.trip-bar .segmented-control{flex:none;width:auto;display:inline-flex}.trip-bar .segmented-control button{flex:none;min-width:0;padding-left:10px;padding-right:10px}.trip-bar .segmented-control svg{display:none}}.resort-top{width:min(720px,100%);padding:var(--space-3) var(--space-5) 0;box-sizing:border-box;margin:0 auto}.detail-back{min-height:32px;color:var(--muted);font:inherit;font-size:var(--text-sm);cursor:pointer;background:0 0;border:0;align-items:center;gap:2px;margin-left:-4px;padding:0 4px;display:inline-flex}.chapter-nav{width:min(720px,100%);margin-left:auto;margin-right:auto}.detail-header h1{font-size:var(--text-2xl);letter-spacing:-.02em;margin:0;font-weight:700;line-height:1.15}.detail-header .detail-region{margin-top:var(--space-1);font-size:var(--text-sm)}.resort-top .detail-header{align-items:center}.trip-bar{margin-top:var(--space-3);gap:var(--space-2);display:flex}.trip-bar select{min-width:0;min-height:44px;padding:0 var(--space-2);border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--paper);color:var(--ink);font:inherit;font-size:var(--text-sm);font-weight:600}.trip-bar .segmented-control{margin-left:auto}.trip-bar .segmented-control button{min-height:42px}.verdict{margin-bottom:var(--space-3);padding:var(--space-4);border:1px solid var(--soft-line);border-radius:var(--radius-md);background:var(--paper)}.verdict[aria-busy=true]{min-height:272px}.verdict-loading{margin:0 0 var(--space-3);color:var(--muted);font-size:var(--text-sm)}.verdict-score{align-items:center;gap:var(--space-3);display:flex}.verdict-number{letter-spacing:-.04em;font-variant-numeric:tabular-nums;flex:none;margin:0;font-size:52px;font-weight:700;line-height:1}.verdict-number small{color:var(--muted);font-size:var(--text-xs);letter-spacing:0;margin-left:2px;font-weight:500}.verdict-headline{font-size:var(--text-base);margin:0;font-weight:650;line-height:1.3}.verdict-rank{color:var(--muted);font-size:var(--text-xs);margin:2px 0 0;line-height:1.35}.verdict-reasons{margin:var(--space-3) 0 0;color:var(--ink);padding:0;list-style:none}.verdict-status{font-size:var(--text-xl);letter-spacing:-.015em;margin:0;font-weight:700;line-height:1.2}.verdict-closed{border-color:var(--danger)}.verdict-closed p:not(.verdict-status){margin:var(--space-2) 0;font-size:var(--text-base);line-height:1.5}.factor-row{margin:var(--space-3) 0 0;padding-top:var(--space-3);gap:var(--space-1);border-top:1px solid var(--soft-line);grid-template-columns:repeat(6,minmax(0,1fr));display:grid}.factor-row dt{color:var(--muted);text-align:center;font-size:11px;line-height:1.3}.factor-row dd{font-size:var(--text-sm);text-align:center;font-variant-numeric:tabular-nums;margin:0;font-weight:600}.factor-track{background:var(--soft-line);border-radius:3px;height:30px;margin:3px 0;display:block;position:relative;overflow:hidden}.factor-track span{background:var(--forest);position:absolute;bottom:0;left:0;right:0}.factor-track .is-estimated{background:repeating-linear-gradient(135deg, var(--forest) 0 2px, color-mix(in oklch, var(--forest) 35%, var(--paper)) 2px 4px)}.verdict .closed-row{margin-top:var(--space-2)}.verdict .closed-row>summary{color:var(--muted);font-size:var(--text-sm);border-top:0;min-height:32px;padding-bottom:0}.data-tiles{margin-bottom:var(--space-3);gap:var(--space-2);grid-template-columns:repeat(auto-fit,minmax(150px,1fr));display:grid}.data-tile{min-height:108px;padding:var(--space-2) var(--space-3);border:1px solid var(--soft-line);border-radius:var(--radius-md);background:var(--paper)}.resort-chapter .data-tile h3{color:var(--muted);font-size:var(--text-xs);margin:0;font-weight:500;line-height:1.35}.tile-value{font-size:var(--text-xl);letter-spacing:-.02em;font-variant-numeric:tabular-nums;margin:2px 0;font-weight:700;line-height:1.2}.tile-value-words{font-size:var(--text-lg)}.tile-value-words:first-letter{text-transform:uppercase}.tile-detail{color:var(--muted);font-size:var(--text-xs);margin:0;line-height:1.35}.tile-detail small{font-size:inherit}.skeleton{background:var(--soft-line);border-radius:6px;display:block}.skeleton-score{width:96px;height:52px}.skeleton-line{width:70%;height:12px;margin-top:var(--space-3)}.skeleton-factors{height:58px;margin-top:var(--space-4)}.skeleton-value{width:70px;height:22px;margin-top:var(--space-1)}.row-link{justify-content:space-between;align-items:center;gap:var(--space-2);border-top:1px solid var(--soft-line);min-height:46px;color:var(--ink);font-weight:500;text-decoration:none;display:flex}.row-link svg{color:var(--muted);flex:none}.plan-entry.row-link svg:first-child{margin-right:0}.plan-entry.row-link{justify-content:flex-start}.plan-entry.row-link svg:last-child{margin-left:auto}.better-list{margin-top:var(--space-4)}.resort-chapter .better-list h3{margin:0 0 var(--space-2);font-size:var(--text-base)}.better-list ul{margin:0;padding:0;list-style:none}.better-list li a{align-items:center;column-gap:var(--space-2);border-top:1px solid var(--soft-line);min-height:52px;color:var(--ink);grid-template-columns:30px minmax(0,1fr) auto;text-decoration:none;display:grid}.better-list li a>span{font-weight:500}.better-list small{color:var(--muted);font-size:var(--text-xs);font-weight:400;display:block}.better-score{font-variant-numeric:tabular-nums}.chapter-note{margin-bottom:var(--space-3)}.trip-alert{margin:0 0 var(--space-2);padding:var(--space-3);border-radius:var(--radius-md);background:var(--lime-soft);color:var(--ink);font-weight:500;line-height:1.4}.resort-detail .resort-parking>.module-answer{display:none}.route-cards{gap:var(--space-2);grid-template-columns:repeat(auto-fit,minmax(240px,1fr));display:grid}.route-card{padding:var(--space-3);border:1px solid var(--soft-line);border-radius:var(--radius-md);background:var(--paper)}.route-card .primary-button,.route-card .secondary-button{width:100%;margin-top:var(--space-2);box-sizing:border-box;justify-content:center}.route-time{justify-content:space-between;align-items:baseline;gap:0 var(--space-2);flex-wrap:wrap;margin:0;display:flex}.route-time strong{font-size:var(--text-lg)}.route-time small{color:var(--muted);font-size:var(--text-xs)}.trip-ticket .primary-button{margin-top:var(--space-1)}.trip-ticket small{color:var(--muted);font-size:var(--text-xs)}.action-bar{z-index:35;width:min(720px,100%);padding:var(--space-2) var(--space-4) calc(var(--space-2) + env(safe-area-inset-bottom));box-sizing:border-box;align-items:center;gap:var(--space-2);border-top:1px solid var(--line);background:var(--paper);margin:0 auto;display:flex;position:sticky;bottom:0}.action-amount{flex:1;min-width:0;margin:0;line-height:1.25}.action-amount strong{font-size:var(--text-base);display:block}.action-amount strong:first-letter{text-transform:uppercase}.action-amount small{color:var(--muted);font-size:var(--text-xs);display:block}.action-bar .primary-button,.action-bar .secondary-button{min-height:44px;padding:0 var(--space-3);white-space:nowrap;flex:none}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.resort-rail{display:contents}.action-more{display:none}.chapter-nav{z-index:30;margin-top:var(--space-5);border-top:1px solid var(--soft-line);border-bottom:1px solid var(--line);background:var(--paper);display:flex;position:sticky;top:52px}.chapter-nav a{min-height:44px;color:var(--muted);font-size:var(--text-sm);flex:1;justify-content:center;align-items:center;font-weight:500;text-decoration:none;display:flex}.chapter-nav a[aria-current=true]{color:var(--ink);box-shadow:inset 0 -3px 0 var(--forest);font-weight:700}@media (width>=1100px){.resort-page{column-gap:var(--space-6);grid-template-columns:minmax(0,720px) 368px;grid-template-areas:"top top""nav nav""main rail";justify-content:center;align-items:start;display:grid}.resort-top{width:100%;padding:var(--space-5) 0 var(--space-4);justify-content:space-between;align-items:flex-end;gap:var(--space-5);grid-area:top;display:flex}.resort-title{flex:1;min-width:0}.resort-top .detail-header{justify-content:flex-start}.detail-header h1{font-size:48px}.trip-bar{flex:none;margin-top:0}.chapter-nav{gap:var(--space-5);grid-area:nav;width:auto;margin:0 calc(50% - 50vw);padding:0 calc(50vw - 50%)}.chapter-nav a{flex:none}.resort-detail{grid-area:main;width:100%;margin:0}.resort-detail .detail-content{padding-left:0;padding-right:0}.resort-rail{padding-top:var(--space-5);grid-area:rail;align-self:stretch;display:block}.action-bar{width:100%;padding:var(--space-4);gap:var(--space-2);border:1px solid var(--soft-line);border-radius:var(--radius-md);grid-template-columns:minmax(0,1fr);display:grid;position:sticky;top:112px;bottom:auto}.action-amount strong{font-size:var(--text-2xl);letter-spacing:-.02em;line-height:1.15}.action-amount small{font-size:var(--text-sm)}.action-bar .primary-button,.action-bar .secondary-button{box-sizing:border-box;justify-content:center;width:100%}.action-more{gap:var(--space-2);display:grid}.action-more .secondary-button{justify-content:space-between}.action-more .secondary-button small{color:var(--muted);font-weight:400}.action-links{gap:var(--space-1) var(--space-4);font-size:var(--text-sm);flex-wrap:wrap;display:flex}.resort-rail .weekend-picks{margin:var(--space-4) 0 0;padding:var(--space-4)}.resort-rail .weekend-picks-label{font-size:var(--text-base)}.better-list ul{gap:var(--space-2);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.better-list li a{height:100%;padding:var(--space-3);box-sizing:border-box;border:1px solid var(--soft-line);border-radius:var(--radius-md);background:var(--paper);grid-template-columns:minmax(0,1fr) auto}.better-list li .better-score{font-size:var(--text-xl);grid-column:1/-1}.verdict{column-gap:var(--space-5);grid-template-columns:minmax(0,1fr) minmax(0,1fr);display:grid}.verdict[aria-busy=true],.verdict-unscored,.verdict-closed{display:block}.verdict-score,.verdict-reasons{grid-column:1}.factor-row{border-top:0;grid-area:1/2/span 2;margin-top:0;padding-top:0}.verdict .closed-row{grid-column:1/-1}}.poll-placings{margin:var(--space-3) 0;padding-left:var(--space-5)}.poll-placings li+li{margin-top:var(--space-2)}.poll-placings small{color:var(--muted);font-size:var(--text-sm);display:block}.resort-economics h3{margin:var(--space-4) 0 var(--space-2);font-size:var(--text-base)}.resort-economics h4{margin:var(--space-3) 0 var(--space-2);font-size:var(--text-sm);color:var(--muted)}.mountain-restaurant-list,.car-park-list{margin:var(--space-3) 0;gap:var(--space-2) var(--space-5);grid-template-columns:repeat(auto-fill,minmax(260px,1fr));padding:0;list-style:none;display:grid}.mountain-restaurant-list>li>a,.mountain-restaurant-list strong,.car-park-list strong{font-weight:600}.mountain-restaurant-list small,.car-park-list small{color:var(--muted);font-size:var(--text-sm);display:block}.piste-steepness .piste-mix-swatch{margin-right:var(--space-1);display:inline-block}.piste-steepness tbody th,.piste-steepness tbody td:first-of-type{white-space:nowrap}.piste-steepness-list{margin:var(--space-2) 0;gap:var(--space-2);padding:0;list-style:none;display:grid}.piste-steepness-list small{color:var(--muted);font-size:var(--text-sm);display:block}.lift-register summary{cursor:pointer;color:var(--forest)}.lift-register[open] summary{margin-bottom:var(--space-2)}.conditions-forecast{margin:0 0 var(--space-2);padding-left:var(--space-5)}#root>.not-found-page,#root>.canton-page{max-width:880px;padding:var(--space-5) var(--space-4) var(--space-8);margin:0 auto}.table-scroll{-webkit-overflow-scrolling:touch;overflow-x:auto}.static-table{border-collapse:collapse;width:100%;font-size:var(--text-sm);font-variant-numeric:tabular-nums}.static-table th,.static-table td{padding:var(--space-2);border-bottom:1px solid var(--line);text-align:left}.static-table small{color:var(--muted)}.knowledge-table th[scope=row]{font-weight:600}.knowledge-table th[scope=row] small{font-weight:400;line-height:1.4;display:block}.knowledge-table td a{overflow-wrap:anywhere}.knowledge-table th[scope=row],.knowledge-table td{min-width:7em}.knowledge-table td small{line-height:1.4;display:block}.figure{margin:var(--space-6) 0 var(--space-5)}.figure>figcaption{margin:0 0 var(--space-3)}.figure-title{font-size:var(--text-base);margin:0;font-weight:650;line-height:1.35}.figure-subtitle{margin:var(--space-1) 0 0;color:var(--muted);font-size:var(--text-sm);line-height:1.5}.figure-controls{margin:var(--space-3) 0;gap:var(--space-2) var(--space-4);flex-wrap:wrap;align-items:center;display:flex}.figure-controls .segmented-control{min-height:30px}.figure-controls .segmented-control button{min-width:0;padding:2px var(--space-3);font-size:var(--text-xs)}.figure-hint{color:var(--muted);font-size:var(--text-xs);margin:0}.figure-legend{margin:var(--space-2) 0 0;gap:var(--space-1) var(--space-4);color:var(--muted);font-size:var(--text-xs);flex-wrap:wrap;padding:0;list-style:none;display:flex}.figure-legend li{align-items:center;gap:6px;display:inline-flex}.figure-legend.is-above{margin:0 0 var(--space-2)}.legend-swatch,.legend-dot{border-radius:3px;flex:none;width:10px;height:10px}.legend-dot{border-radius:50%;width:9px;height:9px}.legend-swatch.is-band{border:1px solid var(--line);background:var(--chart-band)}.legend-swatch.is-none{border:1px solid var(--line);background:var(--chart-none)}.legend-dot.is-high{background:var(--chart-high)}.legend-dot.is-low{background:var(--chart-low)}.legend-dot.is-saturday{background:var(--chart-saturday)}.legend-dot.is-tuesday{background:var(--chart-tuesday)}.legend-ramp{background:linear-gradient(in oklch to right, var(--chart-seq-lo), var(--chart-seq-hi));border-radius:3px;flex:none;width:96px;height:10px}.figure-note{margin:var(--space-2) 0 0;color:var(--muted);font-size:var(--text-xs);line-height:1.5}.figure-frame{position:relative}.figure-frame svg{touch-action:pan-y;font-family:inherit;display:block;overflow:visible}.figure-frame svg:focus-visible{outline:2px solid var(--forest);outline-offset:3px;border-radius:4px}.chart-live{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;top:0;left:0;overflow:hidden}.chart-text{fill:var(--muted);font-size:11px}.chart-text.is-ink{fill:var(--ink)}.chart-text.is-strong{fill:var(--ink);font-weight:650}.chart-text.is-nums{font-variant-numeric:tabular-nums}.chart-text.is-small{font-size:10px}.chart-hair{stroke:var(--line);stroke-width:1px}.chart-crosshair{stroke:var(--muted);stroke-width:1px}.chart-band{fill:var(--chart-band)}.chart-line{fill:none;stroke:var(--chart-seq-hi);stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.chart-dot,.chart-dot-high,.chart-dot-low,.chart-dot-saturday,.chart-dot-tuesday{stroke:var(--canvas);stroke-width:2px}.chart-dot{fill:var(--chart-seq-hi)}.chart-dot-high{fill:var(--chart-high)}.chart-dot-low{fill:var(--chart-low)}.chart-dot-saturday{fill:var(--chart-saturday)}.chart-dot-tuesday{fill:var(--chart-tuesday)}.chart-dumbbell{stroke:color-mix(in oklch, var(--chart-saturday) 40%, var(--canvas));stroke-width:2px}.chart-row.is-dim{opacity:.45}.chart-tooltip{z-index:2;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--paper);max-width:260px;color:var(--ink);font-size:var(--text-xs);white-space:nowrap;pointer-events:none;padding:6px 10px;line-height:1.4;position:absolute;transform:translate(-50%,calc(-100% - 10px));box-shadow:0 4px 14px oklch(15% .02 160/.12)}.chart-tooltip.is-below{transform:translate(-50%,12px)}.chart-tooltip strong{font-size:var(--text-sm);font-variant-numeric:tabular-nums}.chart-tooltip small{color:var(--muted);display:block}.stat-row{margin:var(--space-5) 0;gap:var(--space-4) var(--space-5);grid-template-columns:repeat(auto-fit,minmax(170px,1fr));padding:0;list-style:none;display:grid}.stat-tile{padding-top:var(--space-3);border-top:2px solid var(--ink);margin:0}.stat-value{font-size:var(--text-2xl);letter-spacing:-.02em;font-weight:700;line-height:1.05;display:block}.stat-label{font-size:var(--text-sm);margin-top:2px;font-weight:600;display:block}.stat-detail{margin-top:var(--space-1);color:var(--muted);font-size:var(--text-xs);line-height:1.45;display:block}.stat-meter{height:6px;margin-top:var(--space-2);background:color-mix(in oklch, var(--chart-seq-lo) 45%, var(--canvas));border-radius:3px;display:block;overflow:hidden}.stat-meter>span{background:var(--chart-seq-hi);border-radius:3px;height:100%;display:block}.named-rows{gap:0 var(--space-2);grid-template-columns:minmax(84px,150px) minmax(0,1fr);display:grid}.named-rows ol{margin:0;padding:0;list-style:none}.named-rows li{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;font-size:11px;line-height:1;overflow:hidden}.named-rows li.is-active{font-weight:650}.named-rows li a{color:inherit;text-decoration:none}.named-rows li a:hover{text-decoration:underline}.named-rows-scroll{-webkit-overflow-scrolling:touch;overflow-x:auto}.heatmap-cell.is-none{fill:var(--chart-none)}.heatmap-focus{fill:none;stroke:var(--ink);stroke-width:1.5px}.chart-dot-pass{fill:var(--chart-seq-hi);fill-opacity:.55;stroke:var(--canvas);stroke-width:1px}.chart-dot-pass.is-active{fill-opacity:1}.chart-text.is-halo{paint-order:stroke;stroke:var(--canvas);stroke-width:3px;stroke-linejoin:round}.chart-focus-ring{fill:none;stroke:var(--ink);stroke-width:1.5px;pointer-events:none}.chart-median{stroke:var(--ink);stroke-width:1.5px}.legend-dot.is-pass{background:color-mix(in oklch, var(--chart-seq-hi) 60%, var(--canvas))}.legend-line{border-top:2px solid var(--chart-seq-hi);flex:none;width:18px;height:0}.legend-swatch.is-fill{background:var(--chart-seq-hi)}.legend-swatch.is-track{border:1px solid var(--line);background:color-mix(in oklch, var(--chart-seq-lo) 45%, var(--canvas))}.price-scatter .figure-hint,.price-strips .figure-hint{margin-top:var(--space-2)}.chart-badge-text{fill:var(--canvas);pointer-events:none;font-size:9px;font-weight:700}.chart-key{margin:var(--space-2) 0 0;gap:var(--space-1) var(--space-3);color:var(--ink);font-size:var(--text-xs);grid-template-columns:repeat(2,minmax(0,1fr));padding:0;line-height:1.45;list-style:none;display:grid}.chart-key li{grid-template-columns:18px 1fr;align-items:start;gap:6px;display:grid}.chart-badge{width:18px;height:18px;color:var(--canvas);border-radius:50%;justify-content:center;align-items:center;font-size:10px;font-weight:700;display:inline-flex}.chart-badge.is-low{background:var(--chart-low)}.chart-badge.is-high{background:var(--chart-high)}.strip-lane+.strip-lane{margin-top:var(--space-3)}.strip-lane h3{font-size:var(--text-sm);margin:0;font-weight:650}.strip-lane .small-multiple-head{margin-bottom:2px}.share-meters{margin:var(--space-2) 0 0;gap:var(--space-2) var(--space-3);grid-template-columns:minmax(140px,max-content) minmax(0,1fr);align-items:center;display:grid}.share-meter-row{display:contents}.share-meters dt{font-size:var(--text-sm);margin:0}.share-meters dd{gap:var(--space-2);grid-template-columns:minmax(0,1fr) max-content;align-items:center;margin:0;display:grid}.share-meters .share-meter{border-radius:6px;height:12px;margin-top:0}.share-meters .share-meter>span{border-radius:6px}.share-meter-value{color:var(--ink);font-size:var(--text-xs);font-variant-numeric:tabular-nums;white-space:nowrap}.small-multiples{gap:var(--space-4) var(--space-5);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.small-multiple{min-width:0;margin:0}.small-multiple-head{justify-content:space-between;align-items:baseline;gap:var(--space-2);display:flex}.small-multiple h3{font-size:var(--text-sm);margin:0;font-weight:650}.small-multiple-value{min-width:4.5em;color:var(--ink);font-size:var(--text-xs);font-variant-numeric:tabular-nums;text-align:right;flex:none;font-weight:650}.small-multiple p{margin:2px 0 var(--space-2);color:var(--muted);font-size:var(--text-xs);line-height:1.4}.figure-readout{min-height:1.4em;margin:var(--space-2) 0 0;color:var(--ink);font-size:var(--text-xs);font-variant-numeric:tabular-nums;line-height:1.4}.clock-badge-circle{fill:var(--ink);stroke:var(--canvas);stroke-width:2px}.clock-badge-text{fill:var(--canvas);font-size:10px;font-weight:700}.clock-stages{margin:var(--space-2) 0 0;gap:var(--space-1);color:var(--ink);font-size:var(--text-xs);padding:0;line-height:1.45;list-style:none;display:grid}.clock-stages li{grid-template-columns:18px 1fr;align-items:start;gap:6px;display:grid}.clock-badge{background:var(--ink);width:18px;height:18px;color:var(--canvas);border-radius:50%;justify-content:center;align-items:center;font-size:10px;font-weight:700;display:inline-flex}@media (width<=600px){.stat-row{gap:var(--space-4) var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr))}.stat-value{font-size:var(--text-xl)}.small-multiples{gap:var(--space-3)}.named-rows{grid-template-columns:minmax(72px,110px) minmax(0,1fr)}.share-meters{gap:var(--space-1);grid-template-columns:minmax(0,1fr)}.share-meters dd{margin-bottom:var(--space-2)}}.open-weekend-table td:nth-child(3){min-width:14em}.open-weekend-table td:nth-child(4){white-space:nowrap}.weekend-prices-table td,.weekend-prices-table td a{white-space:nowrap;overflow-wrap:normal}.weekend-prices-table td:last-child{min-width:0}@media (width<=600px){.static-table th,.static-table td{padding:var(--space-2) var(--space-1)}}.resort-page{padding-bottom:var(--space-8)}.resort-detail{width:min(720px,100%);margin:0 auto}.empty-state{min-height:320px;margin-top:var(--space-5);padding:var(--space-6);align-content:center;place-items:center;gap:var(--space-2);border:1px dashed var(--line);border-radius:var(--radius-md);text-align:center;display:grid}.empty-state h3{margin:var(--space-2) 0 0;font-size:var(--text-lg);font-weight:600}.empty-state p{max-width:400px;color:var(--muted);font-size:var(--text-sm);margin:0;line-height:1.5}@keyframes fade-in{0%{opacity:0}}.share-control{flex:none;position:relative}.share-button{align-items:center;gap:var(--space-2);display:inline-flex}.share-status{z-index:5;width:max-content;max-width:260px;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);color:var(--paper);background:var(--ink);font-size:var(--text-sm);margin:0;line-height:1.35;position:absolute;top:calc(100% + 6px);right:0}.share-status:empty{display:none}.detail-actions .share-status{left:0;right:auto}.detail-actions{margin-top:var(--space-4);gap:var(--space-2);flex-wrap:wrap;display:flex}.detail-content{padding:var(--space-5) var(--space-5) 60px}.detail-header{justify-content:space-between;align-items:flex-start;gap:var(--space-4);display:flex}.detail-region{color:var(--muted);font-size:var(--text-xs);margin:0}.detail-summary{margin:var(--space-3) 0 0;color:var(--muted);font-size:var(--text-sm);line-height:1.55}.fact-grid{margin:var(--space-5) 0 0;padding:var(--space-4) 0;gap:var(--space-4);border-top:1px solid var(--soft-line);border-bottom:1px solid var(--soft-line);grid-template-columns:1fr 1fr;display:grid}.fact-grid dt{color:var(--muted);font-size:var(--text-xs);font-weight:500}.fact-grid dd{margin:var(--space-1) 0 0;font-size:var(--text-sm);font-variant-numeric:tabular-nums;font-weight:600}.detail-facts{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.detail-facts dd small{font-size:var(--text-xs);font-weight:400;line-height:1.35}.score-explanation,.detail-forecast,.piste-mix-panel,.piste-map-panel,.resort-model-panel{margin-top:var(--space-5)}.section-note{margin:var(--space-1) 0 0;color:var(--muted);font-size:var(--text-xs)}.crowd-level{margin:var(--space-2) 0 0;font-size:var(--text-sm);font-weight:600}.piste-mix-bar{background:var(--line);border-radius:4px;gap:1px;width:100%;max-width:88px;height:8px;margin-top:4px;padding:1px;display:flex;overflow:hidden}.piste-mix-bar>span{border-radius:1px;flex-basis:0;min-width:2px}.piste-mix-bar.is-large{max-width:none;height:12px;margin-top:var(--space-3);border-radius:6px}.piste-mix-blue{background:var(--piste-blue)}.piste-mix-red{background:var(--piste-red)}.piste-mix-black{background:var(--piste-black)}.piste-mix-skiRoutes{background:var(--piste-yellow)}.piste-mix-legend{margin:var(--space-2) 0 0;gap:var(--space-1) var(--space-4);font-size:var(--text-sm);font-variant-numeric:tabular-nums;flex-wrap:wrap;padding:0;font-weight:600;list-style:none;display:flex}.piste-mix-legend li{align-items:center;gap:var(--space-2);display:inline-flex}.piste-mix-swatch{border:1px solid var(--line);border-radius:3px;width:10px;height:10px}.mobile-row-meta .piste-mix-bar{width:56px;margin-top:0}.mobile-row-meta>.piste-mix-bar:before{content:none}.score-line{margin-top:var(--space-3);align-items:center;gap:var(--space-3);font-size:var(--text-xs);grid-template-columns:132px minmax(0,1fr) 28px;display:grid}.score-line.is-unavailable{color:var(--muted)}.confidence{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);font-size:10px;font-weight:500;display:block}.confidence-live,.confidence-timetable{color:var(--score-good)}.confidence-estimated{color:var(--score-fair)}.score-track{border-radius:var(--radius-sm);background:var(--soft-line);height:6px;overflow:hidden}.score-track span{border-radius:inherit;background:var(--forest);height:100%;display:block}.piste-map-figure{margin:var(--space-3) 0 0}.piste-map-figure>a{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--canvas);display:block;overflow:hidden}.piste-map-figure img{object-fit:contain;width:100%;height:auto;max-height:75vh;display:block}.piste-map-figure>a:hover{border-color:color-mix(in oklch, var(--forest) 25%, var(--line))}.piste-map-figure figcaption{margin-top:var(--space-2);color:var(--muted);font-size:var(--text-xs);line-height:1.5}.piste-map-figure figcaption a{color:var(--forest)}.resort-model-poster{aspect-ratio:16/10;width:100%;margin:var(--space-3) 0 0;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--canvas);cursor:pointer;padding:0;display:block;position:relative;overflow:hidden}.resort-model-poster img{object-fit:cover;width:100%;height:100%;transition:transform .4s;display:block}.resort-model-poster:hover img{transform:scale(1.03)}.resort-model-poster:focus-visible{outline:2px solid var(--forest);outline-offset:2px}.resort-model-cta{left:50%;bottom:var(--space-4);align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);background:var(--brand-fill);color:oklch(98% .01 130);font-size:var(--text-sm);white-space:nowrap;border-radius:999px;font-weight:600;display:inline-flex;position:absolute;translate:-50%;box-shadow:0 6px 18px oklch(15% .02 160/.3)}.resort-model-backdrop{z-index:130;padding:var(--space-4);background:var(--scrim);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);place-items:center;animation:.18s ease-out fade-in;display:grid;position:fixed;inset:0}.resort-model-dialog{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--paper);width:min(1240px,100%);height:min(880px,100%);color:var(--ink);flex-direction:column;display:flex;overflow:hidden;box-shadow:0 16px 48px oklch(15% .02 160/.28)}.resort-model-head{align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-3) var(--space-3) var(--space-5);border-bottom:1px solid var(--line);display:flex}.resort-model-head h2{min-width:0;font-size:var(--text-lg);text-overflow:ellipsis;white-space:nowrap;flex:1;margin:0;font-weight:650;overflow:hidden}.resort-model-button{justify-content:center;align-items:center;gap:var(--space-1);min-width:36px;min-height:36px;padding:0 var(--space-3);border:1px solid var(--line);background:var(--paper);color:var(--ink);font:inherit;font-size:var(--text-sm);cursor:pointer;border-radius:999px;display:inline-flex}.resort-model-button.is-close{padding:0}.resort-model-button:hover:not(:disabled){border-color:color-mix(in oklch, var(--forest) 35%, var(--line))}.resort-model-button:disabled{opacity:.5;cursor:default}.resort-model-stage{touch-action:none;background:linear-gradient(#a3c1de 0%,#c8d9e9 45%,#dde7f0 78%);flex:1;min-height:0;position:relative;overflow:hidden}.resort-model-stage canvas{display:block}.resort-model-labels{pointer-events:none;position:absolute;inset:0;overflow:hidden}.resort-model-label{color:#1c242c;white-space:nowrap;text-shadow:0 0 2px #fff,0 0 4px #fff,0 0 6px #fff;font-size:12px;line-height:1.2;position:absolute;top:0;left:0;translate:-50% -100%}.resort-model-label.is-peak:before{content:"▲ ";font-size:9px}.resort-model-label.is-place strong{letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:700}.resort-model-status{padding:var(--space-5);color:#1c242c;font-size:var(--text-sm);text-align:center;place-items:center;margin:0;display:grid;position:absolute;inset:0}.resort-model-compass{top:var(--space-3);right:var(--space-3);pointer-events:none;background:oklch(100% 0 0/.85);border-radius:50%;width:36px;height:36px;position:absolute;box-shadow:0 2px 8px oklch(15% .02 160/.2)}.resort-model-compass>span{color:oklch(50% .19 27);text-align:center;padding-top:3px;font-size:11px;font-weight:800;line-height:1;position:absolute;inset:0}.resort-model-compass>span:after{content:"";border:5px solid #0000;border-top:0;border-bottom:9px solid oklch(50% .19 27);position:absolute;top:15px;left:50%;translate:-50%}.resort-model-foot{align-items:center;gap:var(--space-1) var(--space-4);padding:var(--space-2) var(--space-5) var(--space-3);border-top:1px solid var(--line);color:var(--muted);font-size:var(--text-xs);flex-wrap:wrap;margin:0;display:flex}.resort-model-foot p{margin:0}.resort-model-legend{gap:var(--space-3);color:var(--ink);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.resort-model-legend li{align-items:center;gap:6px;display:inline-flex}.resort-model-legend li:before{content:"";background:var(--swatch);width:16px;height:4px;box-shadow:0 0 0 1px color-mix(in oklch, var(--ink) 25%, transparent);border-radius:2px}.resort-model-legend .is-blue{--swatch:#2a66d4}.resort-model-legend .is-red{--swatch:#d63a35}.resort-model-legend .is-black{--swatch:#1c1c1e}.resort-model-legend .is-lift{--swatch:var(--ink)}.resort-model-legend .is-lift:before{height:8px;box-shadow:none;background:radial-gradient(circle, var(--swatch) 3px, transparent 3.5px) right center / 8px 8px no-repeat, linear-gradient(var(--swatch), var(--swatch)) center / 100% 2px no-repeat;border-radius:0}.resort-model-hint{flex:1;min-width:14em}@media (width<=640px){.resort-model-backdrop{padding:0}.resort-model-dialog{border:0;border-radius:0;width:100%;height:100dvh}.resort-model-head{padding-left:var(--space-4)}.resort-model-foot{padding:var(--space-2) var(--space-4) calc(var(--space-2) + env(safe-area-inset-bottom))}}.source-link{align-items:center;gap:var(--space-2);margin-top:var(--space-4);color:var(--forest);font-size:var(--text-sm);font-weight:500;text-decoration:none;display:inline-flex}.source-link:hover{text-underline-offset:3px;text-decoration:underline}.trip-plan{margin-top:var(--space-5);padding:var(--space-4);border:1px solid var(--line);border-radius:var(--radius-md);background:var(--canvas)}.trip-plan>h2,.trip-plan>h3{font-size:var(--text-base);margin:0;font-weight:600}.trip-plan>p{margin:var(--space-1) 0 0}.trip-links{margin:var(--space-3) 0 0;gap:var(--space-3);padding:0;list-style:none;display:grid}.trip-links a{align-items:center;gap:var(--space-1);color:var(--forest);font-size:var(--text-sm);font-weight:600;display:inline-flex}.trip-links small{color:var(--muted);font-size:var(--text-xs);display:block}.trip-plan>.trip-disclosure{margin-top:var(--space-3)}.partner-not-for-sale,.partner-price{padding:var(--space-3) var(--space-4);border-left:3px solid var(--forest);background:var(--canvas)}.comparison-dock{z-index:70;right:var(--space-5);bottom:var(--space-4);left:var(--space-5);border:1px solid var(--line);border-radius:var(--radius-md);max-width:1120px;color:var(--ink);background:color-mix(in oklch, var(--paper) 88%, transparent);-webkit-backdrop-filter:saturate(140%)blur(16px);backdrop-filter:saturate(140%)blur(16px);padding-bottom:env(safe-area-inset-bottom);margin:0 auto;animation:.2s ease-out dock-in;position:fixed;overflow:hidden}@keyframes dock-in{0%{opacity:0;transform:translateY(8px)}}.comparison-summary{min-height:52px;padding:var(--space-3) var(--space-4);justify-content:space-between;align-items:center;gap:var(--space-4);display:flex}.comparison-summary strong{font-size:var(--text-sm);font-weight:600}.comparison-actions{z-index:1;align-items:center;gap:var(--space-2);display:flex;position:relative}.comparison-dock .primary-button{border-color:var(--forest);color:var(--paper);background:var(--forest)}.comparison-dock .primary-button:hover{background:var(--forest-hover)}.comparison-dock .text-button{color:var(--muted)}.comparison-dock.is-open .primary-button svg{transform:rotate(180deg)}.comparison-cards{gap:var(--space-3);padding:var(--space-3) var(--space-4) var(--space-4);border-top:1px solid var(--line);background:var(--paper);grid-template-columns:repeat(auto-fit,minmax(168px,1fr));display:grid}.comparison-cards article{min-width:0;padding:var(--space-3);border:1px solid var(--line);border-radius:var(--radius-md);background:var(--canvas)}.comparison-cards header{justify-content:space-between;align-items:flex-start;gap:var(--space-2);display:flex}.comparison-card-identity{align-items:center;gap:var(--space-2);min-width:0;display:flex}.comparison-card-identity .resort-thumb{flex-shrink:0;width:40px;height:40px}.comparison-card-identity strong,.comparison-card-identity small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.comparison-card-identity strong{font-size:var(--text-sm);font-weight:600}.comparison-card-identity small{color:var(--muted);margin-top:1px;font-size:10px}.comparison-cards .icon-button{border-color:var(--line);color:var(--ink);background:0 0;flex-shrink:0}.comparison-cards dl{margin:var(--space-3) 0 0;gap:var(--space-2);display:grid}.comparison-cards dt{color:var(--muted);font-size:10px;font-weight:500}.comparison-cards dd{font-size:var(--text-sm);font-variant-numeric:tabular-nums;margin:0;font-weight:600}.comparison-cards .is-best dd{color:var(--forest)}.comparison-same{margin:var(--space-3) 0 0;color:var(--muted);font-size:var(--text-xs);line-height:1.4}footer{margin-top:var(--space-6);padding-top:var(--space-4);justify-content:space-between;gap:var(--space-4);border-top:1px solid var(--line);color:var(--muted);font-size:var(--text-xs);display:flex}footer a{font-weight:500}@media (width<=1100px){.list-labels{display:none}.resort-main{grid-template-columns:24px 56px minmax(140px,1.5fr) minmax(72px,.6fr) 44px 12px}.is-travel-order .resort-main{grid-template-columns:56px minmax(140px,1.5fr) minmax(72px,.6fr) 44px 12px}.resort-main .row-stat-size{display:none}.has-price .resort-main{grid-template-columns:24px 56px minmax(140px,1.5fr) repeat(2,minmax(64px,.5fr)) 44px 12px}.has-price.is-travel-order .resort-main{grid-template-columns:56px minmax(140px,1.5fr) repeat(2,minmax(64px,.5fr)) 44px 12px}.top-pick{grid-template-columns:.85fr 1.15fr}}@media (width<=860px){.app-header{padding:var(--space-2) var(--space-3)}.trip-chrome{gap:var(--space-2);flex:100%;order:3;grid-template-columns:1fr 1fr;display:grid}.trip-chrome .chrome-field{grid-column:1/-1}.date-control{grid-template-columns:1fr 1fr}.filters-panel{border-radius:var(--radius-lg) var(--radius-lg) 0 0;border:0;width:100%;height:auto;min-height:0;max-height:min(88dvh,720px);inset:auto 0 0;transform:translateY(105%)}.filters-panel.is-open{transform:translateY(0)}.results{padding:var(--space-5) var(--space-4) 140px}.top-pick{grid-template-columns:1fr}.top-pick-image{aspect-ratio:16/9;min-height:200px}.comparison-dock{right:var(--space-3);bottom:calc(var(--space-3) + env(safe-area-inset-bottom));left:var(--space-3)}.comparison-cards{padding:var(--space-2) var(--space-3) var(--space-3);grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}}@media (width<=600px){.hero-map{margin-top:var(--space-4)}.hero-map-stage{background:var(--paper)}.hero-map-caption,.hero-map-legend{background:var(--paper);-webkit-backdrop-filter:none;backdrop-filter:none;border:0;border-radius:0;max-width:none;position:static}.hero-map-caption{padding:var(--space-3) var(--space-3) var(--space-2)}.hero-map-count{font-size:var(--text-base)}.hero-map-day,.hero-map-names{display:none}.hero-map-legend{padding:var(--space-2) var(--space-3);gap:2px 10px}.hero-map-frame.is-compact .hero-map-arc{stroke-width:4px}.app-header{padding:var(--space-2) var(--space-3)}.trip-chrome{grid-template-columns:minmax(0,1fr) auto}.trip-chrome .chrome-field{grid-column:auto}.trip-chrome .chrome-control{min-height:36px}.trip-chrome .chrome-group:has(>.date-control){grid-column:1/-1}.results-header{align-items:flex-start;gap:var(--space-2);flex-direction:column}.results-actions{justify-content:flex-start}.results-actions .secondary-button{min-height:36px}.results-header .share-button{padding-inline:var(--space-2)}.results-header .share-button-label{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.data-trust{align-items:flex-start}.top-pick-image{display:none}.top-pick-content{padding:var(--space-4)}.top-facts{gap:var(--space-3)}.catalog-toolbar{grid-template-columns:1fr}.resort-row{grid-template-columns:minmax(0,1fr) 48px;position:relative}.resort-main{width:auto;min-height:88px;padding:var(--space-2);gap:var(--space-2);grid-template-columns:22px 56px minmax(0,1fr)}.is-travel-order .resort-main{grid-template-columns:56px minmax(0,1fr)}.has-price .resort-main{grid-template-columns:22px 56px minmax(0,1fr)}.has-price.is-travel-order .resort-main{grid-template-columns:56px minmax(0,1fr)}.resort-thumb{width:56px;height:60px}.resort-main .row-stat,.row-arrow,.row-reason{display:none}.resort-main .row-score{top:var(--space-2);right:var(--space-2);font-size:var(--text-base);position:absolute}.mobile-row-meta{margin-top:var(--space-1);align-items:center;gap:var(--space-2);color:var(--muted);font-size:var(--text-xs);flex-wrap:wrap;font-weight:500;display:flex}.mobile-row-meta>span+span:before{margin-right:var(--space-2);color:var(--line);content:"·"}.compare-button{border:0;border-left:1px solid var(--soft-line);border-radius:0 var(--radius-sm) var(--radius-sm) 0;background:var(--canvas);min-width:48px;min-height:88px;position:static}.compare-label{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.list-heading>span{display:none}.comparison-summary{min-height:48px;padding:var(--space-2) var(--space-3)}.comparison-dock .text-button{min-height:44px;padding:0 var(--space-3)}footer{display:grid}}.prose-page{max-width:680px;padding:var(--space-6) var(--space-5) var(--space-8);color:var(--ink);margin:0 auto;line-height:1.6}.prose-page h1{margin:var(--space-3) 0 var(--space-4)}.prose-page h2{margin:var(--space-6) 0 var(--space-3);font-size:var(--text-lg)}.prose-page p{margin:0 0 var(--space-3)}.prose-page .knowledge-lead{color:var(--muted)}.prose-page .knowledge-kicker{font-size:var(--text-sm);margin:0}.prose-page .consent-state{padding:var(--space-3) var(--space-4);border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--canvas);font-size:var(--text-sm)}.prose-page .consent-actions{margin-bottom:var(--space-5)}.consent-banner{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-5);border-bottom:1px solid var(--line);background:var(--lime-soft);color:var(--ink);font-size:var(--text-sm);flex-wrap:wrap;display:flex}.consent-copy{flex:260px;line-height:1.45}.consent-copy p{margin:2px 0 0}.consent-buttons{gap:var(--space-2);flex:none;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;max-width:100%;display:grid}@media (width<=860px){.consent-banner{padding:var(--space-3)}}@media (width<=600px){.consent-banner .consent-buttons{flex:100%}}.prose-page .consent-buttons{width:fit-content}.consent-buttons .secondary-button[aria-pressed=true]{border-color:var(--forest);box-shadow:inset 0 0 0 1px var(--forest)}.weekend-picks{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--paper);margin:28px 0 8px;padding:18px 20px}.weekend-picks-label{font-size:var(--text-lg);color:var(--ink);margin:0 0 4px;font-weight:650;line-height:1.3}.weekend-picks-pitch{font-size:var(--text-base);color:var(--muted);margin:0 0 12px}.weekend-picks-pitch strong{color:var(--ink);font-weight:600}.weekend-picks-fields{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.weekend-picks-fields input[type=email],.weekend-picks-fields select{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--canvas);min-height:42px;color:var(--ink);font:inherit;font-size:var(--text-base);padding:0 12px}.weekend-picks-fields input[type=email]{flex:100%;min-width:0}.weekend-picks-city{min-width:0;font-size:var(--text-sm);color:var(--muted);flex:200px;align-items:center;gap:8px;display:inline-flex}.weekend-picks-city select{flex:auto;min-width:0}.weekend-picks-transport,.weekend-picks-fields .primary-button{flex:none;min-height:42px}@media (width<=520px){.weekend-picks-city,.weekend-picks-transport,.weekend-picks-fields .primary-button{flex:100%}}.weekend-picks-status:empty{display:none}.weekend-picks-status{font-size:var(--text-base);color:var(--ink);margin:10px 0 0}.weekend-picks small{font-size:var(--text-sm);color:var(--muted);margin-top:10px;display:block}.app-header nav .account-entry{align-items:center;gap:6px;display:inline-flex}.account-page{max-width:560px}.account-lead{margin:0 0 var(--space-3);color:var(--muted);font-size:var(--text-base)}.account-card{margin:var(--space-4) 0;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--paper);padding:18px 20px}.account-form{gap:var(--space-3);display:grid}.account-form h2{margin:var(--space-2) 0 0;font-size:var(--text-lg)}.account-form h2:first-child{margin-top:0}.account-form small,.account-field small{color:var(--muted);font-size:var(--text-sm)}.account-note{color:var(--muted);font-size:var(--text-base);margin:0}.account-field{min-width:0;color:var(--muted);font-size:var(--text-sm);gap:4px;display:grid}.account-field input,.account-field select{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--canvas);width:100%;min-height:42px;color:var(--ink);font:inherit;font-size:var(--text-base);padding:0 12px}.account-check{font-size:var(--text-base);color:var(--ink);align-items:flex-start;gap:8px;display:flex}.account-check input{flex:none;margin:3px 0 0}.account-actions{align-items:center;gap:var(--space-3);font-size:var(--text-sm);flex-wrap:wrap;display:flex}.account-identity{justify-content:space-between}.account-identity .account-lead{overflow-wrap:anywhere;min-width:0;margin:0}.account-status{font-size:var(--text-base);color:var(--ink);margin:0}.account-status:empty{display:none}.account-transport{justify-self:start;min-height:42px}.account-topics{gap:var(--space-2);border:0;margin:0;padding:0;display:grid}.account-topics legend{margin-bottom:var(--space-2);color:var(--muted);font-size:var(--text-sm);padding:0}.account-areas{gap:var(--space-2);display:grid}.account-areas ul{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.account-areas li{border:1px solid var(--line);font-size:var(--text-sm);border-radius:999px;align-items:center;gap:4px;padding:2px 4px 2px 10px;display:inline-flex}.account-areas li button{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:999px;padding:4px;display:inline-flex}.account-delete summary{cursor:pointer;font-size:var(--text-base);font-weight:600}.account-delete .account-form{margin-top:var(--space-3)}.account-danger{color:var(--danger);border-color:currentColor}.account-back{font-size:var(--text-sm)}.results-actions{justify-content:flex-end;align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.plan-entry{white-space:nowrap}.group-plan-kicker{margin:0 0 var(--space-2);color:var(--muted);font-size:var(--text-sm);align-items:center;gap:6px;font-weight:600;display:flex}.group-plan h1{color:var(--forest);font-size:clamp(var(--text-xl), 3.5vw, var(--text-2xl));line-height:1.15}.group-plan-lead{color:var(--muted);font-size:var(--text-base);line-height:1.55}.group-plan-form,.group-plan-invite,.group-plan-members{margin:var(--space-5) 0;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--paper);padding:18px 20px}.group-plan .group-plan-form h2,.group-plan .group-plan-invite h2,.group-plan .group-plan-members h2{margin:0 0 var(--space-3);font-size:var(--text-lg)}.group-plan-form{gap:var(--space-3);flex-direction:column;display:flex}.group-plan .group-plan-form h2{margin:0}.group-plan-form>p{color:var(--muted);margin:0}.group-plan-edit{margin:var(--space-3) 0 0;border:0;padding:0}.group-plan-field{color:var(--muted);font-size:var(--text-sm);flex-direction:column;gap:6px;display:flex}.group-plan-field input,.group-plan-field select{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--canvas);min-height:42px;color:var(--ink);font:inherit;font-size:var(--text-base);padding:0 12px}.group-plan-field .segmented-control{align-self:flex-start;min-height:42px}.group-plan-form .primary-button{min-height:44px;padding:0 var(--space-5);align-self:flex-start}@media (width<=520px){.group-plan-field .segmented-control,.group-plan-form .primary-button{align-self:stretch}}.group-plan-status{margin:var(--space-2) 0 0;color:var(--ink);font-size:var(--text-sm)}.group-plan-status:empty{display:none}.group-plan-privacy{color:var(--muted);font-size:var(--text-xs)}.group-plan-invite.is-highlighted{border-color:var(--forest);box-shadow:inset 0 0 0 1px var(--forest);background:var(--lime-soft)}.group-plan-invite p{margin:0 0 var(--space-3);color:var(--ink)}.group-plan-invite-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.group-plan-members ul{gap:var(--space-2);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.group-plan-members li{border:1px solid var(--line);background:var(--canvas);font-size:var(--text-sm);border-radius:999px;align-items:center;gap:6px;padding:6px 12px;display:inline-flex}.group-plan-members li.is-me{border-color:var(--forest)}.group-plan-you,.group-plan-origin{color:var(--muted)}.group-plan-origin{align-items:center;gap:4px;display:inline-flex}.group-plan-member-actions{margin:var(--space-3) 0 0;align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.group-plan-member-actions .text-button{padding:0 var(--space-2);min-height:32px;text-decoration:underline}.group-plan-note{margin:0 0 var(--space-3);color:var(--muted);font-size:var(--text-sm);line-height:1.5}.group-plan-leader{margin:var(--space-3) 0;padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);background:var(--lime-soft);color:var(--ink)}.group-plan-picks{margin:var(--space-3) 0 0;gap:var(--space-3);padding:0;list-style:none;display:grid}.group-pick{padding:var(--space-4);border:1px solid var(--line);border-radius:var(--radius-md);background:var(--paper)}.group-pick-head{align-items:center;gap:var(--space-3);display:flex}.group-pick-rank{background:var(--canvas);width:28px;height:28px;color:var(--muted);font-size:var(--text-sm);border-radius:50%;flex:none;place-items:center;font-weight:700;display:inline-grid}.group-pick-name{min-width:0;color:var(--ink);font-size:var(--text-base);flex:auto;font-weight:650;text-decoration:none}.group-pick-name:hover{color:var(--forest);text-decoration:underline}.group-pick-score{border-radius:var(--radius-sm);background:var(--forest);min-width:40px;color:var(--paper);font-size:var(--text-sm);text-align:center;flex:none;padding:4px 8px;font-weight:700}.group-pick-season{color:var(--muted);font-size:var(--text-xs);flex:none}.group-pick-season.is-open{color:var(--score-good);font-weight:650}.group-pick-meta,.group-pick-trips,.group-pick-votes{margin:var(--space-2) 0 0 40px;font-size:var(--text-sm)}.group-pick-meta{margin-top:var(--space-1);color:var(--muted)}.group-pick-trips{gap:6px var(--space-3);color:var(--ink);flex-wrap:wrap;padding:0;list-style:none;display:flex}.group-pick-trips li{align-items:center;gap:4px;display:inline-flex}.group-pick-trips li span{color:var(--muted)}.group-pick-votes{align-items:center;gap:var(--space-2);color:var(--ink);flex-wrap:wrap;display:flex}.vote-button{min-height:36px;padding:0 var(--space-4);border:1px solid var(--line);background:var(--paper);color:var(--ink);font:inherit;font-size:var(--text-sm);cursor:pointer;border-radius:999px;margin-left:auto;font-weight:600}.vote-button:hover{border-color:var(--forest)}.vote-button.is-active{border-color:var(--forest);background:var(--forest);color:var(--paper)}@media (width<=520px){.group-pick-meta,.group-pick-trips,.group-pick-votes{margin-left:0}}.group-plan-about{margin-top:var(--space-7);padding-top:var(--space-4);border-top:1px solid var(--soft-line)}.group-plan-about h3{margin:var(--space-4) 0 var(--space-1);font-size:var(--text-base)}.group-plan-about p,.group-plan-steps{color:var(--ink);line-height:1.6}.feedback-entry{padding:var(--space-1) 0;color:var(--muted);font:inherit;font-size:var(--text-sm);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;align-items:center;gap:6px;font-weight:500;display:inline-flex}.feedback-entry:hover{color:var(--ink)}.feedback-wrong-info{margin:var(--space-5) 0 0;color:var(--muted);font:inherit;font-size:var(--text-sm);text-align:left;text-underline-offset:3px;cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:0;text-decoration:underline;display:inline-flex}.feedback-wrong-info:hover{color:var(--forest)}.feedback-backdrop{z-index:120;padding:var(--space-4);background:var(--scrim);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);place-items:center;animation:.18s ease-out fade-in;display:grid;position:fixed;inset:0}.feedback-dialog{width:min(480px,100%);max-height:calc(100dvh - 2 * var(--space-4));padding:var(--space-4) var(--space-5) var(--space-5);border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--paper);color:var(--ink);overflow-y:auto;box-shadow:0 16px 48px oklch(15% .02 160/.22)}.feedback-head{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-3);display:flex}.feedback-head h2{font-size:var(--text-lg);margin:0;font-weight:650}.feedback-form{gap:var(--space-2);display:grid}.feedback-categories{margin:0 0 var(--space-2);border:0;grid-template-columns:1fr 1fr;gap:6px;padding:0;display:grid}.feedback-categories legend{margin-bottom:var(--space-2);font-size:var(--text-sm);padding:0;font-weight:600}.feedback-categories label{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--canvas);min-height:40px;font-size:var(--text-sm);cursor:pointer;align-items:center;padding:6px 10px;line-height:1.25;display:flex}.feedback-categories label.is-active{border-color:var(--forest);background:var(--lime-soft);font-weight:600}.feedback-categories label:has(input:focus-visible){outline:2px solid var(--forest);outline-offset:2px}.feedback-categories input,.feedback-attach input{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.feedback-label{font-size:var(--text-sm);font-weight:600}.feedback-form textarea,.feedback-form input[type=email]{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--canvas);width:100%;color:var(--ink);font:inherit;font-size:var(--text-base);padding:10px 12px}.feedback-form textarea{resize:vertical;min-height:120px}.feedback-form textarea:focus-visible{outline:2px solid var(--forest);outline-offset:2px}.feedback-form [aria-invalid=true]{border-color:var(--danger)}.feedback-counter{color:var(--muted);font-size:var(--text-xs);text-align:right;margin:0}.feedback-shot{margin:var(--space-1) 0 var(--space-2);align-items:center;gap:var(--space-2) var(--space-3);grid-template-columns:auto 1fr;display:grid}.feedback-shot img{object-fit:cover;object-position:top;border:1px solid var(--line);border-radius:6px;grid-row:span 2;width:auto;max-width:120px;height:96px}.feedback-shot img.is-left-out{opacity:.35}.feedback-shot .section-note{grid-column:1/-1;margin:0}.feedback-check{align-items:center;gap:var(--space-2);font-size:var(--text-sm);display:flex}.feedback-check input{width:18px;height:18px;accent-color:var(--forest)}.feedback-attach{color:var(--forest);font-size:var(--text-sm);text-underline-offset:3px;cursor:pointer;justify-self:start;text-decoration:underline}.feedback-shot:not(:has(img)) .feedback-attach{grid-column:1/-1}.feedback-attach:has(input:focus-visible){outline:2px solid var(--forest);outline-offset:2px}.feedback-problem{color:var(--danger);font-size:var(--text-sm);margin:0}.feedback-problem:empty{display:none}.feedback-send{margin-top:var(--space-2);justify-content:space-between;align-items:flex-end;gap:var(--space-3);display:flex}.feedback-notice{color:var(--muted);font-size:var(--text-xs);margin:0;line-height:1.45}.feedback-send .primary-button{flex:none}.feedback-sent{justify-items:start;gap:var(--space-4);display:grid}.feedback-sent p{font-size:var(--text-base);margin:0}@media (width<=600px){.feedback-entry span{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.feedback-entry{justify-content:center;min-width:32px;min-height:32px}.app-header nav:has(.feedback-entry){gap:var(--space-3)}.app-header nav .account-entry span{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.app-header nav .account-entry{justify-content:center;min-width:32px;min-height:32px}.app-header nav:has(.account-entry){align-items:center;gap:var(--space-1)}.app-header{column-gap:var(--space-2)}.feedback-backdrop{place-items:end stretch;padding:0}.feedback-dialog{width:100%;max-height:92dvh;padding:var(--space-3) var(--space-4) calc(var(--space-4) + env(safe-area-inset-bottom));border-radius:var(--radius-lg) var(--radius-lg) 0 0}.feedback-send{flex-direction:column;align-items:stretch}}.trip-chrome .pass-field .chrome-control select{max-width:11rem}.pass-note,.detail-passes{margin:var(--space-2) 0 0;color:var(--muted);font-size:var(--text-sm);line-height:1.5}.detail-passes{margin-top:var(--space-3)}.detail-passes svg{vertical-align:-2px;margin-right:4px}.pass-city-links{margin:var(--space-3) 0 0;gap:var(--space-2);flex-wrap:wrap;padding:0;list-style:none;display:flex}.pass-city-links a{min-height:40px;padding:0 var(--space-3);border:1px solid var(--forest);color:var(--forest);border-radius:999px;align-items:center;font-weight:600;text-decoration:none;display:inline-flex}.pass-city-links a:hover{background:var(--forest);color:var(--paper)}.ski-pass-table td:nth-child(2){white-space:nowrap}.ski-pass-table tr[data-status=open] td:nth-child(2){color:var(--forest);font-weight:600}@media (width<=600px){.trip-chrome .chrome-field.pass-field{grid-column:1/-1}}.ladder{--ladder-step:18px;counter-reset:rung;margin:0;padding:0;list-style:none}.ladder-rung{gap:var(--space-3);margin-left:calc(var(--rung) * var(--ladder-step));padding:var(--space-2) 0 var(--space-3);border-top:1px solid var(--line);grid-template-columns:14px 1fr;display:grid}.ladder-rung:first-child{border-top:0}.ladder-rail{border-left:3px solid var(--piste-blue);justify-content:center;padding-top:5px;display:flex;position:relative}.ladder-rung.is-kids .ladder-rail{border-left-style:dotted}.ladder-rung.is-red .ladder-rail{border-left-color:var(--piste-red)}.ladder-rung.is-academy .ladder-rail{border-left-color:var(--ink)}.ladder-rail .piste-mix-swatch{width:8px;height:8px}.ladder-name{align-items:baseline;gap:2px var(--space-2);font-size:var(--text-sm);flex-wrap:wrap;margin:0;line-height:1.35;display:flex}.ladder-index{color:var(--muted);font-size:var(--text-xs);font-variant-numeric:tabular-nums;text-transform:uppercase;letter-spacing:.04em}.ladder-name strong{font-weight:650}.ladder-name small{color:var(--muted);font-size:var(--text-xs)}.ladder-skills{margin:var(--space-1) 0 0;gap:2px var(--space-3);color:var(--ink);font-size:var(--text-xs);flex-wrap:wrap;padding:0;line-height:1.45;list-style:none;display:flex}.ladder-skills li:before{content:"✓ ";color:var(--muted)}@media (width<=640px){.ladder{--ladder-step:6px}}.chart-dot-blue,.chart-dot-red,.chart-dot-black{stroke:var(--canvas);stroke-width:1px}.chart-dot-blue{fill:var(--piste-blue)}.chart-dot-red{fill:var(--piste-red)}.chart-dot-black{fill:var(--ink)}.chart-dot-blue.is-active,.chart-dot-red.is-active,.chart-dot-black.is-active{stroke:var(--ink);stroke-width:2px}.lane-swatch.is-blue{fill:var(--piste-blue)}.lane-swatch.is-red{fill:var(--piste-red)}.lane-swatch.is-black{fill:var(--ink)}.chart-focus{fill:none;stroke:var(--forest);stroke-width:2px;pointer-events:none}.legend-median{border-top:2px solid var(--ink);flex:none;width:14px;height:0}.mix-bar{border-radius:var(--radius-sm);height:28px;display:flex;overflow:hidden}.mix-segment{flex-basis:0;justify-content:center;align-items:center;min-width:2px;display:flex}.mix-segment-label{color:#fff;font-size:var(--text-xs);font-variant-numeric:tabular-nums;text-shadow:0 0 3px oklch(20% .02 160/.5);font-weight:650}.mix-segment.piste-mix-skiRoutes .mix-segment-label{color:var(--ink);text-shadow:none}.share-heading{margin:0 0 var(--space-2);font-size:var(--text-sm);font-weight:650}.share-stack{border-radius:var(--radius-sm);gap:2px;height:22px;display:flex;overflow:hidden}.share-segment{flex-basis:0;min-width:2px}.share-segment.is-light,.legend-swatch.is-light{background:var(--chart-seq-lo)}.share-segment.is-month,.legend-swatch.is-month{background:color-mix(in oklch, var(--chart-seq-lo), var(--chart-seq-hi))}.share-segment.is-quarter,.legend-swatch.is-quarter{background:var(--chart-seq-hi)}.share-bars{margin:var(--space-4) 0 0;gap:var(--space-3);padding:0;list-style:none;display:grid}.share-bars li{gap:4px;display:grid}.share-bars .stat-meter{margin:0}.share-text{font-size:var(--text-sm);line-height:1.45}.share-text strong{font-variant-numeric:tabular-nums}.share-text small{color:var(--muted);font-size:var(--text-xs);display:block}.share-text small .ski-school-list{margin:var(--space-3) 0;gap:var(--space-4);padding:0;list-style:none;display:grid}.share-text small .ski-school-list>li>strong{font-weight:600}.share-text small .ski-school-list>li>small{color:var(--muted);font-size:var(--text-sm)}.share-text small .ski-school-list dl{margin:var(--space-2) 0;gap:var(--space-1) var(--space-3);grid-template-columns:max-content 1fr;display:grid}.share-text small .ski-school-list dt{color:var(--muted);font-size:var(--text-sm)}.share-text small .ski-school-list dd{margin:0}@media (width<=600px){.share-text small .ski-school-list dl{grid-template-columns:1fr;gap:0}.share-text small .ski-school-list dd+dt{margin-top:var(--space-2)}}
