.adventure-map{background:var(--background);flex-direction:column;justify-content:center;min-height:100dvh;display:flex;overflow:hidden}.adventure-map-frame{isolation:isolate;width:100%;max-width:1920px;margin:auto;position:relative}.adventure-map-scene{aspect-ratio:1600/912;transform-origin:50%;width:100%;transition:transform .55s ease-in,filter .55s ease-in;position:relative;overflow:hidden}.adventure-map-art{object-fit:contain;width:100%;height:100%;display:block}.adventure-map-scene[data-travel=woods]{transform-origin:30% 25%}.adventure-map-scene[data-travel=safari]{transform-origin:27% 61%}.adventure-map-scene[data-travel=factory]{transform-origin:62% 56%}.adventure-map-scene[data-travel=space]{transform-origin:73% 28%}.adventure-map-scene[data-travel=train]{transform-origin:69% 80%}.adventure-map-scene[data-travel=letters]{transform-origin:33% 80%}.adventure-map-scene[data-travel]:not([data-travel=""]){filter:brightness(1.06);transform:scale(1.3)}.adventure-place{touch-action:manipulation;border-radius:40%;min-width:56px;min-height:56px;transition:filter .2s,transform .2s;height:auto!important;box-shadow:none!important;background:0 0!important;border:0!important;padding:0!important;position:absolute!important}.adventure-place:after{content:"";pointer-events:none;border:3px solid #0000;border-radius:45%;transition:border-color .2s,box-shadow .2s;position:absolute;inset:8%}.adventure-place:hover:after,.adventure-place:focus-visible:after,.adventure-place[data-selected=true]:after{border-color:var(--sun);box-shadow:0 0 18px color-mix(in oklch,var(--sun) 40%,transparent)}.adventure-place:focus-visible{outline:3px solid var(--card);outline-offset:3px}.adventure-place[data-selected=true]{animation:.55s both map-place-tap}.adventure-place-woods{aspect-ratio:1.35;width:33%;top:8%;left:15%}.adventure-place-space{aspect-ratio:1.4;width:35%;top:6%;left:51%}.adventure-place-safari{aspect-ratio:1.5;width:34%;top:41%;left:9%}.adventure-place-factory{aspect-ratio:1.4;width:33%;top:38%;left:47%}.adventure-place-train{aspect-ratio:640/475;border-radius:30%;width:14%;top:69%;left:61%}.adventure-place-letters{aspect-ratio:640/551;z-index:1;border-radius:30%;width:12.5%;top:73.5%;left:25.5%}.adventure-place-letters img{animation:5s ease-in-out infinite map-letters-bob}.adventure-place-letters:hover img,.adventure-place-letters:focus-visible img{animation-duration:1.6s}.adventure-place-train img,.adventure-place-letters img{object-fit:contain;width:100%;height:100%;filter:drop-shadow(0 6px 8px color-mix(in oklch,var(--ink) 35%,transparent));pointer-events:none;position:absolute;inset:0}.adventure-map-controls{pointer-events:none;z-index:4;justify-content:space-between;display:flex;position:absolute;top:12px;left:12px;right:12px}.adventure-map-controls>div{gap:10px;display:flex}.adventure-map-controls .map-tool{pointer-events:auto;background:var(--card);width:56px;height:56px;color:var(--foreground);box-shadow:var(--shadow-soft);border-radius:50%}.adventure-map-controls .map-tool svg{width:26px;height:26px}.adventure-map-pip{z-index:3;transform-origin:bottom;border:0;width:11%;min-width:56px;bottom:8%;left:3%;background:0 0!important;height:auto!important;padding:0!important;position:absolute!important}.adventure-map-pip img{pointer-events:none;width:100%;height:auto;display:block}.adventure-map-pip:focus-visible{outline:3px solid var(--sun);outline-offset:4px;border-radius:40%}.map-water-light{pointer-events:none;background:linear-gradient(180deg,transparent,color-mix(in oklch,var(--card) 45%,transparent),transparent);clip-path:polygon(20% 0,85% 0,100% 95%,0 100%);width:2%;height:19%;animation:5s ease-in-out infinite map-water;position:absolute;top:16%;left:35.7%}.map-observatory-star{aspect-ratio:1;background:var(--sun);pointer-events:none;border-radius:50%;width:.8%;animation:5s ease-in-out infinite map-star;position:absolute;top:7%;left:63.5%}.map-workshop-gear{width:4.8%;height:auto;color:var(--sun);opacity:.55;pointer-events:none;animation:35s linear infinite map-gear;position:absolute;top:48.2%;left:58.8%}.map-adult-guide{z-index:5;background:var(--card);width:min(380px,100% - 24px);max-height:calc(100dvh - 100px);color:var(--foreground);border:1px solid var(--border);box-shadow:var(--shadow-soft);border-radius:8px;padding:18px;position:absolute;top:80px;right:12px;overflow:auto}.map-adult-guide h1{font-family:var(--font-display);margin:0 0 14px;font-size:22px}.map-adult-guide dl{gap:14px;display:grid}.map-adult-guide dt{font-size:15px;font-weight:800}.map-adult-guide dd{color:var(--muted-foreground);font-size:14px}.map-adult-guide footer{border-top:1px solid var(--border);flex-wrap:wrap;gap:12px;margin-top:18px;padding-top:12px;font-size:13px;display:flex}.map-adult-guide a{text-underline-offset:3px;text-decoration:underline}.map-adult-guide .map-other-places{flex-wrap:wrap;gap:12px;margin-top:16px;font-size:13px;display:flex}.game-nav-tools .game-nav-button{background:var(--card);width:48px;height:48px;color:var(--foreground);box-shadow:var(--shadow-soft);border-radius:50%}.game-nav-tools .game-nav-button svg{width:25px;height:25px}@keyframes map-letters-bob{0%,to{translate:0}50%{translate:0 -3%}}@keyframes map-place-tap{35%{transform:scale(1.045)}to{transform:scale(1)}}@keyframes map-pip-idle{0%,to{transform:translateY(0)}50%{transform:translateY(-2px)}}@keyframes map-pip-react{30%{transform:translateY(-8px)rotate(-4deg)}70%{transform:rotate(3deg)}}@keyframes map-water{0%,to{opacity:.15;transform:translateY(-2%)}50%{opacity:.5;transform:translateY(5%)}}@keyframes map-star{0%,to{opacity:.3;transform:scale(.8)}50%{opacity:.8;transform:scale(1.1)}}@keyframes map-gear{to{transform:rotate(360deg)}}@media (width>=640px){.game-nav-tools .game-nav-button{width:64px;height:64px}.game-nav-tools .game-nav-button svg{width:30px;height:30px}}@media (width>=2560px){.adventure-map-frame{max-width:none}.adventure-map-controls{top:24px;left:24px;right:24px}.adventure-map-controls .map-tool{width:88px;height:88px}.adventure-map-controls .map-tool svg{width:40px;height:40px}.map-adult-guide{top:130px;right:24px}.game-nav-tools .game-nav-button{width:88px;height:88px}.game-nav-tools .game-nav-button svg{width:40px;height:40px}}@media (width<=600px) and (orientation:portrait){.adventure-map-frame{padding-top:80px;padding-bottom:100px}.adventure-map-controls{top:12px}.adventure-map-pip{width:20%;bottom:12px;left:7%}.adventure-place:after{border-width:2px;inset:3%}.adventure-map-scene{overflow:visible}.map-adult-guide{top:80px}.adventure-place{min-height:56px}}@media (prefers-reduced-motion:reduce){.adventure-map *{transition:none!important;animation:none!important}.adventure-map-scene[data-travel]:not([data-travel=""]){filter:none;transform:none}}
