@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#18392d;--muted:#74877d;--green:#167349;--green-dark:#105b39;--cream:#f3f6f4;--line:#dfe7e1;--red:#ce533f;--font:'DM Sans',system-ui,-apple-system,sans-serif;--display:'Manrope',var(--font)}
*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid #efa929;outline-offset:5px}button:disabled{cursor:default}[hidden]{display:none!important}.shell{max-width:1000px;margin:auto;padding:0 44px}.masthead{height:102px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:10px;color:var(--ink);font-family:var(--display);font-size:24px;font-weight:800;letter-spacing:-1.2px;text-decoration:none}.brand-dot{margin-left:-9px;color:var(--green)}.brand-icon{display:grid;place-items:center;background:var(--green);color:white;width:37px;height:37px;border-radius:11px}.brand-icon svg{width:28px}.header-actions{display:flex;align-items:center;gap:22px}.guest{font-size:12px;color:#6b7d71;display:flex;align-items:center;gap:7px}.guest span{width:5px;height:5px;border-radius:50%;background:#40976a}.icon-button{border:1px solid var(--line);width:38px;height:38px;display:grid;place-items:center;background:transparent;border-radius:50%;color:var(--ink)}.icon-button svg{width:18px;height:18px}.sound-on{display:none}.icon-button[aria-pressed=true] .sound-on{display:block}.icon-button[aria-pressed=true] .sound-off{display:none}.intro{text-align:center;padding:34px 0 28px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:2.2px;display:flex;justify-content:center;align-items:center;gap:9px;color:#637b6d}.flag{width:19px;height:13px;display:flex;flex-direction:column;border-radius:2px;overflow:hidden;box-shadow:0 0 0 1px #dae0dc}.flag i{flex:1;background:white}.flag i:nth-child(2){background:#2b5793}.flag i:nth-child(3){background:#d25242}h1{font-family:var(--display);font-size:clamp(32px,5vw,49px);letter-spacing:-2.1px;line-height:1.15;margin:14px 0 10px;font-weight:800}h1 span{color:var(--green)}.intro p{margin:0;font-size:14px;color:#6d7f75}.game{border:1px solid #d4ded7;border-radius:23px;background:white;overflow:hidden;box-shadow:0 12px 40px #21412f08}.scene{height:350px;position:relative;overflow:hidden;user-select:none;touch-action:manipulation;background:#dcecf0;cursor:default}.mountains{position:absolute;width:100%;height:100%;object-fit:cover;object-position:center 60%;pointer-events:none}.scene-top,.scene-bottom{position:absolute;display:flex;justify-content:space-between;align-items:center;left:25px;right:25px;z-index:3;pointer-events:none}.scene-top{top:20px}.scene-label{font-size:9px;letter-spacing:1.5px;font-weight:700;background:#ffffffc9;border:1px solid #ffffffcb;padding:8px 11px;border-radius:30px;display:flex;align-items:center;gap:7px;color:#3c6756;backdrop-filter:blur(8px)}.scene-label>span{width:5px;height:5px;border-radius:50%;background:var(--green)}.round-label{font-size:9px;letter-spacing:1.3px;color:#5d7c76;font-weight:600}.scene-bottom{bottom:16px;font-size:8px;color:#6e8c86;letter-spacing:1.5px;font-weight:600}.signal-display{position:absolute;left:50%;top:47px;transform:translateX(-50%);z-index:5;text-align:center}.signal{display:flex;gap:12px;background:#183c34;padding:10px 13px;border-radius:40px;border:3px solid #ffffffab;box-shadow:0 5px 15px #133b3420}.lamp{width:23px;height:23px;display:block;border-radius:50%;background:#355449;box-shadow:inset 0 2px 4px #102b2b40;transition:background .08s}.signal-caption{font-size:9px;letter-spacing:2.3px;font-weight:800;margin-top:9px;color:#305444;text-shadow:0 1px 2px white}.start-gate{position:absolute;left:29%;top:41%;width:115px;height:132px;z-index:1;transform:rotate(-4deg)}.gate-banner{position:absolute;top:0;left:0;height:31px;width:108px;background:var(--green);color:white;border-radius:3px 3px 0 0;font-size:13px;font-weight:800;letter-spacing:3px;padding:6px 12px;box-shadow:0 4px 10px #1e413c10}.gate-banner>span{float:right;color:#a9cfbe;font-size:14px;letter-spacing:0}.start-gate:before,.gate-leg{content:'';position:absolute;top:27px;left:0;width:6px;height:105px;background:linear-gradient(to right,#a8bbb5,#f8f9f8);border-radius:0 0 3px 3px}.gate-leg{left:102px}.gate-line{position:absolute;left:-34px;top:135px;width:188px;height:2px;background:#e3594bbf;transform:rotate(18deg);border-radius:50%}.skier-wrap{position:absolute;left:calc(35% - 56px);top:43%;width:168px;height:191px;z-index:2;transform:rotate(4deg);transform-origin:50% 85%}.skier{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 4px 3px #35574b19);pointer-events:none}.snow-trail{position:absolute;left:5%;bottom:14%;width:45%;height:8px;background:white;border-radius:50%;opacity:0;filter:blur(3px)}.game-controls{padding:22px 28px 14px}.status-row{display:flex;justify-content:space-between;align-items:center;min-height:48px;margin-bottom:18px;gap:10px}h2{font-size:18px;line-height:1.25;letter-spacing:-.35px;margin:0 0 5px;font-family:var(--display);font-weight:800}.status-row p{font-size:12px;line-height:1.5;margin:0;color:var(--muted)}.record-pill{white-space:nowrap;background:#e6f2db;color:#4a712e;font-size:10px;font-weight:700;padding:7px 10px;border-radius:20px}.action{width:100%;height:62px;border:0;border-radius:13px;background:var(--green);color:white;display:flex;justify-content:center;align-items:center;gap:18px;font-size:20px;font-weight:700;font-family:var(--display);letter-spacing:-.4px;box-shadow:0 4px 0 var(--green-dark);touch-action:manipulation;user-select:none;transition:background .15s,transform .1s}.action:hover{background:#12643f}.action:active{transform:translateY(2px);box-shadow:0 2px 0 var(--green-dark)}.action svg{width:22px;height:22px}.control-hint{display:flex;align-items:center;justify-content:space-between;min-height:33px;padding-top:5px;color:#91a094;font-size:10px;gap:12px}.text-button{border:0;background:transparent;color:var(--green);font-size:11px;font-weight:600;padding:6px 0}.text-button span{margin-left:3px}.stats{display:grid;grid-template-columns:repeat(3,1fr);padding:25px 0 22px;border-bottom:1px solid var(--line);gap:10px}.stat{padding-left:24px;border-left:1px solid var(--line)}.stat:first-child{padding-left:0;border-left:0}.stat-label{display:flex;gap:7px;align-items:center;font-size:11px;color:var(--muted);height:19px}.stat-label svg{width:16px;height:16px;flex-shrink:0}.stat strong{font-family:var(--display);font-size:28px;display:block;margin-top:6px;font-weight:800;letter-spacing:-.8px;font-variant-numeric:tabular-nums}.stat small{font-family:var(--font);font-size:12px;color:#9aa69e;margin-left:6px;letter-spacing:0;font-weight:400}.how-it-works{display:flex;align-items:center;justify-content:center;gap:27px;padding:23px 0;font-size:11px;color:#6f8274}.how-it-works b{font-family:var(--display);font-size:10px;color:#8fa699;margin-right:7px}.how-it-works i{font-size:15px;color:#a8b6ac;font-style:normal}footer{font-size:9px;color:#9aaa9f;display:flex;justify-content:space-between;align-items:center;padding:16px 0 26px;border-top:1px solid var(--line);gap:15px}.footer-flag{font-size:12px;margin-left:3px}.result-overlay{position:absolute;inset:0;background:#edf5f0c9;z-index:6;display:flex;flex-direction:column;align-items:center;justify-content:center;backdrop-filter:blur(5px);animation:reveal .2s ease}.result-eyebrow{font-size:11px;letter-spacing:3px;font-weight:700;color:#547b66}.result-number{font-family:var(--display);display:flex;align-items:baseline;gap:10px;margin:0 0 4px;line-height:1.25;color:var(--ink)}#result-value{font-size:100px;letter-spacing:-7px;font-weight:800;font-variant-numeric:tabular-nums}.result-unit{font-size:26px;letter-spacing:-1px;font-weight:500;color:#6b8d78}.result-caption{font-size:15px;color:#40644e;font-weight:500}.game[data-state=waiting] .red-lamp,.game[data-state=early] .red-lamp{background:#f17458;box-shadow:0 0 17px #ff704770,inset 0 1px 3px #ffffff80}.game[data-state=waiting] .action{background:#a44433;box-shadow:0 4px 0 #883629}.game[data-state=waiting] .signal-caption{color:#9c3d2c}.game[data-state=go] .green-lamp{background:#82f595;box-shadow:0 0 23px #6cff888f,inset 0 1px 3px #ffffff90}.game[data-state=go] .action{background:#138146;box-shadow:0 4px 0 #0a5b30}.game[data-state=go] .signal{box-shadow:0 0 0 6px #8ceb9b42,0 5px 15px #133b3420}.game[data-state=go] .signal-caption{color:#086b38}.game[data-state=waiting] .scene,.game[data-state=go] .scene{cursor:pointer}.game[data-state=result] .skier-wrap{animation:ski-away .7s cubic-bezier(.4,0,.9,.6) forwards}.game[data-state=result] .snow-trail{opacity:.8}.game[data-state=early] .result-overlay{background:#faf1e8d4}.game[data-state=early] #result-value{font-size:72px;letter-spacing:-4px;color:#b14731}.game[data-state=early] .result-eyebrow,.game[data-state=early] .result-caption{color:#a4614d}.game[data-state=slow] #result-value,.game[data-state=paused] #result-value{font-size:65px;letter-spacing:-3px}.toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:var(--ink);color:white;border-radius:12px;padding:13px 20px;font-size:13px;box-shadow:0 6px 24px #18392d30;z-index:10;max-width:90vw;text-align:center}.game[data-state=result] .result-overlay{animation:reveal .25s .4s both}.game[data-state=waiting] #action-arrow,.game[data-state=go] #action-arrow{display:none}
@keyframes ski-away{to{transform:translate(430px,160px) rotate(14deg);opacity:0}}@keyframes reveal{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}
.lamp{transition:none}
@media(min-width:1300px){.shell{max-width:1020px}.scene{height:370px}.intro{padding-top:36px}}
@media(max-width:640px){.shell{padding:0 20px}.masthead{height:75px}.brand{font-size:22px}.brand-icon{width:33px;height:33px}.header-actions{gap:12px}.guest{font-size:10px}.icon-button{height:34px;width:34px}.intro{padding:26px 0 22px}.eyebrow{font-size:9px;letter-spacing:1.8px}h1{font-size:35px;letter-spacing:-1.6px;margin:12px 0 10px}.intro p{font-size:12px}.game{border-radius:19px}.scene{height:280px}.mountains{width:160%;max-width:none;left:-30%;object-fit:cover}.scene-top,.scene-bottom{left:15px;right:15px}.scene-top{top:14px}.scene-label{font-size:8px;padding:7px 9px;letter-spacing:1px}.round-label{font-size:7px;letter-spacing:1px}.scene-bottom{font-size:6px;letter-spacing:1.1px;bottom:13px}.signal-display{top:49px}.signal{gap:10px;padding:8px 11px;border-width:2px}.lamp{width:21px;height:21px}.signal-caption{font-size:8px;letter-spacing:1.6px;margin-top:7px}.start-gate{left:24%;top:44%;width:92px;height:110px}.gate-banner{height:27px;width:85px;font-size:11px;padding:5px 9px;letter-spacing:2px}.gate-banner>span{font-size:12px}.start-gate:before,.gate-leg{top:24px;height:86px;width:5px}.gate-leg{left:80px}.gate-line{top:111px;left:-20px;width:138px}.skier-wrap{width:135px;height:154px;left:calc(31% - 42px);top:45%}.game-controls{padding:19px 18px 12px}.status-row{margin-bottom:14px}h2{font-size:16px}.status-row p{font-size:11px}.action{height:58px;font-size:19px}.control-hint{font-size:9px;min-height:33px}.text-button{font-size:10px}.stats{padding:21px 0 18px;gap:7px}.stat{padding-left:13px}.stat-label{font-size:9px;gap:4px}.stat-label svg{width:13px;height:13px}.stat strong{font-size:25px;margin-top:5px}.stat small{font-size:10px;margin-left:3px}.how-it-works{gap:12px;padding:20px 0;font-size:9px}.how-it-works b{font-size:8px;margin-right:3px}.how-it-works i{font-size:11px}footer{font-size:8px;flex-direction:column;gap:5px;padding-top:14px;padding-bottom:max(20px,env(safe-area-inset-bottom))}.record-pill{font-size:8px;padding:6px 8px}#result-value{font-size:84px}.result-unit{font-size:22px}.result-caption{font-size:13px}.result-eyebrow{font-size:9px}.game[data-state=early] #result-value{font-size:58px}.game[data-state=slow] #result-value,.game[data-state=paused] #result-value{font-size:54px}}
@media(max-width:365px){.shell{padding:0 13px}.guest{display:none}h1{font-size:31px}.how-it-works{gap:8px}.stat-label{font-size:8px}.scene{height:260px}.control-hint{gap:5px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.game[data-state=result] .skier-wrap{opacity:0}}

/* Realistic transparent racer: anchor the skis to the snow at every size. */
.skier-wrap{width:330px;height:226px;left:calc(35% - 113px);top:auto;bottom:18px;transform:none;transform-origin:50% 95%}
.skier{object-position:center bottom;filter:drop-shadow(0 5px 3px #29483b20)}
.snow-trail{left:8%;bottom:6%;width:47%}
@media(max-width:640px){.skier-wrap{width:260px;height:176px;left:calc(50% - 130px);bottom:10px}}
@media(max-width:365px){.skier-wrap{width:235px;height:156px;left:calc(50% - 117.5px);bottom:10px}}
