html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#172f3e;color:#f4f5ef;font-family:system-ui,sans-serif}button,a{-webkit-tap-highlight-color:transparent}#mountain-world{display:block;width:100%;height:100%;touch-action:none}.mountain-top{position:fixed;top:0;left:0;right:0;padding:max(18px,env(safe-area-inset-top)) 24px 16px;display:flex;align-items:center;gap:25px;background:linear-gradient(#142b3ddb,transparent);pointer-events:none}.mountain-top>a{font-weight:950;font-size:22px;letter-spacing:-1px;margin-right:auto;color:#fff;text-decoration:none;pointer-events:auto}.mountain-top a span{color:#ffd592}.mountain-top small{display:block;font-size:12px;letter-spacing:1.2px;font-weight:650}.mountain-top a small{font-size:10px;letter-spacing:3px;margin-top:4px}.mountain-top b{font-size:26px}.mountain-top button{pointer-events:auto;width:44px;height:44px;border:1px solid #ffffff50;background:#173341b0;color:#fff;border-radius:50%;font-size:20px}.route-panel{position:fixed;left:24px;top:100px;width:240px;text-shadow:0 1px 5px #132c3a}.route-panel>span{font-size:12px;letter-spacing:2px;color:#f5d8a3}.route-panel>b{display:block;font-size:16px;margin:8px 0}.route-bar{height:3px;background:#ffffff30}.route-bar i{display:block;height:100%;background:#ffce83;width:0}.balance-label{display:flex;justify-content:space-between;margin:20px 0 8px;font-size:12px}.balance-track{position:relative;height:26px;border-bottom:3px solid #ffffff50;display:flex;justify-content:space-between;font-size:10px;letter-spacing:1px}.balance-track i{position:absolute;bottom:-6px;left:50%;width:9px;height:9px;background:#fff0b5;border-radius:50%;box-shadow:0 0 12px #fff}.balance-track span:last-child{color:#ffbf9c}#mountain-toast{position:fixed;left:50%;top:35%;transform:translateX(-50%);background:#132b3be0;padding:10px 16px;border:1px solid #ffe1a350;border-radius:12px;text-align:center;max-width:80%;pointer-events:none;opacity:0;transition:opacity .2s}#mountain-toast.show{opacity:1}.mountain-controls{position:fixed;bottom:max(22px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);display:flex;gap:12px}.mountain-controls button{touch-action:none;user-select:none;width:76px;height:72px;border:1px solid #dceae077;border-radius:22px;background:#142d40c9;color:#fff;font-size:34px;box-shadow:0 5px 20px #0b25343a}.mountain-controls .brake{font-size:18px;width:124px;background:#f8d69c;color:#293d40;font-weight:850}.brake small{display:block;font-size:11px;font-weight:500}.mountain-controls button.active{transform:translateY(3px);filter:brightness(1.3)}#mountain-overlay{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;padding:20px;background:#102a3b60;backdrop-filter:blur(5px);overflow:auto}.mountain-card{width:min(490px,100%);max-height:92dvh;overflow:auto;padding:30px;border:1px solid #b3c9c550;border-radius:24px;background:linear-gradient(145deg,#163546f5,#132532f5);box-shadow:0 25px 100px #071a4260}.mountain-card h1{font-size:clamp(30px,7vw,49px);line-height:1.04;margin:18px 0;letter-spacing:-2px}.mountain-card h1 em{font-style:normal;color:#ffd593}.mountain-card p{line-height:1.6;color:#d3e0df}.mountain-card ol{padding-left:20px;font-size:14px;line-height:1.6;color:#c2d5d7}.mountain-card li{padding:5px}.mountain-card .primary{background:#f5d098;color:#203644;width:100%;margin:16px 0 8px;border:0;border-radius:12px;padding:16px;font-weight:850;font-size:17px}.mountain-card button:disabled{opacity:.4}.mountain-card>small{display:block;font-size:12px;line-height:1.7;color:#b6c8cf}.mountain-card>a{display:block;margin-top:15px;color:#e8ddbf;font-size:14px}.mountain-card .eyebrow{font-size:11px;letter-spacing:2px;color:#a6d7d0}.mountain-card .board-link{color:#e7cc9d}.mountain-card .score-form{margin:15px 0}.mountain-card .score-form input{color:#172f3e;background:#fff}.mountain-card .score-form button{font-size:14px}.mountain-card .result-points{font-size:48px;color:#ffda9b;font-weight:900;margin:12px 0}.mountain-card .hut-options{display:flex;gap:12px}.mountain-card .hut-options button{flex:1}.mountain-controls[hidden],#mountain-overlay[hidden]{display:none!important}@media(max-width:600px){.mountain-top{padding-left:15px;padding-right:15px;gap:14px}.mountain-top>a{font-size:17px}.mountain-top b{font-size:22px}.mountain-top small{font-size:10px}.route-panel{left:16px;top:90px;width:190px}.mountain-card{padding:22px}.mountain-controls button{width:70px}.mountain-controls .brake{width:120px}.balance-label{margin-top:12px}}@media(max-height:560px){.route-panel{top:78px}.balance-label,.balance-track{display:none}.mountain-controls{bottom:12px}.mountain-controls button{height:54px}.mountain-card h1{font-size:30px}}

@media(max-width:420px){.mountain-top{gap:9px}.mountain-top button{width:34px;height:36px;flex-shrink:0}.mountain-top>a{font-size:15px}.mountain-top a small{letter-spacing:1.3px}.mountain-top b{font-size:20px}}

#water-mist{position:fixed;inset:0;pointer-events:none;opacity:0;background:radial-gradient(ellipse at 8% 30%,#e0ffffa0,transparent 28%),radial-gradient(ellipse at 91% 70%,#d9ffffb0,transparent 30%),radial-gradient(ellipse at 25% 95%,#bfefff90,transparent 38%);transition:opacity .12s;z-index:1}

.route-panel{pointer-events:none}.mountain-controls{width:min(380px,calc(100% - 24px));height:80px;pointer-events:none}.mountain-controls button{pointer-events:auto}.mountain-controls .mountain-jump{position:absolute;left:50%;transform:translateX(-50%);width:168px;height:78px;border-radius:40px;font-size:18px;font-weight:850;background:#f5d098;color:#203644}.mountain-controls .mountain-jump.active{transform:translate(-50%,3px)}.mountain-controls .brake{position:absolute;left:0;top:6px;width:66px;height:66px;font-size:14px;border-radius:50%;background:#142d40c9;color:white}.mountain-controls .brake small{font-size:9px}

#pep-status{font-size:14px;font-weight:750;color:#8fffe4;min-height:20px}
/* Keep checkpoint actions inside narrow phone cards. */
#mountain-overlay,.mountain-card,.mountain-card .hut-options,.mountain-card .hut-options button{box-sizing:border-box;min-width:0}
.mountain-card .hut-options button{width:auto;white-space:normal;overflow-wrap:anywhere}
@media(max-width:600px){.mountain-card .hut-options{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}.mountain-card .hut-options button{width:100%;margin:0;min-height:56px}.mountain-card .hut-options{margin:16px 0}}

/* Small peripheral feedback leaves the trail and horizon unobstructed. */
#mountain-toast{top:auto;bottom:calc(max(22px,env(safe-area-inset-bottom)) + 94px);width:max-content;max-width:calc(100% - 32px);box-sizing:border-box;padding:5px 10px;border:0;border-radius:8px;background:#102333b8;font-size:14px;line-height:1.35;text-shadow:0 1px 3px #000;pointer-events:none}
@media(max-height:560px){#mountain-toast{bottom:104px;font-size:13px;padding:4px 8px}}
