/* Pistenlotse design tokens: palette sampled from the supplied original icon. */
:root{--pl-alpine:#012245;--pl-mountain:#014377;--pl-turquoise:#01d4f2;--pl-ice:#62f7fd;--pl-snow:#fdfdfd;--pl-bg:#f1f7fb;--pl-surface:#fff;--pl-subtle:#e9f3f9;--pl-text:#102e49;--pl-muted:#536b80;--pl-border:#d8e6f0;--pl-accent:#006f96;--pl-shadow:0 8px 28px #0122450a;--pl-radius:20px;--ski-ink:var(--pl-text);--ski-teal:var(--pl-accent);color-scheme:light}
:root[data-theme=dark]{--pl-bg:#071828;--pl-surface:#102a40;--pl-subtle:#17364e;--pl-text:#eaf6ff;--pl-muted:#b3c9db;--pl-border:#2a4960;--pl-accent:#63e2f4;--pl-shadow:0 8px 28px #0002;color-scheme:dark}
body,button,input,select,textarea{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}body{background:var(--pl-bg);color:var(--pl-text);line-height:1.55}h1,h2,h3,h4{color:var(--pl-text);letter-spacing:-.035em;line-height:1.2}h1{font-weight:750}a{color:var(--pl-accent)}button,a,input,select,textarea{touch-action:manipulation}button,a.link{min-height:44px;font-weight:650;background:#006c92;color:#fff;border-radius:12px}button:hover,a.link:hover{filter:brightness(1.06)}button:disabled{filter:none}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--pl-accent);outline-offset:3px}button.secondary,.heart,.account-menu summary{background:var(--pl-subtle);color:var(--pl-text)}input,select,textarea,.auth-panel input,.account-page input,.account-page select,.account-page textarea,.account-dialog input,.account-dialog select,.account-dialog textarea{background:var(--pl-surface);color:var(--pl-text);border:1px solid var(--pl-border);border-radius:12px;min-height:46px}label{color:var(--pl-text)}input::placeholder,textarea::placeholder{color:var(--pl-muted);opacity:1}small,.muted,.status-info,.detail-metric small,.detail-metric>span,.account-stat small,.user-meta,.card p,.card small,footer,.routing-attribution,.area-summary-time,.area-data-note,.camera-card p,.daily-card small{color:var(--pl-muted)}
.card,.controls,.account-card,.detail-box,.detail-metric,.metric,.account-stat,.camera-card,.weather-point,.daily-card,.hour-card,.empty,.map-consent,.map-area-list>div,.notification-card,.push-card,.feedback-card,.op-card,.op-row,.op-map-original,.pwa-dialog,.account-dialog,.camera-dialog,.op-sheet,.privacy-document{background:var(--pl-surface);color:var(--pl-text);border-color:var(--pl-border);border-radius:var(--pl-radius);box-shadow:var(--pl-shadow)}.card h2,.account-card h2{font-weight:720}.detail-metrics,.account-stats{gap:12px}.detail-metric,.account-stat,.hour-card,.weather-point,.daily-card,.mail-log,.op-fields>div{background:var(--pl-subtle);box-shadow:none}.detail-box,.account-card{padding:clamp(18px,3vw,28px)}.card{position:relative;border-top:3px solid #12a8d0;padding:22px}.card .heart{border:1px solid var(--pl-border)}.card .heart[aria-pressed=true]{color:#006c92;background:#d7f4fa}.card .live-summary{font-size:13px}.stat,.weather-temperature,.detail-metric strong,.account-stat strong,.account-stat small,.user-meta b{color:var(--pl-text)}details{background:var(--pl-subtle);color:var(--pl-text);border:1px solid var(--pl-border);border-radius:14px}summary{cursor:pointer;font-weight:650}.notice{background:#fff1d8;color:#5b420e}.account-private-note{color:var(--pl-muted);border-color:var(--pl-accent)}.account-label,.data-badge{background:var(--pl-subtle);color:var(--pl-accent)}.op-row button,.op-list button{max-width:100%;white-space:normal}.op-sheet,.camera-dialog{background:var(--pl-surface);color:var(--pl-text)}.forecast-tabs [aria-pressed=true]{background:#006c92;color:white}.source-link{overflow-wrap:anywhere}
body.ski-authenticated,#ski-scroll{background:var(--pl-bg)}html:has(body.ski-authenticated),body.ski-authenticated::before{background:var(--pl-alpine)}.ski-authenticated .account-topbar{background:var(--pl-alpine);border-color:#31536c;box-shadow:none;padding-right:max(16px,env(safe-area-inset-right));padding-left:max(16px,env(safe-area-inset-left));gap:10px}.ski-authenticated .account-topbar .account-brand{font-size:18px!important;letter-spacing:-.5px;display:flex;align-items:center;gap:10px;text-transform:none;white-space:nowrap}.account-brand img{width:34px;height:34px;border-radius:9px;flex:none}.ski-authenticated .account-menu summary{background:#123d5a;color:#fff;border:1px solid #28506a}.ski-authenticated .account-menu>div{background:var(--pl-surface);border-color:var(--pl-border)}.ski-authenticated .account-menu>div a,.ski-authenticated .account-menu>div button{color:var(--pl-text)!important}.bottom-nav{background:var(--pl-surface);backdrop-filter:none;border-color:var(--pl-border);box-shadow:0 -6px 24px #0122450b}.bottom-nav a{color:var(--pl-muted);font-weight:650}.bottom-nav a[aria-current]{background:var(--pl-subtle);color:var(--pl-accent)}.area-hero{background:linear-gradient(125deg,#012245,#014377);border-radius:24px}.area-hero h1,.area-hero .eyebrow{color:#fff}.area-tile,.area-summary-item{background:var(--pl-surface);color:var(--pl-text);border-color:var(--pl-border);box-shadow:var(--pl-shadow)}.area-tile svg,.area-summary-item svg{color:var(--pl-accent)}.area-tile small,.area-summary-item small{color:var(--pl-muted)}.area-section-switcher a{background:var(--pl-subtle);color:var(--pl-text);border-color:var(--pl-border)}.area-section-switcher a[aria-current]{background:#006c92;color:white}.area-arrival{margin-top:20px}.area-sources{background:var(--pl-subtle)}.area-summary{gap:10px}
.home-hero{position:relative;background:radial-gradient(ellipse at 95% 20%,#007b9e70,transparent 55%),linear-gradient(125deg,#012245,#014377);padding:36px max(24px,calc((100% - 1140px)/2)) 40px;color:#fff}.home-hero h1{font-size:clamp(36px,5vw,64px);color:#fff;max-width:760px;margin:20px 0}.home-hero h1 span{color:#62f7fd}.home-hero small{color:#9be8f3;font-weight:650;font-size:11px;letter-spacing:2px}.home-hero p{max-width:570px;color:#d2e7f4;font-size:17px}.home-wordmark{display:flex;align-items:center;gap:12px;font-size:23px;font-weight:750;letter-spacing:-.7px;margin-bottom:28px}.home-wordmark img{border-radius:14px}.pisten-dashboard{max-width:1200px;margin:0 auto;padding:24px 20px;min-width:0}.dashboard-greeting{font-size:20px;font-weight:650;margin:0 0 18px}.dashboard-quick{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0 0 25px}.dashboard-quick a{background:var(--pl-surface);border:1px solid var(--pl-border);border-radius:14px;padding:16px;text-decoration:none;font-weight:650;display:flex;align-items:center;min-height:62px;box-shadow:var(--pl-shadow)}.dashboard-favorites{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:20px 0}.dashboard-area{display:grid;gap:12px;border:1px solid var(--pl-border);background:var(--pl-subtle);border-radius:14px;padding:20px;text-decoration:none;color:var(--pl-text)}.dashboard-area small{line-height:1.7}.pisten-dashboard .account-card>a{display:inline-flex;padding:10px 14px 10px 0;font-weight:650}.pisten-dashboard[hidden]{display:none}
.auth-body{background:var(--pl-bg);color:var(--pl-text)}.auth-shell{background:var(--pl-surface);border:1px solid var(--pl-border);box-shadow:0 20px 70px #01224512;border-radius:28px;overflow:hidden}.auth-brand{background:radial-gradient(ellipse at 50% 10%,#087b9b70,transparent 65%),linear-gradient(145deg,#012245,#014377);color:#fff}.login-logo{display:flex;align-items:center;gap:16px}.login-logo img{border-radius:18px}.auth-wordmark{font-size:26px;letter-spacing:-.8px;color:#fff;text-transform:none}.auth-brand h1{color:#fff;margin-top:60px;letter-spacing:-1.5px}.auth-brand h1 em{color:#62f7fd}.auth-panel{background:var(--pl-surface)}.auth-panel footer,.auth-brand small{line-height:1.7}.theme-quick{background:var(--pl-subtle)!important;color:var(--pl-text)!important;float:right;font-size:13px!important;margin-bottom:14px}.auth-panel>div{clear:both}.auth-brand img{animation:pisten-reveal .24s ease-out}@keyframes pisten-reveal{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.pwa-banner{background:var(--pl-subtle);color:var(--pl-text);border-color:var(--pl-border)}.pwa-banner .pwa-dismiss{color:var(--pl-text)}.offline-shell{background:var(--pl-bg);color:var(--pl-text)}.offline-shell .offline-box,#offline-panel .offline-box{background:var(--pl-surface)}
.release-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.release-version{font-weight:750;font-size:16px;background:var(--pl-subtle);color:var(--pl-accent);padding:8px 12px;border-radius:10px}.release-actions{display:flex;gap:9px;flex-wrap:wrap;margin:16px 0}.release-items{display:grid;gap:15px}.release-edit-item{display:grid;grid-template-columns:minmax(140px,1fr) minmax(0,2fr) auto;gap:10px;border:1px solid var(--pl-border);border-radius:12px;padding:12px}.release-edit-item textarea{min-height:80px}.release-build-info{white-space:pre-line;overflow-wrap:anywhere;color:var(--pl-muted);font-size:13px}.release-update-banner{position:fixed;z-index:85;bottom:calc(var(--bottom-nav-size) + 16px);right:16px;width:min(370px,calc(100% - 32px));background:var(--pl-surface);color:var(--pl-text);border:1px solid var(--pl-border);box-shadow:0 12px 50px #01224530;border-radius:18px;padding:22px}.release-update-banner p{margin:8px 0 14px}.release-update-banner a{display:inline-block;padding:8px 12px 8px 0;min-height:44px}.has-update:after{content:'';display:inline-block;vertical-align:middle;width:7px;height:7px;background:var(--pl-accent);border-radius:50%;margin-left:8px}.release-preview{width:min(750px,calc(100% - 24px))}.account-card[data-app-information]>a{display:block;padding:10px 0}.account-card[data-app-information] label{margin-top:18px}.notification-toolbar,.notification-summary,.notification-filters,.notification-meta,.notification-empty,.feedback-message,.push-preview,.op-notice{background:var(--pl-subtle);color:var(--pl-text);border-color:var(--pl-border)}.notification-card,.notification-centre-header{color:var(--pl-text)}.notification-card p,.notification-meta{color:var(--pl-muted)}.notification-card .notification-icon{background:var(--pl-subtle);color:var(--pl-accent)}
@media(max-width:700px){.auth-shell{border:0;border-radius:0;margin:0;min-height:100dvh}.auth-brand{padding:28px 24px}.auth-wordmark{font-size:24px}.login-logo img{width:56px;height:56px}.auth-brand h1{margin:28px 0 18px;font-size:37px}.auth-brand p{display:block;font-size:14px}.auth-panel{padding:26px 22px}.home-hero{padding:27px 22px 30px}.home-wordmark{font-size:21px;margin-bottom:23px}.home-wordmark img{width:47px;height:47px}.home-hero p{font-size:15px}.pisten-dashboard{padding:22px 14px}.dashboard-quick,.dashboard-favorites{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-quick a{font-size:14px;padding:15px;min-height:64px}.dashboard-favorites{grid-template-columns:1fr}.dashboard-greeting{font-size:18px}.release-edit-item{grid-template-columns:minmax(0,1fr)}.release-edit-item button{justify-self:start}.ski-authenticated .account-topbar .account-brand{font-size:17px!important}.account-toplinks{gap:9px}.account-topbar .notification-bell{min-width:36px;padding:6px!important}.account-menu summary{max-width:28vw}.account-card,.detail-box{border-radius:18px}.release-update-banner{bottom:calc(var(--bottom-nav-size) + 10px)}}
@media(max-width:350px){.account-brand img{width:28px;height:28px}.ski-authenticated .account-topbar .account-brand{gap:7px;font-size:15px!important}.account-menu summary{max-width:25vw}.home-hero h1{font-size:34px}.account-topbar{padding-left:10px!important;padding-right:10px!important}.release-actions>*{width:100%}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.account-page{color:var(--pl-text)}.eyebrow{color:var(--pl-accent)}.account-page button.secondary,.account-dialog button.secondary,.auth-body button.secondary,.push-page button.secondary{background:var(--pl-subtle);color:var(--pl-text)}
.pisten-loader{position:fixed;inset:0;z-index:150;display:grid;align-content:center;justify-items:center;gap:14px;background:#012245;color:#fff;font:600 16px system-ui}.pisten-loader img{width:88px;height:88px;border-radius:24px}.pisten-loader strong{font-size:28px}.pisten-loader small{color:#c5ebf8}.pisten-loader img{animation:pisten-reveal .2s ease-out}
.push-form input:not([type=checkbox]),.push-form textarea,.push-form select,#account-page>form textarea{background:var(--pl-surface);color:var(--pl-text);border-color:var(--pl-border)}.push-links a,.inbox-tools,.inbox-summary,.inbox-tabs,.notifications-empty{background:var(--pl-subtle);color:var(--pl-text);border-color:var(--pl-border)}.notification-item.unread{background:var(--pl-surface);border-left-color:var(--pl-accent)}.notification-item h2,.notification-item h3,.inbox-footer,.inbox-description{color:var(--pl-text)}.inbox-hero{background:linear-gradient(120deg,#012245,#014377);color:#fff}.inbox-hero h1,.inbox-hero p,.inbox-eyebrow{color:#fff}.in-app-notice{background:var(--pl-surface);color:var(--pl-text);border-color:var(--pl-border);border-left-color:var(--pl-accent)}.op-field,.op-list-row,.op-filters,.op-hours-main{background:var(--pl-surface);color:var(--pl-text);border-color:var(--pl-border)}.op-field small,.op-list-row small,.op-list-row p{color:var(--pl-muted)}.op-list-row button,.op-filters select,.op-filters input{background:var(--pl-subtle);color:var(--pl-text);border-color:var(--pl-border)}.op-pill{background:var(--pl-subtle);color:var(--pl-text)}
.notifications-list .notification-item,.notifications-list .notification-item.unread{background:var(--pl-surface);border-color:var(--pl-border)}.notifications-list .notification-item.unread{border-left-color:var(--pl-accent)}.inbox-tabs button{color:var(--pl-muted)}.inbox-tabs button[aria-pressed=true]{background:#006c92;color:#fff}.inbox-search,.notice-type,.notice-state,.notification-item time,.notification-item .notice-body{color:var(--pl-muted)}.inbox-search input{background:var(--pl-surface);color:var(--pl-text);border-color:var(--pl-border)}.inbox-tools .notification-inbox-actions button,.notice-item-actions button{background:var(--pl-subtle);color:var(--pl-accent)}.notice-type-icon{background:var(--pl-subtle);color:var(--pl-accent)}.notice-item-actions{border-color:var(--pl-border)}.notification-item .notice-expand{color:var(--pl-accent)}.notifications-empty h2{color:var(--pl-text)}.inbox-summary{padding:7px 10px;border-radius:8px;background:#ffffff14;color:#e5f8ff}.notice-state.new{background:var(--pl-subtle);color:var(--pl-accent)}
@media(max-width:700px){.auth-brand h1{font-size:34px;line-height:1.18;letter-spacing:-1.1px}.auth-brand h1 br{display:block}}
