/* Winter club skin: shared with the pixel banner and arcade. */
:root{--paper:#edf6ff;--ink:#19374b;--red:#db4039;--blue:#d1e7fa;--line:#93b6d2}body{background:#dceefc;font-family:Galmuri,monospace}button,textarea,input,select{font-family:Galmuri,monospace}h1,h2,h3,.brand,figcaption>span:first-child{font-weight:400;letter-spacing:-1px}.eyebrow,.micro,.photo-top,.stamp,.ticker,.field-label,.input-note,.preview-label,.preview-footer,.note,footer p{font-family:Galmuri,monospace}header{max-width:none;background:#18354c;color:#fff;border-bottom:4px solid #8fbadd;height:88px;position:relative;z-index:6;gap:20px}header .brand{font-size:23px;white-space:nowrap}nav{font-size:12px;gap:24px}nav a:hover{color:#9bd6ff}.x-link{border:2px solid #8fbadd;box-shadow:3px 3px 0 #071e31}.winter-hero{background:#9fc9f3 url('assets/mountains.webp') center bottom/cover no-repeat;border-bottom:8px solid white;position:relative}.weather-strip{display:flex;justify-content:space-between;gap:10px;padding:15px 6%;background:#e8f4ffbd;border-bottom:2px solid #fff;color:#254766;font-size:10px;letter-spacing:1px}.weather-strip button{font-size:10px;border:0;border-bottom:1px dashed #254766;background:transparent;color:#254766;cursor:pointer}.hero{padding:60px 6% 88px;gap:55px;min-height:650px}.hero-copy{background:#f5faffed;border:3px solid #24435b;box-shadow:8px 8px 0 #6e9ec6;padding:30px 27px;position:relative}.hero-copy:before{content:'';position:absolute;top:-9px;left:8px;right:8px;height:10px;background:white;box-shadow:8px -5px 0 -2px white,-8px -3px 0 -1px white}.hero h1{font-size:clamp(42px,4.5vw,66px);letter-spacing:-2px;line-height:1.3;margin:22px 0}.hero .eyebrow{font-size:10px}.intro{font-size:15px;line-height:1.8}.hero-actions{gap:17px}.button{font-size:12px;border:3px solid var(--ink);padding:15px 18px;box-shadow:4px 4px 0 #709bbb;font-weight:400}.text-link{font-size:11px;font-weight:400}.micro{font-size:9px;line-height:1.6}.hero-photo{transform:none;border:4px solid #23445e;box-shadow:9px 9px 0 #6c9cc2;position:relative;max-width:430px;justify-self:end}.hero-photo:before{content:'';position:absolute;left:8px;right:8px;top:-10px;height:12px;background:white;box-shadow:-8px 5px 0 white,8px 4px 0 white}.photo-top{padding:13px 10px;font-size:8px;background:#1c3d56;color:#fff;border-bottom:3px solid #23445e}.hero-photo img{aspect-ratio:1.1}figcaption{border-top:3px solid #23445e;background:#f8fbff;padding:18px 13px}figcaption>span:first-child{font-size:23px}.stamp{font-size:9px;transform:none;border:2px solid;line-height:1.5}.mountain-caption{position:absolute;bottom:18px;left:6%;font-size:10px;color:#173d5d;background:#fff;padding:8px 12px;box-shadow:3px 3px 0 #8aafd0}.ticker{font-size:10px;background:#254d6c;letter-spacing:1px;border-bottom:4px solid #96bddc}.section{padding:75px 6%;max-width:1440px}h2{font-size:clamp(30px,3.4vw,46px);line-height:1.35}.section-heading>p{font-size:12px;line-height:1.9}.ski-section{position:relative}.ski-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(230px,.8fr);gap:40px;align-items:start}.arcade{border:4px solid #1c3d56;background:#18354c;box-shadow:8px 8px 0 #91b8d8;position:relative}.arcade:before{content:'';position:absolute;top:-11px;left:8px;right:8px;background:#fff;height:10px;box-shadow:-8px 4px 0 #fff,8px 6px 0 #fff}.game-hud{display:flex;justify-content:space-between;padding:17px 16px;color:#a9d9fb;font-size:9px;gap:8px}.game-hud b{display:block;font-size:18px;line-height:1.7;color:white;font-weight:400}.game-screen{position:relative}.game-screen canvas{width:100%;height:auto;image-rendering:pixelated;touch-action:none;background:#eef8ff}.game-screen canvas:focus-visible{outline:3px solid #e9483b;outline-offset:-3px}.game-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;background:#d4ebf578;text-align:center;padding:20px}.game-overlay[hidden]{display:none}.game-overlay h3{font-size:clamp(25px,4vw,44px);white-space:pre-line;line-height:1.5;margin:12px 0;color:#18354c;text-shadow:3px 3px #fff}.game-overlay>p{font-size:11px;line-height:1.8;max-width:290px;background:#f7fbffc9;padding:8px}.game-overlay .button{margin-top:16px}.game-controls{display:flex;justify-content:space-between;padding:14px 15px;gap:10px}.game-controls button{border:2px solid #a8d0ef;background:#254d6c;color:#fff;padding:12px;font-size:10px;cursor:pointer;touch-action:none;box-shadow:3px 3px 0 #071e31}.game-controls button:active{background:#44749a;transform:translateY(2px)}.game-controls button:disabled{opacity:.5}.game-help{padding:0 15px 12px;color:#b5d8f2;font-size:9px;line-height:1.8;margin:0}.ski-pass{border:3px solid #24435b;background:#fbfdff;padding:20px;text-align:center;box-shadow:6px 6px 0 #94bada}.ski-pass img{width:140px;height:210px;object-fit:contain;image-rendering:pixelated;margin:0 auto;display:block}.ski-pass h3{font-size:21px;margin:15px 0}.ski-pass p{font-size:11px;line-height:1.8}.pass-code{border-top:2px dashed #8cb2d1;display:block;padding-top:15px;font-size:10px}.trail-notes{padding:16px 0;font-size:11px;line-height:1.9}.trail-notes b{color:#c44138;margin-right:7px}.trail-notes small{font-size:9px;color:#446781}.lab{background:#f7fbff;border-top:4px solid #c5dfef;border-bottom:4px solid #c5dfef;max-width:none}.lab>.section-heading,.lab>.lab-grid{max-width:1268px;margin-left:auto;margin-right:auto}.preset{font-size:11px;border:2px solid #769ab6;background:#eaf4fd;line-height:1.8}.preset.selected{background:#254d6c;border-color:#19374b}.field-label{font-size:10px;line-height:1.8}textarea{background:#fff;border:2px solid #24435b}#caption{font-size:16px}.input-note,.note{font-size:9px;line-height:1.8}.preview{border:3px solid #24435b;box-shadow:6px 6px 0 #94bada}.preview-label,.preview-footer{background:#254d6c;color:#fff;font-size:8px;border-color:#24435b;line-height:1.6}.lore-grid>div>p{font-size:13px;line-height:1.9}.lore-grid>div>.lore-text{font-size:17px;line-height:1.8}.lore h2 span{color:#5683a8}.banner-section{border-top:5px solid #fff}.banner-section img{max-height:none}footer{max-width:none;background:#18354c;color:white;border-top:4px solid #8fbadd}footer p{color:#a3c8e4}footer>a:last-child{font-weight:400;font-size:11px}#snowfall{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:10;background:transparent;image-rendering:pixelated}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.nickname-form{width:min(100%,280px);text-align:left}.nickname-form label{display:block;font-size:10px;margin:8px 0}.nickname-form input{width:100%;padding:12px;border:3px solid #24435b;background:#fff;font-size:15px;border-radius:0}.nickname-form small{display:block;font-size:9px;line-height:1.7;margin-top:8px}.player-label{font-size:10px;padding:12px 15px;color:#b5d8f2;margin:0;border-bottom:1px solid #406780}.player-label strong{color:white;font-weight:400}.leaderboard{background:#f6fbff;border:3px solid #24435b;box-shadow:6px 6px 0 #94bada;padding:18px;margin-top:25px}.leaderboard h3{font-size:18px;margin:0 0 6px;line-height:1.5}.leaderboard>p{font-size:9px;line-height:1.8;color:#50728b}.rank-list{list-style:none;padding:0;margin:15px 0 0}.rank-list li{display:grid;grid-template-columns:25px 1fr auto;gap:8px;padding:12px 0;border-top:1px dashed #a4bfd3;font-size:11px;align-items:center}.rank-list .rank-name{overflow-wrap:anywhere}.rank-list li:first-child{color:#bf3a2e}.rank-list li.mine{background:#dceefa}.ranking-refresh{font-size:9px;color:#24435b;background:transparent;border:1px solid #789ab3;padding:7px;cursor:pointer}.rank-message{font-size:10px;line-height:1.8}.nick-error{color:#a52920!important;min-height:18px}.session-note{font-size:8px!important}
@media(max-width:1000px){.hero{gap:28px}.hero-copy{padding:24px 20px}.hero h1{font-size:43px}.hero-actions .button{font-size:10px;padding:12px}.hero-photo figcaption>span:first-child{font-size:18px}.ski-layout{gap:25px;grid-template-columns:minmax(0,1.4fr) minmax(220px,.8fr)}nav{gap:16px}.brand{font-size:20px!important}.photo-top{font-size:7px}}
@media(max-width:700px){header{padding:14px 5%;height:auto;min-height:94px;align-items:start;flex-direction:column;gap:13px}nav{width:100%;justify-content:space-between;font-size:10px}nav .x-link{font-size:0;padding:6px}.weather-strip{font-size:8px;padding:12px 5%}.weather-strip button{font-size:8px}.hero{grid-template-columns:1fr;padding:35px 6% 68px;gap:35px;min-height:auto}.hero-copy{padding:23px 20px}.hero h1{font-size:clamp(33px,8.8vw,56px);letter-spacing:-1px}.intro{font-size:13px}.hero .eyebrow{font-size:8px}.hero-photo{width:90%;justify-self:center}.hero-photo img{aspect-ratio:1.2}.hero-photo figcaption>span:first-child{font-size:22px}.mountain-caption{font-size:8px}.section{padding:48px 6%}.section-heading{display:block}.section-heading>p{margin-top:17px}h2{font-size:32px}.ski-layout{grid-template-columns:1fr;gap:30px}.ski-guide{display:grid;grid-template-columns:1fr;gap:15px}.ski-pass{display:none}.trail-notes{padding:0}.leaderboard{margin-top:0}.game-overlay h3{font-size:30px}.game-hud{font-size:8px;padding:12px}.game-hud b{font-size:16px}.game-overlay>p{font-size:10px;margin:6px}.game-overlay .button{margin-top:10px}.nickname-form input{padding:8px;font-size:14px}.nickname-form small{font-size:8px}.nickname-form label{font-size:9px}.game-controls button{font-size:9px;padding:11px}.lab-grid,.lore-grid{grid-template-columns:1fr}.presets{gap:8px}.preset{font-size:10px;padding:12px 9px}.banner-section img{height:230px;object-position:62% center}footer{gap:15px}footer .brand{font-size:17px!important}}

.ski-guide{display:flex;flex-direction:column;gap:24px}.leaderboard{margin-top:0}.trail-notes{padding:0}@media(max-width:700px){.game-overlay{padding:12px}.game-overlay h3{font-size:24px;line-height:1.2;margin:8px 0}.game-overlay:has(.nickname-form:not([hidden]))>#game-kicker,.game-overlay:has(.nickname-form:not([hidden]))>#game-message{display:none}.nickname-form small{line-height:1.5}.nick-error{margin-top:4px!important;min-height:12px}.game-overlay .button{padding:12px}.ski-guide{gap:20px}}
/* Play → share → replay. */
.hero h1{font-size:clamp(62px,7vw,100px);line-height:1.12;letter-spacing:-3px}.hero .intro{font-size:17px}.eyebrow,.hero .eyebrow{font-size:12px}.photo-top,.micro{font-size:11px}.button,nav,.text-link{font-size:14px}.game-help{font-size:11px}.game-hud{font-size:11px}.game-hud b{font-size:22px}.player-label{font-size:12px}.game-overlay>p{font-size:13px}.nickname-form label{font-size:12px}.nickname-form small{font-size:11px}.game-controls button{font-size:12px}.leaderboard>p,.rank-message,.ranking-refresh{font-size:12px}.rank-list li{font-size:14px}.trail-notes{font-size:13px}.trail-notes small{font-size:11px}.preview-label,.preview-footer,.note,.input-note{font-size:11px}.field-label{font-size:12px}.section-heading>p{font-size:14px}.game-utility{display:flex;justify-content:space-between;align-items:center;padding:10px 15px;color:#b9e2ff;font-size:12px;min-height:42px}.game-utility button{font:inherit;color:#e9f7ff;background:none;border:1px solid #749bb6;padding:7px;cursor:pointer}.game-controls{padding-top:4px}.personal-goal{border:2px solid #8eb8d7;padding:14px;background:#e2f0fc;margin:20px 0}.personal-goal>span{font-size:11px;color:#486d89}.personal-goal p{font-size:13px;line-height:1.8;margin:8px 0 0}.personal-goal #personal-best{color:#b9362c}.result-panel{padding:20px;color:#f3faff;background:#254d6c;border-top:3px solid #98c2df;text-align:center}.result-panel[hidden]{display:none}.result-panel>span{display:block;color:#9fe6be;font-size:13px}.result-panel>p{font-size:14px;line-height:1.8}.result-panel button,.result-panel a{display:block;width:100%;background:#f3faff;color:#19374b;border:2px solid #9abed8;padding:14px;font-size:12px;margin-top:12px;cursor:pointer}.result-panel button:disabled{opacity:.55;cursor:wait}.result-panel a[hidden]{display:none}.result-panel #result-saving{font-size:11px;color:#c5e1f5}.account-panel{border:2px solid #709ab9;background:#f4faff;padding:16px;font-size:12px;line-height:1.8}.account-panel summary{cursor:pointer;color:#19374b;font-size:11px}.account-panel input,.account-panel textarea{display:block;width:100%;border:2px solid #7196b0;background:white;color:#19374b;padding:10px;font-size:13px;border-radius:0}.account-panel label{display:block;font-size:11px;margin:12px 0 6px}.account-panel button,.meme-run-record button{background:#254d6c;color:white;border:2px solid #18354c;padding:11px;font-size:11px;cursor:pointer;margin-top:10px}.account-panel button:disabled{opacity:.5}.account-panel [hidden]{display:none}.account-panel #account-status{color:#254d6c}.account-panel textarea{font-size:13px;resize:none;min-height:90px}.situations{border-top:4px solid #c1dcec;background:#e5f2fc;max-width:none}.situations>.section-heading,.situation-grid{max-width:1268px;margin-left:auto;margin-right:auto}.situation-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}.situation{border:3px solid #23445e;padding:0;text-align:left;background:#f4faff;color:#18354c;box-shadow:5px 5px 0 #91b8d8;cursor:pointer;font-family:Galmuri,monospace}.situation:hover{transform:translateY(-3px)}.situation-scene{display:block;position:relative;aspect-ratio:1}.situation-scene img{display:block;width:100%;height:100%;object-fit:cover;image-rendering:pixelated}.situation-scene>span{position:absolute;top:12px;left:8px;right:8px;text-align:center;color:white;text-shadow:2px 0 #19374b,-2px 0 #19374b,0 2px #19374b,0 -2px #19374b;font-size:16px;line-height:1.7}.situation-label{display:flex;flex-direction:column;gap:12px;padding:14px;font-size:11px;border-top:3px solid #23445e;line-height:1.5}.situation-label b{font-weight:400;color:#b9362c}.meme-run-record{background:#deedf8;border:2px solid #719cbd;padding:14px;margin-bottom:25px}.meme-run-record[hidden]{display:none}.meme-run-record p{font-size:13px;line-height:1.8;margin:0}.meme-run-record button{font-size:10px}.crashed .game-screen{animation:wipeout .3s steps(2,end)}@keyframes wipeout{25%{transform:translateX(-4px)}50%{transform:translateX(4px)}75%{transform:translateX(-2px)}}
@media(max-width:1000px){.hero h1{font-size:64px}nav{font-size:12px}.situation-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.situation-scene>span{font-size:20px}.photo-top{font-size:9px}.nickname-form small{font-size:10px}.game-overlay h3{font-size:34px}.game-overlay>p{font-size:11px}}
@media(max-width:700px){.hero h1{font-size:68px;letter-spacing:-2px}.hero .intro{font-size:15px}.hero .eyebrow{font-size:10px}.hero-actions .button{font-size:12px}.section-heading>p{font-size:13px}.situation-grid{gap:14px}.situation-scene>span{font-size:12px;line-height:1.6;top:8px}.situation-label{font-size:10px;padding:10px;gap:8px}.game-hud{font-size:10px}.game-hud b{font-size:19px}.game-overlay h3{font-size:24px}.game-controls button{font-size:11px;padding:10px}.game-help{font-size:10px;line-height:1.8}.game-utility{font-size:11px}.nickname-form label{font-size:11px}.nickname-form small{font-size:10px}.result-panel{padding:16px}.result-panel>p{font-size:12px}.preview-label,.preview-footer{font-size:9px}.input-note,.note{font-size:10px}.lab .preset{font-size:12px}.field-label{font-size:11px}.rank-list li{font-size:14px}.personal-goal{padding:12px}}
@media(prefers-reduced-motion:reduce){.crashed .game-screen{animation:none}.situation:hover{transform:none}}
.music-player{position:fixed;right:20px;bottom:20px;z-index:20;width:230px;background:#17374d;color:#f4faff;border:3px solid #a9d3ef;box-shadow:4px 4px 0 #456c89;font-family:Galmuri,monospace}.music-bar{display:flex;align-items:center;gap:4px;padding:5px 8px}.music-icon{font-size:23px;color:#b7dff8;margin-right:4px}.music-bar button{border:0;color:#f4faff;background:transparent;font-family:inherit;cursor:pointer;min-height:44px;padding:9px 6px;font-size:13px}.music-bar #music-toggle{flex:1;text-align:left}.music-bar #music-settings{border-left:1px solid #6b96b3;font-size:11px;min-width:42px}.music-player.is-playing .music-icon{color:#abf1c2}.music-player.is-playing #music-toggle{color:#abf1c2}#music-options{border-top:1px solid #6b96b3;padding:14px}#music-options[hidden]{display:none}#music-options p{font-size:11px;margin:0 0 15px;line-height:1.7}#music-options label{display:flex;justify-content:space-between;font-size:10px}#music-volume{display:block;width:100%;height:28px;margin:9px 0;accent-color:#a4d7f5;cursor:pointer}#music-options small{font-size:10px;line-height:1.7;color:#c8e0f1;display:block}.music-player button:focus-visible,#music-volume:focus-visible{outline:3px solid #ffb9a5;outline-offset:1px}body{padding-bottom:90px}@media(max-width:700px){.music-player{right:12px;bottom:12px;width:210px}.music-bar button{font-size:12px}}

.image-share{width:100%;margin:10px 0 14px}.image-share[hidden]{display:none}.image-share:disabled{opacity:.55;cursor:wait}.draft-status{color:#416781;margin:8px 0 14px;min-height:1.8em}

.editor-tools{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0 24px}.editor-tools button{font:inherit;font-size:11px;line-height:1.5;min-height:44px;padding:10px 12px;border:2px solid #769ab6;background:#eaf4fd;color:#19374b;cursor:pointer}.editor-tools button:hover{background:#d4e8fa}.editor-tools button:focus-visible{outline:3px solid #db4039;outline-offset:3px}.editor-tools [hidden]{display:none}#caption-help{min-height:1.8em}#music-compact{display:none}
@media(max-width:700px){.music-player{position:relative;top:auto;right:auto;bottom:auto;width:48px;margin:14px 6% 0 auto;z-index:6}.music-player.is-expanded{width:min(260px,88%)}#music-compact{display:block;width:42px;height:44px;padding:0;background:transparent;border:0;color:#f4faff;font:24px Galmuri,monospace;cursor:pointer;margin-left:auto}.music-player.is-playing #music-compact{color:#abf1c2}.music-player #music-panel{display:none}.music-player.is-expanded #music-panel{display:block;border-top:1px solid #6b96b3}.music-player.is-expanded #music-compact{width:100%}.editor-tools button{font-size:10px}.hero{padding-top:20px}}
