:root{--ink:#f4f7fb;--ink-dim:#f4f7fbad;--panel:#0a101a94;--panel-solid:#0a101adb;--line:#ffffff24;--accent:#ff7a3d;--easy:#2fb84f;--intermediate:#2f7bff;--advanced:#d8262b;--expert:#111;--lift:#4a5462;--font:"Segoe UI", system-ui, -apple-system, "Helvetica Neue", Arial, sans-serif}*{box-sizing:border-box}html,body{height:100%;color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased;-webkit-user-select:none;user-select:none;background:#9fb7cf;margin:0;overflow:hidden}#scene{width:100%;height:100%;display:block;position:fixed;inset:0}.hidden{display:none!important}kbd{min-width:1.7em;font:600 .8em/1.4 var(--font);text-align:center;background:#ffffff14;border:1px solid #ffffff59;border-bottom-width:2px;border-radius:5px;margin:0 .1em;padding:.1em .45em;display:inline-block}.btn{font:600 14px/1 var(--font);letter-spacing:.04em;color:#10161f;background:var(--ink);cursor:pointer;border:0;border-radius:999px;padding:12px 20px;transition:transform .12s,background .12s}.btn:hover{background:#fff;transform:translateY(-1px)}.btn.ghost{color:var(--ink);border:1px solid var(--line);background:0 0}.btn.ghost:hover{background:#ffffff14}.btn.small{padding:7px 12px;font-size:12px}#hud{pointer-events:none;text-shadow:0 1px 2px #00000040;position:fixed;inset:0}.hud-tl,.hud-tr,.hud-bl{background:var(--panel);-webkit-backdrop-filter:blur(8px);border:1px solid #ffffff14;border-radius:14px;padding:12px 16px}.hud-tl{max-width:46vw;position:absolute;top:18px;left:18px}.loc-name{letter-spacing:.01em;align-items:center;gap:10px;font-size:22px;font-weight:700;display:flex}.loc-sub{color:var(--ink-dim);letter-spacing:.04em;text-transform:uppercase;margin-top:4px;font-size:13px}.diff{flex:none;width:16px;height:16px;display:inline-block;box-shadow:0 0 0 2px #ffffffd9}.diff.easy{background:var(--easy);border-radius:50%}.diff.intermediate{background:var(--intermediate)}.diff.advanced{background:var(--advanced);transform:rotate(45deg)scale(.85)}.diff.expert{background:var(--expert);transform:rotate(45deg)scale(.85)}.diff.extreme{background:var(--expert);margin-right:8px;transform:rotate(45deg)scale(.85);box-shadow:0 0 0 2px #ffffffd9,9px -9px #111,9px -9px 0 2px #ffffffd9}.diff.hike{background:#c98a2b;border-radius:3px}.diff.lift{background:var(--lift);border-radius:3px}.hud-tr{text-align:right;min-width:140px;position:absolute;top:18px;right:18px}.score-label{letter-spacing:.16em;text-transform:uppercase;color:var(--ink-dim);font-size:12px}.score{font-variant-numeric:tabular-nums;font-size:38px;font-weight:800;line-height:1.05}.combo{color:var(--accent);min-height:1.2em;font-size:15px;font-weight:700}.hud-bl{position:absolute;bottom:18px;left:18px}.speed{font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-size:64px;font-weight:800;line-height:1}.speed small{color:var(--ink-dim);letter-spacing:.06em;margin-left:6px;font-size:16px;font-weight:600}.stats{gap:18px;margin-top:8px;font-size:13px;display:flex}.stats div{flex-direction:column;gap:2px;display:flex}.stats span{letter-spacing:.14em;text-transform:uppercase;color:var(--ink-dim);font-size:11px}.stats b{font-variant-numeric:tabular-nums;font-weight:700}#minimap{border-radius:50%;width:200px;height:200px;position:absolute;bottom:18px;right:18px;box-shadow:0 0 0 3px #fffc,0 6px 24px #0000004d}.trick{text-align:center;letter-spacing:.01em;background:var(--panel);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);opacity:0;text-shadow:0 2px 10px #00000059;white-space:nowrap;border-radius:16px;padding:12px 24px;font-size:30px;font-weight:800;transition:opacity .25s,transform .25s;position:absolute;top:24%;left:50%;transform:translate(-50%)}.trick.show{opacity:1;transform:translate(-50%,-8px)}.trick .pts{color:var(--accent);margin-top:4px;font-size:20px;display:block}.trick.bail{color:#ffd2c2}.prompt{background:var(--panel);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);opacity:0;border-radius:999px;padding:10px 18px;font-size:15px;font-weight:600;transition:opacity .2s;position:absolute;bottom:120px;left:50%;transform:translate(-50%)}.prompt.show{opacity:1}.toast{background:var(--panel);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);opacity:0;border-radius:999px;padding:8px 16px;font-size:14px;font-weight:600;transition:opacity .3s;position:absolute;top:16px;left:50%;transform:translate(-50%)}.toast.show{opacity:1}.hint{color:var(--ink);background:var(--panel);letter-spacing:.05em;border-radius:999px;padding:4px 12px;font-size:12px;position:absolute;bottom:14px;left:50%;transform:translate(-50%)}.overlay{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#080c1459;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.panel{background:var(--panel-solid);border:1px solid var(--line);border-radius:18px;width:min(720px,100vw - 32px);max-height:calc(100vh - 32px);padding:28px 30px;overflow:auto}.panel h2{margin:0 0 16px;font-size:26px}.keys{border-collapse:collapse;width:100%;font-size:14px}.keys td{border-bottom:1px solid var(--line);vertical-align:top;padding:7px 0}.keys td:first-child{white-space:nowrap;width:42%}.row{flex-wrap:wrap;gap:10px;margin-top:20px;display:flex}.title{-webkit-backdrop-filter:none;backdrop-filter:none;background:linear-gradient(90deg,#080e18c7 0%,#080e1859 52%,#080e1800 75%);justify-content:flex-start;align-items:flex-start;overflow-y:auto}.title-card{width:min(560px,100vw - 32px);margin:auto 0 auto clamp(16px,7vw,110px);padding:20px 0}.kicker{letter-spacing:.22em;text-transform:uppercase;color:var(--ink-dim);font-size:13px}.title h1{letter-spacing:-.03em;margin:10px 0 8px;font-size:clamp(48px,8vw,92px);font-weight:900;line-height:.9}.title h1.long{white-space:nowrap;font-size:clamp(40px,6.4vw,74px)}.title h1 span{color:var(--accent);letter-spacing:.02em;margin-top:6px;font-size:.62em;font-weight:300;display:block}.tag{color:var(--ink-dim);margin:0 0 26px;font-size:17px}.loading .bar{background:#ffffff26;border-radius:4px;height:4px;overflow:hidden}.loading .bar i{background:var(--accent);width:0;height:100%;transition:width .2s;display:block}#load-text{color:var(--ink-dim);margin-top:10px;font-size:13px}.resorts{gap:10px;margin:0 0 22px;display:flex}.low-mode{color:var(--ink-dim);flex-wrap:wrap;align-items:center;gap:6px 12px;margin:-10px 0 22px;font-size:12px;display:flex}.lost-text{color:var(--ink-dim);margin:0;font-size:15px;line-height:1.5}.resort{text-align:left;cursor:pointer;color:var(--ink);border:1px solid var(--line);font:inherit;background:#ffffff0d;border-radius:12px;flex:1;padding:10px 14px;transition:background .12s}.resort:hover{background:#ffffff1f}.resort.active{cursor:default;border-color:var(--accent);background:#ff7a3d29}.resort b{font-size:15px;display:block}.resort small{color:var(--ink-dim);margin-top:2px;font-size:12px;display:block}.drop-label{letter-spacing:.18em;text-transform:uppercase;color:var(--ink-dim);margin-bottom:10px;font-size:12px}.spawns{grid-template-columns:1fr 1fr;gap:10px;display:grid}.spawn{text-align:left;cursor:pointer;color:var(--ink);border:1px solid var(--line);font:inherit;background:#ffffff14;border-radius:14px;padding:14px 16px;transition:background .12s,transform .12s}.spawn:hover{background:#ffffff29;transform:translateY(-1px)}.spawn b{align-items:center;gap:8px;font-size:16px;display:flex}.spawn small{color:var(--ink-dim);margin-top:4px;font-size:12px;display:block}.controls-mini{color:var(--ink-dim);flex-wrap:wrap;gap:8px 16px;margin-top:26px;font-size:13px;display:flex}.credits{color:#f4f7fb80;margin-top:22px;font-size:11px;line-height:1.6}.map-panel{background:var(--panel-solid);border:1px solid var(--line);border-radius:18px;width:fit-content;max-width:calc(100vw - 32px);padding:20px}.map-head{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:12px;display:flex}.map-head h2{margin:0;font-size:22px}.map-head p{color:var(--ink-dim);margin:4px 0 0;font-size:13px}#bigmap{cursor:crosshair;object-fit:contain;border-radius:10px;width:100%;height:auto;max-height:calc(100vh - 210px);display:block}.legend{color:var(--ink-dim);flex-wrap:wrap;gap:16px;margin-top:12px;font-size:13px;display:flex}.legend span{align-items:center;gap:6px;display:flex}.legend .dot{border-radius:3px;width:12px;height:12px;display:inline-block}.legend .dot.easy{background:var(--easy);border-radius:50%}.legend .dot.intermediate{background:var(--intermediate)}.legend .dot.advanced{background:var(--advanced);transform:rotate(45deg);box-shadow:0 0 0 1px #fff}.legend .dot.expert{background:#111;transform:rotate(45deg);box-shadow:0 0 0 1px #fff}.legend .dot.extreme{background:#111;margin-right:6px;transform:rotate(45deg);box-shadow:0 0 0 1px #fff,6px -6px #111}.legend .line{width:18px;height:3px;display:inline-block}.legend .line.lift{background:var(--lift)}.legend .line.tow{background:repeating-linear-gradient(90deg, var(--lift) 0 5px, transparent 5px 8px)}.legend .dot.reservoir{background:repeating-linear-gradient(45deg,#7a37a6 0 1.5px,#bcd9ee 1.5px 4px)}.legend .line.hike{background:repeating-linear-gradient(90deg,#c98a2b 0 4px,#0000 4px 7px)}.legend .line.carpet{background:var(--lift);width:12px;height:2px}.legend .dot.beginner{background:repeating-linear-gradient(45deg,#3c8c3cb3 0 1.5px,#aad7a0e6 1.5px 4px)}@media (width<=640px){.spawns{grid-template-columns:1fr}.resorts{flex-direction:column}.speed{font-size:44px}#minimap{width:130px;height:130px}.hud-tl{max-width:60vw}}.diff.park{background:var(--accent);border-radius:4px;transform:rotate(45deg)scale(.8)}
