*,::backdrop,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*
! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com
*/*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}:after,:before{--tw-content:""}:host,html{-webkit-text-size-adjust:100%;font-feature-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-variation-settings:normal;line-height:1.5;tab-size:4}body{line-height:inherit}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-feature-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{font-feature-settings:inherit;color:inherit;font-family:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:initial;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:initial}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]:where(:not([hidden=until-found])){display:none}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.visible{visibility:visible}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0}.right-4{right:1rem}.top-4{top:1rem}.z-50{z-index:50}.mx-4{margin-left:1rem;margin-right:1rem}.mx-auto{margin-left:auto;margin-right:auto}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.block{display:block}.flex{display:flex}.grid{display:grid}.h-2{height:.5rem}.max-h-\[80vh\]{max-height:80vh}.w-full{width:100%}.max-w-4xl{max-width:56rem}.max-w-md{max-width:28rem}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.resize{resize:both}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-4{gap:1rem}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.border{border-width:1px}.border-gray-300{--tw-border-opacity:1;border-color:#d1d5db;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}.bg-black\/50{background-color:#00000080}.bg-blue-50{--tw-bg-opacity:1;background-color:#eff6ff;background-color:rgb(239 246 255/var(--tw-bg-opacity,1))}.bg-blue-500{--tw-bg-opacity:1;background-color:#3b82f6;background-color:rgb(59 130 246/var(--tw-bg-opacity,1))}.bg-gray-100{--tw-bg-opacity:1;background-color:#f3f4f6;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.bg-gray-200{--tw-bg-opacity:1;background-color:#e5e7eb;background-color:rgb(229 231 235/var(--tw-bg-opacity,1))}.bg-green-50{--tw-bg-opacity:1;background-color:#f0fdf4;background-color:rgb(240 253 244/var(--tw-bg-opacity,1))}.bg-purple-200{--tw-bg-opacity:1;background-color:#e9d5ff;background-color:rgb(233 213 255/var(--tw-bg-opacity,1))}.bg-purple-50{--tw-bg-opacity:1;background-color:#faf5ff;background-color:rgb(250 245 255/var(--tw-bg-opacity,1))}.bg-red-500{--tw-bg-opacity:1;background-color:#ef4444;background-color:rgb(239 68 68/var(--tw-bg-opacity,1))}.bg-white{--tw-bg-opacity:1;background-color:#fff;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-white\/90{background-color:#ffffffe6}.bg-yellow-50{--tw-bg-opacity:1;background-color:#fefce8;background-color:rgb(254 252 232/var(--tw-bg-opacity,1))}.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.from-yellow-100{--tw-gradient-from:#fef9c3 var(--tw-gradient-from-position);--tw-gradient-to:#fef9c300 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.to-yellow-200{--tw-gradient-to:#fef08a var(--tw-gradient-to-position)}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-4{padding-left:1rem;padding-right:1rem}.py-1{padding-bottom:.25rem;padding-top:.25rem}.py-2{padding-bottom:.5rem;padding-top:.5rem}.py-8{padding-bottom:2rem;padding-top:2rem}.text-center{text-align:center}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.text-blue-600{--tw-text-opacity:1;color:#2563eb;color:rgb(37 99 235/var(--tw-text-opacity,1))}.text-blue-800{--tw-text-opacity:1;color:#1e40af;color:rgb(30 64 175/var(--tw-text-opacity,1))}.text-gray-500{--tw-text-opacity:1;color:#6b7280;color:rgb(107 114 128/var(--tw-text-opacity,1))}.text-gray-600{--tw-text-opacity:1;color:#4b5563;color:rgb(75 85 99/var(--tw-text-opacity,1))}.text-gray-700{--tw-text-opacity:1;color:#374151;color:rgb(55 65 81/var(--tw-text-opacity,1))}.text-gray-800{--tw-text-opacity:1;color:#1f2937;color:rgb(31 41 55/var(--tw-text-opacity,1))}.text-green-700{--tw-text-opacity:1;color:#15803d;color:rgb(21 128 61/var(--tw-text-opacity,1))}.text-green-800{--tw-text-opacity:1;color:#166534;color:rgb(22 101 52/var(--tw-text-opacity,1))}.text-purple-700{--tw-text-opacity:1;color:#7e22ce;color:rgb(126 34 206/var(--tw-text-opacity,1))}.text-purple-800{--tw-text-opacity:1;color:#6b21a8;color:rgb(107 33 168/var(--tw-text-opacity,1))}.text-white{--tw-text-opacity:1;color:#fff;color:rgb(255 255 255/var(--tw-text-opacity,1))}.text-yellow-800{--tw-text-opacity:1;color:#854d0e;color:rgb(133 77 14/var(--tw-text-opacity,1))}.shadow-lg{--tw-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color);box-shadow:0 0 #0000,0 0 #0000,var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.drop-shadow{--tw-drop-shadow:drop-shadow(0 1px 2px #0000001a) drop-shadow(0 1px 1px #0000000f)}.drop-shadow,.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur-sm{--tw-backdrop-blur:blur(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-transform{transition-duration:.15s;transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1)}.container{margin:0 auto;max-width:1200px;padding:0 1rem;width:100%}.container-sm{max-width:640px}.container-md{max-width:768px}.container-lg{max-width:1024px}.container-xl{max-width:1280px}.text-responsive{font-size:clamp(1rem,4vw,2rem)}.text-responsive-lg{font-size:clamp(1.5rem,5vw,3rem)}.text-responsive-xl{font-size:clamp(2rem,6vw,4rem)}.p-responsive{padding:clamp(1rem,3vw,2rem)}.m-responsive{margin:clamp(1rem,3vw,2rem)}.grid-responsive{grid-gap:clamp(1rem,2vw,2rem);display:grid;gap:clamp(1rem,2vw,2rem);grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr))}.flex-responsive{display:flex;flex-wrap:wrap;gap:clamp(.5rem,2vw,1rem)}.btn-responsive{font-size:clamp(.875rem,2.5vw,1.125rem);min-height:clamp(44px,6vw,56px);padding:clamp(.75rem,2vw,1.5rem)}.img-responsive{height:auto;max-width:100%;width:100%}.img-responsive-cover{height:100%;object-fit:cover;object-position:center;width:100%}.card-responsive{border-radius:clamp(.5rem,2vw,1rem);box-shadow:0 clamp(4px,1vw,8px) clamp(12px,3vw,25px) #00000026;padding:clamp(1rem,3vw,2rem)}.nav-responsive{padding:clamp(.5rem,2vw,1rem)}.nav-item-responsive{font-size:clamp(.875rem,2.5vw,1rem);padding:clamp(.5rem,1.5vw,1rem)}.form-responsive{gap:clamp(.75rem,2vw,1.5rem)}.input-responsive{font-size:clamp(.875rem,2.5vw,1rem);padding:clamp(.5rem,2vw,.75rem)}.animate-responsive{transition:all clamp(.2s,1vw,.3s) ease}.shadow-responsive{box-shadow:0 clamp(2px,1vw,4px) clamp(8px,2vw,16px) #0000001a}.shadow-responsive-lg{box-shadow:0 clamp(4px,2vw,8px) clamp(16px,4vw,32px) #00000026}.rounded-responsive{border-radius:clamp(.25rem,1vw,.5rem)}.rounded-responsive-lg{border-radius:clamp(.5rem,2vw,1rem)}.rounded-responsive-xl{border-radius:clamp(1rem,3vw,1.5rem)}.gap-responsive{gap:clamp(.5rem,2vw,1rem)}.gap-responsive-lg{gap:clamp(1rem,3vw,2rem)}.gap-responsive-xl{gap:clamp(1.5rem,4vw,3rem)}.margin-responsive{margin:clamp(.5rem,2vw,1rem)}.margin-responsive-lg{margin:clamp(1rem,3vw,2rem)}.margin-responsive-xl{margin:clamp(2rem,5vw,4rem)}.padding-responsive{padding:clamp(.5rem,2vw,1rem)}.padding-responsive-lg{padding:clamp(1rem,3vw,2rem)}.padding-responsive-xl{padding:clamp(2rem,5vw,4rem)}.w-responsive{width:clamp(200px,50vw,400px)}.w-responsive-lg{width:clamp(300px,70vw,600px)}.w-responsive-xl{width:clamp(400px,90vw,800px)}.h-responsive{height:clamp(200px,40vh,400px)}.h-responsive-lg{height:clamp(300px,60vh,600px)}.h-responsive-xl{height:clamp(400px,80vh,800px)}.font-responsive{font-weight:clamp(400,2vw,600)}.font-responsive-bold{font-weight:clamp(600,3vw,800)}.leading-responsive{line-height:clamp(1.2,2vw,1.6)}.leading-responsive-tight{line-height:clamp(1,1.5vw,1.4)}.leading-responsive-relaxed{line-height:clamp(1.4,2.5vw,1.8)}.tracking-responsive{letter-spacing:clamp(0,.5vw,.1em)}.tracking-responsive-wide{letter-spacing:clamp(.05em,1vw,.15em)}.opacity-responsive{opacity:clamp(.7,3vw,1)}.opacity-responsive-light{opacity:clamp(.5,2vw,.8)}.scale-responsive{transform:scale(clamp(.9,2vw,1))}.scale-responsive-hover:hover{transform:scale(clamp(1.05,3vw,1.1))}.backdrop-responsive{-webkit-backdrop-filter:blur(clamp(5px,2vw,10px));backdrop-filter:blur(clamp(5px,2vw,10px))}.border-responsive{border-width:clamp(1px,.5vw,2px)}.border-responsive-lg{border-width:clamp(2px,1vw,4px)}.z-responsive{z-index:clamp(10,5vw,50)}.z-responsive-high{z-index:clamp(50,10vw,100)}.z-responsive-max{z-index:clamp(100,20vw,9999)}@media print{.back-button,.btn-primary,.btn-secondary,.landscape-required{display:none!important}.area-screen,.map-screen,.profile-selector{background:#fff!important;color:#000!important}.area-container,.map-container{border:1px solid #ccc!important;box-shadow:none!important}}@media (prefers-contrast:high){:root{--bg-primary:#000;--text-primary:#fff;--border-color:#fff}.animal-card,.new-profile-section,.profile-card{background:#000!important;border:2px solid #fff!important;color:#fff!important}.btn-primary,.btn-secondary{border:2px solid #fff!important}}@media (prefers-reduced-motion:reduce){.rotate-icon,.sparkle{animation:none!important}.animal-card:hover,.animal-container:hover,.btn-delete:hover,.btn-primary:hover,.btn-secondary:hover,.btn-select:hover,.map-area:hover,.profile-card:hover{transform:none!important}}.btn-delete:focus-visible,.btn-primary:focus-visible,.btn-secondary:focus-visible,.btn-select:focus-visible,.form-input:focus-visible,.form-select:focus-visible{outline:3px solid #667eea;outline-offset:2px}::selection{background:#667eea;color:#fff}::-moz-selection{background:#667eea;color:#fff}::-webkit-scrollbar{height:8px;width:8px}::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}::-webkit-scrollbar-thumb{background:#667eea;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#5a6fd8}html{scroll-behavior:smooth}@media (max-width:480px){html{font-size:14px}}@media (min-width:481px) and (max-width:768px){html{font-size:16px}}@media (min-width:769px) and (max-width:1024px){html{font-size:18px}}@media (min-width:1025px){html{font-size:20px}}:root{--space-xs:clamp(0.25rem,1vw,0.5rem);--space-sm:clamp(0.5rem,2vw,1rem);--space-md:clamp(1rem,3vw,2rem);--space-lg:clamp(1.5rem,4vw,3rem);--space-xl:clamp(2rem,5vw,4rem);--space-2xl:clamp(3rem,7vw,6rem);--text-xs:clamp(0.75rem,2vw,0.875rem);--text-sm:clamp(0.875rem,2.5vw,1rem);--text-base:clamp(1rem,3vw,1.125rem);--text-lg:clamp(1.125rem,3.5vw,1.25rem);--text-xl:clamp(1.25rem,4vw,1.5rem);--text-2xl:clamp(1.5rem,5vw,2rem);--text-3xl:clamp(2rem,6vw,2.5rem);--text-4xl:clamp(2.5rem,7vw,3rem);--radius-sm:clamp(0.125rem,0.5vw,0.25rem);--radius-md:clamp(0.25rem,1vw,0.5rem);--radius-lg:clamp(0.5rem,2vw,1rem);--radius-xl:clamp(1rem,3vw,1.5rem);--radius-2xl:clamp(1.5rem,4vw,2rem);--shadow-sm:0 clamp(1px,0.5vw,2px) clamp(3px,1vw,6px) #0000001a;--shadow-md:0 clamp(2px,1vw,4px) clamp(8px,2vw,16px) #00000026;--shadow-lg:0 clamp(4px,2vw,8px) clamp(16px,4vw,32px) #0003;--shadow-xl:0 clamp(8px,3vw,16px) clamp(32px,6vw,64px) #00000040}@media (orientation:landscape){:root{--is-landscape:1;--is-portrait:0}}@media (orientation:portrait){:root{--is-landscape:0;--is-portrait:1}}@media (max-width:1024px){body{overflow-x:hidden}.App,body{min-height:100vh;min-height:100dvh}.area-screen,.map-screen,.profile-selector{min-height:100vh;min-height:100dvh;overflow:visible}.map-scene{border-radius:20px;box-shadow:0 10px 30px #0000004d;height:600px;margin:0 auto;max-width:900px;position:relative}.area-container,.map-scene{overflow:visible;width:100%}.area-container{height:calc(100vh - 120px);height:calc(100dvh - 120px);max-width:100%}.animal-container{display:block!important;overflow:visible!important;position:absolute!important}.animal-container,.animal-sprite{cursor:pointer!important;pointer-events:auto!important;z-index:10!important}.area-scene{overflow:visible!important;position:relative!important;z-index:1!important}.App,.area-screen,.map-screen,.profile-selector,body{min-height:100vh;min-height:100dvh}.area-container,.map-container{height:calc(100vh - 120px);height:calc(100dvh - 120px)}.animal-container{transform-origin:center}.area-scene{overflow:hidden;position:relative}}@media (max-width:1024px) and (orientation:landscape){.area-header,.map-header,.profile-header{margin-bottom:.5rem}.area-title,.map-title,.profile-title{font-size:clamp(1.5rem,4vw,2rem)!important}.area-subtitle,.map-subtitle,.profile-subtitle{font-size:clamp(1rem,3vw,1.25rem)!important}.area-container,.map-container{height:calc(100vh - 80px);height:calc(100dvh - 80px)}.profile-grid{gap:.75rem!important;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))!important}.profile-card{padding:1rem!important}.profile-emoji{font-size:2.5rem!important}.profile-name{font-size:1.125rem!important}}@media (max-width:480px) and (orientation:portrait){.landscape-required h1{font-size:1.25rem!important}.landscape-required p{font-size:.875rem!important}.landscape-required .rotate-icon{font-size:2.5rem!important}.landscape-required .device-icon{font-size:1.5rem!important}}@media (min-width:481px) and (max-width:1024px) and (orientation:landscape){.area-container,.map-container{height:calc(100vh - 100px);height:calc(100dvh - 100px)}.profile-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))!important}}@media (min-width:769px) and (max-width:1024px) and (orientation:landscape){.area-container,.map-container{max-width:1000px}.profile-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))!important}}:root{--mobile:480px;--tablet:768px;--desktop:1024px;--large-desktop:1200px}@media (max-width:480px){.container{padding:.5rem}.map-title{font-size:1.25rem!important}.map-subtitle{font-size:.875rem!important}.profile-card{margin:.5rem 0!important}.profile-card,.profile-form{padding:1rem!important}.btn-primary,.btn-secondary{font-size:.875rem!important;padding:.75rem 1rem!important}}@media (min-width:481px) and (max-width:768px){.container{padding:1rem}.map-title{font-size:1.5rem!important}.map-subtitle{font-size:1rem!important}.profile-grid{gap:1rem!important;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))!important}}@media (min-width:769px) and (max-width:1024px){.container{padding:1.5rem}.profile-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))!important}}@media (min-width:1025px){.container{padding:2rem}.profile-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))!important}}@media (hover:none) and (pointer:coarse){.clickable-area{min-height:44px;min-width:44px}.btn-primary,.btn-secondary{min-height:48px}.animal-container{min-height:60px;min-width:60px}}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi){.animal-sprite,.map-background-image,.overlay-image{image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges}}@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media (prefers-color-scheme:dark){:root{--bg-primary:#1a1a1a;--text-primary:#fff;--border-color:#333}}:root{--bg-primary:#fff;--text-primary:#000;--border-color:#e5e5e5}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.App{text-align:center}.App,.App-content{min-height:100vh}.App-logo{height:40vmin;max-width:100%;pointer-events:none}@media (prefers-reduced-motion:no-preference){.App-logo{animation:App-logo-spin 20s linear infinite}}.App-header{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;flex-direction:column;font-size:calc(10px + 2vmin);justify-content:center;min-height:100vh;padding:2rem}.App-link{color:#61dafb;text-decoration:none;transition:all .3s ease}.App-link:hover{color:#fff;text-decoration:underline}@keyframes App-logo-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@media (orientation:landscape){.App-header{padding:1rem}.App-logo{height:30vmin}}@media (orientation:portrait){.App-header{padding:3rem 2rem}.App-logo{height:35vmin}}.audio-player{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff1a;border-radius:.5rem;margin:0 auto;max-width:28rem;padding:1.5rem}.audio-player h3{color:#fff;font-size:1.25rem;font-weight:700;margin-bottom:1rem}.audio-controls{display:flex;gap:1rem;justify-content:center;margin-bottom:1rem}.audio-button{border:none;border-radius:.5rem;color:#fff;cursor:pointer;font-weight:600;padding:.5rem 1.5rem;transition:all .2s ease}.audio-button:hover{transform:scale(1.05)}.audio-button:active{transform:scale(.95)}.audio-button:disabled{cursor:not-allowed;opacity:.6}.audio-button.play{background-color:#10b981}.audio-button.play:hover{background-color:#059669}.audio-button.stop{background-color:#ef4444}.audio-button.stop:hover{background-color:#dc2626}.audio-button.beep{background-color:#3b82f6}.audio-button.beep:hover{background-color:#2563eb}.volume-control{margin-bottom:1rem}.volume-label{color:#fff;display:block;font-size:.875rem;font-weight:500;margin-bottom:.5rem}.volume-slider{appearance:none;background-color:#d1d5db;border-radius:.5rem;cursor:pointer;height:.5rem;width:100%}.volume-slider::-webkit-slider-thumb{appearance:none;background-color:#3b82f6;border-radius:50%;cursor:pointer;height:1rem;width:1rem}.audio-status{color:#d1d5db;font-size:.875rem;transition:opacity .3s ease}.audio-status.playing{opacity:1}.audio-status.idle{opacity:.5}.landscape-enforcer{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;height:100vh;justify-content:center;left:0;padding:2rem;position:fixed;text-align:center;top:0;width:100vw;z-index:9999}.enforcer-content{max-width:500px;padding:2rem}.landscape-enforcer h1{color:#fff;font-size:2rem;font-weight:700;margin-bottom:1rem}.landscape-enforcer p{font-size:1.1rem;line-height:1.5;margin-bottom:1rem;opacity:.9}.landscape-enforcer .rotate-icon{animation:rotate 2s ease-in-out infinite;font-size:4rem;margin:1.5rem 0}.landscape-enforcer .device-icon{font-size:2.5rem;margin:1rem 0}@keyframes rotate{0%,to{transform:rotate(0deg)}50%{transform:rotate(90deg)}}@media (min-width:1025px){.landscape-enforcer{display:none}}@media (orientation:landscape){.landscape-enforcer{display:none}}.map-area-overlay{background:#0000!important;border:none!important;border-radius:0!important;box-shadow:none!important}.area-png-overlay{background-color:initial!important;border:none!important}.map-area-overlay:hover{background:#0000!important;border:none!important;box-shadow:none!important}.profile-selector{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;flex-direction:column;min-height:100vh;padding:2rem}.profile-header{color:#fff;margin-bottom:2rem;text-align:center}.profile-title{font-size:2.5rem;font-weight:700;margin-bottom:.5rem;text-shadow:2px 2px 4px #0000004d}.profile-subtitle{font-size:1.25rem;opacity:.9;text-shadow:1px 1px 2px #0000004d}.profile-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-bottom:2rem;max-width:1200px;width:100%}.profile-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border:2px solid #0000;box-shadow:0 8px 25px #00000026;text-align:center}.profile-card:hover{border-color:#ffffff4d;box-shadow:0 15px 35px #0003;transform:translateY(-5px)}.profile-emoji{display:block;font-size:4rem;margin-bottom:1rem}.profile-name{color:#333;font-size:1.5rem}.profile-languages{color:#666;font-size:1rem;margin-bottom:1rem}.profile-actions{display:flex;gap:.5rem;justify-content:center}.btn-select{background:#4caf50;border:none;border-radius:.5rem;color:#fff;cursor:pointer;font-size:1rem;font-weight:500;padding:.75rem 1.5rem;transition:all .3s ease}.btn-select:hover{background:#45a049;transform:translateY(-2px)}.btn-delete{background:#f44336;border:none;border-radius:.5rem;color:#fff;cursor:pointer;font-size:1rem;font-weight:500;padding:.75rem 1.5rem;transition:all .3s ease}.btn-delete:hover{background:#da190b;transform:translateY(-2px)}.new-profile-section{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border-radius:1rem;box-shadow:0 8px 25px #00000026;max-width:500px;padding:2rem;text-align:center;width:100%}.new-profile-title{color:#333;font-size:1.75rem;font-weight:700;margin-bottom:1.5rem}.profile-form{gap:1rem;margin-bottom:1.5rem}.form-group,.profile-form{display:flex;flex-direction:column}.form-group{text-align:left}.form-label{color:#333;font-weight:500;margin-bottom:.5rem}.form-input,.form-select{border:2px solid #e1e5e9;border-radius:.5rem;font-size:1rem;padding:.75rem;transition:border-color .3s ease}.form-input:focus,.form-select:focus{border-color:#667eea;outline:none}.emoji-selector{grid-gap:.5rem;background:#f8f9fa;border:2px solid #e1e5e9;border-radius:.5rem;display:grid;gap:.5rem;grid-template-columns:repeat(auto-fit,minmax(40px,1fr));max-height:200px;overflow-y:auto;padding:1rem}.emoji-option{border-radius:.5rem;cursor:pointer;font-size:2rem;padding:.5rem;text-align:center;transition:all .3s ease}.emoji-option:hover{background:#e9ecef;transform:scale(1.1)}.emoji-option.selected{background:#667eea;color:#fff;transform:scale(1.1)}.form-buttons{display:flex;gap:1rem;justify-content:center}.btn-primary{background:#667eea;border:none;border-radius:.5rem;color:#fff;cursor:pointer;font-size:1rem;font-weight:500;min-width:120px;padding:1rem 2rem;transition:all .3s ease}.btn-primary:hover{background:#5a6fd8;transform:translateY(-2px)}.btn-secondary{background:#6c757d;border:none;border-radius:.5rem;color:#fff;cursor:pointer;font-size:1rem;font-weight:500;min-width:120px;padding:1rem 2rem;transition:all .3s ease}.btn-secondary:hover{background:#5a6268;transform:translateY(-2px)}@media (max-width:768px){.profile-selector{padding:1rem}.profile-title{font-size:2rem!important}.profile-subtitle{font-size:1rem!important}.profile-grid{gap:1rem!important;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))!important}.profile-card{padding:1.25rem!important}.profile-emoji{font-size:3rem!important}.profile-name{font-size:1.25rem!important}.new-profile-section{padding:1.5rem!important}.new-profile-title{font-size:1.5rem!important}.emoji-selector{grid-template-columns:repeat(auto-fit,minmax(35px,1fr))!important;max-height:150px!important}.emoji-option{font-size:1.5rem!important}}@media (max-width:480px){.profile-selector{padding:.5rem!important}.profile-title{font-size:1.75rem!important}.profile-subtitle{font-size:.875rem!important}.profile-grid{gap:.75rem!important;grid-template-columns:1fr!important}.profile-card{padding:1rem!important}.profile-emoji{font-size:2.5rem!important}.profile-name{font-size:1.125rem!important}.new-profile-section{padding:1rem!important}.new-profile-title{font-size:1.25rem!important}.form-buttons{flex-direction:column!important;gap:.75rem!important}.btn-primary,.btn-secondary{min-width:0!important;min-width:auto!important;width:100%!important}}@media (min-width:1025px){.profile-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))!important}.profile-title{font-size:3rem}.profile-subtitle{font-size:1.5rem}}.profile-selection{display:flex;flex-direction:column;gap:2rem}.section-title{color:#1f2937;font-size:1.5rem;font-weight:600;margin-bottom:1rem;text-align:center}.profiles-header{justify-content:space-between;margin-bottom:1.5rem}.menu-button,.profiles-header{align-items:center;display:flex}.menu-button{background:#fef2f2;border:2px solid #fecaca;border-radius:50%;color:#ef4444;cursor:pointer;font-size:1.25rem;height:40px;justify-content:center;transition:all .2s ease;width:40px}.menu-button:hover{background:#fee2e2;border-color:#fca5a5;color:#dc2626;transform:scale(1.1)}.trash-icon{height:16px;width:16px}.existing-profiles{display:flex;flex-direction:column;gap:1rem}.profiles-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.profile-card{align-items:center;background:linear-gradient(135deg,#f8fafc,#e2e8f0);border:3px solid #e5e7eb;border-radius:1rem;cursor:pointer;display:flex;flex-direction:column;gap:1rem;overflow:hidden;padding:1.5rem;position:relative;transition:all .3s ease}.profile-card:hover{border-color:#667eea;box-shadow:0 8px 25px #667eea26;transform:translateY(-4px)}.profile-card.delete-mode{background:linear-gradient(135deg,#fef2f2,#fee2e2);border-color:#ef4444}.profile-card.delete-mode:hover{border-color:#dc2626;box-shadow:0 8px 25px #ef444426}.profile-icon{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;box-shadow:0 4px 12px #667eea4d;display:flex;height:80px;justify-content:center;transition:all .3s ease;width:80px}.profile-card:hover .profile-icon{box-shadow:0 6px 20px #667eea66;transform:scale(1.1)}.profile-emoji{filter:drop-shadow(0 2px 4px rgba(0,0,0,.1));font-size:2.5rem}.profile-info{flex:1 1;text-align:center}.profile-name{color:#1f2937;font-size:1.25rem;font-weight:700;margin-bottom:.5rem}.profile-languages{color:#6b7280;font-size:.875rem;margin-bottom:.25rem}.delete-overlay{align-items:center;background:#ef4444e6;border-radius:1rem;bottom:0;color:#fff;display:flex;flex-direction:column;font-weight:600;justify-content:center;left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .3s ease}.profile-card.delete-mode:hover .delete-overlay{opacity:1}.delete-icon{font-size:2rem;margin-bottom:.5rem}.delete-text{font-size:1rem}.delete-instruction{color:#ef4444;font-size:.875rem;font-weight:600;margin-top:1rem;text-align:center}.new-profile-button{align-items:center;background:linear-gradient(135deg,#10b981,#059669);border:none;border-radius:1rem;box-shadow:0 4px 12px #10b9814d;color:#fff;cursor:pointer;display:flex;font-size:1.25rem;font-weight:600;gap:.75rem;justify-content:center;margin-top:1rem;padding:1.5rem 2rem;transition:all .3s ease}.new-profile-button:hover{box-shadow:0 8px 25px #10b98166;transform:translateY(-2px)}.new-profile-icon{font-size:1.5rem}.no-profiles{background:linear-gradient(135deg,#f8fafc,#e2e8f0);border:2px dashed #d1d5db;border-radius:1rem;color:#6b7280;padding:3rem 2rem;text-align:center}.no-profiles-icon{filter:drop-shadow(0 2px 4px rgba(0,0,0,.1));font-size:4rem;margin-bottom:1rem}.no-profiles p{font-size:1.125rem;font-weight:500;margin:0}.map-container{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;flex-direction:column;justify-content:center;min-height:100vh;padding:2rem}.map-header{margin-bottom:2rem}.map-header h1{font-size:2.5rem;font-weight:700;margin-bottom:1rem}.map-header p{font-size:1.125rem;margin-bottom:.5rem;opacity:.9}.map-content{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border-radius:1rem;margin-bottom:2rem;max-width:600px;padding:2rem;text-align:center}.map-content h2{font-size:1.5rem;font-weight:600;margin-bottom:1rem}.map-content p{font-size:1rem;margin-bottom:.5rem;opacity:.9}.back-button{background:#fff3;border:2px solid #ffffff4d;border-radius:.5rem;font-size:1rem;padding:.75rem 1.5rem;transition:all .2s ease}.back-button:hover{background:#ffffff4d;border-color:#ffffff80}.loading{font-size:1.25rem;opacity:.8}.fade-in{animation:fadeIn .5s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.scale-hover:hover{transform:scale(1.05)}.scale-active:active{transform:scale(.95)}.debug-section{background:#0003;border:1px solid #fff3;border-radius:.5rem;margin-top:2rem;padding:1rem}.debug-section h3{color:#fbbf24;font-size:1.25rem;font-weight:600;margin-bottom:1rem}.debug-data{background:#0000004d;border-radius:.5rem;color:#10b981;font-family:Courier New,monospace;font-size:.875rem;margin-bottom:1rem;overflow-x:auto;padding:1rem;text-align:left;white-space:pre-wrap;word-break:break-word}.debug-buttons{display:flex;flex-wrap:wrap;gap:.5rem}.debug-button{background:#f59e0b;border:none;border-radius:.5rem;color:#fff;cursor:pointer;flex:1 1;font-size:.875rem;font-weight:600;min-width:200px;padding:.5rem 1rem;transition:all .2s ease}.debug-button:hover{background:#d97706;transform:translateY(-1px)}.debug-button.secondary{background:#8b5cf6}.debug-button.secondary:hover{background:#7c3aed}@media (max-width:768px){.profile-container{margin:1rem;padding:1.5rem}.profile-title{font-size:1.5rem}.language-options{flex-direction:column;gap:.5rem}.map-header h1{font-size:2rem}.map-content{margin:1rem;padding:1.5rem}.debug-data{font-size:.75rem;padding:.75rem}.profiles-grid{grid-template-columns:1fr}.debug-buttons,.form-actions,.profile-actions{flex-direction:column}.debug-button{min-width:auto}}.map-screen{background:linear-gradient(135deg,#87ceeb,#98fb98);min-height:100vh;overflow:visible;padding:1rem;position:relative}.map-header{margin-bottom:1rem;position:relative;text-align:center;z-index:10}.map-title{color:#fff;font-size:2.5rem;font-weight:700;margin:0 0 .5rem;text-shadow:2px 2px 4px #0000004d}.map-subtitle{color:#ffffffe6;font-size:1.25rem;margin:0;text-shadow:1px 1px 2px #0000004d}.map-background-image{object-position:center}.map-svg-fallback{display:none;height:100%;left:0;position:absolute;top:0;width:100%}.map-area{border-radius:.5rem;cursor:pointer;overflow:hidden;position:absolute;transition:all .3s ease;z-index:5}.map-area:hover{box-shadow:0 5px 15px #0000004d;transform:scale(1.05)}.map-area img{height:100%;object-fit:contain;width:100%}.map-area-overlay{border-radius:0;height:100%;left:0;top:0;transition:opacity .3s ease;width:100%}@media (max-width:768px){.map-screen{padding:.5rem}.map-title{font-size:1.75rem!important}.map-subtitle{font-size:1rem!important}.map-container{border-radius:.5rem;height:calc(100vh - 100px)}.map-area{min-height:60px;min-width:60px}}@media (max-width:480px){.map-title{font-size:1.5rem!important}.map-subtitle{font-size:.875rem!important}.map-container{border-radius:.25rem;height:calc(100vh - 80px)}.map-area{min-height:50px;min-width:50px}}@media (min-width:1025px){.map-container{max-width:1400px}.map-title{font-size:3rem}.map-subtitle{font-size:1.5rem}}.map-area-overlay{background:#0000;border:none;opacity:1}img.area-png-overlay{display:block!important;max-height:none!important;max-width:none!important;opacity:1!important;visibility:visible!important}.area-fallback{display:none;height:252px;pointer-events:none;width:336px}.map-area-overlay:hover{filter:brightness(1.1)}.map-area-overlay:hover .area-png-overlay{filter:drop-shadow(0 4px 12px rgba(0,0,0,.3))}.area-info-panel{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border:1px solid #fff3;border-radius:15px;box-shadow:0 8px 25px #00000026;margin:20px auto;max-width:500px;padding:20px;text-align:center}.area-info-panel h3{color:#2c3e50;font-size:1.8rem;font-weight:700;margin-bottom:10px}.area-info-panel p{color:#34495e;font-size:1.1rem;line-height:1.5;margin-bottom:20px}.loading-indicator{text-align:center}.loading-dots{display:flex;gap:8px;justify-content:center;margin-bottom:15px}.loading-dots span{animation:loading-bounce 1.4s ease-in-out infinite both;background:#3498db;border-radius:50%;height:12px;width:12px}.loading-dots span:first-child{animation-delay:-.32s}.loading-dots span:nth-child(2){animation-delay:-.16s}@keyframes loading-bounce{0%,80%,to{opacity:.5;transform:scale(0)}40%{opacity:1;transform:scale(1)}}@media (max-width:768px){.map-title{font-size:2rem}.map-subtitle{font-size:1rem}.map-image-container{height:400px}.area-fallback,.area-png-overlay{height:189px;width:252px}.map-area-overlay{transform:scale(.8)}.map-area-overlay:hover{transform:scale(.85)}}.area-screen{display:flex;flex-direction:column;padding:0;width:100vw}.area-title{color:#fff;margin-bottom:1rem;text-shadow:2px 2px 4px #0000004d}.area-description{color:#fff;font-size:1.125rem;margin-bottom:.5rem;opacity:.9}.area-content{align-items:center;display:flex;flex:1 1;flex-direction:column;height:auto;justify-content:flex-start;margin:0 0 2rem;padding:0;text-align:center;width:100%}.area-scene{overflow:visible!important;position:relative!important;z-index:1}.area-scene,.map-scene{border-radius:20px;box-shadow:0 10px 30px #0000004d;height:600px;margin:0 auto;max-width:900px;width:100%}.map-scene{overflow:visible;position:relative}@media (max-width:768px){.map-scene{height:400px;max-width:100%}}@media (max-width:480px){.map-scene{height:300px}}.area-background-container,.map-background-container{height:100%;left:0;position:absolute;top:0;width:100%;z-index:1}.area-background-image{object-position:center}.area-background-image,.map-background-image{border-radius:20px;height:100%;object-fit:cover;width:100%}.animal-overlay{cursor:pointer;position:absolute;transition:all .3s ease;z-index:10}.animal-info-panel{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border:1px solid #fff3;border-radius:clamp(10px,2vh,15px);bottom:clamp(10px,3vh,20px);box-shadow:0 8px 25px #00000026;left:50%;max-width:90vw;min-width:clamp(250px,80vw,300px);padding:clamp(10px,2vh,20px);position:absolute;text-align:center;transform:translateX(-50%);z-index:20}.animal-info-panel h3{color:#2c3e50;font-size:clamp(1.2rem,4vw,1.8rem);font-weight:700;margin-bottom:clamp(5px,1.5vh,10px)}.animal-info-panel p{color:#34495e;font-size:clamp(.9rem,3vw,1.1rem);line-height:1.5;margin-bottom:clamp(10px,2vh,15px)}.animal-sound{align-items:center;background:linear-gradient(135deg,#3498db,#2980b9);border-radius:clamp(15px,3vh,25px);color:#fff;display:flex;font-size:clamp(.9rem,3vw,1.1rem);font-weight:700;gap:clamp(5px,1.5vw,10px);justify-content:center;padding:clamp(8px,1.5vh,10px) clamp(15px,3vw,20px)}.sound-icon{font-size:clamp(1rem,3.5vw,1.2rem)}.coming-soon{background:#ffffffe6;border-radius:clamp(15px,3vh,20px);box-shadow:0 8px 25px #0000001a;margin:clamp(10px,2vh,20px);padding:clamp(20px,5vh,40px);text-align:center}.coming-soon-icon{font-size:clamp(2.5rem,8vw,4rem);margin-bottom:clamp(15px,3vh,20px)}.coming-soon h2{color:#2c3e50;font-size:clamp(1.5rem,5vw,2rem);margin-bottom:clamp(10px,2vh,15px)}.coming-soon p{color:#34495e;font-size:clamp(1rem,3.5vw,1.2rem);line-height:1.6}.back-button{background:linear-gradient(135deg,#3498db,#2980b9);border-radius:25px;box-shadow:0 4px 15px #3498db4d;color:#fff;display:block;font-size:1.1rem;font-weight:600;margin:0 auto;padding:15px 30px}.back-button:hover{box-shadow:0 6px 20px #3498db66}.back-button:active{transform:translateY(0)}@media (max-width:768px){.area-title{font-size:2rem}.area-description{font-size:1rem}.area-scene{height:400px}.animal-info-panel{min-width:250px;padding:15px}.animal-info-panel h3{font-size:1.5rem}.animal-info-panel p{font-size:1rem}}.animal-container{clip:auto!important;clip-path:none!important;overflow:visible!important;pointer-events:auto;position:absolute!important;transform-origin:center;z-index:10}.animal-sprite{cursor:pointer;transition:all .3s ease}.sparkle-container{left:50%;pointer-events:none;position:absolute;top:-50px;transform:translateX(-50%);z-index:20}.sparkle{box-shadow:0 0 10px #ffd700cc;height:8px;width:8px}.loading-container{align-items:center;display:flex;flex-direction:column;gap:clamp(15px,3vh,20px);height:60vh;justify-content:center;padding:clamp(20px,5vh,40px)}.loading-spinner{border:clamp(3px,1vw,4px) solid #3498db33;border-radius:50%;border-top-color:#3498db;height:clamp(40px,8vw,50px);width:clamp(40px,8vw,50px)}.loading-container p{color:#34495e;font-size:clamp(1rem,3.5vw,1.2rem);font-weight:500}.error-container{background:#e74c3c1a;border:clamp(1px,.5vw,2px) solid #e74c3c4d;border-radius:clamp(15px,3vh,20px);margin:clamp(10px,2vh,20px) auto;max-width:clamp(300px,90vw,500px);padding:clamp(20px,5vh,40px);text-align:center}.error-container h2{color:#c0392b;font-size:clamp(1.5rem,4vw,2rem);margin-bottom:clamp(10px,2vh,15px)}.error-container p{color:#e74c3c;font-size:clamp(1rem,3vw,1.2rem);margin-bottom:clamp(15px,3vh,20px)}.error-container button{background:#e74c3c;border:none;border-radius:clamp(10px,2vh,15px);color:#fff;cursor:pointer;font-size:clamp(.9rem,2.5vw,1rem);font-weight:600;min-height:44px;min-width:44px;padding:clamp(8px,1.5vh,10px) clamp(15px,3vw,20px);transition:all .3s ease}.error-container button:hover{background:#c0392b;transform:translateY(-2px)}.area-screen{background:linear-gradient(135deg,#87ceeb,#98fb98);min-height:100vh;overflow:hidden;padding:1rem;position:relative}.area-header{margin-bottom:1rem;position:relative;text-align:center;z-index:10}.area-title{color:#2c3e50;font-size:2.5rem;font-weight:700;margin:0 0 .5rem;text-shadow:2px 2px 4px #0000001a}.area-subtitle{color:#34495e;font-size:1.25rem;margin:0;text-shadow:1px 1px 2px #0000001a}.area-container{border-radius:1rem;box-shadow:0 10px 30px #0000004d;height:calc(100vh - 120px);margin:0 auto;max-width:1200px;overflow:hidden;position:relative;width:100%}.area-background{height:100%;object-fit:cover;object-position:center;width:100%}.animal-container:hover{transform:scale(1.1);z-index:10}.animal-disabled{cursor:not-allowed;filter:grayscale(50%);opacity:.5;pointer-events:none}.animal-speaking{cursor:default;opacity:1}.animal-sparkles{left:50%;pointer-events:none;position:absolute;top:50%;transform:translate(-50%,-50%);z-index:15}.sparkle{animation:sparkle 1s ease-out forwards;background:gold;border-radius:50%;height:clamp(6px,1.5vw,12px);position:absolute;width:clamp(6px,1.5vw,12px)}@keyframes sparkle{0%{opacity:1;transform:scale(0) rotate(0deg)}50%{opacity:1;transform:scale(1) rotate(180deg)}to{opacity:0;transform:scale(0) rotate(1turn)}}.back-button{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffe6;border:none;border-radius:clamp(.25rem,1vh,.5rem);color:#333;cursor:pointer;font-size:clamp(.75rem,2.5vw,1rem);font-weight:500;left:clamp(.5rem,2vw,1rem);min-height:44px;min-width:44px;padding:clamp(.5rem,1.5vh,.75rem) clamp(.5rem,1.5vw,1rem);position:absolute;top:clamp(.5rem,2vh,1rem);transition:all .3s ease;z-index:20}.back-button:hover{background:#fff;box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}@media (max-width:768px){.area-screen{padding:0}.area-title{font-size:1.75rem!important}.area-subtitle{font-size:1rem!important}.area-container{border-radius:.5rem;height:calc(100vh - 100px)}.back-button{font-size:.875rem;left:.5rem;padding:.5rem .75rem;top:.5rem}}@media (max-width:480px){.area-title{font-size:1.5rem!important}.area-subtitle{font-size:.875rem!important}.area-container{border-radius:.25rem;height:calc(100vh - 80px)}.back-button{font-size:.75rem;left:.25rem;padding:.5rem;top:.25rem}}@media (min-width:1025px){.area-container{max-width:1400px}.area-title{font-size:3rem}.area-subtitle{font-size:1.5rem}}@media (min-width:768px) and (max-width:1024px) and (orientation:portrait){.area-scene{height:500px;max-width:800px;width:100%}.area-title{font-size:2rem}.area-description{font-size:1rem}}*{box-sizing:border-box}body,html{-webkit-overflow-scrolling:touch;overflow-x:hidden;overflow-y:auto}img{height:auto;image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges;max-width:100%}.animal-container,.animal-info-panel,.area-description,.area-scene,.area-title,.back-button{transition:all .3s cubic-bezier(.4,0,.2,1)}@media (min-width:768px) and (max-width:1024px) and (orientation:landscape){.area-scene{height:500px;max-width:800px;width:100%}.area-title{font-size:1.75rem}.area-description{font-size:.9rem}}@media (max-width:767px) and (orientation:portrait){.area-scene{height:400px;max-width:100%;width:100%}.area-title{font-size:1.5rem}.area-description{font-size:.8rem}}@media (max-width:767px) and (orientation:landscape){.area-scene{height:300px;max-width:100%;width:100%}.area-title{font-size:1.25rem}.area-description{font-size:.75rem}}.animal-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border:2px solid #0000;border-radius:1rem;box-shadow:0 8px 25px #00000026;cursor:pointer;max-width:300px;padding:1.5rem;text-align:center;transition:all .3s ease;width:100%}.animal-card:hover{border-color:#667eea4d;box-shadow:0 15px 35px #0003;transform:translateY(-5px)}.animal-card-emoji{display:block;font-size:4rem;margin-bottom:1rem}.animal-card-name{color:#333;font-size:1.5rem;font-weight:700;margin-bottom:.5rem}.animal-card-description{color:#666;font-size:1rem;margin-bottom:1rem}.animal-card-button{background:#667eea;border:none;border-radius:.5rem;color:#fff;cursor:pointer;font-size:1rem;font-weight:500;padding:.75rem 1.5rem;transition:all .3s ease;width:100%}.animal-card-button:hover{background:#5a6fd8;transform:translateY(-2px)}@media (max-width:768px){.animal-card{max-width:250px;padding:1.25rem}.animal-card-emoji{font-size:3rem!important}.animal-card-name{font-size:1.25rem!important}.animal-card-description{font-size:.875rem!important}}@media (max-width:480px){.animal-card{max-width:200px;padding:1rem}.animal-card-emoji{font-size:2.5rem!important}.animal-card-name{font-size:1.125rem!important}.animal-card-description{font-size:.75rem!important}}@media (min-width:1025px){.animal-card{max-width:350px}.animal-card-emoji{font-size:5rem}.animal-card-name{font-size:1.75rem}.animal-card-description{font-size:1.125rem}}.map-area-overlay{border-radius:.5rem;cursor:pointer;min-height:252px;min-width:336px;overflow:visible;position:absolute;transition:all .3s ease;z-index:10}.map-area-overlay:hover{box-shadow:0 5px 15px #0000004d;transform:scale(1.05);z-index:15}.area-png-overlay{background-color:#00ff001a;border:2px solid #0f0;display:block;height:100%;min-height:50px;min-width:50px;object-fit:contain;opacity:1!important;pointer-events:none;visibility:visible!important;width:100%}.area-fallback{align-items:center;background-color:#ffffff1a;border:2px solid #ffffff4d;border-radius:.5rem;color:#fff;display:flex;font-size:1.5rem;font-weight:700;height:100%;justify-content:center;text-shadow:1px 1px 2px #00000080;width:100%}@media (max-width:768px){.area-png-overlay,.map-area-overlay{min-height:60px;min-width:60px}}@media (max-width:480px){.area-png-overlay,.map-area-overlay{min-height:50px;min-width:50px}}@media (min-width:1025px){.area-png-overlay,.map-area-overlay{min-height:80px;min-width:80px}}.hover\:scale-110:hover{--tw-scale-x:1.1;--tw-scale-y:1.1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:bg-red-600:hover{--tw-bg-opacity:1;background-color:#dc2626;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.hover\:text-gray-700:hover{--tw-text-opacity:1;color:#374151;color:rgb(55 65 81/var(--tw-text-opacity,1))}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),0 0 #0000;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-blue-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(59 130 246/var(--tw-ring-opacity,1))}@media (min-width:768px){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width:1024px){.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}
/*# sourceMappingURL=main.8c16211c.css.map*/