.park-hud{height:76px;display:flex;align-items:center;gap:32px;padding:0 36px;background:#f7f0e2;border-bottom:1px solid #423c2822;position:relative;z-index:3}.park-hud .brand{font-size:29px}.park-hud-title{font:11px var(--mono);letter-spacing:.1em;color:#656553}.park-hud nav{margin-left:auto;display:flex;align-items:center;gap:25px;font-size:13px}.park-hud nav a{text-decoration:none}.park-hud nav b{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#e4dcc8;margin-left:5px;font:11px var(--mono)}.park-world-page{position:relative;height:calc(100svh - 112px);min-height:480px;background:#f4eddd;overflow:hidden;isolation:isolate}.park-map-viewport{position:absolute;inset:0;overflow:hidden;touch-action:none;cursor:grab;outline-offset:-4px}.park-map-viewport.is-dragging{cursor:grabbing}.park-map-plane{width:1448px;height:1086px;position:absolute;transform-origin:0 0;will-change:transform}.park-world-art{display:block;width:100%;height:100%;pointer-events:none;user-select:none}.park-attraction{position:absolute;left:var(--pin-x);top:var(--pin-y);width:340px;height:300px;transform:translate(-50%,-50%);display:flex;align-items:flex-end;justify-content:center;text-decoration:none;color:#2e392f}.attraction-label{position:relative;display:flex;align-items:center;gap:10px;padding:10px 13px;background:#fffaf0;border:1px solid #394c3c;box-shadow:0 4px 0 #394c3c,0 9px 18px #10251e35;border-radius:8px;white-space:nowrap;transform:translateY(24px) scale(var(--pin-scale)) translateX(var(--pin-shift,0px));transform-origin:50% 0;transition:background .2s,box-shadow .2s}.attraction-label i{font:11px var(--mono);font-style:normal;color:#b4482e;border-right:1px solid #c4c4b5;padding-right:9px}.attraction-label b{display:block;font-size:16px;font-weight:900;line-height:1.3}.attraction-label small{display:block;font-size:10px;margin-top:3px;color:#69705f}.attraction-label em{font-style:normal;font-size:19px;color:#b44d32}.park-attraction:hover .attraction-label,.park-attraction:focus-visible .attraction-label{background:#ffe5b1;box-shadow:0 5px 0 #b44d32,0 12px 26px #10251e45}.attraction-ring{position:absolute;inset:15px -10px -20px;border:2px solid #fff2b299;border-radius:50%;opacity:0;transition:opacity .2s}.park-attraction:hover .attraction-ring,.park-attraction:focus-visible .attraction-ring{opacity:1}.park-attraction:active .attraction-label{box-shadow:0 1px 0 #394c3c}.park-map-caption{position:absolute;left:30px;top:24px;z-index:2;pointer-events:none;max-width:260px;padding:17px 20px 20px;background:#faf4e4ed;box-shadow:0 3px 20px #37452e16;transform:rotate(-2deg);border:1px solid #b1a48166}.park-map-caption p{font:10px var(--mono);letter-spacing:.05em}.park-map-caption h1{font:900 36px/1.15 var(--display);letter-spacing:-.05em;margin:9px 0;color:#344534}.park-map-caption>span{font-size:12px;color:#67715d}.park-map-tools{position:absolute;right:24px;top:24px;display:flex;flex-direction:column;gap:5px;z-index:2}.park-map-tools button{width:45px;height:45px;border:1px solid #747961;border-radius:6px;background:#fff8e9ef;color:#374b36;font:21px var(--body);box-shadow:0 2px 0 #506c3d44;cursor:pointer}.park-map-tools button:last-child{font-size:11px}.park-map-tools button:hover{background:#ffe5b1}.park-map-hint{position:absolute;bottom:98px;left:50%;transform:translateX(-50%);font-size:11px;padding:7px 14px;border-radius:20px;background:#fff8e9e8;color:#4d654b;white-space:nowrap;pointer-events:none}.park-ride-dock{position:absolute;left:50%;bottom:20px;transform:translateX(-50%);display:flex;background:#fff8ebf5;border:1px solid #758365;border-radius:14px;box-shadow:0 5px 0 #3d5034,0 14px 32px #1f422d33;padding:10px;z-index:2}.park-ride-dock a{display:flex;align-items:center;gap:10px;text-decoration:none;color:#364b32;padding:9px 20px;border-right:1px solid #c8cbb9}.park-ride-dock a:last-child{border-right:0}.park-ride-dock a>span{font-size:25px;color:#bd5339;width:26px;text-align:center}.park-ride-dock b{font-size:13px;white-space:nowrap}.park-ride-dock a:hover{background:#f0e5cd;border-radius:7px}.park-map-footer{height:36px;display:flex;align-items:center;justify-content:space-between;padding:0 30px;background:#f7f0e2;font-size:10px;color:#696f5c}.park-map-footer a{color:inherit;text-decoration:none}.park-map-footer button{background:none;border:0;font-size:10px;color:inherit;cursor:pointer}.park-balloon{position:absolute;font-size:34px;color:#eaa66c;text-shadow:2px 4px #6f544333;animation:park-balloon 5s ease-in-out infinite alternate;pointer-events:none}.balloon-one{left:58%;top:6%}.balloon-two{left:85%;top:41%;animation-delay:-3s}.park-map-fallback{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);max-width:320px;background:#fff5e3;border:1px solid;padding:24px;font-size:14px;line-height:1.8;z-index:3}.park-map-fallback button{display:block;margin-top:12px;min-height:44px;padding:8px;background:#344c39;color:white;border:0}.park-map-fallback[hidden]{display:none}@keyframes park-balloon{to{translate:0 -15px;rotate:9deg}}
@media(max-width:700px){.park-hud{height:62px;padding:0 17px;gap:12px}.park-hud .brand{font-size:25px}.park-hud-title{display:none}.park-hud nav{font-size:11px;gap:15px}.park-world-page{height:calc(100svh - 96px);min-height:520px}.park-map-caption{left:15px;top:16px;padding:12px 15px;max-width:200px}.park-map-caption h1{font-size:26px}.park-map-caption p{font-size:8px}.park-map-caption>span{font-size:10px}.park-map-tools{top:16px;right:14px}.park-map-tools button{width:42px;height:42px}.attraction-label{padding:8px 9px;gap:7px;border-radius:6px}.attraction-label i{font-size:9px;padding-right:6px}.attraction-label b{font-size:13px}.attraction-label small{font-size:8px;max-width:100px}.attraction-label em{font-size:15px}.park-ride-dock{bottom:18px;padding:6px;width:calc(100% - 30px);justify-content:space-around;gap:0;border-radius:11px}.park-ride-dock a{padding:6px 8px;flex-direction:column;gap:3px;flex:1}.park-ride-dock a>span{font-size:21px;height:25px;line-height:25px}.park-ride-dock b{font-size:10px}.park-map-hint{bottom:98px;font-size:9px}.park-map-footer{height:34px;font-size:8px;padding:0 15px}.park-map-footer button{font-size:9px}}
@media(prefers-reduced-motion:reduce){.park-balloon{animation:none}.attraction-label,.attraction-ring{transition:none}}
