/* Ski Networks r2: explicit paired surfaces and text; follows the site theme. */
html body :is(.xn-panel,.xn-card-metrics,.xn-sort-toolbar,.xp-page,.x29-resort-photo,#nearby-road-passes-r1,#pass-atlas-link-r1,#ski-piste-map,#ski-elevation-profile,#destination-access){--xn-ink:#163447;--xn-muted:#516979;--xn-line:#c5d6e0;--xn-accent:#09607c;--xn-bg:#ffffff;--xn-soft:#f3f7f9;--xn-head:#e8f1f5;--xn-hover:#e3eef3;--xn-focus:#946019;--xn-primary:#18465d;--xn-on-primary:#ffffff}
html body.xionia-dark :is(.xn-panel,.xn-card-metrics,.xn-sort-toolbar,.xp-page,.x29-resort-photo,#nearby-road-passes-r1,#pass-atlas-link-r1,#ski-piste-map,#ski-elevation-profile,#destination-access){--xn-ink:#edf4fa;--xn-muted:#b4c9d6;--xn-line:#496475;--xn-accent:#8edcf0;--xn-bg:#132433;--xn-soft:#1a3142;--xn-head:#223e51;--xn-hover:#29495e;--xn-focus:#f4c276;--xn-primary:#8edcf0;--xn-on-primary:#102c3c}
html body :is(.xn-panel,#ski-piste-map,#ski-elevation-profile){color:var(--xn-ink)!important;background:var(--xn-bg)!important;border-color:var(--xn-line)!important}
html body :is(.xn-panel,#ski-piste-map,#ski-elevation-profile) :is(h2,h3,p,summary,dt,dd,figcaption){color:var(--xn-ink)!important}
html body :is(.xn-panel,#ski-piste-map,#ski-elevation-profile) :is(.xn-intro,.xn-note,.xn-table-count,.xn-scope,.xn-places small,.xn-stats dt,figcaption,[data-piste-status],.city-context dt){color:var(--xn-muted)!important}
html body .xn-panel .xn-eyebrow{color:var(--xn-accent)!important}
html body :is(.xn-panel,#ski-piste-map,#ski-elevation-profile) a{color:var(--xn-accent)!important}
html body .xn-panel :is(.xn-stats>div,.xn-places li),html body #ski-elevation-profile .city-context>div{color:var(--xn-ink)!important;background:var(--xn-soft)!important}
html body .xn-panel .xn-network{border-color:var(--xn-line)}
html body .xn-panel>details>summary{color:var(--xn-ink)!important;background:var(--xn-soft)!important;border:1px solid var(--xn-line);border-radius:10px;padding:14px 18px;line-height:1.5;margin:16px 0;list-style-position:inside}
html body .xn-panel>details>summary:hover{background:var(--xn-hover)!important}
html body .xn-panel>details[open]>summary{border-color:var(--xn-accent)}
html body .xn-panel .xn-table-wrap{background:var(--xn-bg);border-color:var(--xn-line);color:var(--xn-ink)}
html body .xn-panel .xn-table{background:var(--xn-bg)!important;color:var(--xn-ink)!important}
html body .xn-panel .xn-table :is(caption,tbody,tr,td){background:transparent!important;color:var(--xn-ink)!important;border-color:var(--xn-line)!important}
html body .xn-panel .xn-table :is(caption,td small){color:var(--xn-muted)!important}
html body .xn-panel .xn-table th{background:var(--xn-head)!important;color:var(--xn-ink)!important;border-color:var(--xn-line)!important}
html body .xn-panel .xn-table tbody tr:nth-child(even){background:var(--xn-soft)!important}
html body .xn-panel .xn-table tbody tr:hover{background:var(--xn-hover)!important}
html body .xn-panel .xn-table button{color:var(--xn-ink)!important;background:transparent!important;box-shadow:none}
html body .xn-panel .xn-table button::after{color:var(--xn-accent)!important}
html body .xn-card-metrics{border-color:var(--xn-line)}
html body .xn-card-metrics dt{color:var(--xn-muted)!important}
html body .xn-card-metrics dd{color:var(--xn-ink)!important}
html body #ski-piste-map :is(figure,[data-piste-canvas]){background:var(--xn-soft)!important;border-color:var(--xn-line)!important}
html body #ski-piste-map .xn-map-caption{color:var(--xn-ink)!important}
html body #ski-piste-map .xp-map-links :is(button,a){background:var(--xn-soft)!important;color:var(--xn-ink)!important;border-color:var(--xn-line)!important}
html body #ski-piste-map .xp-map-links :is(button,a):hover{background:var(--xn-hover)!important}
html body #ski-piste-map .xp-map-links [data-piste-open]{background:var(--xn-primary)!important;color:var(--xn-on-primary)!important;border-color:var(--xn-primary)!important}
html body #ski-elevation-profile .xn-elevation{color:var(--xn-ink)!important;background:var(--xn-soft)!important;border-color:var(--xn-accent)!important}
html body #destination-access .x14-cameras>li,html body #destination-access .x15-camera{background:var(--xn-bg)!important;color:var(--xn-ink)!important;border-color:var(--xn-line)!important}
html body #destination-access .x14-cameras :is(p,strong,summary){color:var(--xn-ink)!important}
html body #destination-access .x14-cameras a{color:var(--xn-accent)!important}
html body #destination-access .x15-camera summary{background:var(--xn-soft)!important;color:var(--xn-ink)!important}
html body #destination-access .x15-camera-content img{background:var(--xn-soft)!important}
html body #destination-access{background:var(--xn-bg)!important;color:var(--xn-ink)!important;border-color:var(--xn-line)!important}
html body #destination-access :is(h2,h3,h4),html body #destination-access>p{color:var(--xn-ink)!important}
html body #destination-access .x14-cameras :is(h4,small,[role=status]){color:var(--xn-ink)!important}
html body #destination-access :is(.x15-place,.x15-external){background:var(--xn-bg)!important;color:var(--xn-ink)!important;border-color:var(--xn-line)!important}
html body #destination-access :is(.x15-place,.x15-external)>summary{background:var(--xn-soft)!important;color:var(--xn-ink)!important}
html body #destination-access .x14-actions a,html body #destination-access>p a{background:var(--xn-soft)!important;color:var(--xn-accent)!important;border-color:var(--xn-line)!important}
html body #destination-access :is(a,summary):focus-visible{outline:3px solid var(--xn-focus)!important;outline-offset:3px}
html body #ski-elevation-profile .xn-elevation :is(strong,span){color:var(--xn-ink)!important}
html body #ski-piste-map p small{color:var(--xn-muted)!important}
html body #ski-piste-map [data-piste-canvas] iframe{background:var(--xn-soft)!important}
html body #ski-piste-map figure img,html body #destination-access .x15-camera-content img{filter:none!important;opacity:1}
html body #ski-piste-map [hidden]{display:none!important}
html body :is(.xn-panel,#ski-piste-map,#ski-elevation-profile) :is(a,button,summary,[tabindex]):focus-visible{outline:3px solid var(--xn-focus)!important;outline-offset:3px}
@media(forced-colors:active){html body :is(.xn-panel,.xn-card-metrics,.xn-sort-toolbar,.xp-page,.x29-resort-photo,#nearby-road-passes-r1,#pass-atlas-link-r1,#ski-piste-map,#ski-elevation-profile,#destination-access){--xn-ink:CanvasText;--xn-muted:CanvasText;--xn-line:ButtonText;--xn-accent:LinkText;--xn-bg:Canvas;--xn-soft:Canvas;--xn-head:Canvas;--xn-hover:Canvas;--xn-focus:Highlight;--xn-primary:ButtonFace;--xn-on-primary:ButtonText}}
html body select#sort,html body select#sort option{color:#163447!important;background:#ffffff!important;border-color:#7895a6!important;color-scheme:light}
html body.xionia-dark select#sort,html body.xionia-dark select#sort option{color:#edf4fa!important;background:#132433!important;border-color:#6f91a7!important;color-scheme:dark}
html body select#sort:focus-visible{outline:3px solid #946019!important;outline-offset:3px}
html body.xionia-dark select#sort:focus-visible{outline-color:#f4c276!important}
@media(forced-colors:active){html body select#sort,html body select#sort option,html body.xionia-dark select#sort,html body.xionia-dark select#sort option{color:CanvasText!important;background:Canvas!important;border-color:ButtonText!important}}

html body .xn-sort-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px 20px;margin:24px 0 18px;padding:16px 18px;border:1px solid var(--xn-line);border-radius:12px;background:var(--xn-bg);color:var(--xn-ink)}
html body .xn-sort-toolbar label{font-size:.9rem;font-weight:650;color:var(--xn-ink)!important}
html body .xn-sort-toolbar select#sort{box-sizing:border-box;max-width:100%;min-width:0;min-height:44px;padding:10px 36px 10px 12px;border:1px solid;border-radius:8px;font:inherit;font-size:.86rem;margin:0}
@media(max-width:600px){html body .xn-sort-toolbar{align-items:stretch;flex-direction:column;padding:14px}html body .xn-sort-toolbar select#sort{width:100%}}

html body #nearby-road-passes-r1{box-sizing:border-box;padding:clamp(18px,3vw,30px);margin:24px 0;border:1px solid var(--xn-line);border-radius:18px;background:var(--xn-bg)!important;color:var(--xn-ink)!important}
html body #nearby-road-passes-r1 h2{color:var(--xn-ink)!important;font-size:clamp(1.2rem,2.3vw,1.65rem);line-height:1.3;margin:0 0 18px}
html body #nearby-road-passes-r1 ul{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:12px;list-style:none!important;padding:0!important;margin:0!important}
html body #nearby-road-passes-r1 li{display:block;min-width:0;margin:0!important;padding:0!important;border:0;background:transparent!important;color:var(--xn-ink)!important}
html body #nearby-road-passes-r1 li>a{box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:84px;height:100%;padding:16px 18px;border:1px solid var(--xn-line);border-radius:12px;background:var(--xn-soft)!important;color:var(--xn-ink)!important;text-decoration:none;font-size:.94rem;line-height:1.45}
html body #nearby-road-passes-r1 li>a:hover{background:var(--xn-hover)!important;border-color:var(--xn-accent)}
html body #nearby-road-passes-r1 .xn-pass-name{font-weight:650;overflow-wrap:anywhere;color:var(--xn-ink)!important}
html body #nearby-road-passes-r1 .xn-pass-distance{display:block;flex:0 0 auto;text-align:right;font-weight:750;font-size:1.15rem;font-variant-numeric:tabular-nums;color:var(--xn-accent)!important;white-space:nowrap}
html body #nearby-road-passes-r1 .xn-pass-distance small{display:block;font-size:.68rem;font-weight:450;color:var(--xn-muted)!important;margin-top:3px}
html body #nearby-road-passes-r1 .xp-note{color:var(--xn-muted)!important;font-size:.8rem;line-height:1.65;margin:16px 0 0}
html body #pass-atlas-link-r1{margin:24px 0 12px;padding:0!important;background:transparent!important}
html body #pass-atlas-link-r1>a{box-sizing:border-box;display:inline-flex;align-items:center;gap:16px;max-width:100%;min-height:48px;padding:13px 18px;border:1px solid var(--xn-line);border-radius:12px;background:var(--xn-soft)!important;color:var(--xn-accent)!important;font-size:.9rem;font-weight:650;line-height:1.5;text-decoration:none}
html body #pass-atlas-link-r1>a::after{content:'→';font-size:1.2rem}
html body #pass-atlas-link-r1>a:hover{background:var(--xn-hover)!important;border-color:var(--xn-accent)}
html body :is(#nearby-road-passes-r1,#pass-atlas-link-r1) a:focus-visible{outline:3px solid var(--xn-focus)!important;outline-offset:3px}

html body .xp-page{--text:var(--xn-ink);--muted:var(--xn-muted);--panel:var(--xn-bg);--line:var(--xn-line);color:var(--xn-ink)!important}
html body .xp-page :is(.xp-intro h1,.xp-guide h2,.xp-guide h3,.xp-status h2){color:var(--xn-ink)!important}
html body .xp-page :is(.xp-eyebrow,.xp-note,.xp-status-time,.xp-original-name,.xp-photo figcaption){color:var(--xn-muted)!important}
html body .xp-page :is(.xp-intro,.xp-guide,.xp-status,.xp-photo) a{color:var(--xn-accent)!important}
html body .xp-page .xp-facts>span{color:var(--xn-ink)!important;background:var(--xn-soft)!important;border-color:var(--xn-line)!important}
html body .xp-page .xp-status{color:var(--xn-ink)!important;background:var(--xn-bg)!important;border-color:var(--xn-line)!important}
html body .xp-page .xp-status-label:not([data-state=open]):not([data-state=closed]):not([data-state=restricted]){color:var(--xn-muted);background:var(--xn-soft)}
html body.xionia-dark .xp-page .xp-status-label[data-state=open]{color:#79e3b0;background:#16382e}
html body.xionia-dark .xp-page .xp-status-label[data-state=closed]{color:#ffafb2;background:#402a35}
html body.xionia-dark .xp-page .xp-status-label[data-state=restricted]{color:#f1cd87;background:#3a3324}
html body .xp-page .xd-jumps a{color:var(--xn-ink)!important;background:var(--xn-soft)!important;border-color:var(--xn-line)!important}
html body .x29-resort-photo figcaption{color:var(--xn-muted)!important}
html body .x29-resort-photo,html body .xp-page .xp-photo{background:var(--xn-bg)!important;color:var(--xn-ink)!important}
html body .x29-resort-photo figcaption a{color:var(--xn-accent)!important}
html body #atlas-city-widget{margin:20px 0 24px;scroll-margin-top:90px;min-width:0}
