*,:before,:after{--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: rgb(59 130 246 / .5);--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: }::backdrop{--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: rgb(59 130 246 / .5);--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: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}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,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color: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:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-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,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.absolute{position:absolute}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.mt-2{margin-top:.5rem}.block{display:block}.flex{display:flex}.table{display:table}.grid{display:grid}.h-16{height:4rem}.w-16{width:4rem}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-center{justify-content:center}.gap-4{gap:1rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.border{border-width:1px}.bg-gray-50{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1))}.bg-green-500{--tw-bg-opacity: 1;background-color:rgb(34 197 94 / var(--tw-bg-opacity, 1))}.bg-purple-500{--tw-bg-opacity: 1;background-color:rgb(168 85 247 / var(--tw-bg-opacity, 1))}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.object-contain{-o-object-fit:contain;object-fit:contain}.p-3{padding:.75rem}.p-6{padding:1.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.text-center{text-align:center}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.uppercase{text-transform:uppercase}.text-gray-600{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.text-gray-800{--tw-text-opacity: 1;color:rgb(31 41 55 / var(--tw-text-opacity, 1))}.text-green-700{--tw-text-opacity: 1;color:rgb(21 128 61 / var(--tw-text-opacity, 1))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.shadow-md{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-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)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-300{transition-duration:.3s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}html,body{width:100%;height:100%;margin:0;padding:0;overflow-x:hidden}:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.hover\:bg-green-600:hover{--tw-bg-opacity: 1;background-color:rgb(22 163 74 / var(--tw-bg-opacity, 1))}.hover\:bg-purple-600:hover{--tw-bg-opacity: 1;background-color:rgb(147 51 234 / var(--tw-bg-opacity, 1))}:root{--color-primary: #0d9488;--color-primary-dark: #0f766e;--color-primary-light: #ccfbf1;--color-accent: #f59e0b;--color-accent-light: #fef3c7;--color-success: #16a34a;--color-success-dark: #15803d;--color-danger: #ef4444;--color-surface: #ffffff;--color-surface-alt: #f0fdf4;--color-border: #e2e8f0;--color-text-primary: #0f172a;--color-text-secondary: #475569;--color-text-muted: #94a3b8;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 24px;--shadow-sm: 0 1px 3px rgba(0,0,0,.08), 0 1px 2px rgba(0,0,0,.06);--shadow-md: 0 4px 12px rgba(0,0,0,.1);--shadow-lg: 0 8px 24px rgba(0,0,0,.12);--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}.family-setup{min-height:100vh;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-dark) 100%);font-family:var(--font-sans);display:flex;align-items:center;justify-content:center;padding:20px}.setup-container{background:var(--color-surface);border-radius:var(--radius-xl);padding:40px;max-width:600px;width:100%;box-shadow:var(--shadow-lg)}.setup-header h1{text-align:center;font-size:2.5rem;font-weight:800;color:#1a202c;margin-bottom:10px;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-dark) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.setup-progress{display:flex;flex-direction:column;align-items:center;margin-bottom:30px}.progress-steps{display:flex;align-items:center;margin-bottom:8px}.progress-step{width:40px;height:40px;border-radius:50%;background:#e2e8f0;display:flex;align-items:center;justify-content:center;font-weight:600;color:#64748b;margin:0 15px;position:relative}.progress-step.active{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-dark) 100%);color:#fff}.progress-step:not(:last-child):after{content:"";position:absolute;top:50%;left:100%;width:30px;height:2px;background:#e2e8f0;transform:translateY(-50%)}.progress-labels{display:flex;gap:30px;font-size:.85rem;color:#64748b}.setup-step h2{font-size:1.5rem;color:#1a202c;margin-bottom:15px;text-align:center}.setup-step p{color:#64748b;text-align:center;margin-bottom:25px;line-height:1.6}.child-input-group{background:#f8fafc;border-radius:12px;padding:20px;margin-bottom:20px;border:1px solid #e2e8f0}.child-input-group h3{margin:0 0 15px;color:#1a202c;font-size:1.1rem}.child-inputs{display:grid;grid-template-columns:1fr 120px auto;gap:15px;align-items:end}.add-child-button,.remove-child-button{padding:8px 15px;border:none;border-radius:8px;font-weight:500;cursor:pointer;transition:all .2s ease}.add-child-button{background:#22c55e;color:#fff;margin:10px 0}.add-child-button:hover{background:#16a34a;transform:translateY(-1px)}.remove-child-button{background:#ef4444;color:#fff;height:-moz-fit-content;height:fit-content}.remove-child-button:hover{background:#dc2626}.family-summary{background:#f8fafc;border-radius:12px;padding:20px;margin:20px 0}.summary-section h3{margin:0 0 10px;color:#1a202c;font-size:1.1rem}.child-summary{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid #e2e8f0}.child-summary:last-child{border-bottom:none}.child-name{font-weight:500;color:#1a202c}.child-age{color:#64748b;font-size:.9rem}.setup-info{background:#f0f9ff;border:1px solid #0ea5e9;border-radius:12px;padding:20px;margin:20px 0}.setup-info h3{margin:0 0 15px;color:#0369a1}.setup-info ul{margin:0;padding-left:20px;color:#0369a1}.setup-info li{margin-bottom:8px;line-height:1.4}.form-actions{display:flex;justify-content:space-between;margin-top:25px;gap:15px}.back-button{background:#6b7280;color:#fff;border:none;padding:12px 24px;border-radius:10px;font-weight:500;cursor:pointer;transition:all .2s ease}.back-button:hover{background:#4b5563;transform:translateY(-1px)}.setup-complete-button{background:linear-gradient(135deg,#22c55e,#16a34a);box-shadow:0 4px 15px #22c55e66}.setup-complete-button:hover{transform:translateY(-2px);box-shadow:0 6px 20px #22c55e66}.parent-dashboard{min-height:100vh;background:var(--color-surface-alt);font-family:var(--font-sans);padding:0;margin:0}.dashboard-header{background:var(--color-surface);border-bottom:3px solid var(--color-primary);padding:20px 32px;box-shadow:var(--shadow-sm);position:sticky;top:0;z-index:100}.header-content{max-width:1400px;margin:0 auto;display:flex;justify-content:between;align-items:center;gap:24px}.app-title{font-size:2.5rem;font-weight:800;color:#1a202c;margin:0;letter-spacing:-.02em;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-dark) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.header-controls{display:flex;align-items:center;gap:20px}.player-selector{position:relative}.player-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#fff;border:2px solid #e2e8f0;border-radius:16px;padding:12px 40px 12px 16px;font-size:1rem;font-weight:600;color:#2d3748;cursor:pointer;transition:all .3s ease;min-width:180px;box-shadow:0 4px 16px #0000000d}.player-select:hover{border-color:var(--color-primary);box-shadow:0 6px 24px #0d948826}.player-select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #0d94881a}.points-display{background:linear-gradient(135deg,var(--color-accent) 0%,#d97706 100%);color:#fff;padding:12px 20px;border-radius:var(--radius-lg);font-weight:700;font-size:1.1rem;box-shadow:0 4px 16px #f59e0b4d;display:flex;align-items:center;gap:8px}.dashboard-nav{background:var(--color-surface);border-radius:var(--radius-xl);padding:8px;box-shadow:var(--shadow-sm);max-width:1400px;margin:16px auto;border:1px solid var(--color-border);display:flex;align-items:center;gap:8px}.nav-buttons{display:flex;justify-content:space-around;gap:8px}.nav-button{flex:1;padding:16px 24px;border:none;border-radius:16px;font-weight:700;font-size:1rem;cursor:pointer;transition:all .3s ease;position:relative;background:transparent;color:var(--color-text-primary)}.nav-button:hover{color:var(--color-primary);transform:translateY(-1px)}.nav-button.active{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-dark) 100%);color:#fff;box-shadow:0 4px 14px #0d948859}.nav-button.active:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,#fff3,#ffffff1a);border-radius:16px}.dashboard-main{max-width:1400px;margin:0 auto;padding:0 32px 32px}.dashboard-content{background:var(--color-surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);overflow:hidden;min-height:600px;border:1px solid var(--color-border)}.dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;height:100%}.dashboard-section{padding:32px;position:relative}.dashboard-section:first-child{border-right:1px solid rgba(226,232,240,.8)}.section-title{font-size:1.75rem;font-weight:800;color:#1a202c;margin-bottom:24px;display:flex;align-items:center;gap:12px}.section-icon{width:32px;height:32px;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-dark) 100%);border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.2rem}.behavior-cards{display:flex;flex-direction:column;gap:16px}.behavior-card{background:#fff;border:2px solid #f7fafc;border-radius:20px;padding:20px;box-shadow:0 4px 16px #0000000a;transition:all .3s ease;position:relative;overflow:hidden}.behavior-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-dark) 100%)}.behavior-card:hover{border-color:#e2e8f0;box-shadow:0 8px 32px #0000001a;transform:translateY(-2px)}.behavior-header{display:flex;justify-content:between;align-items:center;margin-bottom:16px}.behavior-name{font-size:1.25rem;font-weight:700;color:#2d3748;margin:0}.behavior-category{background:#edf2f7;color:#4a5568;padding:4px 12px;border-radius:12px;font-size:.875rem;font-weight:600}.behavior-description{color:#718096;font-size:.95rem;line-height:1.5;margin-bottom:20px}.points-award-section{display:flex;align-items:center;gap:12px;padding:16px;background:#f7fafc;border-radius:16px}.points-input{flex:1;border:2px solid #e2e8f0;border-radius:12px;padding:10px 12px;font-size:1rem;font-weight:600;color:#2d3748;transition:all .3s ease}.points-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #0d94881a}.award-button{background:linear-gradient(135deg,#48bb78,#38a169);color:#fff;border:none;border-radius:12px;padding:10px 16px;font-weight:700;cursor:pointer;transition:all .3s ease;font-size:.95rem}.award-button:hover{transform:translateY(-1px);box-shadow:0 6px 20px #48bb7866}.award-button:disabled{opacity:.5;cursor:not-allowed;transform:none}.items-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:12px;max-width:100%;justify-content:start}.item-card{background:#fff;border:2px solid #f7fafc;border-radius:12px;padding:12px;text-align:center;transition:all .3s ease;cursor:pointer;position:relative;overflow:hidden;min-height:120px;display:flex;flex-direction:column;justify-content:center}.item-card:hover{border-color:#e2e8f0;transform:translateY(-2px);box-shadow:0 8px 24px #0000001a}.item-card.selected{border-color:var(--color-primary);box-shadow:0 0 0 3px #0d94881a}.item-image{width:48px;height:48px;-o-object-fit:contain;object-fit:contain;margin:0 auto 8px;border-radius:8px}.item-emoji{font-size:36px;margin-bottom:8px;display:block}.item-name{font-weight:600;color:#2d3748;font-size:.875rem;margin-bottom:8px}.item-habitat{background:#edf2f7;color:#4a5568;padding:2px 8px;border-radius:8px;font-size:.75rem;font-weight:600}.action-button{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-dark) 100%);color:#fff;border:none;border-radius:12px;padding:8px 16px;font-weight:700;cursor:pointer;transition:all .3s ease;font-size:.875rem;margin-top:8px}.action-button:hover{transform:translateY(-1px);box-shadow:0 4px 16px #0d948866}.action-button.danger{background:linear-gradient(135deg,#f56565,#e53e3e)}.zoo-layout-wrapper{display:flex;height:100%;gap:24px}.zoo-main-area{flex:1;padding:32px}.zoo-sidebar{width:320px;background:#f7fafccc;border-left:1px solid rgba(226,232,240,.6);padding:32px 24px;overflow-y:auto}.edit-mode-toggle{background:linear-gradient(135deg,#ed8936,#dd6b20);color:#fff;border:none;border-radius:16px;padding:12px 20px;font-weight:700;cursor:pointer;transition:all .3s ease;margin-left:16px;font-size:.9rem}.edit-mode-toggle.active{background:linear-gradient(135deg,#f56565,#e53e3e)}.edit-mode-toggle:hover{transform:translateY(-1px);box-shadow:0 6px 20px #ed893666}.sidebar-section{margin-bottom:32px}.sidebar-title{font-size:1.25rem;font-weight:700;color:#2d3748;margin-bottom:16px}.empty-state{text-align:center;color:#a0aec0;font-style:italic;padding:32px}.shop-container{padding:0}.shop-stats{display:flex;gap:24px;margin-bottom:32px;justify-content:center}.stat-card{background:#fff;border:2px solid #f7fafc;border-radius:20px;padding:24px;display:flex;align-items:center;gap:16px;box-shadow:0 4px 16px #0000000a;transition:all .3s ease;min-width:200px}.stat-card:hover{border-color:#e2e8f0;transform:translateY(-2px);box-shadow:0 8px 32px #0000001a}.stat-icon{font-size:2rem;width:48px;height:48px;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-dark) 100%);border-radius:16px;display:flex;align-items:center;justify-content:center}.stat-info{display:flex;flex-direction:column}.stat-value{font-size:2rem;font-weight:800;color:#1a202c;line-height:1}.stat-label{color:#718096;font-size:.9rem;font-weight:600}.shop-items-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:24px;margin-top:24px}.shop-item-card{background:#fff;border:2px solid #f7fafc;border-radius:24px;padding:24px;text-align:center;transition:all .3s ease;position:relative;overflow:hidden;display:flex;flex-direction:column;gap:16px}.shop-item-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(135deg,#48bb78,#38a169)}.shop-item-card.disabled:before{background:linear-gradient(135deg,#cbd5e0,#a0aec0)}.shop-item-card:hover:not(.disabled){border-color:#e2e8f0;transform:translateY(-4px);box-shadow:0 12px 40px #00000026}.shop-item-card.disabled{opacity:.6;filter:grayscale(.3)}.shop-item-card.owned{border-color:#68d391;box-shadow:0 0 0 1px #68d391}.owned-badge{position:absolute;top:8px;right:8px;background:#38a169;color:#fff;font-size:.65rem;font-weight:700;padding:2px 7px;border-radius:999px;letter-spacing:.04em;z-index:1}.shop-item-visual{display:flex;align-items:center;justify-content:center;margin-bottom:8px}.shop-item-image{width:64px;height:64px;-o-object-fit:contain;object-fit:contain;border-radius:12px;background:#f7fafccc;padding:8px}.shop-item-emoji{font-size:4rem;display:block}.shop-item-placeholder{font-size:4rem;color:#cbd5e0;display:block}.shop-item-info{flex:1;display:flex;flex-direction:column;gap:12px}.shop-item-name{font-size:1.25rem;font-weight:700;color:#2d3748;margin:0;line-height:1.3}.shop-item-habitat{display:flex;align-items:center;justify-content:center;gap:8px;background:#edf2f7;color:#4a5568;padding:8px 12px;border-radius:12px;font-size:.875rem;font-weight:600}.shop-item-cost{display:flex;align-items:center;justify-content:center;gap:8px;font-size:1.1rem;font-weight:700;color:#2d3748}.cost-icon{font-size:1.2rem}.cost-value{color:#38a169}.shop-buy-button{background:linear-gradient(135deg,#48bb78,#38a169);color:#fff;border:none;border-radius:16px;padding:16px 24px;font-weight:700;cursor:pointer;transition:all .3s ease;font-size:1rem;display:flex;align-items:center;justify-content:center;gap:8px;margin-top:auto}.shop-buy-button:hover:not(.disabled){transform:translateY(-2px);box-shadow:0 8px 24px #48bb7866}.shop-buy-button.disabled{background:linear-gradient(135deg,#cbd5e0,#a0aec0);color:#718096;cursor:not-allowed;transform:none}.shop-buy-button.disabled:hover{transform:none;box-shadow:none}.chore-categories{display:flex;flex-direction:column;gap:16px}.chore-category{background:#fff;border-radius:20px;padding:20px;box-shadow:0 4px 16px #0000000a;border:2px solid #f7fafc;transition:all .3s ease}.chore-category:hover{border-color:#e2e8f0;box-shadow:0 8px 32px #0000001a}.category-title{font-size:1.25rem;font-weight:700;color:#2d3748;margin-bottom:16px;display:flex;align-items:center;gap:8px;border-bottom:2px solid rgba(0,0,0,.05);padding-bottom:8px}.category-icon{font-size:1.5rem;width:32px;height:32px;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-dark) 100%);border-radius:12px;display:flex;align-items:center;justify-content:center}.chore-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px}.chore-card{background:#f8fafc;border:2px solid #e2e8f0;border-radius:16px;padding:16px;display:flex;align-items:center;justify-content:space-between;transition:all .3s ease;cursor:pointer}.chore-card:hover{border-color:var(--color-primary);background:#fff;transform:translateY(-2px);box-shadow:0 6px 20px #0d948826}.chore-card.completed{background:linear-gradient(135deg,#48bb78,#38a169);border-color:#38a169;color:#fff;transform:scale(1.05);box-shadow:0 8px 24px #48bb7866}.chore-content{display:flex;align-items:center;gap:12px;flex:1}.chore-emoji{font-size:2rem;width:48px;height:48px;background:#ffffffe6;border-radius:12px;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #0000001a}.chore-card.completed .chore-emoji{background:#fff3}.chore-info{flex:1}.chore-name{font-size:1rem;font-weight:600;color:#2d3748;margin-bottom:4px}.chore-card.completed .chore-name{color:#fff}.chore-points{font-size:.875rem;color:#4a5568;font-weight:500}.chore-card.completed .chore-points{color:#ffffffe6}.chore-checkbox{width:48px;height:48px;border:none;border-radius:50%;background:#e2e8f0;color:#4a5568;font-size:1.5rem;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #0000001a}.chore-checkbox:hover{background:var(--color-primary);color:#fff;transform:scale(1.1);box-shadow:0 4px 16px #667eea4d}.chore-checkbox.checked{background:linear-gradient(135deg,#48bb78,#38a169);color:#fff;transform:scale(1.1);box-shadow:0 4px 16px #48bb7866}.chore-checkbox:disabled{cursor:not-allowed;opacity:1}.habitat-detail-container{width:100%;height:100%;display:flex;flex-direction:column;background:#fff;border-radius:24px;overflow:hidden;box-shadow:0 16px 64px #0000001a}.habitat-detail-header{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-dark) 100%);padding:20px 32px;display:flex;align-items:center;gap:20px}.back-button{background:#fff3;color:#fff;border:2px solid rgba(255,255,255,.3);border-radius:16px;padding:12px 20px;font-weight:700;cursor:pointer;transition:all .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.back-button:hover{background:#ffffff4d;border-color:#ffffff80;transform:translateY(-2px);box-shadow:0 6px 20px #0003}.habitat-title{font-size:2.5rem;font-weight:800;color:#fff;margin:0;text-shadow:0 2px 4px rgba(0,0,0,.3)}.habitat-detail-content{flex:1;position:relative;overflow:hidden}.habitat-background-image{width:100%;height:100%;background-size:cover;background-position:center;background-repeat:no-repeat;display:flex;align-items:center;justify-content:center;min-height:600px;position:relative}.habitat-overlay{background:#0000004d;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);border-radius:20px;padding:32px;margin:20px;width:calc(100% - 40px);max-width:1000px;border:2px solid rgba(255,255,255,.2);display:flex;flex-direction:column;align-items:center}.habitat-animals{width:100%;text-align:center}.animals-title{font-size:2rem;font-weight:700;color:#fff;margin-bottom:24px;text-shadow:0 2px 4px rgba(0,0,0,.5)}.animals-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;width:100%}.animal-display-card{background:#fffffff2;border-radius:20px;padding:20px;box-shadow:0 8px 32px #0003;transition:all .3s ease;text-align:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:2px solid rgba(255,255,255,.3)}.animal-display-card:hover{transform:translateY(-4px);box-shadow:0 12px 40px #0000004d;background:#fff}.animal-image-container{width:120px;height:120px;margin:0 auto 16px;background:#f7fafccc;border-radius:16px;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 16px #0000001a}.animal-full-image{max-width:100px;max-height:100px;-o-object-fit:contain;object-fit:contain;border-radius:8px}.animal-emoji-large{font-size:4rem;line-height:1}.animal-name{font-size:1.25rem;font-weight:700;color:#2d3748;margin-top:8px}.empty-habitat{display:flex;align-items:center;justify-content:center;width:100%;height:300px}.empty-habitat-message{text-align:center;color:#fff;padding:32px;background:#0006;border-radius:20px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:2px solid rgba(255,255,255,.2)}.empty-icon{font-size:4rem;display:block;margin-bottom:16px;opacity:.8}.empty-habitat-message h3{font-size:1.5rem;font-weight:700;margin-bottom:12px;text-shadow:0 2px 4px rgba(0,0,0,.5)}.empty-habitat-message p{font-size:1rem;opacity:.9;line-height:1.6;max-width:400px}.parent-management{width:100%;padding:0}.management-header{text-align:center;margin-bottom:32px}.management-title{font-size:2.5rem;font-weight:800;color:#2d3748;margin-bottom:12px;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-dark) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.management-description{font-size:1.1rem;color:#4a5568;max-width:600px;margin:0 auto;line-height:1.6}.management-tabs{display:flex;justify-content:center;gap:8px;margin-bottom:32px;background:#fff;padding:8px;border-radius:20px;box-shadow:0 4px 16px #0000000d}.tab-button{padding:12px 24px;border:none;border-radius:16px;font-weight:700;cursor:pointer;transition:all .3s ease;background:transparent;color:#4a5568;font-size:1rem}.tab-button:hover{background:#f7fafc;color:#2d3748}.tab-button.active{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-dark) 100%);color:#fff;box-shadow:0 4px 16px #667eea4d}.management-content{background:#fff;border-radius:24px;padding:32px;box-shadow:0 8px 32px #00000014;border:2px solid #f7fafc}.management-subtitle{font-size:1.75rem;font-weight:700;color:#2d3748;margin-bottom:20px;display:flex;align-items:center;gap:12px}.section-description{color:#718096;margin-bottom:24px;font-size:1rem;line-height:1.6}.chore-management{display:flex;flex-direction:column;gap:40px}.age-selector{display:flex;align-items:center;gap:12px;margin-bottom:24px}.age-selector label{font-weight:600;color:#4a5568}.age-select{padding:10px 16px;border:2px solid #e2e8f0;border-radius:12px;font-weight:600;background:#fff;color:#000;cursor:pointer;transition:all .3s ease}.age-select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #0d94881a}.template-chore-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px;margin-top:16px}.template-chore-card{background:#f8fafc;border:2px solid #e2e8f0;border-radius:16px;padding:16px;display:flex;align-items:center;gap:16px;transition:all .2s ease}.template-chore-card:hover{background:#fff;border-color:var(--color-primary);transform:translateY(-2px);box-shadow:0 6px 20px #0d948826}.template-chore-card.selectable{cursor:pointer}.template-chore-card.tpl-checked{background:#f0fdf4;border-color:var(--color-primary)}.template-chore-card.tpl-unchecked{opacity:.5;border-color:#e2e8f0}.template-chore-card.tpl-unchecked:hover{opacity:.8;transform:none;box-shadow:none}.template-checkbox{width:18px;height:18px;flex-shrink:0;accent-color:var(--color-primary);cursor:pointer}.template-list-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.template-list-title{font-size:.9rem;font-weight:600;color:var(--color-text-secondary)}.template-select-controls{display:flex;align-items:center;gap:6px;font-size:.8rem;color:var(--color-text-muted)}.template-select-link{background:none;border:none;color:var(--color-primary);font-size:.8rem;font-weight:600;cursor:pointer;padding:2px 4px}.template-select-link:hover{text-decoration:underline}.add-selected-btn{width:100%;margin-top:16px;padding:14px;background:var(--color-primary);color:#fff;border:none;border-radius:12px;font-size:.95rem;font-weight:700;cursor:pointer;transition:background .15s,transform .1s}.add-selected-btn:hover:not(:disabled){background:var(--color-primary-dark);transform:translateY(-1px)}.add-selected-btn:disabled{background:#cbd5e1;cursor:not-allowed;transform:none}.template-chore-card.adult-chore{border-color:#48bb78;background:#f0fff4}.template-chore-card.adult-chore:hover{border-color:#38a169;box-shadow:0 6px 20px #48bb7826}.template-chore-info{flex:1;display:flex;align-items:center;gap:12px}.template-emoji{font-size:1.8rem;width:40px;height:40px;background:#fffc;border-radius:12px;display:flex;align-items:center;justify-content:center}.template-name{font-weight:600;color:#2d3748;margin-bottom:4px}.template-schedule{font-size:.875rem;color:#718096;font-weight:500}.template-points{font-weight:700;color:#38a169;font-size:.9rem}.add-chore-btn{width:40px;height:40px;border:none;border-radius:50%;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-dark) 100%);color:#fff;font-size:1.2rem;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center}.add-chore-btn:hover{transform:scale(1.1);box-shadow:0 4px 16px #667eea4d}.adult-chores-section{border-top:2px solid #e2e8f0;padding-top:32px}.frequency-title{font-size:1.25rem;font-weight:600;color:#2d3748;margin-bottom:16px;margin-top:24px}.add-player-form{display:flex;gap:12px;align-items:center;margin-bottom:32px}.player-name-input{flex:1;padding:12px 16px;border:2px solid #e2e8f0;border-radius:12px;font-size:1rem;font-weight:600;transition:all .3s ease}.player-name-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #0d94881a}.add-player-btn{padding:12px 24px;background:linear-gradient(135deg,#48bb78,#38a169);color:#fff;border:none;border-radius:12px;font-weight:700;cursor:pointer;transition:all .3s ease}.add-player-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #48bb784d}.player-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}.player-card{background:#f8fafc;border:2px solid #e2e8f0;border-radius:16px;padding:20px;display:flex;justify-content:space-between;align-items:center;transition:all .3s ease}.player-card:hover{background:#fff;border-color:var(--color-primary);transform:translateY(-2px);box-shadow:0 6px 20px #0d948826}.player-name{font-size:1.25rem;font-weight:700;color:#2d3748;margin-bottom:4px}.player-points{color:#38a169;font-weight:600}.player-actions{display:flex;gap:8px}.edit-player-btn,.reset-points-btn{padding:8px 16px;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease;font-size:.875rem}.edit-player-btn{background:var(--color-primary);color:#fff}.reset-points-btn{background:#f56565;color:#fff}.edit-player-btn:hover,.reset-points-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #0003}.schedule-templates{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px}.schedule-card{background:#f8fafc;border:2px solid #e2e8f0;border-radius:20px;padding:24px;transition:all .3s ease}.schedule-card:hover{background:#fff;border-color:var(--color-primary);transform:translateY(-2px);box-shadow:0 8px 32px #0d948826}.schedule-card h4{font-size:1.25rem;font-weight:700;color:#2d3748;margin-bottom:16px;display:flex;align-items:center;gap:8px}.schedule-card ul{list-style:none;padding:0;margin:0}.schedule-card li{color:#4a5568;font-weight:500;border-bottom:1px solid rgba(226,232,240,.5);position:relative;padding:8px 0 8px 20px}.schedule-card li:before{content:"✓";position:absolute;left:0;color:#48bb78;font-weight:700}.schedule-card li:last-child{border-bottom:none}@media (max-width: 1024px){.dashboard-grid{grid-template-columns:1fr;gap:1px}.dashboard-section:first-child{border-right:none;border-bottom:1px solid rgba(226,232,240,.8)}.zoo-layout-wrapper{flex-direction:column}.zoo-sidebar{width:100%}.shop-stats{flex-direction:column;align-items:center}.shop-items-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}}@media (max-width: 768px){.parent-dashboard{padding:0}.dashboard-header{padding:16px 20px}.header-content{flex-direction:column;gap:16px}.app-title{font-size:2rem}.dashboard-nav{margin:16px 20px}.nav-buttons{flex-direction:column;gap:8px}.dashboard-main{padding:0 20px 20px}.dashboard-section{padding:24px}.items-grid{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px}}@media (max-width: 480px){.app-title{font-size:1.75rem}.section-title{font-size:1.5rem}.behavior-cards{gap:12px}.behavior-card{padding:16px}.points-award-section{flex-direction:column;gap:8px}.points-input,.award-button{width:100%}}.habitat-detail-header-overlay{position:absolute;top:20px;left:50%;transform:translate(-50%);background:#000000b3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:12px;padding:16px 24px;z-index:10}.habitat-detail-header-overlay .animals-title{color:#fff;margin:0;font-size:1.5rem;text-shadow:2px 2px 4px rgba(0,0,0,.5)}.animals-on-habitat{position:relative;width:100%;height:100%}.animal-in-habitat{position:absolute;display:flex;flex-direction:column;align-items:center;cursor:pointer;transition:all .3s ease}.animal-in-habitat:hover{transform:translate(-50%,-50%) scale(1.1);z-index:5}.animal-habitat-image{width:80px;height:80px;-o-object-fit:cover;object-fit:cover;border-radius:50%;border:3px solid rgba(255,255,255,.8);box-shadow:0 4px 16px #0000004d;background:#fff}.animal-emoji-habitat{font-size:3rem;background:#ffffffe6;border-radius:50%;width:80px;height:80px;display:flex;align-items:center;justify-content:center;border:3px solid rgba(255,255,255,.8);box-shadow:0 4px 16px #0000004d}.animal-name-label{background:#000c;color:#fff;padding:4px 8px;border-radius:6px;font-size:.8rem;font-weight:600;margin-top:8px;white-space:nowrap;text-shadow:1px 1px 2px rgba(0,0,0,.5)}.empty-habitat-overlay{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#ffffffe6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:16px;padding:40px;text-align:center;max-width:400px;box-shadow:0 8px 32px #0000001a}.empty-habitat-overlay h3{color:#4a5568;margin:16px 0;font-size:1.5rem}.empty-habitat-overlay p{color:#718096;font-size:1rem;line-height:1.5}.custom-task-section{background:#fffffff2;border-radius:16px;padding:24px;margin:24px 0;box-shadow:0 4px 20px #0000001a}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.toggle-form-btn{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-dark) 100%);color:#fff;border:none;border-radius:12px;padding:12px 20px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 15px #667eea4d}.toggle-form-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #0d948866}.custom-task-form{background:#f8fafccc;border-radius:12px;padding:24px;margin-top:16px}.form-row{display:flex;gap:16px;margin-bottom:16px;flex-wrap:wrap}.form-group{flex:1;min-width:200px}.form-group label{display:block;margin-bottom:6px;font-weight:600;color:#4a5568;font-size:14px}.task-input,.emoji-input,.points-input,.schedule-select{width:100%;padding:12px 16px;border:2px solid #e2e8f0;border-radius:8px;font-size:14px;transition:all .2s ease;background:#fff;color:#000}.task-input:focus,.emoji-input:focus,.points-input:focus,.schedule-select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #0d94881a}.emoji-input{text-align:center;font-size:18px;max-width:80px}.points-input{max-width:100px}.form-actions{display:flex;justify-content:flex-end;margin-top:20px}.create-task-btn{background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;border-radius:12px;padding:14px 28px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 15px #10b9814d}.create-task-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #10b98166}.create-task-btn:disabled{background:#cbd5e0;cursor:not-allowed;transform:none;box-shadow:none}.existing-behaviors-section{background:#fffffff2;border-radius:16px;padding:24px;margin:24px 0;box-shadow:0 4px 20px #0000001a}.behaviors-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;margin-top:20px}.behavior-card{background:#fff;border-radius:12px;padding:16px;box-shadow:0 2px 10px #0000001a;transition:all .2s ease}.behavior-card:hover{transform:translateY(-2px);box-shadow:0 4px 15px #00000026}.behavior-display{display:flex;justify-content:space-between;align-items:center}.behavior-info{display:flex;align-items:center;gap:12px}.behavior-emoji{font-size:24px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:#0d94881a;border-radius:8px}.behavior-details{display:flex;flex-direction:column}.behavior-name{font-weight:600;color:#2d3748;font-size:16px}.behavior-points{color:var(--color-primary);font-size:14px;font-weight:500}.behavior-actions{display:flex;gap:8px}.edit-btn,.delete-btn,.save-btn,.cancel-btn{background:none;border:none;padding:8px;border-radius:6px;cursor:pointer;font-size:16px;transition:all .2s ease}.edit-btn:hover{background:#0d94881a}.delete-btn:hover{background:#ef44441a}.save-btn:hover{background:#10b9811a}.cancel-btn:hover{background:#6b72801a}.edit-behavior-form{width:100%}.edit-form-row{display:flex;gap:8px;margin-bottom:12px;align-items:center}.edit-name-input{flex:1;padding:8px 12px;border:2px solid #e2e8f0;border-radius:6px;font-size:14px}.edit-emoji-input{width:50px;padding:8px;border:2px solid #e2e8f0;border-radius:6px;text-align:center;font-size:16px}.edit-points-input{width:70px;padding:8px 12px;border:2px solid #e2e8f0;border-radius:6px;font-size:14px}.edit-form-actions{display:flex;gap:8px;justify-content:flex-end}.empty-behaviors{text-align:center;padding:40px;color:#718096}@media (max-width: 768px){.form-row{flex-direction:column;gap:12px}.form-group{min-width:auto}.behaviors-grid{grid-template-columns:1fr}.edit-form-row{flex-direction:column;align-items:stretch}.edit-name-input,.edit-emoji-input,.edit-points-input{margin-bottom:8px}}.access-code-login{min-height:100vh;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-dark) 100%);display:flex;align-items:center;justify-content:center;padding:20px;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.login-container{background:#fffffff2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:24px;box-shadow:0 20px 40px #0000001a;padding:40px;max-width:500px;width:100%;border:1px solid rgba(255,255,255,.2)}.login-header{text-align:center;margin-bottom:32px}.login-header h1{font-size:2.5rem;font-weight:800;color:#1a202c;margin:0 0 12px;letter-spacing:-.02em}.login-header p{color:#4a5568;font-size:1.1rem;margin:0;line-height:1.5}.login-form{display:flex;flex-direction:column;gap:24px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{font-weight:600;color:#2d3748;font-size:.9rem}.login-input{padding:16px 20px;border:2px solid #e2e8f0;border-radius:12px;font-size:1rem;transition:all .2s ease;background:#fff;color:#1a202c;font-weight:500}.login-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #0d94881a}.login-input::-moz-placeholder{color:#9ca3af;font-weight:400}.login-input::placeholder{color:#9ca3af;font-weight:400}.access-code-input{font-family:Monaco,Courier New,monospace;font-weight:700}.error-message{background:#fed7d7;color:#c53030;padding:12px 16px;border-radius:8px;display:flex;align-items:center;gap:8px;font-size:.9rem}.success-message{background:#c6f6d5;color:#22543d;padding:12px 16px;border-radius:8px;display:flex;align-items:center;gap:8px;font-size:.9rem}.form-actions{margin-top:8px}.login-button{width:100%;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-dark) 100%);color:#fff;border:none;padding:16px 24px;border-radius:12px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .2s ease}.login-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 25px #667eea4d}.login-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.help-section{margin-top:32px;padding-top:24px;border-top:1px solid #e2e8f0;text-align:center}.check-code-button{background:#f7fafc;color:#4a5568;border:2px solid #e2e8f0;padding:12px 20px;border-radius:8px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease;margin-bottom:20px}.check-code-button:hover:not(:disabled){background:#edf2f7;border-color:#cbd5e0}.help-links p{color:#4a5568;margin:12px 0 8px;font-size:.9rem}.purchase-link{display:inline-block;background:#48bb78;color:#fff;text-decoration:none;padding:12px 24px;border-radius:8px;font-weight:600;transition:all .2s ease;margin:8px 0}.purchase-link:hover{background:#38a169;transform:translateY(-1px)}.help-text{color:#718096;font-size:.8rem;margin-top:8px}.features-preview{margin-top:32px;padding-top:24px;border-top:1px solid #e2e8f0}.features-preview h3{color:#2d3748;font-size:1.2rem;font-weight:700;margin:0 0 16px;text-align:center}.features-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.feature-item{display:flex;align-items:center;gap:8px;color:#4a5568;font-size:.9rem;font-weight:500}.feature-icon{font-size:1.2rem}@media (max-width: 768px){.login-container{padding:32px 24px;margin:12px}.login-header h1{font-size:2rem}.features-grid{grid-template-columns:1fr}}.behavior-list-container{display:flex;flex-direction:column;gap:16px}.time-slot-tabs{display:flex;gap:8px;flex-wrap:wrap;padding:4px 0 8px;border-bottom:2px solid #e2e8f0}.time-slot-tab{display:flex;align-items:center;gap:4px;padding:8px 14px;border:2px solid #e2e8f0;border-radius:999px;background:#fff;font-size:.875rem;font-weight:600;color:#64748b;cursor:pointer;transition:all .2s ease}.time-slot-tab:hover{border-color:var(--color-primary);color:var(--color-primary)}.time-slot-tab.active{background:var(--color-primary);border-color:transparent;color:#fff;box-shadow:0 2px 8px #0d94884d}.tab-icon{font-size:1rem;line-height:1}.tab-label{line-height:1}.domain-badge{display:inline-flex;align-items:center;gap:3px;padding:2px 8px;border-radius:999px;font-size:.7rem;font-weight:600;margin-top:4px;white-space:nowrap}.all-done-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;text-align:center;background:linear-gradient(135deg,#f0fdf4,#dcfce7);border-radius:20px;border:2px solid #86efac}.all-done-emoji{font-size:3.5rem;margin-bottom:12px;animation:bounce .6s ease infinite alternate}.all-done-state p{font-size:1.25rem;font-weight:700;color:#15803d;margin:0}@keyframes bounce{0%{transform:translateY(0)}to{transform:translateY(-8px)}}.behavior-meta{font-size:.7rem;color:#94a3b8;margin-top:2px;text-transform:capitalize}.edit-form-row{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:8px}.edit-form-row .schedule-select{flex:1;min-width:120px}.time-picker{display:flex;flex-direction:column;align-items:center;padding:32px 24px 24px;gap:24px}.time-picker-title{font-size:1.5rem;font-weight:800;color:var(--color-text-primary);margin:0;text-align:center}.time-picker-subtitle{font-size:.95rem;color:var(--color-text-muted);margin:-16px 0 0;text-align:center}.time-picker-cards{display:flex;flex-direction:column;gap:14px;width:100%;max-width:420px}.time-picker-card{display:flex;align-items:center;gap:20px;padding:20px 24px;border-radius:var(--radius-lg);border:none;cursor:pointer;transition:all .2s ease;text-align:left;width:100%;box-shadow:var(--shadow-sm)}.time-picker-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.time-picker-card:active{transform:translateY(0)}.time-picker-card.morning{background:linear-gradient(135deg,#fef3c7,#fed7aa)}.time-picker-card.afternoon{background:linear-gradient(135deg,#dbeafe,#bfdbfe)}.time-picker-card.evening{background:linear-gradient(135deg,#ede9fe,#ddd6fe)}.time-picker-emoji{font-size:3rem;line-height:1;flex-shrink:0}.time-picker-info{flex:1}.time-picker-label{font-size:1.2rem;font-weight:800;color:var(--color-text-primary);margin:0 0 2px}.time-picker-count{font-size:.85rem;color:var(--color-text-secondary);font-weight:500}.time-picker-arrow{font-size:1.2rem;color:var(--color-text-muted);flex-shrink:0}.time-picker-all-link{background:none;border:none;color:var(--color-text-muted);font-size:.9rem;font-weight:500;cursor:pointer;padding:8px;text-decoration:underline;text-underline-offset:3px;transition:color .15s}.time-picker-all-link:hover{color:var(--color-primary)}.change-time-link{display:inline-flex;align-items:center;gap:6px;background:none;border:1px solid var(--color-border);border-radius:999px;color:var(--color-text-secondary);font-size:.85rem;font-weight:600;cursor:pointer;padding:6px 14px;margin-bottom:16px;transition:all .15s}.change-time-link:hover{border-color:var(--color-primary);color:var(--color-primary)}.daily-counter{display:inline-flex;align-items:center;gap:3px;padding:2px 8px;border-radius:999px;font-size:.7rem;font-weight:700;margin-top:4px;background:var(--color-primary-light);color:var(--color-primary-dark);border:1px solid rgba(13,148,136,.25)}.daily-counter.at-limit{background:#f1f5f9;color:var(--color-text-muted);border-color:var(--color-border)}.quick-reward-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;z-index:200;display:flex;align-items:flex-end}.quick-reward-panel{background:var(--color-surface);border-radius:var(--radius-xl) var(--radius-xl) 0 0;width:100%;max-height:65vh;display:flex;flex-direction:column;box-shadow:0 -8px 32px #00000026;animation:slideUp .25s ease-out}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.quick-reward-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 16px;border-bottom:1px solid var(--color-border);flex-shrink:0}.quick-reward-header h3{font-size:1.1rem;font-weight:800;color:var(--color-text-primary);margin:0}.quick-reward-close{background:none;border:none;font-size:1.4rem;cursor:pointer;color:var(--color-text-muted);padding:4px;line-height:1;transition:color .15s}.quick-reward-close:hover{color:var(--color-text-primary)}.quick-reward-list{overflow-y:auto;flex:1;padding:8px 0}.quick-reward-row{display:flex;align-items:center;gap:14px;padding:14px 24px;border-bottom:1px solid #f1f5f9;transition:background .15s}.quick-reward-row:last-child{border-bottom:none}.quick-reward-row:hover{background:var(--color-surface-alt)}.quick-reward-emoji{font-size:1.6rem;flex-shrink:0}.quick-reward-name{flex:1;font-weight:600;color:var(--color-text-primary);font-size:.95rem}.reward-progress-pill{padding:3px 10px;border-radius:999px;font-size:.75rem;font-weight:700;flex-shrink:0;background:var(--color-primary-light);color:var(--color-primary-dark);border:1px solid rgba(13,148,136,.25)}.reward-progress-pill.at-limit{background:#f1f5f9;color:var(--color-text-muted);border-color:var(--color-border)}.quick-reward-btn{background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-md);padding:8px 16px;font-size:.85rem;font-weight:700;cursor:pointer;flex-shrink:0;transition:all .15s}.quick-reward-btn:hover:not(:disabled){background:var(--color-primary-dark);transform:scale(1.04)}.quick-reward-btn:disabled{background:#e2e8f0;color:var(--color-text-muted);cursor:not-allowed}.nav-button.quick-reward-nav{flex:0 0 auto;background:linear-gradient(135deg,var(--color-accent) 0%,#d97706 100%);color:#fff;padding:16px 20px;box-shadow:0 4px 14px #f59e0b4d}.nav-button.quick-reward-nav:hover{background:linear-gradient(135deg,#d97706,#b45309);box-shadow:0 6px 18px #f59e0b66;transform:translateY(-1px)}.nav-button.logout-btn{flex:0 0 auto;background:transparent;color:var(--color-text-muted);border:1px solid var(--color-border);font-size:.78rem;padding:8px 14px;margin-left:auto;opacity:.7}.nav-button.logout-btn:hover{background:#fee2e2;color:var(--color-danger);border-color:var(--color-danger);opacity:1;transform:none;box-shadow:none}.zoo-page{padding:20px;background:linear-gradient(135deg,#e8f5e9,#c8e6c9);border-radius:16px;box-shadow:0 8px 32px #0000001a;flex-grow:1;display:flex;flex-direction:column;align-items:center;min-height:100vh;font-family:var(--font-sans, "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif)}.zoo-page h2{margin-bottom:20px;color:#2e7d32;text-shadow:0 2px 4px rgba(0,0,0,.1)}.zoo-layout-container{display:flex;flex-direction:column;gap:16px;padding:20px;border:4px solid #8d6e63;-o-border-image:linear-gradient(45deg,#8d6e63,#a1887f) 1;border-image:linear-gradient(45deg,#8d6e63,#a1887f) 1;background-image:url(/assets/sanctuary-zoo_layout-BwTRGGmT.png);background-size:cover;background-position:center;background-repeat:no-repeat;background-attachment:fixed;border-radius:20px;width:100%;max-width:1000px;box-shadow:0 12px 40px #00000026;position:relative;overflow:hidden}.zoo-layout-container:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:repeating-linear-gradient(45deg,transparent,transparent 10px,rgba(255,255,255,.03) 10px,rgba(255,255,255,.03) 20px);pointer-events:none}.zoo-row{display:flex;gap:16px;align-items:stretch;flex-wrap:wrap;position:relative;z-index:1}.habitat-group{flex:1;display:flex;flex-direction:column;gap:12px;min-width:300px}.habitat-group.full-width{flex-basis:100%}.habitat{border-radius:16px;padding:20px;box-shadow:0 6px 24px #0000001f;flex-grow:1;display:flex;flex-direction:column;min-height:240px;max-height:280px;aspect-ratio:1;position:relative;cursor:pointer;transition:all .3s ease;border:3px solid transparent;background-clip:padding-box;background-color:#f8f9fa;overflow:hidden}.habitat:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,#fff3,#ffffff0d);pointer-events:none}.habitat.populated{transform:scale(1);filter:brightness(1);border:3px solid #4caf50}.habitat.unlocked{transform:scale(1);filter:brightness(.9);border:3px solid #ff9800}.habitat.available{transform:scale(.98);filter:brightness(.8);border:3px solid #2196f3;cursor:pointer}.habitat.locked{transform:scale(.95);filter:brightness(.6) grayscale(.3);cursor:not-allowed}.habitat:hover.populated,.habitat:hover.unlocked,.habitat:hover.available{transform:scale(1.02) translateY(-2px);box-shadow:0 8px 32px #0000002e}.habitat-lock{position:absolute;top:10px;right:10px;font-size:24px;background:#000000b3;color:#fff;border-radius:50%;width:40px;height:40px;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #0000004d}.habitat h3{margin:0 0 8px;font-size:1.25em;font-weight:700;border-bottom:2px solid rgba(255,255,255,.3);padding:8px 12px;text-align:center;color:#fff;text-shadow:2px 2px 4px rgba(0,0,0,.8);position:relative;z-index:1;background:#00000080;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:8px}.habitat-note{font-size:.8em;color:#fff;margin:0 0 12px;text-align:center;font-style:italic;line-height:1.4;position:relative;z-index:1;background:#0006;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);padding:6px 8px;border-radius:6px;text-shadow:1px 1px 2px rgba(0,0,0,.8)}.habitat[data-habitat=Savanna]{background-image:url(/assets/biome-zoo_savanna-XKSN0pFG.png);background-size:cover;background-position:center;background-repeat:no-repeat;border-color:#ffeb3b}.habitat[data-habitat="Savanna Grasslands"]{background-image:url(/assets/biome-zoo_savanna_grasslands-B6YVhSLS.png);background-size:cover;background-position:center;background-repeat:no-repeat;border-color:#cddc39}.habitat[data-habitat="Savanna Rocky"]{background-image:url(/assets/biome-zoo_savanna_rocky-BYlGh4a1.png);background-size:cover;background-position:center;background-repeat:no-repeat;border-color:#8d6e63}.habitat[data-habitat="Savanna Water"]{background-image:url(/assets/biome-zoo_savanna_water-BAaru9fj.png);background-size:cover;background-position:center;background-repeat:no-repeat;border-color:#03a9f4}.habitat[data-habitat=Jungle]{background-image:url(/assets/biome-zoo_jungle-sP_MxebE.png);background-size:cover;background-position:center;background-repeat:no-repeat;border-color:#4caf50}.habitat[data-habitat="Jungle Foliage"]{background-image:url(/assets/biome-zoo_jungle_foliage-CAGD9ezD.png);background-size:cover;background-position:center;background-repeat:no-repeat;border-color:#2e7d32}.habitat[data-habitat="Jungle River"]{background-image:url(/assets/biome-zoo_jungle_river-BNTZxtCj.png);background-size:cover;background-position:center;background-repeat:no-repeat;border-color:#009688}.habitat[data-habitat=Arctic]{background-image:url(/assets/biome-zoo_arctic-D5KyQSH6.png);background-size:cover;background-position:center;background-repeat:no-repeat;border-color:#03a9f4}.habitat[data-habitat="Arctic Forest"]{background-image:url(/assets/biome-zoo_arctic_forest-BBeMabDr.png);background-size:cover;background-position:center;background-repeat:no-repeat;border-color:#2e7d32}.habitat[data-habitat="Arctic Snow Ice"]{background-image:url(/assets/biome-zoo_arctic_snow_ice-DGcv7aX0.png);background-size:cover;background-position:center;background-repeat:no-repeat;border-color:#b3e5fc}.habitat[data-habitat="Arctic Water"]{background-image:url(/assets/biome-zoo_arctic_water-DVPbAYay.png);background-size:cover;background-position:center;background-repeat:no-repeat;border-color:#1976d2}.habitat[data-habitat="Oceanic Depths"]{background-image:url(/assets/biome-zoo_oceanic_depths-CmZ03Lg4.png);background-size:cover;background-position:center;background-repeat:no-repeat;border-color:#29b6f6}.habitat[data-habitat=Ocean]{background:linear-gradient(135deg,#2196f3,#26a69a,#29b6f6);border-color:#29b6f6}.habitat[data-habitat="Open Water"]{background-image:url(/assets/biome-zoo_open_water-BMHsQw4S.png);background-size:cover;background-position:center;background-repeat:no-repeat;border-color:#2196f3}.habitat[data-habitat="Aquatic Shoreline"]{background-image:url(/assets/biome-zoo_aquatic_shoreline-B0uggwzF.png);background-size:cover;background-position:center;background-repeat:no-repeat;border-color:#26a69a}.habitat[data-habitat="Australian Outback"]{background-image:url(/assets/biome-zoo_australian_outback-D98e79lY.png);background-size:cover;background-position:center;background-repeat:no-repeat;border-color:#ff9800}.habitat[data-habitat=Forest]{background-image:url(/assets/biome-zoo_jungle-sP_MxebE.png);background-size:cover;background-position:center;background-repeat:no-repeat;border-color:#66bb6a}.habitat[data-habitat=Mountains]{background-image:url(/assets/biome-zoo_savanna_rocky-BYlGh4a1.png);background-size:cover;background-position:center;background-repeat:no-repeat;border-color:#8d6e63}.habitat[data-habitat=Desert]{background-image:url(/assets/biome-zoo_australian_outback-D98e79lY.png);background-size:cover;background-position:center;background-repeat:no-repeat;border-color:#ffc107}.habitat[data-habitat=Lake]{background-image:url(/assets/biome-zoo_open_water-BMHsQw4S.png);background-size:cover;background-position:center;background-repeat:no-repeat;border-color:#26a69a}.habitat[data-habitat=Farm]{background-image:url(/assets/biome-zoo_savanna_grasslands-B6YVhSLS.png);background-size:cover;background-position:center;background-repeat:no-repeat;border-color:#cddc39}.habitat[data-habitat=Aviary]{background-image:url(/assets/biome-zoo_aquatic_shoreline-B0uggwzF.png);background-size:cover;background-position:center;background-repeat:no-repeat;border-color:#9c27b0}.habitat[data-habitat=Fantasy]{background-image:url(/assets/biome-zoo_arctic_forest-BBeMabDr.png);background-size:cover;background-position:center;background-repeat:no-repeat;border-color:#e91e63}.habitat[data-habitat=Decoration]{background-image:url(/assets/biome-zoo_savanna-XKSN0pFG.png);background-size:cover;background-position:center;background-repeat:no-repeat;border-color:#9e9e9e}.animal-display-area{margin-top:auto;display:flex;flex-wrap:wrap;gap:8px;justify-content:center;align-items:center;padding:12px;background:#0000001a;border-radius:12px;min-height:60px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.3);position:relative;z-index:1;max-width:90%;margin-left:auto;margin-right:auto}.zoo-item-display{display:flex;align-items:center;justify-content:center;background:transparent;border-radius:8px;padding:4px;box-shadow:none;transition:transform .2s ease}.zoo-item-display:hover{transform:scale(1.1)}.animal-image{width:48px;height:48px;-o-object-fit:cover;object-fit:cover;border-radius:4px;background-color:transparent;border:none;display:block}.animal-image:not([src]),.animal-image[src=""],.animal-image[src*=undefined],.animal-image[src*=null]{background-color:#ffebee;border-color:#f44336;position:relative}.animal-image:not([src]):after,.animal-image[src=""]:after,.animal-image[src*=undefined]:after,.animal-image[src*=null]:after{content:"❌";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:16px;color:#f44336;font-weight:700}.animal-emoji{font-size:24px}.zoo-entrance,.zoo-gift-shop{text-align:center;font-weight:700;color:#2d3748;padding:16px;background:linear-gradient(135deg,#e2e8f0,#cbd5e0);border-radius:12px;width:100%;letter-spacing:1px;box-shadow:0 4px 12px #0000001a;border:2px solid #a0aec0;font-size:1.1em;text-shadow:0 1px 2px rgba(255,255,255,.8)}.zoo-path{display:flex;align-items:center;justify-content:center;color:#4a5568;font-family:Monaco,Courier New,monospace;font-size:1.1em;font-weight:600;flex-shrink:0;text-shadow:0 1px 2px rgba(255,255,255,.5)}.zoo-path.vertical{writing-mode:vertical-rl;min-height:120px;width:40px;border-left:3px dashed #718096;border-right:3px dashed #718096;padding:8px 0;text-orientation:mixed;flex-basis:40px;flex-grow:0;background:linear-gradient(to bottom,#7180961a,#7180960d);border-radius:6px}.zoo-path.horizontal{width:100%;border-top:4px dashed #718096;border-bottom:4px dashed #718096;padding:12px 0;text-align:center;letter-spacing:2px;margin:8px 0;background:linear-gradient(to right,#7180961a,#7180960d,#7180961a);border-radius:8px}.unplaced-items-container{margin-top:32px;padding:24px;background:linear-gradient(135deg,#fff7ed,#fed7aa);border:3px solid #fb923c;border-radius:16px;width:100%;max-width:1000px;box-shadow:0 6px 24px #0000001a}.unplaced-items-container h3{color:#c2410c;margin-bottom:16px;font-size:1.3em;font-weight:700;text-align:center;text-shadow:0 1px 2px rgba(255,255,255,.8)}.unplaced-items-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:16px;justify-content:center}.unplaced-item{background:#fff;padding:16px;border-radius:12px;box-shadow:0 4px 12px #0000001a;display:flex;flex-direction:column;align-items:center;text-align:center;transition:transform .2s ease;border:2px solid #fbbf24}.unplaced-item:hover{transform:translateY(-2px);box-shadow:0 6px 20px #00000026}.unplaced-item-image{width:48px;height:48px;-o-object-fit:contain;object-fit:contain;margin-bottom:8px;border-radius:6px}.unplaced-item-emoji{font-size:36px;margin-bottom:8px}.unplaced-item p{margin:8px 0;font-weight:600;color:#374151;font-size:.9em}.item-habitat-tag{background:#3b82f6;color:#fff;padding:4px 8px;border-radius:12px;font-size:.75em;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.item-habitat-tag.anywhere{background:linear-gradient(135deg,#667eea,#9f7aea);color:#fff}.habitat-hint-thumbnail{width:100%;height:40px;-o-object-fit:cover;object-fit:cover;border-radius:4px;margin-top:4px;opacity:.85}@media (max-width: 768px){.zoo-layout-container{padding:16px;gap:12px}.zoo-row{flex-direction:column;gap:8px}.habitat-group,.habitat-group.full-width{flex-basis:100%;min-width:auto}.zoo-path.vertical{writing-mode:horizontal-tb;min-height:auto;width:100%;border-left:none;border-right:none;border-top:3px dashed #718096;border-bottom:3px dashed #718096;padding:8px 0;text-align:center;flex-basis:auto}.habitat{min-height:120px;padding:16px}.unplaced-items-grid{grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:12px}}@media (max-width: 480px){.zoo-page,.zoo-layout-container{padding:12px}.habitat{padding:12px;min-height:100px}.habitat h3{font-size:1.1em}.habitat-note{font-size:.75em}}.habitat-detail-container{padding:20px;background:linear-gradient(135deg,#e8f5e9,#c8e6c9);border-radius:16px;box-shadow:0 8px 32px #0000001a;min-height:100vh;font-family:var(--font-sans, "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif)}.habitat-detail-header{display:flex;align-items:center;gap:20px;margin-bottom:20px}.habitat-title{color:#2e7d32;text-shadow:0 2px 4px rgba(0,0,0,.1);margin:0;display:flex;flex-direction:column;align-items:flex-start}.exhibit-subtitle{font-size:.7em;color:#4caf50;font-weight:500;margin-top:4px;background:#4caf501a;padding:4px 12px;border-radius:12px;border:1px solid rgba(76,175,80,.2)}.back-button{padding:12px 20px;background:#4caf50;color:#fff;border:none;border-radius:8px;cursor:pointer;font-weight:600;transition:all .3s ease}.back-button:hover{background:#45a049;transform:translateY(-2px);box-shadow:0 4px 12px #4caf504d}.habitat-detail-content{width:100%;max-width:1200px;margin:0 auto}.habitat-background-image{width:100%;height:600px;background-size:cover;background-position:center;background-repeat:no-repeat;background-color:#f8f9fa;border-radius:16px;position:relative;box-shadow:0 8px 32px #0003}.habitat-detail-header-overlay{position:absolute;top:20px;left:20px;background:#ffffffe6;padding:12px 20px;border-radius:8px;box-shadow:0 4px 16px #0000001a}.animals-title{margin:0;color:#2e7d32;font-size:1.2em}.animals-on-habitat{position:absolute;top:0;left:0;right:0;bottom:0}.animal-in-habitat{display:flex;flex-direction:column;align-items:center;z-index:10}.animal-habitat-image{width:80px;height:80px;-o-object-fit:cover;object-fit:cover;filter:drop-shadow(0 4px 8px rgba(0,0,0,.3));transition:transform .3s ease;max-width:100%;background-color:transparent;border-radius:8px;border:none;display:block}.animal-habitat-image:not([src]),.animal-habitat-image[src=""],.animal-habitat-image[src*=undefined],.animal-habitat-image[src*=null]{background-color:#ffebee;border-color:#f44336;position:relative}.animal-habitat-image:not([src]):after,.animal-habitat-image[src=""]:after,.animal-habitat-image[src*=undefined]:after,.animal-habitat-image[src*=null]:after{content:"❌\aIMG";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:24px;color:#f44336;font-weight:700;filter:none;text-align:center;background:#ffffffe6;padding:4px;border-radius:4px}.animal-habitat-image:hover{transform:scale(1.1)}.animal-emoji-habitat{font-size:48px;filter:drop-shadow(0 4px 8px rgba(0,0,0,.3));transition:transform .3s ease}.animal-emoji-habitat:hover{transform:scale(1.1)}.animal-name-label{background:#ffffffe6;padding:4px 8px;border-radius:6px;font-size:.8em;font-weight:600;color:#2e7d32;margin-top:4px;box-shadow:0 2px 8px #0000001a}.empty-habitat-overlay{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#fffffff2;padding:40px;border-radius:16px;text-align:center;box-shadow:0 8px 32px #00000026}.empty-habitat-message h3{color:#2e7d32;margin:12px 0;font-size:1.4em}.empty-habitat-message p{color:#666;margin:0;font-size:1em}.empty-icon{font-size:48px;margin-bottom:12px;display:block}.pwa-install-prompt{position:fixed;top:20px;left:20px;right:20px;z-index:1000;background:linear-gradient(135deg,#4ade80,#16a34a);border-radius:12px;box-shadow:0 8px 32px #0000004d;color:#fff;animation:slideDown .3s ease-out}.pwa-install-content{display:flex;align-items:center;padding:16px;gap:12px}.pwa-install-icon{font-size:24px;animation:bounce 2s ease-in-out infinite}.pwa-install-text{flex:1}.pwa-install-text strong{display:block;font-size:16px;margin-bottom:4px}.pwa-install-text p{margin:0;font-size:14px;opacity:.9}.pwa-install-actions{display:flex;gap:8px}.pwa-install-button{padding:8px 16px;border:none;border-radius:6px;font-weight:600;cursor:pointer;transition:all .2s}.pwa-install-button.primary{background:#fff;color:#16a34a}.pwa-install-button.primary:hover{background:#f0fdf4;transform:translateY(-1px)}.pwa-install-button.secondary{background:#fff3;color:#fff}.pwa-install-button.secondary:hover{background:#ffffff4d}@keyframes slideDown{0%{transform:translateY(-100px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-10px)}60%{transform:translateY(-5px)}}@media (max-width: 600px){.pwa-install-prompt{left:12px;right:12px;top:12px}.pwa-install-content{flex-direction:column;text-align:center}.pwa-install-actions{width:100%;justify-content:center}.pwa-install-button{flex:1}}.pwa-update-prompt{position:fixed;bottom:20px;left:20px;right:20px;z-index:1000;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;box-shadow:0 8px 32px #0000004d;color:#fff;animation:slideUp .3s ease-out}.pwa-update-content{display:flex;align-items:center;padding:16px;gap:12px}.pwa-update-icon{font-size:24px;animation:spin 2s linear infinite}.pwa-update-text{flex:1}.pwa-update-text strong{display:block;font-size:16px;margin-bottom:4px}.pwa-update-text p{margin:0;font-size:14px;opacity:.9}.pwa-update-actions{display:flex;gap:8px}.pwa-update-button{padding:8px 16px;border:none;border-radius:6px;font-weight:600;cursor:pointer;transition:all .2s}.pwa-update-button.primary{background:#fff;color:#667eea}.pwa-update-button.primary:hover{background:#f8fafc;transform:translateY(-1px)}.pwa-update-button.secondary{background:#fff3;color:#fff}.pwa-update-button.secondary:hover{background:#ffffff4d}@keyframes slideUp{0%{transform:translateY(100px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width: 600px){.pwa-update-prompt{left:12px;right:12px;bottom:12px}.pwa-update-content{flex-direction:column;text-align:center}.pwa-update-actions{width:100%;justify-content:center}.pwa-update-button{flex:1}}.parent-dashboard{padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}@media (max-width: 768px){.dashboard-header{position:sticky;top:0;z-index:100;background:#fffffff2;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.header-content{flex-direction:column;gap:12px}.app-title{font-size:20px}.dashboard-nav{position:sticky;bottom:0;background:#fff;border-top:1px solid #e2e8f0;padding:8px}.nav-buttons{display:flex;justify-content:space-around;gap:4px}.nav-button{flex:1;padding:8px 4px;font-size:12px;text-align:center;min-height:44px}.zoo-layout-wrapper{flex-direction:column}.zoo-sidebar{order:-1;max-height:200px;overflow-y:auto}.action-button,.shop-buy-button,.behavior-button{min-height:44px;min-width:44px;touch-action:manipulation}.habitat{min-height:120px;padding:12px}.habitat h3{font-size:16px}.habitat-note{font-size:12px}.shop-items-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}.behavior-grid{grid-template-columns:1fr;gap:8px}.behavior-card{padding:12px}}@media (display-mode: standalone){body{-webkit-touch-callout:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent}.parent-dashboard{height:100vh;overflow-y:auto;-webkit-overflow-scrolling:touch}.pwa-install-prompt{display:none}}@media (prefers-color-scheme: dark){.dashboard-header{background:#1e1e1ef2;color:#fff}.nav-button{color:#e2e8f0}.nav-button.active{background:#4a5568;color:#fff}}@media (prefers-contrast: high){.nav-button{border:2px solid currentColor}.habitat{border:3px solid currentColor}}@media (prefers-reduced-motion: reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media (max-width: 768px) and (orientation: landscape){.zoo-layout-container{display:flex;flex-wrap:wrap}.zoo-row{width:50%}.dashboard-nav{position:static}}@supports (-webkit-touch-callout: none){.parent-dashboard{-webkit-overflow-scrolling:touch}input,textarea{font-size:16px}}@media (pointer: coarse){.behavior-button:active,.action-button:active{transform:scale(.95)}}
