@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Noto+Sans+KR:wght@400;500;600;700;800;900&display=swap";:root{color:#173341;--ink:#173341;--orange:#ef795f;--glass:#f7fbf9e0;font-family:DM Sans,Noto Sans KR,sans-serif}*{box-sizing:border-box}html,body{width:100%;height:100%;margin:0;overflow:hidden}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible{outline-offset:4px;outline:3px solid #ef795f}button{color:inherit}button:disabled{opacity:.5}button,input{border:0}button{transition:background .15s,transform .15s}button:active{transform:translateY(1px)}[hidden]{display:none!important}#world,#scene,.vignette,#snow{width:100%;height:100%;position:absolute;inset:0}#scene{outline:none;display:block}.vignette{pointer-events:none;background:linear-gradient(90deg,#e2eef2f0 0%,#e2eef2d6 26%,#e2eef214 55%,#0000 80%),linear-gradient(#0000 80%,#f0f7f7b3);transition:background .5s}.playing .vignette{background:linear-gradient(#0000 72%,#0b222d40),linear-gradient(#eef7fa59,#0000 15%)}.topbar{z-index:2;align-items:center;gap:22px;display:flex;position:absolute;top:32px;left:42px;right:42px}.brand{color:var(--ink);align-items:center;gap:10px;text-decoration:none;display:flex}.brand svg{width:36px;height:36px}.brand>span:not(.edition){letter-spacing:3.8px;font-size:18px;font-weight:800;line-height:1.05}.brand small{letter-spacing:4.8px;margin-top:6px;font-size:9px;font-weight:500;display:block}.edition{letter-spacing:1.5px;color:#5c7580;border-left:1px solid #17334138;margin-left:8px;padding-left:20px;font-size:9px}.weather{letter-spacing:1px;align-items:center;gap:12px;margin-left:auto;font-size:10px;font-weight:600;display:flex}.weather>span:first-child{font-size:23px}.weather i{background:#17334150;width:1px;height:12px}.weather-location{color:#6a818a;margin-left:14px}.circle-btn{background:0 0;border:1px solid #17334133;border-radius:50%;width:32px;height:32px;font-weight:600}.welcome{width:380px;position:absolute;top:24%;left:8%}.intro-eyebrow{letter-spacing:2px;align-items:center;gap:9px;font-size:9px;font-weight:700;display:flex}.intro-eyebrow>span{background:var(--orange);width:22px;height:2px}h1{letter-spacing:-3.3px;margin:22px 0 18px;font-size:56px;font-weight:800;line-height:1.25}h1>span{color:var(--orange)}.intro-copy{color:#587381;margin:0 0 29px;font-size:13px;line-height:1.9}form{width:314px}form label{color:#526d78;margin-bottom:9px;font-size:10px;display:block}input{width:100%;height:46px;color:var(--ink);background:#ffffffad;border:1px solid #1e46551f;border-radius:4px;padding:0 14px;font-size:13px;box-shadow:0 3px 10px #27495704}.color-row{justify-content:space-between;align-items:center;margin:16px 0 19px;display:flex}.color-row>span{color:#536f7b;font-size:10px}#colors{gap:12px;display:flex}.swatch{background:var(--swatch);background-clip:padding-box;border:3px solid #0000;border-radius:50%;width:19px;height:19px;padding:0;box-shadow:0 0 0 1px #0000}.swatch.selected{box-shadow:0 0 0 1px var(--swatch)}.primary{background:var(--orange);color:#fff8f1;border-radius:5px;justify-content:space-between;align-items:center;width:100%;padding:16px 19px;font-size:12px;font-weight:700;display:flex;box-shadow:0 6px 20px #c95b391b}.primary:hover{background:#e96a50}.primary>span{font-size:22px;line-height:16px}.intro-note{letter-spacing:.4px;color:#66808a;align-items:center;gap:9px;margin-top:19px;font-size:9px;display:flex}.live-dot{background:#509c8b;border-radius:50%;width:5px;height:5px;display:inline-block;box-shadow:0 0 0 3px #62b39a12}.welcome-bottom{letter-spacing:1px;color:#73878f;justify-content:space-between;align-items:flex-end;font-size:9px;display:flex;position:absolute;bottom:30px;left:42px;right:42px}.welcome-bottom b{color:#325361;margin-left:17px;font-weight:500}.welcome-bottom p{text-align:center;letter-spacing:1.7px;margin:0;font-size:8px;line-height:1.9}.welcome-bottom small{letter-spacing:0;font-size:8px}.bottom-controls{letter-spacing:0;color:#546f7a;font-size:9px}.panel{background:var(--glass);-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);border:1px solid #ffffff9c;border-radius:12px;box-shadow:0 8px 35px #133b4a12}.route-panel{width:208px;padding:20px 16px 0;position:absolute;top:125px;left:32px}.panel-overline{letter-spacing:1.35px;color:#7d9197;font-size:8px}h2{letter-spacing:-.8px;font-size:19px;font-weight:700}.route-panel h2{justify-content:space-between;margin:9px 0 22px;display:flex}.route-panel h2>span{color:#7e999e;font-size:24px}.route-button{text-align:left;background:0 0;border:1px solid #0000;border-radius:7px;align-items:center;gap:10px;width:100%;margin-bottom:5px;padding:12px 10px;display:flex}.route-button.selected{background:#fff;border-color:#d6e5e8;box-shadow:0 3px 8px #29455b08}.route-dot{background:var(--route);width:7px;height:7px;box-shadow:0 0 0 3px color-mix(in srgb,var(--route),transparent 85%);border-radius:50%}.route-button strong{font-size:12px;display:block}.route-button small{color:#84989f;letter-spacing:.6px;margin-top:5px;font-size:7px;display:block}.route-button .chevron{color:#88a1aa;margin-left:auto;font-size:13px}.lift-button{background:#e6eff0;border-radius:6px;justify-content:space-between;align-items:center;gap:8px;width:100%;margin-top:14px;padding:12px 10px;font-size:10px;display:flex}.lift-button>span:first-child{color:#688491;font-size:18px}.key{border:1px solid #a0b6bd6b;border-bottom-width:2px;border-radius:4px;padding:3px 6px;font-size:9px;font-weight:500;line-height:1.1;display:inline-block}.route-foot{color:#81959c;border-top:1px solid #dce6e8;align-items:center;gap:6px;margin-top:17px;padding:14px 0;font-size:8px;display:flex}.route-foot>span:nth-child(2){white-space:nowrap;text-overflow:ellipsis;max-width:90px;overflow:hidden}.run-top{align-items:center;gap:23px;padding:13px 24px;display:flex;position:absolute;top:111px;left:50%;transform:translate(-50%)}.run-top>div{min-width:56px}.tiny{letter-spacing:1.5px;color:#74909b;font-size:8px;display:block}.run-top strong{font-variant-numeric:tabular-nums;margin-top:7px;font-size:23px;font-weight:500;display:block}.run-top strong small{color:#859da6;font-size:13px}.run-top i{background:#c1d4d947;width:1px;height:32px}.map-panel{width:190px;padding:15px 15px 12px;position:absolute;top:125px;right:32px}.map-heading{letter-spacing:1.5px;color:#6f8a95;justify-content:space-between;align-items:center;font-size:8px;display:flex}.map-heading button{background:0 0;font-size:20px;line-height:18px}#minimap{width:100%;height:180px;display:block}.map-legend{letter-spacing:.5px;color:#83969e;justify-content:space-between;font-size:6px;display:flex}.map-legend i{border-radius:50%;width:4px;height:4px;margin-right:3px;display:inline-block}.mountain-label{text-align:center;color:#204d60;pointer-events:none;text-shadow:0 1px 15px #fff;position:absolute;top:37%;left:50%;transform:translate(-50%)}.mountain-label>span{letter-spacing:4px;font-size:10px;font-weight:700}.mountain-label small{opacity:.65;margin-top:8px;font-size:10px;display:block}.speed-card{color:#fff;text-shadow:0 2px 10px #143b4f35;position:absolute;bottom:88px;left:38px}.speed-card>div:first-child{align-items:baseline;gap:8px;display:flex}.speed-card strong{letter-spacing:-3px;font-variant-numeric:tabular-nums;font-size:65px;font-weight:500;line-height:1}.speed-card>div>span{letter-spacing:2px;font-size:9px}.speed-track{background:#ffffff30;width:154px;height:2px;margin-top:12px}.speed-track i{background:#fff;width:0;height:2px;transition:width .2s;display:block}.speed-card p{letter-spacing:1px;color:#f2f7fa;font-size:8px}.speed-card b{color:#d3ecf4;margin:0 8px;font-size:12px}.toolbar{border-radius:9px;gap:0;padding:5px;display:flex;position:absolute;bottom:32px;right:32px}.toolbar button{background:0 0;border-radius:6px;align-items:center;gap:6px;padding:9px 11px;font-size:16px;display:flex}.toolbar button:hover{background:#ffffffc7}.toolbar button>span{letter-spacing:0;font-size:8px}.control-hint{color:#fff;opacity:.85;align-items:center;gap:6px;font-size:9px;display:flex;position:absolute;bottom:34px;left:34px}.control-hint .key{border-color:#ffffff61}.control-hint i{background:#ffffff57;width:1px;height:10px;margin:0 4px}.toast{color:#fff;opacity:0;pointer-events:none;white-space:nowrap;z-index:10;background:#173341e6;border-radius:100px;padding:11px 20px;font-size:11px;transition:opacity .2s,transform .2s;position:absolute;bottom:125px;left:50%;transform:translate(-50%,12px)}.toast.show{opacity:1;transform:translate(-50%)}.modal-wrap{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:15;background:#0e293b66;justify-content:center;align-items:center;padding:24px;display:flex;position:absolute;inset:0}.modal{background:#f5f8f6;border-radius:18px;width:100%;max-width:460px;max-height:95vh;padding:38px;position:relative;overflow-y:auto;box-shadow:0 25px 100px #0d283950}.close{color:#66808a;background:0 0;font-size:26px;position:absolute;top:16px;right:20px}.modal-eyebrow{letter-spacing:1.9px;color:#78929c;font-size:7px}.modal h2{letter-spacing:-1px;margin:16px 0 23px;font-size:28px;line-height:1.45}.help-grid{border-top:1px solid #dce7e6;border-bottom:1px solid #dce7e6;grid-template-columns:115px 1fr;align-items:center;row-gap:12px;padding:18px 0;font-size:10px;display:grid}.help-grid>span{letter-spacing:1px;font-weight:700}.help-grid p{color:#607e87;margin:0}.small-print{color:#78919a;margin:21px 0 24px;font-size:9px;line-height:1.9}.finish{text-align:center}.finish h2{margin:13px 0}.finish>p{color:#78919a;font-size:10px}.finish-icon{color:var(--orange);margin-top:27px;font-size:65px;line-height:1}.finish-stats{border-top:1px solid #dce7e6;border-bottom:1px solid #dce7e6;justify-content:space-between;margin:28px 0;padding:22px 0;display:flex}.finish-stats span{letter-spacing:1px;color:#78919a;font-size:7px;display:block}.finish-stats strong{margin-top:7px;font-size:23px;font-weight:500;display:block}.finish-stats small{font-size:8px}.new-best{color:#d57851!important;font-size:10px!important}.secondary{color:#617e88;background:0 0;width:100%;padding:17px 0 0;font-size:10px}.lift-overlay{text-align:center;min-width:300px;padding:24px 30px;position:absolute;bottom:100px;left:50%;transform:translate(-50%)}.lift-overlay h2{letter-spacing:-.3px;margin:10px 0 20px;font-size:16px}.lift-progress{background:#d8e5e8;height:3px}.lift-progress i{background:var(--orange);width:0;height:3px;display:block}.lift-overlay button{color:#68858f;background:0 0;padding:16px 0 0;font-size:10px}.mode-badge{letter-spacing:1px;opacity:.5;pointer-events:none;font-size:6px;position:absolute;bottom:7px;right:12px}.night{--glass:#152c3ee3;--ink:#e5eef0;color:#e5eef0}.night .playing .vignette{background:0 0}.night .route-button.selected{background:#345063;border-color:#67808c55}.night .lift-button{background:#294959}.night .modal{background:#1c394b}.night .toolbar button:hover{background:#344b5d}.night .mountain-label{color:#c6e2ee;text-shadow:0 1px 15px #000}.night .weather,.night .circle-btn{color:#d3e6ed}.night .edition{color:#a9c2cc}.night .route-foot{border-color:#71889144}.night .panel{border-color:#cedfe61f}.night .route-button small,.night .tiny,.night .map-heading,.night .panel-overline{color:#a2bac6}.night .speed-card{color:#e4f6ff}.night .help-grid{border-color:#71889144}.night .modal p{color:#a2bac6}@media (height<=760px) and (width>=701px){.welcome{top:20%}h1{margin-top:17px;font-size:48px}.intro-copy{margin-bottom:20px}.welcome-bottom{bottom:22px}.color-row{margin:12px 0}.intro-note{margin-top:13px}.route-panel,.map-panel{top:110px}}@media (width<=1000px){.edition,.weather-location{display:none}.welcome{left:7%}.run-top{gap:17px;padding:13px 18px}.run-top>div:last-child,.run-top>i:last-of-type{display:none}.map-panel{width:160px;right:22px}.route-panel{width:190px;left:22px}.toolbar button{padding:9px}.toolbar button>span{display:none}.control-hint{font-size:8px}}@media (width<=700px){.topbar{gap:12px;top:22px;left:22px;right:22px}.brand svg{width:28px}.brand>span:not(.edition){letter-spacing:2.5px;font-size:14px}.brand small{letter-spacing:3.6px;font-size:7px}.weather{gap:6px;font-size:8px}.weather span:nth-child(2){display:none}.weather>span:first-child{font-size:18px}.circle-btn{width:27px;height:27px;font-size:11px}.welcome{width:84%;top:auto;bottom:100px;left:8%}h1{letter-spacing:-2.6px;margin:16px 0;font-size:44px}.intro-eyebrow{letter-spacing:1.5px;font-size:8px}.intro-copy{margin-bottom:22px;font-size:12px}form{width:min(100%,330px)}.welcome-bottom{bottom:26px;left:8%;right:8%}.welcome-bottom>span{display:none}.welcome-bottom p{text-align:left;font-size:7px}.vignette{background:linear-gradient(#e2eef21a 10%,#e2eef2ed 52%,#e2eef2fa 100%)}.route-panel{width:140px;padding:12px 9px 0;top:93px;left:16px}.panel-overline{letter-spacing:.7px;font-size:6px}.route-panel h2{margin:6px 2px 12px;font-size:13px}.route-panel h2>span{font-size:17px}.route-button{gap:8px;margin-bottom:2px;padding:8px 7px}.route-button strong{font-size:10px}.route-button small{font-size:6px}.route-dot{width:5px;height:5px}.lift-button{margin-top:8px;padding:8px 7px;font-size:8px}.lift-button>span:first-child{font-size:14px}.route-foot{margin-top:11px;padding:11px 0;font-size:7px}.route-foot>span:nth-child(2){max-width:63px}.map-panel{width:130px;padding:10px;top:93px;right:16px}.map-heading{letter-spacing:.8px;font-size:6px}#minimap{height:143px}.map-legend{letter-spacing:0;font-size:5px}.run-top{gap:18px;padding:11px 18px;top:auto;bottom:166px;left:50%}.run-top>div{min-width:51px}.run-top strong{font-size:19px}.tiny{font-size:7px}.run-top strong small{font-size:10px}.run-top i{height:24px}.mountain-label{top:46%}.mountain-label>span{letter-spacing:2px;font-size:8px}.mountain-label small{font-size:8px}.speed-card{bottom:170px;left:21px}.speed-card strong{font-size:45px}.speed-card>div>span{letter-spacing:1px;font-size:7px}.speed-track{width:76px;margin-top:8px}.speed-card p{letter-spacing:0;font-size:6px}.speed-card p b,.speed-card p span:last-child{display:none}.speed-card p{font-size:0}.speed-card p span:first-child{font-size:8px}.toolbar{border-radius:7px;flex-direction:column;padding:3px;bottom:245px;right:16px}.toolbar button{padding:7px 8px;font-size:14px}.control-hint{display:none}.touch-controls{pointer-events:none;justify-content:space-between;display:flex;position:absolute;bottom:45px;left:20px;right:20px}.touch-controls>div{pointer-events:auto;gap:10px;display:flex}.touch-controls button{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);-webkit-user-select:none;user-select:none;touch-action:none;background:#f6ffff7a;border:1px solid #ffffff70;border-radius:50%;width:57px;height:57px;font-size:24px}.touch-controls .touch-brake{font-size:9px;font-weight:700}.touch-controls .touch-go{background:var(--orange);color:#fff;border:0}.touch-controls button.pressed{color:#fff;background:#173341}.modal-wrap{padding:19px}.modal{padding:30px 25px}.modal h2{font-size:25px}.toast{padding:10px 16px;font-size:9px;bottom:128px}.mode-badge{bottom:10px}.lift-overlay{min-width:290px;bottom:145px}.playing .vignette{background:linear-gradient(#0000 65%,#0b222d4d)}.night .touch-controls button{color:#fff;background:#24495baa}.night .touch-controls .touch-go{background:var(--orange)}}@media (prefers-reduced-motion:reduce){*{transition:none!important}}.push-button{color:#fff;background:#f17b60;border-radius:24px;padding:13px 24px;font-size:11px;position:absolute;bottom:130px;left:50%;transform:translate(-50%);box-shadow:0 7px 30px #112d4630}.push-button span{margin-left:16px}@media (width<=700px){.push-button{padding:11px 18px;font-size:10px;bottom:250px}}#peerLabels{pointer-events:none;position:absolute;inset:0;overflow:hidden}.peer-label{text-overflow:ellipsis;white-space:nowrap;color:#fff;background:#153647d9;border:1px solid #ffffff60;border-radius:20px;max-width:160px;padding:5px 10px;font-size:10px;font-weight:600;position:absolute;top:0;left:0;overflow:hidden;box-shadow:0 3px 12px #17334120}.play-mode{background:#c7dce355;border-radius:7px;gap:6px;margin:0 0 13px;padding:4px;display:flex}.play-mode button{background:0 0;border-radius:5px;flex:1;padding:9px;font-size:11px}.play-mode .selected{background:#fff;box-shadow:0 2px 8px #17334115}.room-code-row{gap:6px;display:flex}.room-code-row input{text-transform:uppercase;letter-spacing:2px;height:38px;font-size:12px}.room-code-row button{background:#fff9;border-radius:4px;flex-shrink:0;padding:0 12px;font-size:9px}.room-privacy{color:#526d78;margin:8px 0 13px;font-size:9px;line-height:1.6}.social-panel{z-index:3;width:250px;padding:13px;position:absolute;top:485px;left:32px}.social-heading{align-items:center;gap:6px;font-size:10px;display:flex}.social-heading strong{font-weight:600}.social-heading button{background:#dfe9eb;border-radius:4px;margin-left:auto;padding:5px 7px;font-size:8px}.connection-dot{background:#8c9ea4;border-radius:50%;flex-shrink:0;width:6px;height:6px}.connection-dot[data-status=online]{background:#36a382;box-shadow:0 0 0 3px #36a38218}.connection-dot[data-status=reconnecting],.connection-dot[data-status=connecting]{background:#d49b3f}.room-meta{letter-spacing:1px;justify-content:space-between;align-items:center;margin-top:12px;font-size:8px;display:flex}.room-meta button{color:#497d8c;letter-spacing:0;background:0 0;font-size:8px}.social-panel #roomPopulation{color:#6b858f;margin:7px 0 10px;font-size:9px}#retryRoom{background:#f1ddc6;border-radius:4px;margin-bottom:9px;padding:7px 10px;font-size:9px}.chat-toggle{text-align:left;background:#e1edef;border-radius:5px;width:100%;padding:9px;font-size:10px}.chat-toggle #nearbyCount{background:#fff;border-radius:8px;margin-left:4px;padding:1px 5px;font-size:8px;display:inline-block}#chatUnread{color:#ca6a45;font-size:8px}.chat-notice{color:#6b858f;margin:9px 0;font-size:8px}.chat-log{overscroll-behavior:contain;min-height:45px;max-height:125px;overflow-y:auto}.chat-log:empty:after{content:"주변에 도착하면 가볍게 인사해 보세요.";color:#83979e;font-size:9px}.chat-message{overflow-wrap:anywhere;border-bottom:1px solid #8ba6af20;padding:5px 0;font-size:10px;line-height:1.5}.chat-message strong{color:#497580;margin-bottom:2px;font-size:9px;display:block}.chat-message>button{color:#84999e;background:0 0;margin-left:6px;padding:1px 3px;font-size:7px}.social-panel #chatForm{gap:5px;width:100%;margin-top:9px;display:flex}.social-panel #chatInput{min-width:0;height:34px;padding:0 9px;font-size:10px}.social-panel #chatSend{background:var(--orange);color:#fff;border-radius:5px;flex-shrink:0;width:32px}.chat-bottom{color:#81969d;justify-content:space-between;align-items:center;margin-top:7px;font-size:7px;display:flex}.chat-bottom button{color:#6b858f;background:0 0;font-size:8px}.visually-hidden{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px!important;height:1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.night .chat-toggle,.night .social-heading button{background:#294959}.night #nearbyCount{background:#183645}.night .social-panel input{color:#fff;background:#203f50}.night .social-panel p,.night .chat-notice{color:#a2bac6}.night .room-meta button,.night .chat-message strong{color:#a8cfda}.night .play-mode .selected{background:#315468}.night .room-privacy{color:#a2bac6}.welcome:has(#roomFields:not([hidden])){top:16%}.welcome:has(#roomFields:not([hidden])) h1{margin:14px 0;font-size:46px}.welcome:has(#roomFields:not([hidden])) .intro-copy{margin-bottom:14px}@media (width>=701px) and (height<=820px){.social-panel{width:220px;top:385px;left:auto;right:32px}.welcome:has(#roomFields:not([hidden])){top:14%}.welcome:has(#roomFields:not([hidden])) h1{font-size:38px}.welcome:has(#roomFields:not([hidden])) .intro-copy{margin-bottom:10px;font-size:11px}.welcome:has(#roomFields:not([hidden])) .intro-note{margin-top:8px}}@media (width<=1000px) and (width>=701px){.social-panel{width:220px;top:385px;left:auto;right:22px}}@media (width<=700px){.social-panel{width:205px;padding:10px;top:315px;left:16px}.social-heading{font-size:9px}.room-meta{margin-top:8px;font-size:7px}.social-panel #roomPopulation{margin:5px 0 8px;font-size:8px}.chat-toggle{padding:7px;font-size:9px}.chat-log{max-height:90px}.chat-message{font-size:9px}.chat-bottom>span{display:none}.welcome:has(#roomFields:not([hidden])){max-height:calc(100dvh - 145px);padding-bottom:8px;top:90px;bottom:auto;overflow-y:auto}.welcome:has(#roomFields:not([hidden])) h1{margin:12px 0;font-size:34px}.welcome:has(#roomFields:not([hidden])) .intro-copy{margin-bottom:13px;font-size:11px;line-height:1.7}.welcome:has(#roomFields:not([hidden])) .intro-note{margin-top:12px;font-size:8px}.room-privacy{font-size:8px}.play-mode{margin-bottom:10px}.toast{white-space:normal;text-align:center;max-width:92%;line-height:1.5}.intro-note{flex-wrap:wrap}}@media (width<=700px) and (height<=700px){.social-panel{width:220px;top:90px;left:50%;transform:translate(-50%)}.playing .route-panel{width:125px;top:235px}.playing .map-panel{display:none}.social-panel:has(#chatBody:not([hidden])){z-index:5}.welcome:not(:has(#roomFields:not([hidden]))){max-height:calc(100dvh - 140px);top:90px;bottom:auto;overflow-y:auto}.welcome h1{font-size:34px}}.social-panel{overscroll-behavior:contain;max-height:calc(100dvh - 575px);overflow-y:auto}@media (width>=701px) and (height<=820px){.social-panel{max-height:calc(100dvh - 475px)}}@media (width<=1000px) and (width>=701px){.social-panel{max-height:calc(100dvh - 475px)}}@media (width<=700px){.social-panel{max-height:calc(100dvh - 480px)}}@media (width<=700px) and (height<=700px){.social-panel{max-height:calc(100dvh - 235px)}}#scene{touch-action:none;cursor:grab}#scene.looking{cursor:grabbing}#scene:focus-visible{outline-offset:-3px;outline:2px solid #ef795f}button,a,input,select{-webkit-tap-highlight-color:transparent}select:focus-visible{outline:3px solid var(--orange);outline-offset:3px}.route-toggle{display:none}.room-availability{color:#587381;margin:-3px 0 13px;font-size:9px;line-height:1.5}.room-availability:empty{display:none}.control-hint{flex-wrap:wrap;row-gap:7px;max-width:calc(100% - 375px);font-size:9px}.toolbar button{justify-content:center;min-width:44px;min-height:44px}.circle-btn{min-width:44px;min-height:44px}.control-settings{margin-top:20px}.control-settings h3{margin:0 0 12px;font-size:13px}.control-settings label{justify-content:space-between;align-items:center;gap:15px;margin:8px 0;font-size:11px;display:flex}.control-settings select{max-width:65%;min-height:44px;font:inherit;color:var(--ink);background:#fff9;border:1px solid #90a8b355;border-radius:6px;padding:8px}.night .control-settings select{background:#294959}.night .room-availability{color:#a2bac6}.pause-overlay{z-index:8;flex-direction:column;align-items:center;gap:12px;min-width:230px;padding:23px 30px;display:flex;position:absolute;top:49%;left:50%;transform:translate(-50%,-50%)}.pause-overlay>span{color:#6a8791;font-size:11px}.pause-overlay button{background:var(--orange);color:#fff;border-radius:25px;min-height:48px;padding:13px 28px;font-size:13px}.pause-overlay small{color:#6a8791;font-size:9px}.touch-controls{display:none}.touch-controls .touch-caption{letter-spacing:.2px;color:#fff;text-shadow:0 1px 4px #102b3a;white-space:nowrap;pointer-events:none;font-size:10px;line-height:16px}.touch-controls button{touch-action:none;-webkit-user-select:none;user-select:none}.controls-inactive .touch-controls{display:none!important}.compact-ui .touch-controls{left:max(18px,env(safe-area-inset-left));right:max(18px,env(safe-area-inset-right));bottom:max(20px,env(safe-area-inset-bottom));pointer-events:none;z-index:22;justify-content:space-between;align-items:flex-end;gap:30px;display:flex;position:absolute}.touch-controls .steering-zone{pointer-events:auto;flex-direction:column;align-items:center;gap:8px;display:flex}.touch-controls .action-zone{pointer-events:auto;flex-direction:column;align-items:center;gap:10px;display:flex}.joystick{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);touch-action:none;-webkit-user-select:none;user-select:none;background:#e7f5fa35;border:1px solid #ffffffb0;border-radius:50%;width:136px;height:136px;position:relative;box-shadow:inset 0 0 0 12px #ffffff08,0 4px 20px #17334118}.joystick.active{background:#e7f5fa50;border-color:#fff}.stick-thumb{pointer-events:none;background:#eef9fcbb;border:2px solid #fff;border-radius:50%;width:54px;height:54px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 3px 14px #12314333}.joystick.active .stick-thumb{background:#ef795fe6}.stick-direction{color:#ffffffba;pointer-events:none;font-size:19px;line-height:20px;position:absolute}.stick-direction.up{top:8px;left:calc(50% - 6px)}.stick-direction.down{bottom:8px;left:calc(50% - 6px)}.stick-direction.left{top:calc(50% - 10px);left:12px}.stick-direction.right{top:calc(50% - 10px);right:12px}.touch-controls .action-zone button{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#173341;background:#e6f3f5b8;border:1px solid #fff9;border-radius:18px;flex-direction:column;justify-content:center;align-items:center;gap:3px;width:78px;height:60px;min-height:60px;font-size:11px;font-weight:600;display:flex;box-shadow:0 4px 15px #0d293520}.touch-controls .action-zone button>span{font-size:19px}.touch-controls .action-zone .touch-brake{color:#fff;background:#183d4cdb;height:76px}.touch-controls button.pressed,.touch-controls .action-zone button.pressed{color:#fff;background:#ef795f;border-color:#fff}.touch-controls .direction-buttons{grid-template-rows:repeat(2,52px);grid-template-columns:repeat(3,52px);gap:5px;display:none}.touch-controls .direction-buttons button{color:#173341;background:#e6f3f5b8;border:1px solid #fff9;border-radius:16px;width:52px;height:52px;font-size:24px}.touch-controls .direction-buttons .pressed{color:#fff;background:#ef795f}.digital-up{grid-column:2}.digital-left{grid-area:2/1}.digital-right{grid-area:2/3}body[data-control-style=buttons] .joystick{display:none}body[data-control-style=buttons] .direction-buttons{display:grid}body[data-control-hand=right] .touch-controls{flex-direction:row-reverse}.compact-ui .topbar{top:max(15px,env(safe-area-inset-top));left:max(16px,env(safe-area-inset-left));right:max(16px,env(safe-area-inset-right));gap:10px}.compact-ui .edition,.compact-ui .weather-location,.compact-ui .weather span:nth-child(2){display:none}.compact-ui .brand svg{width:27px}.compact-ui .brand>span:not(.edition){letter-spacing:2.5px;font-size:13px}.compact-ui .brand small{letter-spacing:3.5px;font-size:7px}.compact-ui .weather{gap:6px;font-size:9px}.compact-ui .circle-btn{font-size:14px}.compact-ui .route-toggle{z-index:7;min-width:74px;min-height:44px;padding:8px 14px;font-size:12px;display:block;position:absolute;top:77px;left:16px}.compact-ui #routePanel:not(.open){display:none}.compact-ui #routePanel.open{z-index:6;width:210px;max-height:calc(100dvh - 340px);padding:16px;display:block;top:132px;left:16px;overflow-y:auto}.compact-ui .route-button{min-height:48px;padding:10px}.compact-ui .route-button strong{font-size:12px}.compact-ui .route-button small{font-size:8px}.compact-ui .route-panel h2{font-size:17px}.compact-ui .panel-overline{font-size:8px}.compact-ui .lift-button{min-height:48px;font-size:11px}.compact-ui .route-foot{font-size:9px}.compact-ui .route-foot>span:nth-child(2){max-width:100px}.compact-ui .toolbar{z-index:5;flex-direction:row;padding:0;top:77px;bottom:auto;right:16px}.compact-ui .toolbar button{width:44px;height:44px;padding:8px;font-size:18px}.compact-ui .toolbar button>span,.compact-ui #dayBtn{display:none}.compact-ui .run-top{z-index:2;gap:22px;padding:10px 18px;top:135px;bottom:auto;left:50%}.compact-ui .run-top>div{min-width:58px}.compact-ui .run-top>div:last-child,.compact-ui .run-top>i:last-of-type{display:none}.compact-ui .run-top strong{margin-top:5px;font-size:20px}.compact-ui .tiny{font-size:8px}.compact-ui .run-top i{height:27px}.compact-ui .map-panel{z-index:6;width:180px;padding:14px;display:block;top:132px;right:16px}.compact-ui #minimap{height:175px}.compact-ui .map-heading{font-size:8px}.compact-ui .map-heading button{min-width:44px;min-height:36px}.compact-ui .map-legend{font-size:7px}.compact-ui .mountain-label>span{font-size:9px}.compact-ui .mountain-label small{max-width:260px;font-size:10px;line-height:1.6}.compact-ui .speed-card{bottom:220px;left:20px}.compact-ui .speed-card strong{letter-spacing:-2px;font-size:42px}.compact-ui .speed-track{width:74px;margin-top:7px}.compact-ui .speed-card p{font-size:0}.compact-ui .speed-card p span:first-child{font-size:9px}.compact-ui .speed-card p b,.compact-ui .speed-card p span:last-child{display:none}.compact-ui .speed-card>div>span{letter-spacing:1px;font-size:8px}.compact-ui .control-hint{display:none}.compact-ui .push-button{z-index:5;min-height:48px;padding:13px 20px;font-size:11px;bottom:230px}.compact-ui .toast{white-space:normal;text-align:center;max-width:90%;padding:10px 16px;font-size:11px;line-height:1.5;bottom:210px}.compact-ui .social-panel{z-index:5;width:220px;max-height:calc(100dvh - 450px);top:208px;left:16px;right:auto;transform:none}.compact-ui .social-panel:has(#chatBody:not([hidden])){z-index:8;max-height:calc(100dvh - 235px)}.compact-ui .chat-toggle,.compact-ui .social-heading button,.compact-ui #copyRoom,.compact-ui .chat-bottom button{min-height:40px}.compact-ui .social-heading{font-size:10px}.compact-ui .chat-log{max-height:110px}.compact-ui #chatInput{height:44px;font-size:16px}.compact-ui #chatSend{min-width:44px}.compact-ui .room-meta{font-size:9px}@media (width<=390px){.compact-ui .touch-controls{gap:12px;left:14px;right:14px}.joystick{width:126px;height:126px}.touch-controls .direction-buttons{grid-template-rows:repeat(2,48px);grid-template-columns:repeat(3,48px);gap:4px}.touch-controls .direction-buttons button{width:48px;height:48px}.compact-ui .toolbar button{width:42px;min-width:42px}.compact-ui #soundBtn{width:44px;min-width:44px}}@media (height<=550px) and (orientation:landscape){.compact-ui .topbar{top:8px}.compact-ui .brand>span:not(.edition){font-size:11px}.compact-ui .brand small{display:none}.compact-ui .route-toggle,.compact-ui .toolbar{top:60px}.compact-ui .run-top{gap:16px;padding:7px 14px;top:10px}.compact-ui .run-top strong{font-size:17px}.compact-ui .run-top .tiny{font-size:7px}.compact-ui .run-top i{height:24px}.compact-ui .mountain-label{top:32%}.compact-ui .touch-controls{bottom:max(12px,env(safe-area-inset-bottom))}.compact-ui .joystick{width:112px;height:112px}.compact-ui .stick-thumb{width:45px;height:45px}.compact-ui .action-zone{flex-direction:row;align-items:flex-end;gap:7px}.compact-ui .action-zone .touch-caption{display:none}.compact-ui .action-zone button{width:64px;height:56px;min-height:56px}.compact-ui .action-zone .touch-brake{height:68px}.compact-ui .speed-card{bottom:22px;left:50%;transform:translate(-50%)}.compact-ui .speed-card strong{font-size:34px}.compact-ui .speed-card p,.compact-ui .speed-track{display:none}.compact-ui .push-button{bottom:97px}.compact-ui .toast{bottom:100px}.compact-ui .map-panel,.compact-ui #routePanel.open{max-height:calc(100dvh - 130px);top:110px}.compact-ui .social-panel{max-height:calc(100dvh - 90px);top:65px;left:100px}.compact-ui .social-panel:has(#chatBody:not([hidden])){max-height:calc(100dvh - 90px)}.compact-ui .welcome,.compact-ui .welcome:has(#roomFields:not([hidden])),.compact-ui .welcome:not(:has(#roomFields:not([hidden]))){width:380px;max-height:calc(100dvh - 85px);padding-bottom:15px;top:65px;bottom:auto;left:7%;overflow-y:auto}.compact-ui .welcome h1{margin:8px 0;font-size:28px}.compact-ui .intro-copy{margin-bottom:12px;font-size:11px}.compact-ui .welcome-bottom{display:none}.compact-ui .vignette{background:linear-gradient(90deg,#e2eef2f5,#e2eef2b0 45%,#0000)}.compact-ui.playing .vignette{background:linear-gradient(#0000 65%,#0b222d44)}}.settings-extras{gap:8px;margin-bottom:16px;display:flex}.settings-extras button{color:#173341;background:#dde9ec;border-radius:7px;flex:1;min-height:44px;font-size:11px}.night .settings-extras button{color:#e5eef0;background:#294959}.compact-ui .speed-card{text-shadow:none;background:#173341aa;border:1px solid #ffffff40;border-radius:12px;padding:10px 12px}.compact-ui .speed-card p{margin:6px 0 0}.control-hint{background:#173341aa;border-radius:8px;padding:9px 12px}@media (height<=550px) and (orientation:landscape){.compact-ui .mountain-label{top:32%}.compact-ui .speed-card{padding:7px 12px}}.exit-button{color:#173341;background:#f5faf7e8;border:1px solid #17334155;border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;gap:7px;min-height:44px;padding:9px 15px;font-size:12px;font-weight:700;display:flex;box-shadow:0 3px 15px #17334112}.exit-button:hover{background:#fff}.exit-button>span{font-size:19px}.exit-link{text-underline-offset:4px;min-height:44px;padding:13px 0 0;text-decoration:underline}.pause-overlay .pause-exit{color:var(--ink);background:0 0;border:1px solid #71889166;border-radius:7px;min-height:44px;padding:10px 15px;font-size:11px}.exit-modal-wrap{z-index:30}.exit-modal{max-width:440px}.exit-modal h2{margin:15px 0;font-size:26px}.exit-modal p{color:#607e87;word-break:keep-all;font-size:13px;line-height:1.9}.exit-actions{gap:10px;margin-top:25px;display:flex}.exit-actions button{flex:1;justify-content:center;min-height:48px;font-size:12px}.exit-actions .secondary{color:var(--ink);border:1px solid #8ba6af88;border-radius:5px;padding:13px 10px;font-weight:700}.exit-actions .primary{gap:20px}.night .exit-button{color:#e5eef0;background:#24495b;border-color:#9bb7c178}.night .exit-button:hover{background:#31566a}.compact-ui.playing .weather{display:none}.compact-ui.playing .exit-button{margin-left:auto;padding:9px 12px}.compact-ui.playing .circle-btn{flex-shrink:0}@media (width<=390px){.exit-modal{padding:28px 20px}.exit-modal h2{font-size:22px}.exit-modal p{font-size:12px}.exit-actions{gap:8px}.exit-actions .primary{gap:12px}}.equipment-picker{gap:8px;margin:0 0 14px;display:flex}.equipment-picker button{background:#f5faf9ac;border:1px solid #64818e50;border-radius:7px;flex:1;min-height:44px;font-size:12px;font-weight:700}.equipment-picker button.selected{color:#fff;background:#173d4c;border-color:#173d4c}.equipment-setting{justify-content:space-between;align-items:center;gap:8px;margin:12px 0;font-size:10px;display:flex}.equipment-setting select{color:#173341;background:#e2ecef;border:1px solid #aac0c9;border-radius:6px;max-width:140px;padding:9px}.route-instruction{color:#617f8b;font-size:10px;line-height:1.7}.direction-buttons .digital-down{grid-area:2/2}.touch-controls .touch-caption{font-size:9px}.summit-panel{z-index:8;width:min(390px,100vw - 32px);max-height:calc(100dvh - 140px);padding:26px;position:absolute;top:50%;left:50%;overflow:auto;transform:translate(-50%,-50%)}.summit-panel h2{font-size:23px}.summit-panel p,.lift-overlay p{font-size:12px;line-height:1.6}.summit-panel .secondary{width:100%;min-height:44px;margin-top:12px}.lift-overlay{z-index:8;width:min(370px,100vw - 32px);padding:22px}.lift-overlay button{min-height:44px}.lift-overlay h2{font-size:21px}body[data-mode=base] .run-top,body[data-mode=base] .speed-card,body[data-mode=base] .control-hint,body[data-mode=lift] .run-top,body[data-mode=lift] .speed-card,body[data-mode=lift] .control-hint,body[data-mode=summit] .run-top,body[data-mode=summit] .speed-card,body[data-mode=summit] .control-hint,body[data-mode=base] #recenterBtn,body[data-mode=base] #cameraBtn,body[data-mode=summit] #recenterBtn,body[data-mode=summit] #cameraBtn,body[data-mode=base] .route-panel,body[data-mode=base] #routeToggle,body[data-mode=lift] .route-panel,body[data-mode=lift] #routeToggle,body[data-mode=summit] .route-panel,body[data-mode=summit] #routeToggle{display:none}.welcome{max-height:calc(100dvh - 180px);padding-bottom:18px;top:17%;overflow-y:auto}.welcome h1{margin:15px 0;font-size:49px}.welcome .intro-copy{margin-bottom:18px}.night .equipment-picker button.selected{background:#ef795f}.compact-ui .welcome{max-height:none;top:106px;bottom:65px;overflow-y:auto}.compact-ui .welcome h1{font-size:37px}.compact-ui .lift-overlay{bottom:45px}.compact-ui .route-instruction{font-size:10px}.compact-ui .touch-caption{text-align:center;max-width:160px}.compact-ui .equipment-picker{margin-bottom:10px}@media (width>=901px) and (pointer:fine){.speed-card{bottom:100px;left:280px}.route-panel{max-height:calc(100dvh - 210px);overflow-y:auto}}.pause-overlay{z-index:24}body:has(#pauseOverlay:not([hidden])) .base-ui,body:has(#pauseOverlay:not([hidden])) .base-world-labels{opacity:.3}.zone-guide{gap:16px;margin:22px 0;display:grid}.zone-guide>div{align-items:center;gap:11px;display:flex}.zone-guide i{border-radius:50%;width:9px;height:9px;display:block}.zone-guide b{font-size:12px}.zone-guide small{color:#77909a;margin-top:5px;font-size:10px;display:block}.run-top strong{font-size:15px}.touch-jump,.touch-trick{color:#264c58;touch-action:none;-webkit-user-select:none;user-select:none;background:#fafdfcf2;border:1px solid #b6ced5;border-radius:16px;min-width:70px;min-height:48px;font:700 12px sans-serif}.touch-jump.pressed,.touch-trick.pressed{background:#d3e9e2;border-color:#69a493}.mountain-label{pointer-events:none}.action-zone{gap:6px}.base-ui .base-card,.base-ui .base-walk-pad{display:none!important}.base-ui .base-action-card{width:270px;bottom:100px;left:auto;right:28px;transform:none}.base-ui .base-status{display:none}.base-action-card[hidden]{display:none!important}.base-world-label{pointer-events:auto}.run-top{max-width:calc(100% - 660px)}@media (width<=900px),(pointer:coarse){.run-top{max-width:calc(100% - 32px)}.run-top strong{font-size:12px}.action-zone{flex-direction:column;align-items:center;gap:6px;display:flex}.action-zone>.touch-caption{display:none}.touch-jump,.touch-trick{border-radius:13px;min-width:64px;min-height:42px}.base-ui .base-action-card{width:calc(100% - 32px);max-width:350px;padding:10px 13px;bottom:230px;left:50%;right:auto;transform:translate(-50%)}.base-action-card .base-spot-title{font-size:13px}.base-action-card [data-base-hint]{display:none}.base-world-label{min-height:30px;padding:5px 9px;font-size:9px}.mountain-label{top:145px}.touch-controls{z-index:22}.lift-overlay{box-sizing:border-box;max-width:calc(100% - 32px)}.route-panel .zone-guide{gap:12px;margin:14px 0}}.compact-ui .run-top{white-space:nowrap;gap:12px;padding:9px 13px}.compact-ui .run-top>div:last-child,.compact-ui .run-top>i:last-of-type{display:block}.compact-ui .run-top strong{letter-spacing:.2px;font-size:12px}.compact-ui .touch-controls .action-zone button{border-radius:13px;width:66px;height:44px;min-height:44px}.compact-ui .action-zone{gap:7px}.compact-ui .base-ui .base-action-card{bottom:220px}.compact-ui .mountain-label{top:210px}.compact-ui .base-world-label{pointer-events:none}@media (height<=550px) and (orientation:landscape){.compact-ui .run-top{top:8px}.compact-ui .mountain-label{top:31%}.compact-ui .base-ui .base-action-card{width:260px;bottom:115px}.compact-ui .action-zone{flex-direction:row}}body.playing #routeToggle{z-index:7;min-width:74px;min-height:44px;padding:8px 14px;font-size:12px;display:block;position:absolute;top:100px;left:24px}#routePanel:not(.open){display:none}#routePanel.open{z-index:6;max-height:calc(100dvh - 250px);top:154px;overflow:auto}.run-top>div:last-child,.run-top>i:last-of-type{display:block}.run-top{white-space:nowrap;max-width:calc(100% - 230px)}.control-hint{font-size:9px;bottom:20px;left:28px;right:390px;transform:none}.zone-guide{gap:12px;margin:16px 0}.route-panel h2{font-size:19px}@media (width<=900px),(pointer:coarse){body.playing #routeToggle{top:77px;left:16px}.run-top{max-width:calc(100% - 32px)}#routePanel.open{max-height:calc(100dvh - 340px);top:132px}}#snow,.lift-overlay{pointer-events:none}.push-button{bottom:150px;left:28px;transform:none}.push-button:active{transform:translateY(1px)}.lift-overlay{width:280px;min-width:0;padding:16px;bottom:105px;left:auto;right:24px;transform:none}.lift-overlay h2{margin:7px 0 12px;font-size:16px}.lift-overlay p{margin:8px 0;font-size:11px}.compact-ui .push-button{max-width:180px;min-height:44px;padding:10px 14px;top:132px;bottom:auto;left:16px}.compact-ui .lift-overlay{width:min(280px,100% - 32px);padding:11px 14px;top:134px;bottom:auto;right:16px}.compact-ui .lift-overlay h2{margin:4px 0 8px;font-size:14px}.compact-ui .lift-overlay p{font-size:10px}.toast{top:165px;bottom:auto}.compact-ui .toast{max-width:calc(100% - 32px);top:184px;bottom:auto}.compact-ui .base-ui .base-action-card{padding:9px 12px;top:132px;bottom:auto}.compact-ui .base-care{margin-top:7px}.compact-ui .base-interact{min-height:40px;padding:10px 12px}body.playing:has(.base-ui:not([hidden]) .base-action-card:not([hidden])) .mountain-label{visibility:hidden}@media (height<=550px) and (orientation:landscape){.compact-ui .base-ui .base-action-card{width:240px;top:112px;left:auto;right:16px;transform:none}.compact-ui .toast{max-width:320px;top:112px}}body:has(.base-ui[data-activity=waxing]) .speed-card,body:has(.base-ui[data-activity=waxing]) .toast{display:none}@media (width<=900px),(pointer:coarse){body:has(.base-ui[data-activity=waxing]) .touch-controls{display:none}body:has(.base-ui[data-activity=waxing]) .base-ui .base-action-card{top:auto;bottom:max(18px,env(safe-area-inset-bottom));max-width:350px}}.compact-ui .push-button{display:none}.topbar .brand{margin-right:auto}.playing .speed-card{left:28px}.compact-ui.playing .speed-card{left:20px}.session-summary{color:#77909a;font-size:11px}.equipment-setting{margin:18px 0}.equipment-setting select{min-height:44px}.dev-panel{z-index:25;width:260px;padding:16px;font-size:12px;position:absolute;top:88px;left:24px}.dev-panel>div{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.dev-panel button{background:0 0;min-width:36px;min-height:36px;font-size:23px}.dev-panel label{gap:8px;display:grid}.dev-panel select{color:#173341;background:#edf4f5;border:1px solid #7a99a8;border-radius:6px;min-height:42px;padding:10px}.dev-panel p{color:#6a8791;font-size:10px}.night .dev-panel select{color:#fff;background:#24495b}.trick-feedback{z-index:3;pointer-events:none;text-align:center;color:#fff;text-shadow:0 2px 10px #173341,0 1px 3px #173341;position:absolute;top:108px;left:50%;transform:translate(-50%)}.trick-feedback strong{letter-spacing:.5px;font-size:21px;display:block}.trick-feedback span{color:#ffe0a7;margin-top:6px;font-size:14px;display:block}.compact-ui .trick-feedback{top:145px}.compact-ui .trick-feedback strong{font-size:16px}.compact-ui .trick-feedback span{font-size:11px}#snow{opacity:.7;pointer-events:none;background-image:radial-gradient(circle,#fff 1px,#0000 2px),radial-gradient(circle,#fff 1.5px,#0000 2.5px),radial-gradient(circle,#fffb 1px,#0000 1.7px);background-size:163px 191px,277px 263px,379px 317px;animation:13s linear infinite falling-snow;overflow:hidden}@keyframes falling-snow{to{background-position:100px 764px,-80px 789px,60px 634px}}@media (prefers-reduced-motion:reduce){#snow{animation-duration:36s}}@media (height<=550px) and (orientation:landscape){.compact-ui.playing .speed-card{left:50%}.trick-feedback,.compact-ui .trick-feedback{top:80px}.dev-panel{max-height:calc(100dvh - 75px);top:60px;overflow:auto}}.night:not(.playing) .vignette{background:linear-gradient(90deg,#10283ced 0%,#152d44cb 32%,#152d4450 65%,#0000),linear-gradient(#0000 55%,#10283cb0)}.night .welcome input{color:#f4fbff;background:#24475ae6;border-color:#9bb7c16b}.night .welcome input::placeholder{color:#aac5d0}.night .welcome .intro-copy,.night .welcome form label,.night .color-row>span,.night .intro-note,.night .welcome-bottom,.night .welcome-bottom b,.night .bottom-controls{color:#c3d7e1}.night .equipment-picker button{color:#edf7fb;background:#25495d}.night .play-mode button:not(.selected){color:#d7e6ec}.night .welcome .primary{color:#fff}.night .welcome input:focus{background:#294f65}@media (width<=900px),(pointer:coarse){.welcome-bottom{display:none}.compact-ui .welcome{bottom:24px}.compact-ui .welcome form{width:100%;max-width:330px}.compact-ui .welcome{width:calc(100% - 54px)}.night:not(.playing) .vignette{background:linear-gradient(90deg,#10283ced,#152d44b0 75%,#152d4460)}}.playing .speed-card{text-shadow:none;background:#163b4bb8;border:1px solid #ffffff50;border-radius:12px;max-width:250px;padding:12px 16px}.playing .speed-card p{color:#d8e9ef}.playing .speed-card .speed-track{background:#b6d0da36}.control-hint{bottom:max(18px,env(safe-area-inset-bottom));z-index:4;color:#f4fbff;opacity:1;pointer-events:none;background:#163b4bd9;max-width:calc(100% - 430px);font-size:10px;line-height:1.9;left:28px;right:auto;display:flex!important}.control-hint b{color:#fff;margin-left:9px;font-size:9px}.control-hint b:first-child{margin-left:0}.touch-guide{display:none}.stance-setting{color:#526d78;justify-content:space-between;align-items:center;gap:10px;margin:0 0 12px;font-size:10px;display:flex}.stance-setting select{color:#173341;max-width:210px;min-height:36px;font:inherit;background:#eff6f7;border:1px solid #aac0c9;border-radius:6px;padding:7px}.night .stance-setting{color:#c3d7e1}.night .stance-setting select{color:#fff;background:#24475a}#snow{opacity:.65;background-image:radial-gradient(circle,#fff 1.5px,#0000 2.4px),radial-gradient(circle,#fff 1px,#0000 1.8px),radial-gradient(circle,#ffffffe6 1.2px,#0000 2.1px),radial-gradient(circle,#ffffffbd .8px,#0000 1.7px),radial-gradient(circle,#fff 1.5px,#0000 2.8px);background-size:79px 101px,119px 137px,173px 163px,67px 89px,227px 209px;animation:17s linear infinite resort-snowfall}.playing #snow{opacity:.48}@keyframes resort-snowfall{to{background-position:90px 808px,-80px 822px,80px 815px,-40px 801px,100px 836px}}@media (prefers-reduced-motion:reduce){#snow{opacity:.35;animation-duration:55s}}@media (width<=900px),(pointer:coarse){.compact-ui .control-hint{left:12px;right:12px;bottom:max(6px,env(safe-area-inset-bottom));text-align:center;background:#163b4bd9;justify-content:center;max-width:none;padding:5px 8px;font-size:9px}.desktop-guide{display:none}.touch-guide{display:inline}.compact-ui .touch-controls{bottom:max(46px,calc(env(safe-area-inset-bottom) + 38px))}.compact-ui .speed-card{bottom:238px}.compact-ui .vignette{background:linear-gradient(90deg,#e2eef2ed,#e2eef2a8 54%,#e2eef225)}.night:not(.playing) .vignette{background:linear-gradient(90deg,#10283ced,#152d4490 65%,#152d4430)}.compact-ui.playing .vignette{background:linear-gradient(#0000 70%,#0b222d44)}.compact-ui .welcome{width:calc(100% - 48px);left:24px}.compact-ui .welcome form{max-width:300px}}@media (height<=550px) and (orientation:landscape){.compact-ui .control-hint{font-size:8px;left:26%;right:26%}.compact-ui .touch-controls{bottom:18px}.compact-ui.playing .speed-card{bottom:54px}}@media (height<=700px) and (width>=901px){.welcome{width:350px;max-height:calc(100dvh - 128px);top:86px}.welcome h1{margin:11px 0;font-size:40px}.welcome .intro-copy{margin-bottom:12px;font-size:11px;line-height:1.6}.welcome input{height:39px}.welcome .color-row{margin:11px 0}.welcome .equipment-picker{margin-bottom:8px}.welcome .equipment-picker button{min-height:38px}.welcome .stance-setting{margin-bottom:7px}.welcome .stance-setting select{min-height:32px}.welcome .primary{padding:13px 17px}.welcome .intro-note{margin-top:11px}.welcome-bottom{bottom:18px}}.welcome{scrollbar-width:none}.welcome::-webkit-scrollbar{display:none}@media (height<=550px) and (orientation:landscape){.compact-ui .map-panel{width:min(180px,100vw - 320px);left:50%;right:auto;overflow:auto;transform:translate(-50%)}}.base-ui[hidden],.base-modal-wrap[hidden],.base-mode .route-panel,.base-mode .route-toggle,.base-mode .run-top,.base-mode .map-panel,.base-mode .speed-card,.base-mode .mountain-label,.base-mode .control-hint,.base-mode #pushBtn,.base-mode #touchControls{display:none!important}.base-mode .toolbar{bottom:24px;left:auto;right:28px;transform:none}.base-ui{pointer-events:none;z-index:16;color:#203e49;position:absolute;inset:0}.base-ui button{font:inherit;cursor:pointer;min-height:44px}.base-ui button:focus-visible,.base-menu button:focus-visible{outline-offset:3px;outline:3px solid #ee795f}.base-card,.base-action-card{pointer-events:auto;box-sizing:border-box;position:absolute}.base-card{background:#f7fbfaf2;width:270px;padding:22px;top:100px;left:28px}.base-overline{letter-spacing:1.6px;color:#67828b;font-size:10px;font-weight:800}.base-overline>span{letter-spacing:.1px;color:#b25a42;margin-top:7px;display:block}.base-card h2{letter-spacing:-1px;margin:12px 0;font-size:21px}.base-guide{color:#637a83;margin:0 0 14px;font-size:11px;line-height:1.7}.base-destinations{grid-template-columns:1fr 1fr;gap:7px;display:grid}.base-destinations button{color:#385a63;background:#f4f8f7;border:1px solid #d6e2e3;border-radius:9px;padding:10px 4px;font-size:11px;line-height:1.3}.base-destinations button span{color:#bc6f58;margin-bottom:6px;font-size:19px;display:block}.base-destinations button[aria-current=true]{color:#1f5b50;background:#e1eeea;border-color:#6d9e96}.base-footer{gap:6px;margin-top:13px;display:flex}.base-footer button{color:#536e75;background:0 0;border:0;padding:0 7px;font-size:11px}.base-footer button:first-child{text-align:left;flex:1}.base-action-card{background:#f7fbfaf5;width:340px;padding:17px 20px;bottom:88px;left:50%;transform:translate(-50%)}.base-spot-title{font-size:17px;font-weight:800}.base-action-card p{color:#607b83;margin:6px 0 10px;font-size:11px;line-height:1.6}.base-action-card .primary{width:100%;min-height:44px;padding:11px 14px;font-size:12px}.base-action-card button:disabled{opacity:.5;cursor:default}.base-held{grid-template-columns:1fr auto;align-items:center;gap:6px;margin-top:12px;display:grid}.base-held[hidden]{display:none}.base-held span{grid-column:1/-1;font-size:12px;font-weight:700}.base-held button,.base-action-card>button[data-base-stand]{color:#2f5b57;background:#e6efed;border:1px solid #c6dcd8;border-radius:7px;padding:8px 10px;font-size:12px}.base-action-card>button[data-base-stand]{width:100%;margin-top:7px}.base-action-card .base-status{color:#687d82;min-height:16px;margin-bottom:0;font-size:10px}.base-walk-pad{display:none}.base-modal-wrap{z-index:100;box-sizing:border-box;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#142b338a;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.base-menu{color:#27444c;box-sizing:border-box;background:#f5f6ed;width:420px;max-width:100%;max-height:calc(100dvh - 40px);padding:34px;position:relative;overflow:auto}.base-menu-close{color:#5e777b;cursor:pointer;background:0 0;border:0;width:44px;height:44px;font-size:25px;position:absolute;top:10px;right:12px}.base-menu h2{letter-spacing:-1px;margin:17px 0;font-size:24px}.base-menu p{color:#6b7e7d;font-size:12px;line-height:1.7}.base-menu-item{text-align:left;color:#334e50;cursor:pointer;width:100%;font:inherit;background:#fffdf4;border:1px solid #e3dfca;border-radius:12px;align-items:center;gap:12px;min-height:80px;margin:12px 0;padding:17px 13px;display:flex}.base-menu-icon{color:#b97b59;font-size:30px}.base-menu-item strong{font-size:15px;display:block}.base-menu-item small{color:#7c8981;margin-top:6px;font-size:10px;display:block}.base-menu-item b{color:#bb684f;margin-left:auto;font-size:10px}.base-menu-note{margin-top:20px!important;font-size:10px!important}.night .base-card,.night .base-action-card{background:#e7f0ecf5}@media (width<=900px),(pointer:coarse){.base-mode .toolbar{display:none}.base-card{width:auto;padding:13px 15px;top:80px;left:14px;right:14px}.base-card h2{margin:6px 0;font-size:17px}.base-overline{font-size:9px}.base-overline>span{margin:0 0 0 8px;font-size:9px;display:inline}.base-guide{display:none}.base-destinations{grid-template-columns:repeat(6,1fr);gap:5px;margin-top:9px}.base-destinations button{min-height:48px;padding:6px 2px;font-size:9px}.base-destinations button span{margin-bottom:3px;font-size:16px}.base-footer{height:29px;margin-top:2px}.base-footer button{min-height:32px;font-size:10px}.base-action-card{bottom:calc(83px + env(safe-area-inset-bottom));width:min(360px,100% - 28px);padding:13px 15px}.base-action-card p{margin:4px 0 6px}.base-action-card .base-status{font-size:9px;line-height:1.4}.base-walk-pad{pointer-events:auto;bottom:calc(15px + env(safe-area-inset-bottom));gap:7px;display:flex;position:absolute;left:50%;transform:translate(-50%)}.base-walk-pad button{color:#274c58;touch-action:none;-webkit-user-select:none;user-select:none;background:#f8fdfcf0;border:1px solid #b6ced5;border-radius:14px;width:49px;min-height:49px;font-size:22px}.base-walk-pad button[aria-pressed=true]{background:#d3e9e2;border-color:#69a493}}@media (width<=380px){.base-card{top:72px}.base-destinations button{font-size:8px}.base-card h2{font-size:15px}.base-action-card{padding:11px 13px;bottom:76px}.base-menu{padding:27px 20px}.base-held{margin-top:7px}.base-walk-pad{bottom:12px}}@media (height<=630px) and (width<=900px){.base-card{padding:9px 12px;top:68px}.base-card h2,.base-overline{display:none}.base-action-card{bottom:70px}.base-action-card>p[data-base-hint]{display:none}.base-action-card .base-status{max-height:26px;overflow:auto}.base-walk-pad{bottom:10px}.base-walk-pad button{min-height:44px}}@media (prefers-reduced-motion:reduce){.base-ui *,.base-modal-wrap *{transition:none!important;animation:none!important}}.base-equipment{color:#637a83;flex-direction:column;gap:5px;margin-top:12px;font-size:10px;display:flex}.base-equipment select{font:inherit;color:#335761;background:#f7faf6;border:1px solid #cbdcd9;border-radius:7px;min-height:36px;padding:6px}.base-world-labels{pointer-events:none;z-index:12;position:absolute;inset:0}.base-world-labels[hidden]{display:none}.base-world-label{pointer-events:auto;color:#fff9e8;cursor:pointer;white-space:nowrap;background:#22454cdb;border:1px solid #fff9;border-radius:20px;min-height:36px;padding:7px 12px;font:600 11px sans-serif;transition:background .15s;position:absolute;top:0;left:0;box-shadow:0 3px 16px #16323e22}.base-world-label:focus-visible{outline-offset:3px;outline:3px solid #f8b78a}.base-world-label[hidden]{display:none}@media (width<=900px),(pointer:coarse){.base-equipment{flex-direction:row;justify-content:space-between;align-items:center;margin-top:7px}.base-equipment select{max-width:70%;min-height:32px}.base-world-label{min-height:40px;font-size:10px}.base-card{padding-bottom:7px}.base-footer{margin-top:0}}@media (height<=630px) and (width<=900px){.base-equipment{margin-top:5px}.base-equipment select{min-height:28px}.base-footer{height:28px}}@media (width>=901px) and (pointer:fine){.base-action-card{width:300px;bottom:88px;left:auto;right:28px;transform:none}}@media (width<=900px),(pointer:coarse){.base-ui[data-activity=sitting] .base-card h2,.base-ui[data-activity=drinking] .base-card h2,.base-ui[data-activity=eating] .base-card h2,.base-ui[data-activity=sitting] .base-overline,.base-ui[data-activity=drinking] .base-overline,.base-ui[data-activity=eating] .base-overline,.base-ui[data-activity=sitting] .base-equipment,.base-ui[data-activity=drinking] .base-equipment,.base-ui[data-activity=eating] .base-equipment,.base-ui[data-activity=sitting] .base-footer,.base-ui[data-activity=drinking] .base-footer,.base-ui[data-activity=eating] .base-footer{display:none}.base-ui[data-activity=sitting] .base-destinations,.base-ui[data-activity=drinking] .base-destinations,.base-ui[data-activity=eating] .base-destinations{margin-top:0}}.base-care{color:#2c5a50;background:#e4efea;border-radius:9px;gap:7px;margin-top:10px;padding:11px 12px;font-size:12px;line-height:1.4;display:grid}.base-care[hidden]{display:none}.base-care progress{accent-color:#d6795a;border:0;width:100%;height:9px}.base-care progress[hidden]{display:none}.base-care small{color:#647d73;font-size:10px}.base-ui[data-activity=waxing] .base-interact{background:#345c59}.base-ui[data-activity=waxing] .base-action-card{border-color:#7fac9e}.base-ui[data-activity=waxing] .base-spot-title:before{content:"✦ ";color:#cb745b}@media (width<=900px),(pointer:coarse){.base-care{margin-top:7px;padding:8px 10px;font-size:11px}.base-care small{font-size:9px}.base-ui[data-activity=waxing] .base-held{display:none}}
