.tutorial-dim{fill:var(--background);opacity:.62}.tutorial-target{fill:color-mix(in oklch, var(--gold) 35%, transparent);stroke:var(--gold);stroke-width:.8px;animation:1.4s ease-in-out infinite tutorial-pulse}.tutorial-ring{fill:none;stroke:var(--gold);stroke-width:.7px;opacity:0;transform-box:fill-box;transform-origin:50%;animation:2s ease-out infinite tutorial-ripple}.tutorial-trail,.tutorial-trail-glow{fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:100;animation:3s ease-in-out infinite tutorial-draw}.tutorial-trail{stroke:url(#tutorial-trail-gradient);stroke-width:1.6px}.tutorial-trail-glow{stroke:var(--gold);stroke-width:4.5px;opacity:.35;filter:blur(1.2px)}.tutorial-touch{fill:var(--gold);filter:drop-shadow(0 0 2px var(--gold));animation:1s ease-in-out infinite tutorial-touch-pulse}.tutorial-hand{color:var(--gold);fill:none;filter:drop-shadow(0 0 3px currentColor) drop-shadow(0 0 7px var(--map-sky)) drop-shadow(0 0 13px var(--map-coral)) drop-shadow(0 3px 3px var(--background));animation:2.4s linear infinite tutorial-hand-glow}.tutorial-hand svg{stroke:url(#tutorial-hand-gradient);stroke-width:1.9px;stroke-linecap:round;stroke-linejoin:round}.tutorial-hand-shiver{transform-box:fill-box;transform-origin:50%;animation:.38s ease-in-out infinite tutorial-shiver}.tutorial-hand-halo{fill:none;stroke:var(--primary);stroke-width:.9px;opacity:.8;transform-box:fill-box;transform-origin:50%;animation:1.2s ease-out infinite tutorial-ripple,3s linear infinite tutorial-hand-colors}.tutorial-hand-halo-b{stroke:var(--map-leaf);animation-delay:.45s}.hint-trail-line{fill:none;stroke:url(#hint-trail-gradient);stroke-width:1.4px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:4 3;filter:drop-shadow(0 0 1.5px var(--gold));animation:.9s linear infinite hint-march}.hint-trail-eager{stroke-width:1.8px;animation-duration:.6s}.hint-trail-glow{fill:none;stroke:var(--gold);stroke-width:4px;stroke-linecap:round;stroke-linejoin:round;opacity:.22;filter:blur(1.4px)}.hint-trail-dot{fill:none;stroke:var(--gold);stroke-width:.8px;opacity:0;transform-box:fill-box;transform-origin:50%;animation:1.6s ease-out infinite tutorial-ripple}.hint-trail-arrow{fill:var(--gold);filter:drop-shadow(0 0 2px var(--gold));animation:1s ease-in-out infinite tutorial-touch-pulse}.tutorial-tap{transform-box:fill-box;transform-origin:50%;animation:1.6s ease-in-out infinite tutorial-tap-bounce}.tutorial-tap-ring{fill:none;stroke:var(--gold);stroke-width:.9px;opacity:0;transform-box:fill-box;transform-origin:50%;animation:1.6s ease-out infinite tutorial-ripple}.tutorial-caption{text-align:center;border:2px solid var(--gold);background:color-mix(in oklch, var(--background) 88%, var(--gold));width:max-content;max-width:94%;color:var(--foreground);box-shadow:0 0 18px color-mix(in oklch, var(--gold) 45%, transparent);border-radius:999px;align-items:center;gap:6px;padding:8px 14px;font-size:13px;font-weight:800;animation:.5s cubic-bezier(.34,1.56,.64,1) both tutorial-caption-in,2.6s ease-in-out .5s infinite tutorial-caption-float;display:flex;position:absolute;bottom:-12%;left:50%}.tutorial-caption-emoji{font-size:16px}@keyframes tutorial-pulse{50%{opacity:.45;stroke-width:1.6px}}@keyframes tutorial-ripple{0%{opacity:.9;transform:scale(.6)}to{opacity:0;transform:scale(1.6)}}@keyframes tutorial-draw{0%{stroke-dashoffset:100px}55%{stroke-dashoffset:0}to{stroke-dashoffset:0}}@keyframes tutorial-touch-pulse{50%{r:3.2}}@keyframes tutorial-tap-bounce{0%,to{transform:scale(1)}50%{transform:scale(.82)}}@keyframes tutorial-caption-in{0%{opacity:0;transform:translate(-50%)scale(.6)}to{opacity:1;transform:translate(-50%)scale(1)}}@keyframes tutorial-caption-float{50%{transform:translate(-50%)translateY(-3px)}}@keyframes tutorial-shiver{0%,to{transform:rotate(-6deg)translate(0)scale(1)}20%{transform:rotate(5deg)translate(.8px,-.8px)scale(1.07)}40%{transform:rotate(-5deg)translate(-.8px,.6px)scale(.97)}60%{transform:rotate(7deg)translate(.7px,.7px)scale(1.05)}80%{transform:rotate(-4deg)translate(-.6px,-.5px)scale(1)}}@keyframes tutorial-hand-colors{0%,to{stroke:var(--gold)}33%{stroke:var(--primary)}66%{stroke:var(--accent,var(--gold))}}@keyframes tutorial-hand-glow{0%,to{color:var(--gold)}25%{color:var(--map-coral)}50%{color:var(--map-sky)}75%{color:var(--map-leaf)}}@keyframes hint-march{to{stroke-dashoffset:-7px}}@media (prefers-reduced-motion:reduce){.tutorial-target,.tutorial-ring,.tutorial-trail,.tutorial-trail-glow,.tutorial-touch,.tutorial-tap,.tutorial-tap-ring,.tutorial-caption,.tutorial-hand,.tutorial-hand-shiver,.tutorial-hand-halo,.hint-trail-line,.hint-trail-dot,.hint-trail-arrow{animation:none}.tutorial-trail,.tutorial-trail-glow{stroke-dasharray:none}.tutorial-ring,.tutorial-tap-ring,.hint-trail-dot{opacity:0}}.tutorial-hand{filter:drop-shadow(0 0 2px var(--map-sky)) drop-shadow(0 2px 3px var(--background))}.tutorial-finger{transform-box:fill-box;transform-origin:37% 5%;animation:.9s ease-in-out infinite tutorial-finger-press}@keyframes tutorial-finger-press{0%,to{transform:translate(0)rotate(-8deg)scale(1)}50%{transform:translateY(1px)rotate(-4deg)scale(.9)}}@media (prefers-reduced-motion:reduce){.tutorial-finger{animation:none}}.hint-finger{z-index:21;pointer-events:none;aspect-ratio:1;transform-origin:37% 5%;width:22%;max-width:96px;filter:drop-shadow(0 0 3px var(--background)) drop-shadow(0 0 8px var(--map-sky)) drop-shadow(0 4px 6px var(--background));position:absolute;translate:-37% -5%}.tutorial-caption{display:none!important}.ranger-backdrop{background:color-mix(in oklab, var(--background) 94%, transparent)}.ranger-chapter{--primary:var(--map-turquoise);--primary-foreground:var(--background);background:var(--store-background);color:var(--foreground);border:1px solid var(--map-turquoise);box-shadow:var(--shadow-panel);border-radius:8px;overflow:hidden}.ranger-cover{height:260px;position:relative}.ranger-cover img{object-fit:cover;object-position:50% 43%;width:100%;height:100%}.ranger-cover:after{content:"";background:linear-gradient(transparent, var(--store-background));position:absolute;inset:30% 0 0}.ranger-cover-copy{z-index:1;position:absolute;bottom:14px;left:24px;right:24px}.ranger-cover-copy span{color:var(--store-aqua);font-size:10px;font-weight:800}.ranger-cover-copy h1{font-family:var(--font-display);letter-spacing:0;font-size:32px;line-height:1.2}.ranger-cover-copy p{color:var(--foreground);font-size:14px}.ranger-chapter-body{padding:0 24px 22px}.ranger-steps{justify-content:space-between;align-items:center;padding:4px 0 12px;display:flex;position:relative}.ranger-steps:before{content:"";background:var(--muted);height:2px;position:absolute;top:20px;left:0;right:0}.ranger-steps span{z-index:1;border:1px solid var(--muted);background:var(--store-background);border-radius:50%;place-items:center;width:34px;height:34px;font-size:12px;font-weight:800;display:grid}.ranger-steps span[data-current=true]{border-color:var(--store-aqua);color:var(--store-aqua);box-shadow:0 0 12px color-mix(in oklab, var(--store-aqua) 30%, transparent)}.ranger-steps span[data-done=true]{background:var(--store-aqua);color:var(--store-ink)}.ranger-story{margin:2px 0 12px;font-size:14px;line-height:1.5}.ranger-story strong{color:var(--store-aqua);margin-bottom:2px;font-size:12px;display:block}.ranger-cub-line{border-block:1px solid var(--muted);align-items:center;gap:12px;padding:10px 0;display:flex}.ranger-cub-line>span{font-size:30px}.ranger-cub-line>div{flex:1;min-width:0}.ranger-cub-line label{color:var(--store-gold);font-size:10px;display:block}.ranger-cub-line input{border-bottom:1px solid var(--store-aqua);width:100%;color:var(--foreground);outline-color:var(--store-aqua);background:0 0;padding:3px 0;font-weight:700}.ranger-cub-line>strong{color:var(--store-aqua)}.ranger-route-heading{color:var(--store-aqua);margin:14px 0 8px;font-size:10px;font-weight:800}.ranger-routes{grid-template-columns:1fr 1fr;gap:8px;display:grid}.ranger-route{white-space:normal;text-align:left;border:1px solid var(--muted);background:0 0;border-radius:6px;gap:6px;height:auto;min-height:90px;padding:10px 8px;display:flex}.ranger-route[aria-pressed=true]{background:color-mix(in oklab, var(--store-aqua) 12%, transparent);border-color:var(--store-aqua)}.ranger-route>span:first-child{font-size:22px}.ranger-route strong{font-size:12px;display:block}.ranger-route small{color:var(--muted-foreground);font-size:10px;line-height:1.5;display:block}.ranger-route b{color:var(--store-aqua)}.ranger-mission-rule{align-items:center;gap:8px;margin:12px 0;font-size:12px;line-height:1.4;display:flex}.ranger-mission-rule span{font-size:24px}.ranger-hud{border:1px solid var(--map-turquoise);background:var(--store-background);border-radius:6px;align-items:center;gap:10px;min-height:72px;padding:8px 12px;display:flex;position:relative;overflow:hidden}.ranger-hud img{object-fit:cover;object-position:64% 48%;border-radius:4px;width:64px;height:56px}.ranger-hud>div{flex:1;min-width:0}.ranger-hud span,.ranger-hud small,.ranger-hud strong{display:block}.ranger-hud span{color:var(--store-aqua);font-size:9px;font-weight:800}.ranger-hud strong{font-size:13px}.ranger-hud small{font-size:10px}.ranger-rescue-result{text-align:left;border-block:1px solid var(--map-turquoise);align-items:center;gap:12px;margin:12px 0;padding:10px 0;display:flex}.ranger-rescue-result img{object-fit:cover;object-position:66% 44%;border-radius:4px;width:72px;height:64px}.ranger-rescue-result strong,.ranger-rescue-result span{font-size:12px;display:block}.ranger-rescue-result strong{color:var(--store-aqua)}.mission-marker{pointer-events:none;z-index:10;border:2px solid var(--map-turquoise);background:var(--store-background);border-radius:50%;place-items:center;width:28px;height:28px;font-size:20px;transition:transform .4s;display:grid;position:absolute;top:-5px;right:0}.mission-marker-fire{border-color:var(--buffalo);animation:.9s infinite alternate ranger-flame}.mission-night .animal-token{filter:brightness(.66)saturate(.8)}.mission-night .tile-active .animal-token,.mission-night .hint-tile .animal-token{filter:brightness(1.2)}.mission-night .tile-active{box-shadow:0 0 22px var(--map-turquoise)}@keyframes ranger-flame{to{transform:translateY(-3px)}}@media (height<=780px){.ranger-cover{height:180px}.ranger-chapter-body{padding:0 16px 14px}.ranger-story{margin-bottom:6px;font-size:12px}.ranger-cub-line{padding:6px 0}.ranger-route{min-height:75px}}@media (prefers-reduced-motion:reduce){.mission-marker-fire{animation:none}}.mission-marker-water{border-color:var(--map-turquoise);animation:1.4s ease-in-out infinite alternate ranger-droplet}.mission-marker-snare{border-color:var(--leopard)}.mission-marker-escort{border-color:var(--gold);box-shadow:0 0 14px color-mix(in oklab, var(--gold) 45%, transparent)}.mission-marker-flock{border-color:var(--elephant);animation:.9s ease-in-out infinite alternate ranger-hop}.mission-marker-rain{border-color:var(--rhino);animation:1.1s ease-in-out infinite alternate ranger-fall}.ranger-route-symbol{font-size:22px;line-height:1}.game-board[data-mission=water],.game-board[data-mission=snare],.game-board[data-mission=escort]{filter:sepia(.22)saturate(1.08)brightness(1.02)}.game-board[data-mission=flock]{filter:saturate(1.14)}.game-board[data-mission=rain]{filter:brightness(1.05)hue-rotate(-10deg)saturate(1.1)}@keyframes ranger-droplet{to{transform:translateY(-2px)scale(1.06)}}@keyframes ranger-hop{to{transform:translateY(-4px)}}@keyframes ranger-fall{to{transform:translateY(3px)}}@media (prefers-reduced-motion:reduce){.mission-marker-water,.mission-marker-flock,.mission-marker-rain{animation:none}}
