@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=DM+Serif+Display:ital@0;1&display=swap";:root{font-family:DM Sans,sans-serif;color:#26473c;background:#f7f5ed;font-synthesis:none;font-weight:400;--green:#264d3e;--muted:#829080;--line:#e2e4d8}*{box-sizing:border-box}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;color:inherit}button:focus-visible,a:focus-visible{outline:3px solid #c8964a;outline-offset:5px}button{border:0}svg{width:18px;height:18px;stroke-width:1.7;vertical-align:middle}header{height:100px;margin:0 5%;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:42px}.brand{display:flex;gap:12px;align-items:center;color:inherit;text-decoration:none;font-family:"DM Serif Display",Georgia,serif;font-size:22px}.brand-mark{display:grid;place-items:center;background:#e5e9da;width:44px;height:44px;border-radius:50%;transform:rotate(-15deg)}.brand-mark svg{width:24px;height:24px}.brand-sub{display:block;font:9px DM Sans,sans-serif;letter-spacing:2px;margin-top:5px}nav{display:flex;gap:8px;margin-left:auto}.nav{background:none;padding:12px 18px;border-radius:6px;font-size:12px;display:flex;gap:9px;align-items:center}.nav.active{background:#e9eddf}.nav span{background:#d8e1cc;border-radius:5px;padding:2px 6px;font-size:10px}.icon-button{display:grid;place-items:center;width:36px;height:36px;border:1px solid var(--line);border-radius:50%;background:transparent}main{max-width:1450px;margin:auto;padding:0 5%}.intro{display:flex;justify-content:space-between;align-items:center;padding:44px 0 35px}.eyebrow{font-size:9px;font-weight:700;letter-spacing:1.8px;line-height:1.6}.eyebrow>span{display:inline-block;width:6px;height:6px;background:#ae8656;border-radius:50%;margin-right:6px}h1{font-family:"DM Serif Display",Georgia,serif;font-size:49px;font-weight:400;letter-spacing:-1.8px;margin:9px 0 10px}h1 em{color:#839271;font-weight:400}.intro p{font-size:12px;color:#788374;margin:0}.trip-stamp{width:140px;height:100px;border:1px solid #c7cfba;border-radius:50%;transform:rotate(9deg);display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:10px;letter-spacing:.8px;margin-right:20px}.stamp-heart{font-size:33px;line-height:38px;color:#bd9060}.adventure{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:26px}.world-panel{border:1px solid #d6ddcb;border-radius:12px;overflow:hidden;background:#eaf0df;align-self:start;box-shadow:0 5px 20px #344c3004}.map-top{display:flex;justify-content:space-between;padding:16px 20px;align-items:center;border-bottom:1px solid #d6ddcb}.map-label{font-size:9px;letter-spacing:1.5px;display:flex;align-items:center;gap:8px}.map-label svg{width:15px}.map-top button{background:none;font-size:10px;color:#758570}.map-top button span{border:1px solid #b2bea4;border-radius:50%;padding:0 4px;margin-left:5px}.canvas-wrap{position:relative;background:#8bb9ae;aspect-ratio:1200/920;overflow:hidden}#world{display:block;width:100%;height:100%;image-rendering:pixelated}.map-note{position:absolute;top:6%;left:4%;font:italic 18px/1.4 "DM Serif Display",Georgia,serif;color:#416e60;transform:rotate(-7deg)}.compass{position:absolute;right:4%;top:5%;display:flex;flex-direction:column;align-items:center;font:9px Georgia;color:#447565}.compass span{font-size:35px;line-height:37px}.map-bottom{position:absolute;bottom:16px;left:20px;right:20px;display:flex;align-items:end;justify-content:space-between;font-size:10px;color:#42675a}.map-bottom>span:first-child{background:#f7f5eac9;padding:8px 12px;border-radius:5px}.live-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#739257;margin-right:4px}.map-scale{text-align:center;font-size:8px;line-height:15px;opacity:.8}#markers{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.marker{position:absolute;transform:translate(-50%,-50%);background:none;padding:0;pointer-events:auto;display:flex;flex-direction:column;align-items:center;gap:5px;white-space:nowrap}.marker>span{display:grid;place-items:center;width:18px;height:18px;background:#f9f3de;border:2px solid #8fa37b;border-radius:50%;font-size:8px;font-weight:700;box-shadow:0 2px #4d6d4822}.marker b{font-size:8px;font-weight:600;background:#f4f2dfdf;padding:3px 5px;border-radius:3px}.marker.current>span{background:#264d3e;color:#fff;border-color:#f3e4ad;box-shadow:0 0 0 4px #f8efc94d}.marker.current b{background:#264d3e;color:#fff}.marker.visited>span{background:#d9e5bd}.marker:nth-child(8) b{transform:translateY(-42px)}.marker:nth-child(9) b{transform:translateY(-42px)}.marker:nth-child(10) b{transform:translate(6px,5px)}.drive-bar{display:flex;justify-content:space-between;gap:10px;align-items:center;background:#f0f1e6;padding:16px 20px}.driver{display:flex;align-items:center;gap:12px}.avatars{font-size:21px;letter-spacing:-8px;padding-right:7px}.avatars span{position:relative;top:3px}.driver strong{display:block;font-size:10px;font-weight:600}.driver small{display:block;font-size:9px;color:#83907c;margin-top:4px}.drive-controls{display:flex;gap:7px}.key{width:34px;border:1px solid #d5dbca;border-radius:5px;background:#f7f7ef}.drive-button{background:#315944;color:#fff9e7;padding:12px 16px;border-radius:5px;font-size:10px;display:flex;gap:18px;align-items:center;touch-action:none;-webkit-user-select:none;user-select:none}.drive-button:active{background:#54815a;transform:translateY(1px)}.drive-button:disabled{opacity:.6}.key{touch-action:none}aside{padding-top:3px}.chapter-label{display:flex;gap:9px;align-items:center;font-size:9px;letter-spacing:1.5px;margin:0 0 18px}.chapter-label>span:first-child{background:#e7e9da;padding:6px 8px;border-radius:3px;font-weight:700}.chapter-dot{font-size:5px;color:#a8b298}.scene{height:158px;position:relative;border-radius:7px;overflow:hidden;background:#b4c59a}.scene canvas{width:100%;height:100%;object-fit:cover;image-rendering:pixelated}.scene-badge{position:absolute;left:12px;top:12px;display:flex;align-items:center;gap:5px;background:#f7f5e8de;padding:5px 8px;border-radius:3px;font-size:8px;letter-spacing:1px}.scene-badge svg{width:12px;height:12px}.scene-heart{position:absolute;bottom:7px;right:12px;color:#fffbe7;font-size:27px}.stop-copy{padding:24px 0 20px}.stop-copy .eyebrow{font-size:8px;color:#8a967a;letter-spacing:1.3px}h2{font-family:"DM Serif Display",Georgia,serif;font-weight:400;font-size:31px;line-height:1.15;margin:9px 0 13px;letter-spacing:-.6px}.stop-copy p{font-size:12px;line-height:1.9;color:#7d8676;margin:0 0 20px}.memory-button{width:100%;border:1px solid #cad4bb;background:#eaf0dd;border-radius:5px;padding:12px 13px;display:flex;gap:8px;align-items:center;font-size:11px}.memory-button svg:last-child{margin-left:auto;width:15px}.next{padding:20px 0;border-top:1px solid var(--line)}.next>span{font-size:8px;letter-spacing:1.8px;color:#969e8b}.next>div:not(.progress-track){display:flex;justify-content:space-between;align-items:center;font-size:12px;margin-top:9px}.next svg{width:15px}.progress-track{height:3px;background:#e0e4d4;margin:16px 0 9px;border-radius:3px;overflow:hidden}.progress-track div{height:100%;background:#779765;width:0}.next small{font-size:9px;color:#919c86}.travel-note{border-top:1px solid var(--line);padding-top:23px;text-align:center;font:italic 12px "DM Serif Display",Georgia,serif;color:#9c9e86}.travel-note span{display:block;margin-top:10px;font-size:21px;color:#b8a07a}.journey-footer{display:flex;align-items:center;justify-content:space-between;gap:25px;margin:30px 0 26px;padding:25px 0;border-bottom:1px solid var(--line);border-top:1px solid var(--line)}.journey-footer .eyebrow{font-size:8px;color:#8c967e}h3{font:22px "DM Serif Display",Georgia,serif;font-weight:400;margin:6px 0}.milestones{display:flex;flex:1;max-width:430px}.milestone{flex:1;text-align:center;position:relative}.milestone:before{content:"";position:absolute;top:11px;left:0;width:100%;height:1px;background:#d8dfcc;z-index:-1}.milestone span{display:grid;place-items:center;width:23px;height:23px;border:1px solid #d8dfcc;background:#f7f5ed;border-radius:50%;margin:auto;font-size:12px;color:#b6beab}.milestone.done span{background:#e3ead5;border-color:#acbe96;color:#436342}.milestone small{font-size:8px;display:block;margin-top:7px;color:#929d85}#album-link{background:none;font-size:10px;white-space:nowrap}#album-link svg{width:13px;margin-left:10px}footer{display:flex;justify-content:space-between;padding:0 0 25px;font-size:8px;color:#9aa18e;letter-spacing:1.2px}footer span:last-child{letter-spacing:0;font-size:9px}footer b{color:#b79573;padding:0 8px}dialog{width:min(480px,92vw);border:1px solid #d4dac8;padding:38px;border-radius:13px;background:#f8f6ed;color:var(--green);max-height:90dvh;overflow:auto;box-shadow:0 20px 80px #0c342633}dialog::backdrop{background:#183b347a;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}dialog .close{position:absolute;top:10px;right:10px}dialog .eyebrow{font-size:8px;padding-right:10px}dialog h2{margin-top:16px}dialog p{font-size:12px;line-height:1.9;color:#74806d}.photo-placeholder{height:220px;background:#e8ecdc;border:1px dashed #becaaf;border-radius:5px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;margin:20px 0}.photo-placeholder svg{width:28px;height:28px;color:#8d9e7e}.photo-placeholder strong{font:19px "DM Serif Display",Georgia,serif}.photo-placeholder span,.privacy{font-size:10px;color:#839178}.privacy{display:block;text-align:center;margin-top:13px}.memory-photo{width:100%;max-height:380px;object-fit:contain;background:#e9ecdf;border-radius:5px;margin-top:12px}#toast{position:fixed;bottom:30px;left:50%;transform:translate(-50%,20px);background:#264d3e;color:#fff8e7;padding:13px 20px;border-radius:7px;font-size:12px;opacity:0;pointer-events:none;transition:.2s;z-index:20;max-width:90vw;text-align:center}#toast.show{opacity:1;transform:translate(-50%)}[hidden]{display:none!important}.journal-heading{display:flex;justify-content:space-between;align-items:center;margin:15px 0 25px}.journal-heading>span{font-size:12px;color:#89977f}.journal-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.journal-card{text-align:left;padding:12px;background:#eeeee3;border:1px solid #dfe4d3;border-radius:8px}.journal-card img{width:100%;height:150px;object-fit:cover;border-radius:4px}.journal-art{height:150px;background:#e0e8d2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;border-radius:4px;color:#809570}.journal-art span{font-size:10px}.journal-card>small{display:block;font-size:8px;letter-spacing:1.5px;margin-top:16px;color:#809173}.journal-card h3{font-size:21px}.journal-card p{font-size:10px;line-height:1.6;color:#7e8b73}.journal-card.locked{opacity:.55}.reset{background:none;font-size:11px;margin:25px 0;color:#849276}.reset svg{width:14px;margin-right:6px}@media(min-width:1500px){.adventure{grid-template-columns:minmax(0,1fr) 330px}.scene{height:180px}.stop-copy p{font-size:14px}.stop-copy{padding-top:30px}.marker b{font-size:10px}}@media(max-width:1000px){header{gap:15px}.adventure{grid-template-columns:minmax(0,1fr) 245px;gap:20px}.intro{padding-top:30px}h1{font-size:42px}.trip-stamp{margin-right:5px}.drive-bar{padding:12px}.driver{gap:5px}.drive-button{gap:8px;padding:11px}.marker b{font-size:7px}.scene{height:135px}.stop-copy{padding-top:20px}.stop-copy p{font-size:11px}.travel-note{display:none}.journey-footer h3{font-size:18px}.milestones{max-width:330px}.journal-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:720px){header{height:82px;margin:0 5%;flex-wrap:wrap;gap:0;padding-top:15px;height:118px;justify-content:space-between}.brand{font-size:21px}.brand-mark{width:35px;height:35px}.brand-sub{font-size:7px}nav{order:3;width:100%;margin:9px 0 0;gap:0;height:41px}.nav{justify-content:center;flex:1;font-size:10px;padding:8px}.nav svg{width:15px}.sound{width:31px;height:31px}.intro{padding:28px 0 23px}.intro .eyebrow{font-size:7px;letter-spacing:1.2px}h1{font-size:34px;letter-spacing:-1px;margin-top:8px}.intro p{font-size:10px;max-width:260px;line-height:1.7}.trip-stamp{display:none}.adventure{display:flex;flex-direction:column;gap:23px}.map-top{padding:12px}.canvas-wrap{aspect-ratio:1/1.08}#world{object-fit:fill}.map-note{font-size:12px}.compass{font-size:7px}.compass span{font-size:27px}.marker>span{width:15px;height:15px;font-size:7px}.marker b{font-size:6px;padding:2px 3px}.marker{gap:2px}.marker:nth-child(8) b,.marker:nth-child(9) b{transform:translateY(-31px)}.marker:nth-child(10) b{transform:translate(-13px,3px)}.map-bottom{left:10px;right:10px;bottom:10px;font-size:8px}.map-scale{font-size:6px}.drive-bar{padding:13px 12px}.driver strong{font-size:9px}.driver small{font-size:8px}.avatars{font-size:19px}.drive-button{font-size:10px;padding:13px 11px;min-height:44px}.key{min-width:35px}aside{display:grid;grid-template-columns:115px 1fr;column-gap:17px}.chapter-label{grid-column:1/-1;margin-bottom:12px}.scene{height:132px;margin-top:3px}.scene-badge{left:6px;top:6px;font-size:6px;padding:4px}.stop-copy{padding:0}.stop-copy h2{font-size:27px}.stop-copy .eyebrow{font-size:7px}.stop-copy p{font-size:10px;line-height:1.7;margin-bottom:12px}.memory-button{font-size:10px;padding:11px}.next{grid-column:1/-1;margin-top:18px;padding:15px 0 0}.journey-footer{flex-wrap:wrap;gap:18px;margin-top:23px;padding:20px 0}.journey-footer>div:first-child{width:100%}.milestones{max-width:none;min-width:240px}.journey-footer h3{font-size:23px}#album-link{display:none}footer{font-size:6px;letter-spacing:.7px;gap:12px}footer span:last-child{font-size:7px;text-align:right}.journal-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.journal-heading{display:block}.journal-heading h2{font-size:28px}.journal-heading>span{font-size:10px}.journal-card{padding:9px}.journal-card h3{font-size:19px}.journal-art,.journal-card img{height:125px}.journal-art span{font-size:8px}dialog{padding:35px 25px 25px}.photo-placeholder{height:200px}.photo-placeholder strong{font-size:17px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}.avatars{display:flex;gap:2px;letter-spacing:0;padding:0;width:43px;flex-shrink:0}.avatars .pixel-person{display:block;width:17px;height:23px;position:relative;top:0;background:linear-gradient(to bottom,#6e503c 0,#6e503c 20%,#e4b58e 20%,#e4b58e 65%,#b78d65 65%);clip-path:polygon(20% 0,80% 0,80% 15%,100% 15%,100% 100%,0 100%,0 15%,20% 15%);image-rendering:pixelated}.avatars .ida{border-left:3px solid #78523b;border-right:3px solid #78523b}.avatars .brody{top:3px;background:linear-gradient(to bottom,#504a38 0,#504a38 23%,#e7bb95 23%,#e7bb95 65%,#718d70 65%)}body{padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}.marker{width:18px;height:18px;display:block;transform:translate(-50%,-50%)}.marker b{position:absolute;left:50%;top:50%;transform:translate(calc(-50% + var(--label-x)),calc(-50% + var(--label-y)))!important;font-size:8px}.map-attribution{padding:7px 12px;background:#eaf0df;font-size:8px;color:#72826e;text-align:right}.map-attribution a{color:inherit}.canvas-wrap{aspect-ratio:1200/920!important}#world{object-fit:contain}.map-note{top:8%;left:5%}.marker>span{position:relative;z-index:1}@media(max-width:720px){.marker b{font-size:6px;transform:translate(calc(-50% + var(--label-x)*.42),calc(-50% + var(--label-y)*.65))!important}.map-attribution{font-size:6px}.marker,.marker>span{width:13px;height:13px}.compass{top:9%;right:5%}}.map-leaders{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;overflow:visible;pointer-events:none}.map-leaders line{stroke:#557564;stroke-width:1.3;stroke-dasharray:3 3}.map-leaders circle{fill:#365845;stroke:#f4efd9;stroke-width:1}.marker.callout b{transform:translate(-50%,13px)!important}.marker.callout>span{background:#eff1dc}@media(max-width:720px){.marker.callout b{transform:translate(-50%,9px)!important}}.map-top #zoom-toggle{margin-left:auto;margin-right:16px;border:1px solid #becbae;border-radius:4px;padding:6px 9px;color:#345740;min-height:32px}.marker.camera-pin b{transform:translate(-50%,14px)!important;font-size:8px}.marker.camera-pin{min-width:18px;min-height:18px}.marker.camera-pin.current{z-index:2}@media(max-width:720px){.map-top #zoom-toggle{margin-right:8px;font-size:9px}.marker.camera-pin b{font-size:7px;transform:translate(-50%,12px)!important}.map-label{font-size:7px;letter-spacing:1px}}.drive-bar{flex-wrap:wrap}.restart-game{flex-basis:100%;display:flex;justify-content:flex-end;align-items:center;gap:6px;background:none;font-size:10px;min-height:32px;border-top:1px solid #dce2d0;padding:9px 0 0;color:#73836b}.restart-game svg{width:13px;height:13px}.restart-actions{display:flex;gap:10px;margin-top:20px}.restart-actions button{justify-content:center}.restart-actions #confirm-reset{background:#315944;color:#fff8e8;border-color:#315944}.ski-heading{display:flex;justify-content:space-between;gap:18px;align-items:center;margin:5px 0 22px}.ski-heading h2{font-size:34px}.ski-heading p{font-size:12px;color:#7d8c76}.ski-exit{background:#e7ecdc;padding:11px 15px;border-radius:5px;font-size:11px}.ski-cabinet{max-width:500px;margin:0 auto 30px;border:1px solid #c8d5bd;border-radius:12px;overflow:hidden;background:#edf1e2;box-shadow:0 10px 35px #2c584411}.ski-hud{display:flex;justify-content:space-between;padding:17px 20px;text-align:center}.ski-hud small{font-size:7px;letter-spacing:1.4px;display:block;color:#879579}.ski-hud b{display:block;margin-top:7px;font-size:18px;font-weight:500}.ski-hud #ski-hearts{color:#c98d71;letter-spacing:3px}.ski-water{position:relative;aspect-ratio:5/7;max-height:58dvh;background:#76b8b4}.ski-water canvas{width:100%;height:100%;display:block;image-rendering:pixelated}.ski-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:#244f4340;padding:25px}.ski-overlay>div{background:#f7f5edee;border:1px solid #e7ead7;border-radius:10px;padding:28px;text-align:center;box-shadow:0 10px 35px #23473626;max-width:350px}.ski-overlay h2{font-size:31px}.ski-overlay p{font-size:12px;color:#76866e;line-height:1.8}.ski-overlay .eyebrow{font-size:8px}.ski-go{margin-top:12px;background:#315944;color:#fff7e4;border-radius:5px;padding:14px 22px;font-size:12px;width:100%}.ski-controls{display:flex;gap:12px;padding:15px 16px 5px}.ski-controls button{min-height:48px;touch-action:none;user-select:none;-webkit-user-select:none;border-radius:6px;background:#315944;color:#fff7e4;flex:1;font-size:20px}.ski-controls button:active{background:#537e5a}.ski-controls button span{font-size:12px;margin:0 10px}.ski-controls #ski-pause{flex:0 0 65px;font-size:11px;background:#dce5ce;color:#426441}.ski-controls #ski-pause:disabled{opacity:.5;cursor:default}.ski-hint{text-align:center;font-size:9px;color:#819071;margin:12px 10px 16px}.ski-cabinet button:focus-visible{outline-offset:-4px}@media(max-width:720px){.ski-heading{align-items:start;gap:10px}.ski-heading h2{font-size:27px}.ski-heading p{font-size:10px;line-height:1.6}.ski-heading .eyebrow{font-size:7px}.ski-exit{font-size:9px;padding:9px;white-space:nowrap}.ski-water{max-height:53dvh}.ski-overlay{padding:18px}.ski-overlay>div{padding:20px}.ski-overlay h2{font-size:26px}.ski-overlay p{font-size:11px}.ski-hud{padding:13px}.ski-hud small{font-size:6px;letter-spacing:.8px}.ski-hud b{font-size:17px}.ski-controls{padding:12px 12px 0;gap:8px}.ski-hint{font-size:8px}}.ski-water{width:100%}.mobile-memory{display:none}@media(max-width:720px){html,body{height:100%;overscroll-behavior:none}body{padding:env(safe-area-inset-top) 0 env(safe-area-inset-bottom);overflow:hidden}header{height:48px;margin:0;padding:0 10px;flex-wrap:nowrap;border-bottom:1px solid #dce3cf;gap:8px}.brand{display:none}nav{order:0;width:auto;flex:1;height:38px;margin:0}.nav{font-size:10px;min-height:36px}.sound{flex-shrink:0}main{padding:0;height:calc(100dvh - 48px - env(safe-area-inset-top) - env(safe-area-inset-bottom));max-width:none;overflow:hidden;display:flex;flex-direction:column}.intro,.journey-footer,main>footer{display:none}.adventure{flex:1;min-height:0;gap:0}.adventure aside{display:none}.world-panel{width:100%;height:100%;display:flex;flex-direction:column;border:0;border-radius:0;box-shadow:none}.map-top{flex:0 0 42px;padding:5px 12px}.canvas-wrap{flex:1;min-height:0;aspect-ratio:auto!important;width:100%}#world{width:100%;height:100%;object-fit:fill}.map-note{top:30px}.map-attribution{font-size:6px;padding:4px 8px;flex-shrink:0}.drive-bar{padding:10px 13px 6px;gap:6px;flex-shrink:0}.restart-game{min-height:28px;padding-top:6px}.drive-button{min-height:46px;font-size:11px;padding:12px 16px}.key{width:43px}.driver strong{font-size:10px}.driver small{font-size:9px}.map-bottom{align-items:center;gap:8px}.map-scale{display:none}.mobile-memory{display:block;background:#f6f3dfed;border:1px solid #bdc9aa;border-radius:5px;padding:10px 12px;font-size:10px;min-height:36px}#journal{overflow-y:auto;padding:22px 16px;flex:1;min-height:0}.journal-heading{margin-top:0}.reset{min-height:44px}#jetski{height:100%;min-height:0;display:flex;flex-direction:column;overflow:hidden}.ski-heading{flex:0 0 46px;margin:0;padding:6px 12px;align-items:center;gap:8px}.ski-heading .eyebrow,.ski-heading p{display:none}.ski-heading h2{font-size:20px;margin:0}.ski-exit{min-height:34px}.ski-cabinet{flex:1;min-height:0;max-width:none;width:100%;margin:0;border:0;border-radius:0;display:flex;flex-direction:column;box-shadow:none}.ski-hud{padding:9px 16px;flex-shrink:0}.ski-hud b{margin-top:4px}.ski-hud small{font-size:7px}.ski-water{flex:1;min-height:0;max-height:none;aspect-ratio:auto;width:100%}.ski-controls{padding:10px 12px 4px;flex-shrink:0}.ski-controls button{min-height:54px}.ski-hint{margin:6px 8px 10px;flex-shrink:0}.ski-overlay{padding:25px}.ski-overlay>div{width:100%;max-width:340px}dialog{max-height:calc(100dvh - 30px);width:calc(100vw - 28px)}}.tekapo-preparing{padding:80px 24px;text-align:center;font:24px "DM Serif Display",Georgia,serif}dialog.tekapo-film{position:fixed;top:0;right:0;bottom:0;left:0;margin:0;width:100vw;max-width:none;height:100dvh;max-height:none;padding:0;border:0;border-radius:0;overflow:hidden;background:#35484b;color:#fff7e9;box-shadow:none}.tekapo-film::backdrop{background:#24373b}.tekapo-stage{position:absolute;top:6%;right:0;bottom:6%;left:0;background:#b5cbd1}.tekapo-stage canvas{display:block;width:100%;height:100%;image-rendering:pixelated}.tekapo-loading{height:100%;display:grid;place-items:center;padding:32px;text-align:center;color:#29473f;font:24px "DM Serif Display",Georgia,serif}.tekapo-shade{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(#14232c90,transparent 24%,transparent 60%,#152328b8)}.tekapo-top{position:absolute;left:max(32px,env(safe-area-inset-left));right:max(32px,env(safe-area-inset-right));top:max(18px,env(safe-area-inset-top));display:flex;align-items:center;justify-content:space-between;gap:16px}.tekapo-top>span{font-size:9px;letter-spacing:2.5px;line-height:1.6}.tekapo-top b{margin:0 12px;font-weight:400;color:#d3c6a1}.tekapo-film button{min-height:44px;padding:10px 17px;background:#20333885;border:1px solid #e4e8d64d;border-radius:4px;color:#fff9ec;font-size:12px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.tekapo-film button:hover{background:#435658bd}.tekapo-film button:focus-visible{outline:2px solid #f0dca8;outline-offset:3px}.tekapo-top button{white-space:nowrap}.tekapo-top button span{margin-left:12px}.tekapo-title{position:absolute;left:20px;right:20px;top:22%;text-align:center;pointer-events:none;text-shadow:0 2px 18px #27394280;opacity:0}.tekapo-title>span{font-size:10px;letter-spacing:5px}.tekapo-title h2{font-family:"DM Serif Display",Georgia,serif;font-size:clamp(48px,7vw,90px);letter-spacing:-1.5px;line-height:1.15;margin:12px 0 5px}.tekapo-rule{display:flex;gap:14px;align-items:center;justify-content:center;color:#eee0b8;font-size:19px}.tekapo-rule:before,.tekapo-rule:after{content:"";width:65px;height:1px;background:#f1e5cda8}.tekapo-title p{font:italic 17px "DM Serif Display",Georgia,serif;color:#fff4e1;margin:10px 0}.tekapo-bottom{position:absolute;bottom:max(20px,env(safe-area-inset-bottom));left:max(32px,env(safe-area-inset-left));right:max(32px,env(safe-area-inset-right));display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}.tekapo-caption{font:italic 19px "DM Serif Display",Georgia,serif;text-shadow:0 2px 8px #102b32}.tekapo-controls{display:flex;gap:10px}.tekapo-controls #tekapo-keep{background:#eee6ce;color:#30463e;border-color:#eee6ce}.tekapo-controls #tekapo-keep span{margin-left:12px}.tekapo-progress{height:2px;flex-basis:100%;background:#ffffff24}.tekapo-progress span{display:block;height:100%;background:#d9cfa9;width:0}@media(max-width:720px){.tekapo-stage{top:7%;right:0;bottom:10%;left:0}.tekapo-top{left:16px;right:16px;top:max(10px,env(safe-area-inset-top))}.tekapo-top>span{font-size:7px;letter-spacing:1.3px;max-width:150px}.tekapo-top b{margin:0 4px}.tekapo-film button{font-size:11px;padding:10px 13px}.tekapo-title{top:22%}.tekapo-title>span{font-size:8px;letter-spacing:3px}.tekapo-title h2{font-size:51px}.tekapo-title p{font-size:15px}.tekapo-bottom{left:18px;right:18px;bottom:max(16px,env(safe-area-inset-bottom));gap:15px;justify-content:center}.tekapo-caption{font-size:17px;text-align:center;flex-basis:100%}.tekapo-controls{justify-content:center;gap:8px}.tekapo-progress{margin-top:1px}}@media(max-height:500px){.tekapo-title{top:18%}.tekapo-title h2{font-size:40px;margin:4px}.tekapo-title p{margin:3px}.tekapo-bottom{bottom:10px;gap:8px}.tekapo-caption{flex-basis:auto;font-size:15px}.tekapo-top{top:8px}}#drive.accelerator{position:relative;display:grid;place-items:center;width:76px;min-width:76px;height:76px;min-height:76px;padding:0;background:transparent;border-radius:12px;flex-shrink:0;gap:0;touch-action:none;user-select:none;-webkit-user-select:none}#drive.accelerator:active{background:transparent;transform:none}#drive.accelerator .accelerator-art{display:block;width:65px;height:76px;overflow:visible;transform:rotate(9deg);pointer-events:none}.accelerator-art .pedal-plate{transform-origin:36px 66px;transition:transform .1s ease-out}#drive.accelerator.pressed .pedal-plate,#drive.accelerator:active .pedal-plate{transform:translateY(5px) scaleY(.93)}#drive.accelerator.pressed .accelerator-art{filter:drop-shadow(0 0 5px #b4c99e80)}.drive-controls:has(.accelerator){align-items:center}.drive-controls:has(.accelerator) .key{height:46px}.quick-tutorial{position:absolute;z-index:4;left:50%;top:50%;transform:translate(-50%,-50%);width:min(310px,calc(100% - 32px));padding:22px;background:#faf6e8f5;border:1px solid #b9c9a5;border-radius:14px;box-shadow:0 12px 40px #264d3e30;text-align:center}.quick-tutorial h2{font:27px "DM Serif Display",Georgia,serif;margin:9px 0 12px}.quick-tutorial p{font-size:12px;line-height:1.65;margin:8px 0}.quick-tutorial button{margin-top:12px;min-height:44px;width:100%;justify-content:center}.memory-gallery{margin:16px 0;outline-offset:3px}.memory-gallery .memory-photo{display:block;margin:0;width:100%;height:min(46dvh,380px);object-fit:contain;touch-action:pan-y;-webkit-user-select:none;user-select:none}.gallery-controls{display:flex;align-items:center;justify-content:space-between;padding-top:8px;gap:15px}.gallery-controls button{width:48px;min-height:44px;border-radius:8px;background:#e3e9d6;font-size:20px}.gallery-count{font-size:11px;letter-spacing:2px;color:#627557}.map-credits{margin-top:22px;font-size:12px}.map-credits summary{cursor:pointer;padding:10px 0}.map-credits .map-attribution{background:transparent;text-align:left;font-size:11px;padding:8px 0;line-height:1.8}@media(max-width:720px){.world-panel{position:relative}.map-top{position:absolute;z-index:3;top:0;left:0;right:0;height:40px;background:#eef2e4eb;border-bottom:1px solid #cfdbc0;padding:0 10px}.map-top button{min-height:40px}.map-note{top:58px}.compass{top:56px}.drive-bar{padding:5px 10px;gap:8px}.driver small{display:none}.driver{gap:6px}.driver strong{max-width:80px;line-height:1.5}.restart-game{font-size:0;min-width:44px;min-height:44px;padding:10px;background:transparent}.restart-game svg{width:18px;height:18px;margin:0}#drive.accelerator{height:68px;min-height:68px;width:68px;min-width:68px}#drive.accelerator .accelerator-art{height:68px;width:58px}.quick-tutorial{padding:18px}.quick-tutorial h2{font-size:25px}}@media(max-width:720px){.drive-bar{flex-wrap:nowrap}.drive-bar .restart-game{flex:0 0 44px;width:44px;margin:0;border:0;justify-content:center}.driver{flex:1;min-width:0}.drive-controls{flex-shrink:0}}
