/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial;--tw-ease:initial}}}@layer theme{:root,:host{--font-sans:"Inter Variable", "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:8px;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800;--tracking-wide:.025em;--leading-tight:1.25;--ease-out:cubic-bezier(0, 0, .2, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-primary:#0f766e;--color-primary-hover:#115e59;--color-primary-pressed:#134e4a;--color-primary-light:#5eead4;--color-primary-wash:#f0fdfa;--color-accent:#f59e0b;--color-accent-ink:#92400e;--color-accent-wash:#fffbeb;--color-success:#22c55e;--color-success-ink:#15803d;--color-success-wash:#f0fdf4;--color-locked:#64748b;--color-bg:#f8fafc;--color-surface:#fff;--color-ink:#1e293b;--color-ink-secondary:#64748b;--color-line:#e2e8f0;--color-white:#fff;--color-tag-sand:#fdf2e4;--color-tag-sand-ink:#8a4b14;--color-tag-olive:#ecf3dc;--color-tag-olive-ink:#3f5f1e;--color-tag-sky:#e0f2fe;--color-tag-sky-ink:#075985;--color-tag-ice:#e0f7fa;--color-tag-ice-ink:#155e75;--color-tag-stone:#eceae6;--color-tag-stone-ink:#57534e;--color-tag-indigo:#e0e7ff;--color-tag-indigo-ink:#3730a3;--color-tag-rose:#ffe4e6;--color-tag-rose-ink:#9f1239;--color-tag-violet:#ede9fe;--color-tag-violet-ink:#5b21b6;--color-tag-fuchsia:#fae8ff;--color-tag-fuchsia-ink:#86198f;--font-display:"Baloo 2 Variable", "Fredoka", ui-rounded, system-ui, sans-serif;--text-title:28px;--text-title--line-height:1.2;--text-section:20px;--text-section--line-height:1.3;--text-card:16px;--text-card--line-height:1.4;--text-body:15px;--text-body--line-height:1.55;--text-caption:13px;--text-caption--line-height:1.45;--height-control:44px;--radius-card:12px;--radius-control:12px;--radius-pill:999px;--animate-pop:pop .36s cubic-bezier(.34, 1.56, .64, 1);--animate-bump:bump .42s cubic-bezier(.34, 1.56, .64, 1);--animate-float-up:float-up .9s ease-out forwards;--animate-burst:burst .65s ease-out forwards;--animate-wiggle:wiggle .5s ease-in-out;--animate-shine:shine .7s ease-out forwards;--animate-confetti:confetti 1.1s cubic-bezier(.2, .6, .4, 1) forwards;--animate-screen-in:screen-in .26s ease-out;--animate-talk:talk .36s ease-in-out infinite}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}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;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}[data-ui]{color:var(--color-ink);font-family:var(--font-sans);-webkit-font-smoothing:antialiased}[data-ui] :is(h1,h2,h3),:is(h1,h2,h3)[data-ui]{font-family:var(--font-display)}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}}@layer legacy{html,body{width:100%;height:100%;margin:0;padding:0;overflow-x:hidden}:root{color-scheme:light;color:#0f172a;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f0fdf4;font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;font-weight:400;line-height:1.5}a{color:#0d9488;-webkit-text-decoration:inherit;text-decoration:inherit;font-weight:500}a:hover{color:#0f766e}body{min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button:where(:not([data-ui])){cursor:pointer;background-color:#f9f9f9;border:1px solid #0000;border-radius:8px;padding:.6em 1.2em;font-family:inherit;font-size:1em;font-weight:500;transition:border-color .25s}button:where(:not([data-ui])):hover{border-color:#0d9488}button:where(:not([data-ui])):focus,button:where(:not([data-ui])):focus-visible{outline:4px auto -webkit-focus-ring-color}}@layer components{.zoo-layout-container .habitat.populated,.zoo-layout-container .habitat.unlocked,.zoo-layout-container .habitat.available{filter:none;outline:none}.zoo-layout-container .habitat{border-color:#0000}.zoo-layout-container .habitat.locked{filter:none}.zoo-layout-container .habitat.locked:after{content:"";z-index:1;pointer-events:none;border-radius:inherit;background:#1e293b73;position:absolute;top:0;right:0;bottom:0;left:0}.zoo-layout-container .habitat.place-target{box-shadow:0 0 0 4px var(--color-primary-light),0 6px 24px #0000001f}.zoo-layout-container .habitat.place-target:after{display:none}.zoo-layout-container .habitat.place-miss{opacity:.6}.parent-dashboard.view-manage .dashboard-main{padding-top:0;padding-left:0;padding-right:0}.parent-dashboard.view-manage .dashboard-content{box-shadow:none;background:0 0;border:0;border-radius:0;max-width:1200px;margin-left:auto;margin-right:auto;padding:16px 16px 24px}@media (min-width:768px){.parent-dashboard.view-manage .dashboard-content{padding:24px}}@media (max-width:767.98px){.parent-dashboard .dashboard-main{padding-bottom:calc(80px + env(safe-area-inset-bottom))}}@media (max-height:500px) and (orientation:landscape){.parent-dashboard .dashboard-main{padding-bottom:16px}.parent-dashboard.view-habitat .dashboard-main{padding-bottom:0}}}@layer utilities{.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{top:0;right:0;bottom:0;left:0}.inset-x-0{inset-inline:0}.inset-x-2{inset-inline:calc(var(--spacing) * 2)}.inset-y-0{inset-block:0}.-top-3{top:calc(var(--spacing) * -3)}.-top-4{top:calc(var(--spacing) * -4)}.top-0{top:0}.top-1{top:var(--spacing)}.top-1\/2{top:50%}.top-2{top:calc(var(--spacing) * 2)}.top-6{top:calc(var(--spacing) * 6)}.-right-3{right:calc(var(--spacing) * -3)}.right-0{right:0}.right-1{right:var(--spacing)}.right-2{right:calc(var(--spacing) * 2)}.-bottom-2{bottom:calc(var(--spacing) * -2)}.-bottom-px{bottom:-1px}.bottom-0{bottom:0}.bottom-2{bottom:calc(var(--spacing) * 2)}.bottom-4{bottom:calc(var(--spacing) * 4)}.bottom-12{bottom:calc(var(--spacing) * 12)}.-left-1{left:calc(var(--spacing) * -1)}.left-0{left:0}.left-1{left:var(--spacing)}.left-1\/2{left:50%}.left-2{left:calc(var(--spacing) * 2)}.z-10{z-index:10}.z-50{z-index:50}.z-\[2\]{z-index:2}.z-\[100\]{z-index:100}.z-\[150\]{z-index:150}.z-\[200\]{z-index:200}.order-last{order:9999}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.m-0{margin:0}.mx-auto{margin-inline:auto}.my-auto{margin-block:auto}.-mt-0\.5{margin-top:calc(var(--spacing) * -.5)}.-mt-1{margin-top:calc(var(--spacing) * -1)}.-mt-4{margin-top:calc(var(--spacing) * -4)}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:var(--spacing)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-\[2px\]{margin-top:2px}.mt-auto{margin-top:auto}.-mr-1{margin-right:calc(var(--spacing) * -1)}.mr-auto{margin-right:auto}.mb-0\.5{margin-bottom:calc(var(--spacing) * .5)}.mb-1{margin-bottom:var(--spacing)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.-ml-0\.5{margin-left:calc(var(--spacing) * -.5)}.-ml-1{margin-left:calc(var(--spacing) * -1)}.ml-auto{margin-left:auto}.ml-px{margin-left:1px}.block{display:block}.block\!{display:block!important}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.size-1{width:var(--spacing);height:var(--spacing)}.size-2{width:calc(var(--spacing) * 2);height:calc(var(--spacing) * 2)}.size-3{width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.size-5{width:calc(var(--spacing) * 5);height:calc(var(--spacing) * 5)}.size-6{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.size-7{width:calc(var(--spacing) * 7);height:calc(var(--spacing) * 7)}.size-8{width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8)}.size-10{width:calc(var(--spacing) * 10);height:calc(var(--spacing) * 10)}.size-\[20px\]{width:20px;height:20px}.size-\[44px\]{width:44px;height:44px}.size-full{width:100%;height:100%}.h-0\.5{height:calc(var(--spacing) * .5)}.h-1{height:var(--spacing)}.h-1\.5{height:calc(var(--spacing) * 1.5)}.h-2{height:calc(var(--spacing) * 2)}.h-3{height:calc(var(--spacing) * 3)}.h-4{height:calc(var(--spacing) * 4)}.h-7{height:calc(var(--spacing) * 7)}.h-9{height:calc(var(--spacing) * 9)}.h-\[1em\]{height:1em}.h-\[264px\]{height:264px}.h-control{height:var(--height-control)}.h-fit{height:fit-content}.h-full{height:100%}.max-h-\[85dvh\]{max-height:85dvh}.min-h-4{min-height:calc(var(--spacing) * 4)}.min-h-\[3lh\]{min-height:3lh}.min-h-\[44px\]{min-height:44px}.min-h-screen{min-height:100vh}.w-1{width:var(--spacing)}.w-1\.5{width:calc(var(--spacing) * 1.5)}.w-1\/2{width:50%}.w-3{width:calc(var(--spacing) * 3)}.w-6{width:calc(var(--spacing) * 6)}.w-\[2px\]{width:2px}.w-auto{width:auto}.w-full{width:100%}.max-w-\[56ch\]{max-width:56ch}.max-w-\[72ch\]{max-width:72ch}.max-w-\[96px\]{max-width:96px}.max-w-\[320px\]{max-width:320px}.max-w-\[360px\]{max-width:360px}.max-w-\[560px\]{max-width:560px}.max-w-\[1200px\]{max-width:1200px}.max-w-none{max-width:none}.min-w-0{min-width:0}.min-w-\[44px\]{min-width:44px}.min-w-\[180px\]{min-width:180px}.flex-1{flex:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.border-collapse{border-collapse:collapse}.origin-bottom{transform-origin:bottom}.origin-left{transform-origin:0}.-translate-y-1\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-\[2px\]{--tw-translate-y:2px;translate:var(--tw-translate-x) var(--tw-translate-y)}.scale-x-0{--tw-scale-x:0%;scale:var(--tw-scale-x) var(--tw-scale-y)}.scale-x-100{--tw-scale-x:100%;scale:var(--tw-scale-x) var(--tw-scale-y)}.rotate-6{rotate:6deg}.rotate-45{rotate:45deg}.\[transform\:rotate\(var\(--tilt\)\)_translateY\(var\(--lift\)\)\]{transform:rotate(var(--tilt)) translateY(var(--lift))}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-bump{animation:var(--animate-bump)}.animate-burst{animation:var(--animate-burst)}.animate-confetti{animation:var(--animate-confetti)}.animate-float-up{animation:var(--animate-float-up)}.animate-pop{animation:var(--animate-pop)}.animate-pulse{animation:var(--animate-pulse)}.animate-screen-in{animation:var(--animate-screen-in)}.animate-shine{animation:var(--animate-shine)}.animate-talk{animation:var(--animate-talk)}.animate-wiggle{animation:var(--animate-wiggle)}.cursor-\[inherit\]{cursor:inherit}.cursor-default{cursor:default}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.resize{resize:both}.list-none{list-style-type:none}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:var(--spacing)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-\[0\.02em\]{gap:.02em}.gap-\[0\.18em\]{gap:.18em}.gap-x-1{column-gap:var(--spacing)}.gap-x-1\.5{column-gap:calc(var(--spacing) * 1.5)}.gap-x-2{column-gap:calc(var(--spacing) * 2)}.gap-y-1{row-gap:var(--spacing)}.self-center{align-self:center}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-\[2px\]{border-radius:2px}.rounded-\[6px\]{border-radius:6px}.rounded-card{border-radius:var(--radius-card)}.rounded-control{border-radius:var(--radius-control)}.rounded-pill{border-radius:var(--radius-pill)}.rounded-t-card{border-top-left-radius:var(--radius-card);border-top-right-radius:var(--radius-card)}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-4{border-style:var(--tw-border-style);border-width:4px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-ink{border-color:var(--color-ink)}.border-line{border-color:var(--color-line)}.border-primary{border-color:var(--color-primary)}.border-primary-light{border-color:var(--color-primary-light)}.border-primary-light\/60{border-color:#5eead499}@supports (color:color-mix(in lab,red,red)){.border-primary-light\/60{border-color:color-mix(in oklab,var(--color-primary-light) 60%,transparent)}}.border-success{border-color:var(--color-success)}.border-surface{border-color:var(--color-surface)}.border-transparent{border-color:#0000}.bg-accent{background-color:var(--color-accent)}.bg-accent-wash{background-color:var(--color-accent-wash)}.bg-bg{background-color:var(--color-bg)}.bg-ink{background-color:var(--color-ink)}.bg-ink\/55{background-color:#1e293b8c}@supports (color:color-mix(in lab,red,red)){.bg-ink\/55{background-color:color-mix(in oklab,var(--color-ink) 55%,transparent)}}.bg-line{background-color:var(--color-line)}.bg-primary{background-color:var(--color-primary)}.bg-primary-light{background-color:var(--color-primary-light)}.bg-primary-light\/15{background-color:#5eead426}@supports (color:color-mix(in lab,red,red)){.bg-primary-light\/15{background-color:color-mix(in oklab,var(--color-primary-light) 15%,transparent)}}.bg-primary-light\/25{background-color:#5eead440}@supports (color:color-mix(in lab,red,red)){.bg-primary-light\/25{background-color:color-mix(in oklab,var(--color-primary-light) 25%,transparent)}}.bg-primary-light\/30{background-color:#5eead44d}@supports (color:color-mix(in lab,red,red)){.bg-primary-light\/30{background-color:color-mix(in oklab,var(--color-primary-light) 30%,transparent)}}.bg-primary-wash{background-color:var(--color-primary-wash)}.bg-success{background-color:var(--color-success)}.bg-success-wash{background-color:var(--color-success-wash)}.bg-surface{background-color:var(--color-surface)}.bg-tag-fuchsia{background-color:var(--color-tag-fuchsia)}.bg-tag-ice{background-color:var(--color-tag-ice)}.bg-tag-indigo{background-color:var(--color-tag-indigo)}.bg-tag-olive{background-color:var(--color-tag-olive)}.bg-tag-rose{background-color:var(--color-tag-rose)}.bg-tag-sand{background-color:var(--color-tag-sand)}.bg-tag-sky{background-color:var(--color-tag-sky)}.bg-tag-stone{background-color:var(--color-tag-stone)}.bg-tag-violet{background-color:var(--color-tag-violet)}.bg-transparent{background-color:#0000}.bg-linear-to-b{--tw-gradient-position:to bottom}@supports (background-image:linear-gradient(in lab,red,red)){.bg-linear-to-b{--tw-gradient-position:to bottom in oklab}}.bg-linear-to-b{background-image:linear-gradient(var(--tw-gradient-stops))}.bg-linear-to-r{--tw-gradient-position:to right}@supports (background-image:linear-gradient(in lab,red,red)){.bg-linear-to-r{--tw-gradient-position:to right in oklab}}.bg-linear-to-r{background-image:linear-gradient(var(--tw-gradient-stops))}.from-transparent{--tw-gradient-from:transparent;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.via-white\/80{--tw-gradient-via:#fffc}@supports (color:color-mix(in lab,red,red)){.via-white\/80{--tw-gradient-via:color-mix(in oklab, var(--color-white) 80%, transparent)}}.via-white\/80{--tw-gradient-via-stops:var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.to-surface{--tw-gradient-to:var(--color-surface);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-transparent{--tw-gradient-to:transparent;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.fill-accent{fill:var(--color-accent)}.fill-primary-light{fill:var(--color-primary-light)}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.p-0{padding:0}.p-0\.5{padding:calc(var(--spacing) * .5)}.p-1{padding:var(--spacing)}.p-1\.5{padding:calc(var(--spacing) * 1.5)}.p-2{padding:calc(var(--spacing) * 2)}.p-3{padding:calc(var(--spacing) * 3)}.px-0\.5{padding-inline:calc(var(--spacing) * .5)}.px-1{padding-inline:var(--spacing)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-3{padding-inline:calc(var(--spacing) * 3)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:var(--spacing)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-6{padding-block:calc(var(--spacing) * 6)}.pt-1{padding-top:var(--spacing)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pr-1{padding-right:var(--spacing)}.pr-1\.5{padding-right:calc(var(--spacing) * 1.5)}.pr-2{padding-right:calc(var(--spacing) * 2)}.pr-3{padding-right:calc(var(--spacing) * 3)}.pr-5{padding-right:calc(var(--spacing) * 5)}.pb-1{padding-bottom:var(--spacing)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pb-6{padding-bottom:calc(var(--spacing) * 6)}.pb-8{padding-bottom:calc(var(--spacing) * 8)}.pb-\[calc\(80px\+env\(safe-area-inset-bottom\)\)\]{padding-bottom:calc(80px + env(safe-area-inset-bottom))}.pb-\[env\(safe-area-inset-bottom\)\]{padding-bottom:env(safe-area-inset-bottom)}.pl-0\.5{padding-left:calc(var(--spacing) * .5)}.pl-1{padding-left:var(--spacing)}.pl-1\.5{padding-left:calc(var(--spacing) * 1.5)}.pl-2{padding-left:calc(var(--spacing) * 2)}.text-left{text-align:left}.font-display{font-family:var(--font-display)}.font-sans{font-family:var(--font-sans)}.text-body{font-size:var(--text-body);line-height:var(--tw-leading,var(--text-body--line-height))}.text-caption{font-size:var(--text-caption);line-height:var(--tw-leading,var(--text-caption--line-height))}.text-card{font-size:var(--text-card);line-height:var(--tw-leading,var(--text-card--line-height))}.text-section{font-size:var(--text-section);line-height:var(--tw-leading,var(--text-section--line-height))}.text-title{font-size:var(--text-title);line-height:var(--tw-leading,var(--text-title--line-height))}.text-\[1\.25em\]{font-size:1.25em}.text-\[14px\]{font-size:14px}.text-\[22px\]{font-size:22px}.text-\[24px\]{font-size:24px}.text-\[36px\]{font-size:36px}.leading-none{--tw-leading:1;line-height:1}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-extrabold{--tw-font-weight:var(--font-weight-extrabold);font-weight:var(--font-weight-extrabold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\[-0\.01em\]{--tw-tracking:-.01em;letter-spacing:-.01em}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.whitespace-nowrap{white-space:nowrap}.text-accent{color:var(--color-accent)}.text-accent-ink{color:var(--color-accent-ink)}.text-ink{color:var(--color-ink)}.text-ink-secondary{color:var(--color-ink-secondary)}.text-locked{color:var(--color-locked)}.text-primary{color:var(--color-primary)}.text-success{color:var(--color-success)}.text-success-ink{color:var(--color-success-ink)}.text-tag-fuchsia-ink{color:var(--color-tag-fuchsia-ink)}.text-tag-ice-ink{color:var(--color-tag-ice-ink)}.text-tag-indigo-ink{color:var(--color-tag-indigo-ink)}.text-tag-olive-ink{color:var(--color-tag-olive-ink)}.text-tag-rose-ink{color:var(--color-tag-rose-ink)}.text-tag-sand-ink{color:var(--color-tag-sand-ink)}.text-tag-sky-ink{color:var(--color-tag-sky-ink)}.text-tag-stone-ink{color:var(--color-tag-stone-ink)}.text-tag-violet-ink{color:var(--color-tag-violet-ink)}.text-white{color:var(--color-white)}.uppercase{text-transform:uppercase}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.underline{text-decoration-line:underline}.underline-offset-4{text-underline-offset:4px}.opacity-0{opacity:0}.opacity-30{opacity:.3}.opacity-40{opacity:.4}.opacity-60{opacity:.6}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_-4px_16px_rgb\(30_41_59\/0\.08\)\]{--tw-shadow:0 -4px 16px var(--tw-shadow-color,#1e293b14);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_3px_0_var\(--color-primary\)\]{--tw-shadow:0 3px 0 var(--tw-shadow-color,var(--color-primary));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_4px_0_var\(--color-primary\)\]{--tw-shadow:0 4px 0 var(--tw-shadow-color,var(--color-primary));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_4px_0_var\(--color-primary-pressed\)\]{--tw-shadow:0 4px 0 var(--tw-shadow-color,var(--color-primary-pressed));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[inset_0_-3px_0_var\(--color-primary-pressed\)\]{--tw-shadow:inset 0 -3px 0 var(--tw-shadow-color,var(--color-primary-pressed));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[inset_0_-4px_0_var\(--color-primary-pressed\)\]{--tw-shadow:inset 0 -4px 0 var(--tw-shadow-color,var(--color-primary-pressed));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-card{--tw-shadow:0 1px 2px var(--tw-shadow-color,#1e293b0f), 0 4px 16px var(--tw-shadow-color,#1e293b0f);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring,.ring-1{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-2{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-4{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-accent\/40{--tw-ring-color:#f59e0b66}@supports (color:color-mix(in lab,red,red)){.ring-accent\/40{--tw-ring-color:color-mix(in oklab, var(--color-accent) 40%, transparent)}}.ring-line{--tw-ring-color:var(--color-line)}.ring-primary-light{--tw-ring-color:var(--color-primary-light)}.ring-success\/40{--tw-ring-color:#22c55e66}@supports (color:color-mix(in lab,red,red)){.ring-success\/40{--tw-ring-color:color-mix(in oklab, var(--color-success) 40%, transparent)}}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.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,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[background-color\,color\,border-color\,box-shadow\,transform\]{transition-property:background-color,color,border-color,box-shadow,transform;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[transform\,box-shadow\,background-color\]{transition-property:transform,box-shadow,background-color;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-100{--tw-duration:.1s;transition-duration:.1s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.duration-500{--tw-duration:.5s;transition-duration:.5s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.select-none{-webkit-user-select:none;user-select:none}.\[--lift\:0em\]{--lift:0em}.\[animation-delay\:150ms\]{animation-delay:.15s}.ring-inset{--tw-ring-inset:inset}@media (hover:hover){.group-hover\:translate-x-0\.5:is(:where(.group):hover *){--tw-translate-x:calc(var(--spacing) * .5);translate:var(--tw-translate-x) var(--tw-translate-y)}.group-hover\:scale-110:is(:where(.group):hover *){--tw-scale-x:110%;--tw-scale-y:110%;--tw-scale-z:110%;scale:var(--tw-scale-x) var(--tw-scale-y)}.group-hover\:-rotate-3:is(:where(.group):hover *){rotate:-3deg}.group-hover\:animate-wiggle:is(:where(.group):hover *){animation:var(--animate-wiggle)}.group-hover\:bg-primary:is(:where(.group):hover *){background-color:var(--color-primary)}.group-hover\:text-primary:is(:where(.group):hover *){color:var(--color-primary)}.group-hover\:text-white:is(:where(.group):hover *){color:var(--color-white)}.group-hover\/check\:border-primary-light:is(:where(.group\/check):hover *){border-color:var(--color-primary-light)}.group-hover\/wordmark\:\[--lift\:-0\.16em\]:is(:where(.group\/wordmark):hover *){--lift:-.16em}}.group-focus-visible\:bg-primary:is(:where(.group):focus-visible *){background-color:var(--color-primary)}.group-focus-visible\:text-white:is(:where(.group):focus-visible *){color:var(--color-white)}.group-active\:animate-wiggle:is(:where(.group):active *){animation:var(--animate-wiggle)}.peer-checked\:border-primary:is(:where(.peer):checked~*){border-color:var(--color-primary)}.peer-checked\:bg-primary:is(:where(.peer):checked~*){background-color:var(--color-primary)}.peer-checked\:opacity-100:is(:where(.peer):checked~*){opacity:1}.peer-focus-visible\:outline-2:is(:where(.peer):focus-visible~*){outline-style:var(--tw-outline-style);outline-width:2px}.peer-focus-visible\:outline-offset-2:is(:where(.peer):focus-visible~*){outline-offset:2px}.peer-focus-visible\:outline-primary:is(:where(.peer):focus-visible~*){outline-color:var(--color-primary)}.placeholder\:text-ink-secondary::placeholder{color:var(--color-ink-secondary)}.backdrop\:bg-ink\/50::backdrop{background-color:#1e293b80}@supports (color:color-mix(in lab,red,red)){.backdrop\:bg-ink\/50::backdrop{background-color:color-mix(in oklab,var(--color-ink) 50%,transparent)}}.open\:animate-screen-in:is([open],:popover-open,:open){animation:var(--animate-screen-in)}@media (hover:hover){.hover\:border-ink-secondary:hover{border-color:var(--color-ink-secondary)}.hover\:border-primary:hover{border-color:var(--color-primary)}.hover\:border-primary-light:hover{border-color:var(--color-primary-light)}.hover\:bg-bg:hover{background-color:var(--color-bg)}.hover\:bg-primary-hover:hover{background-color:var(--color-primary-hover)}.hover\:bg-primary-wash:hover{background-color:var(--color-primary-wash)}.hover\:bg-surface:hover{background-color:var(--color-surface)}.hover\:text-ink:hover{color:var(--color-ink)}.hover\:text-primary:hover{color:var(--color-primary)}.hover\:text-primary-hover:hover{color:var(--color-primary-hover)}.hover\:underline:hover{text-decoration-line:underline}}.focus\:border-primary:focus{border-color:var(--color-primary)}.focus\:outline-none:focus,.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.active\:translate-y-\[2px\]:active{--tw-translate-y:2px;translate:var(--tw-translate-x) var(--tw-translate-y)}.active\:translate-y-\[3px\]:active{--tw-translate-y:3px;translate:var(--tw-translate-x) var(--tw-translate-y)}.active\:scale-\[0\.97\]:active{scale:.97}.active\:bg-primary-pressed:active{background-color:var(--color-primary-pressed)}.active\:text-primary-pressed:active{color:var(--color-primary-pressed)}.active\:shadow-\[0_1px_0_var\(--color-primary\)\]:active{--tw-shadow:0 1px 0 var(--tw-shadow-color,var(--color-primary));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.active\:shadow-\[0_1px_0_var\(--color-primary-pressed\)\]:active{--tw-shadow:0 1px 0 var(--tw-shadow-color,var(--color-primary-pressed));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.disabled\:translate-y-0:disabled{--tw-translate-y:0px;translate:var(--tw-translate-x) var(--tw-translate-y)}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:border-locked:disabled{border-color:var(--color-locked)}.disabled\:bg-locked:disabled{background-color:var(--color-locked)}.disabled\:bg-surface:disabled{background-color:var(--color-surface)}.disabled\:text-line:disabled{color:var(--color-line)}.disabled\:text-locked:disabled{color:var(--color-locked)}.disabled\:no-underline:disabled{text-decoration-line:none}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:opacity-60:disabled{opacity:.6}.disabled\:shadow-none:disabled{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}@media (hover:hover){.disabled\:hover\:bg-transparent:disabled:hover{background-color:#0000}}.has-\[\:focus-visible\]\:outline-2:has(:focus-visible){outline-style:var(--tw-outline-style);outline-width:2px}.has-\[\:focus-visible\]\:outline-offset-2:has(:focus-visible){outline-offset:2px}.has-\[\:focus-visible\]\:outline-primary:has(:focus-visible){outline-color:var(--color-primary)}@media not all and (min-width:40rem){.max-sm\:sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.max-sm\:hidden{display:none}}@media (min-width:40rem){.sm\:m-auto{margin:auto}.sm\:block{display:block}.sm\:flex{display:flex}.sm\:hidden{display:none}.sm\:size-5{width:calc(var(--spacing) * 5);height:calc(var(--spacing) * 5)}.sm\:max-w-\[160px\]{max-width:160px}.sm\:max-w-\[560px\]{max-width:560px}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:gap-1\.5{gap:calc(var(--spacing) * 1.5)}.sm\:gap-x-2{column-gap:calc(var(--spacing) * 2)}.sm\:rounded-card{border-radius:var(--radius-card)}.sm\:opacity-100{opacity:1}}@media (min-width:48rem){.md\:bottom-3{bottom:calc(var(--spacing) * 3)}.md\:left-3{left:calc(var(--spacing) * 3)}.md\:col-span-2{grid-column:span 2/span 2}.md\:block{display:block}.md\:hidden{display:none}.md\:size-10{width:calc(var(--spacing) * 10);height:calc(var(--spacing) * 10)}.md\:size-12{width:calc(var(--spacing) * 12);height:calc(var(--spacing) * 12)}.md\:h-10{height:calc(var(--spacing) * 10)}.md\:min-h-\[2lh\]{min-height:2lh}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:gap-2{gap:calc(var(--spacing) * 2)}.md\:gap-x-3{column-gap:calc(var(--spacing) * 3)}.md\:p-2{padding:calc(var(--spacing) * 2)}.md\:p-3{padding:calc(var(--spacing) * 3)}.md\:px-3{padding-inline:calc(var(--spacing) * 3)}.md\:pt-6{padding-top:calc(var(--spacing) * 6)}.md\:pb-3{padding-bottom:calc(var(--spacing) * 3)}.md\:pb-6{padding-bottom:calc(var(--spacing) * 6)}}@media (min-width:64rem){.lg\:order-none{order:0}.lg\:hidden{display:none}.lg\:w-auto{width:auto}.lg\:flex-1{flex:1}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-\[360px_1fr\]{grid-template-columns:360px 1fr}.lg\:flex-nowrap{flex-wrap:nowrap}.lg\:gap-x-2{column-gap:calc(var(--spacing) * 2)}.lg\:px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}}@media (min-width:80rem){.xl\:block{display:block}@media not all and (min-width:96rem){.xl\:max-2xl\:sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}}}@media (max-height:500px) and (orientation:landscape){.short\:sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.short\:bottom-3{bottom:calc(var(--spacing) * 3)}.short\:order-none{order:0}.short\:block{display:block}.short\:hidden{display:none}.short\:h-full{height:100%}.short\:min-h-8{min-height:calc(var(--spacing) * 8)}.short\:w-10{width:calc(var(--spacing) * 10)}.short\:w-auto{width:auto}.short\:flex-1{flex:1}.short\:flex-row{flex-direction:row}.short\:flex-nowrap{flex-wrap:nowrap}.short\:items-center{align-items:center}.short\:gap-x-2{column-gap:calc(var(--spacing) * 2)}.short\:px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.short\:py-0\.5{padding-block:calc(var(--spacing) * .5)}.short\:py-1{padding-block:var(--spacing)}.short\:pt-2{padding-top:calc(var(--spacing) * 2)}.short\:pb-3{padding-bottom:calc(var(--spacing) * 3)}.short\:pb-4{padding-bottom:calc(var(--spacing) * 4)}}.\[\&\:not\(\:last-child\)\]\:border-b:not(:last-child){border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.\[\&\:not\(\:last-child\)\]\:border-line:not(:last-child){border-color:var(--color-line)}}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Baloo 2 Variable";font-style:normal;font-display:swap;font-weight:400 800;src:url(/assets/baloo-2-devanagari-wght-normal-B4j4n2PV.woff2)format("woff2-variations");unicode-range:U+900-97F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:"Baloo 2 Variable";font-style:normal;font-display:swap;font-weight:400 800;src:url(/assets/baloo-2-vietnamese-wght-normal-C4ZonJY6.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Baloo 2 Variable";font-style:normal;font-display:swap;font-weight:400 800;src:url(/assets/baloo-2-latin-ext-wght-normal-Dz43yst_.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Baloo 2 Variable";font-style:normal;font-display:swap;font-weight:400 800;src:url(/assets/baloo-2-latin-wght-normal-B_TVFhwJ.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"<length-percentage>";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"<length-percentage>";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"<length-percentage>";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@keyframes pulse{50%{opacity:.5}}@keyframes pop{0%{transform:scale(.5)}60%{transform:scale(1.15)}to{transform:scale(1)}}@keyframes bump{0%{transform:scale(1)}40%{transform:scale(1.18)}to{transform:scale(1)}}@keyframes float-up{0%{opacity:0;transform:translateY(8px)}20%{opacity:1}to{opacity:0;transform:translateY(-32px)}}@keyframes talk{0%,to{transform:translateY(0)rotate(0)}50%{transform:translateY(-3px)rotate(-4deg)}}@keyframes wiggle{0%,to{transform:rotate(0)}25%{transform:rotate(-12deg)}50%{transform:rotate(10deg)}75%{transform:rotate(-6deg)}}@keyframes shine{0%{opacity:1;transform:translate(-100%)}to{opacity:0;transform:translate(200%)}}@keyframes confetti{0%{opacity:1;transform:translate(0)rotate(0)scale(.6)}35%{opacity:1;transform:translate(calc(var(--dx) * .6),var(--dy)) rotate(calc(var(--spin) * .4)) scale(1)}to{opacity:0;transform:translate(var(--dx),calc(var(--dy) + 140px)) rotate(var(--spin)) scale(.9)}}@keyframes screen-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes burst{0%{opacity:1;transform:translate(0)scale(.4)rotate(0)}to{opacity:0;transform:translate(var(--dx),var(--dy)) scale(1) rotate(90deg)}}@layer legacy{:root{--legacy-color-primary: #0d9488;--legacy-color-primary-dark: #0f766e;--legacy-color-primary-light: #ccfbf1;--legacy-color-accent: #f59e0b;--legacy-color-accent-light: #fef3c7;--legacy-color-success: #16a34a;--legacy-color-success-dark: #15803d;--legacy-color-danger: #ef4444;--legacy-color-surface: #ffffff;--legacy-color-surface-alt: #f0fdf4;--legacy-color-border: #e2e8f0;--legacy-color-text-primary: #0f172a;--legacy-color-text-secondary: #475569;--legacy-color-text-muted: #94a3b8;--legacy-radius-sm: 8px;--legacy-radius-md: 12px;--legacy-radius-lg: 16px;--legacy-radius-xl: 24px;--legacy-shadow-sm: 0 1px 3px rgba(0,0,0,.08), 0 1px 2px rgba(0,0,0,.06);--legacy-shadow-md: 0 4px 12px rgba(0,0,0,.1);--legacy-shadow-lg: 0 8px 24px rgba(0,0,0,.12);--legacy-font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}.family-setup{min-height:100vh;background:linear-gradient(135deg,var(--legacy-color-primary) 0%,var(--legacy-color-primary-dark) 100%);font-family:var(--legacy-font-sans);display:flex;align-items:center;justify-content:center;padding:20px}.setup-container{background:var(--legacy-color-surface);border-radius:var(--legacy-radius-xl);padding:40px;max-width:600px;width:100%;box-shadow:var(--legacy-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(--legacy-color-primary) 0%,var(--legacy-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}.player-picker-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:16px;margin-top:16px}.player-picker-card{background:#fff;border:2px solid #f7fafc;border-radius:16px;padding:24px 12px;text-align:center;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:8px;transition:all .2s ease;font-family:inherit}.player-picker-card:hover{border-color:var(--legacy-color-primary);transform:translateY(-2px);box-shadow:var(--legacy-shadow-md)}.player-picker-emoji{font-size:2.5rem}.player-picker-name{font-size:1.1rem;font-weight:700;color:#1a202c}.player-picker-points{font-size:.85rem;color:var(--legacy-color-primary);font-weight:600}.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(--legacy-color-primary) 0%,var(--legacy-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: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}.family-setup-form-actions{display:flex;justify-content:space-between;margin-top:25px;gap:15px}.family-setup-back-button{background:#6b7280;color:#fff;border:none;padding:12px 24px;border-radius:10px;font-weight:500;cursor:pointer;transition:all .2s ease}.family-setup-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(--legacy-color-surface-alt);font-family:var(--legacy-font-sans);padding:0;margin:0}.dashboard-header{background:var(--legacy-color-surface);border-bottom:3px solid var(--legacy-color-primary);padding:20px 32px;box-shadow:var(--legacy-shadow-sm);position:sticky;top:0;z-index:100}.header-content{max-width:1400px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;gap:24px}.essentials-banner{max-width:1400px;margin:12px auto 0;display:flex;justify-content:space-between;align-items:center;gap:16px;background:#fffbeb;border:2px solid #fbbf24;border-radius:12px;padding:10px 16px;font-weight:600;color:#92400e}.essentials-banner.earned{background:#f0fdf4;border-color:#86efac;color:#15803d}.essential-toggles{max-width:1400px;margin:8px auto 0;display:flex;flex-wrap:wrap;gap:8px;align-items:center}.essential-toggle-label{font-size:.85rem;font-weight:600;color:#78350f;margin-right:4px}.essential-toggle-btn{border:1px solid #d1d5db;background:#fff;color:#4b5563;font-size:.8rem;font-weight:600;padding:4px 12px;border-radius:999px;cursor:pointer}.essential-toggle-btn.active{background:#fbbf24;border-color:#d97706;color:#78350f}.app-title{font-size:2.5rem;font-weight:800;color:#1a202c;margin:0;letter-spacing:-.02em;background:linear-gradient(135deg,var(--legacy-color-primary) 0%,var(--legacy-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(--legacy-color-primary);box-shadow:0 6px 24px #0d948826}.player-select:focus{outline:none;border-color:var(--legacy-color-primary);box-shadow:0 0 0 3px #0d94881a}.points-display{background:linear-gradient(135deg,var(--legacy-color-accent) 0%,#d97706 100%);color:#fff;padding:12px 20px;border-radius:var(--legacy-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(--legacy-color-surface);border-radius:var(--legacy-radius-xl);padding:8px;box-shadow:var(--legacy-shadow-sm);max-width:1400px;margin:16px auto;border:1px solid var(--legacy-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(--legacy-color-text-primary)}.nav-button:hover{color:var(--legacy-color-primary);transform:translateY(-1px)}.nav-button.active{background:linear-gradient(135deg,var(--legacy-color-primary) 0%,var(--legacy-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(--legacy-color-surface);border-radius:var(--legacy-radius-xl);box-shadow:var(--legacy-shadow-md);overflow:hidden;min-height:600px;border:1px solid var(--legacy-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(--legacy-color-primary) 0%,var(--legacy-color-primary-dark) 100%);border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.2rem}.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(--legacy-color-primary);box-shadow:0 0 0 3px #0d94881a}.item-image{width:48px;height:48px;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(--legacy-color-primary) 0%,var(--legacy-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(--legacy-color-primary) 0%,var(--legacy-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;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(--legacy-color-primary) 0%,var(--legacy-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(--legacy-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;cursor:default}.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(--legacy-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}.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(--legacy-color-primary) 0%,var(--legacy-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}.management-success-banner{background:#c6f6d5;color:#22543d;padding:12px 20px;border-radius:var(--legacy-radius-md);font-weight:600;text-align:center;margin:-20px 0 20px}.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(--legacy-color-primary) 0%,var(--legacy-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(--legacy-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(--legacy-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(--legacy-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(--legacy-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(--legacy-color-text-secondary)}.template-select-controls{display:flex;align-items:center;gap:6px;font-size:.8rem;color:var(--legacy-color-text-muted)}.template-select-link{background:none;border:none;color:var(--legacy-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(--legacy-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(--legacy-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}.essentials-section{background:#fffbeb;border:2px solid #fbbf24;border-radius:16px;padding:20px;margin-bottom:24px}.template-chore-card.essential-chore{border-color:#f59e0b;background:#fffbeb}.template-chore-card.essential-chore:hover{border-color:#d97706;box-shadow:0 6px 20px #f59e0b33}.already-added-badge{font-size:12px;font-weight:700;color:#15803d;white-space:nowrap}.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(--legacy-color-primary) 0%,var(--legacy-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(--legacy-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(--legacy-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(--legacy-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(--legacy-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}}.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(--legacy-color-primary) 0%,var(--legacy-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}.custom-task-form-group{flex:1;min-width:200px}.custom-task-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(--legacy-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}.parent-only-toggle{display:flex;align-items:center;gap:8px;margin-top:16px;padding:10px 14px;background:#fef3c7;border-radius:10px;font-size:13px;color:#78350f;cursor:pointer}.parent-only-toggle input{flex-shrink:0}.custom-task-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}.order-chores-section{background:#fffffff2;border-radius:16px;padding:24px;margin:24px 0;box-shadow:0 4px 20px #0000001a}.order-group{margin-top:18px}.order-group-title{font-size:.95rem;font-weight:700;color:var(--legacy-color-primary-dark);margin:0 0 8px}.order-list{display:flex;flex-direction:column;gap:6px}.order-row{display:flex;align-items:center;gap:10px;padding:8px 12px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px}.order-index{font-size:.75rem;font-weight:700;color:#fff;background:var(--legacy-color-primary);width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.order-emoji{font-size:1.1rem}.order-name{flex:1;font-weight:600;color:#2d3748;font-size:.9rem}.order-arrows{display:flex;gap:4px}.order-arrow-btn{border:1px solid #e2e8f0;background:#fff;border-radius:6px;width:26px;height:26px;cursor:pointer;font-size:.75rem;color:#4a5568}.order-arrow-btn:hover:not(:disabled){background:var(--legacy-color-primary-light);border-color:var(--legacy-color-primary)}.order-arrow-btn:disabled{opacity:.3;cursor:not-allowed}.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;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.parent-only-badge{font-size:11px;font-weight:700;background:#fef3c7;color:#78350f;padding:2px 8px;border-radius:10px;white-space:nowrap}.essential-badge{font-size:11px;font-weight:700;background:#fef3c7;color:#92400e;padding:2px 8px;border-radius:10px;white-space:nowrap}.behavior-points{color:var(--legacy-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;flex-wrap:wrap}.edit-form-row .schedule-select{flex:1;min-width:120px}.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}.custom-task-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(--legacy-color-primary) 0%,var(--legacy-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}.stacked-form-group{display:flex;flex-direction:column;gap:8px}.stacked-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(--legacy-color-primary);box-shadow:0 0 0 3px #0d94881a}.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}.login-form-actions{margin-top:8px}.login-button{width:100%;background:linear-gradient(135deg,var(--legacy-color-primary) 0%,var(--legacy-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}.completed-strip{display:flex;flex-wrap:wrap;gap:8px}.completed-pill{display:inline-flex;align-items:center;gap:4px;background:var(--legacy-color-surface-alt, #f0fdf4);border:1px solid #bbf7d0;color:#15803d;font-size:.8rem;font-weight:600;padding:4px 10px;border-radius:999px;text-decoration:line-through;opacity:.85}.todays-musts-section{background:#fffbeb;border:2px solid #fbbf24;border-radius:16px;padding:14px 16px;margin-bottom:16px}.todays-musts-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.todays-musts-title{font-weight:700;color:#92400e}.todays-musts-count{font-size:.85rem;font-weight:600;color:#92400e}.todays-musts-list{display:flex;flex-wrap:wrap;gap:8px}.must-pill{display:inline-flex;align-items:center;gap:4px;background:#fff;border:1px solid #fbbf24;color:#78350f;font-size:.8rem;font-weight:600;padding:4px 10px;border-radius:999px}.must-pill.must-done{background:#f0fdf4;border-color:#bbf7d0;color:#15803d;text-decoration:line-through;opacity:.85}.locked-hint{text-align:center;color:var(--legacy-color-text-muted, #94a3b8);font-size:.85rem;font-weight:600;margin:4px 0 0}.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(--legacy-color-primary);color:var(--legacy-color-primary)}.time-slot-tab.active{background:var(--legacy-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}.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(--legacy-color-text-primary);margin:0;text-align:center}.time-picker-subtitle{font-size:.95rem;color:var(--legacy-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(--legacy-radius-lg);border:none;cursor:pointer;transition:all .2s ease;text-align:left;width:100%;box-shadow:var(--legacy-shadow-sm)}.time-picker-card:hover{transform:translateY(-2px);box-shadow:var(--legacy-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-card.bonus{background:linear-gradient(135deg,#d1fae5,#a7f3d0)}.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(--legacy-color-text-primary);margin:0 0 2px}.time-picker-count{font-size:.85rem;color:var(--legacy-color-text-secondary);font-weight:500}.time-picker-arrow{font-size:1.2rem;color:var(--legacy-color-text-muted);flex-shrink:0}.time-picker-all-link{background:none;border:none;color:var(--legacy-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(--legacy-color-primary)}.change-time-link{display:inline-flex;align-items:center;gap:6px;background:none;border:1px solid var(--legacy-color-border);border-radius:999px;color:var(--legacy-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(--legacy-color-primary);color:var(--legacy-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(--legacy-color-primary-light);color:var(--legacy-color-primary-dark);border:1px solid rgba(13,148,136,.25)}.daily-counter.at-limit{background:#f1f5f9;color:var(--legacy-color-text-muted);border-color:var(--legacy-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(--legacy-color-surface);border-radius:var(--legacy-radius-xl) var(--legacy-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(--legacy-color-border);flex-shrink:0}.quick-reward-header h3{font-size:1.1rem;font-weight:800;color:var(--legacy-color-text-primary);margin:0}.quick-reward-close{background:none;border:none;font-size:1.4rem;cursor:pointer;color:var(--legacy-color-text-muted);padding:4px;line-height:1;transition:color .15s}.quick-reward-close:hover{color:var(--legacy-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(--legacy-color-surface-alt)}.quick-reward-emoji{font-size:1.6rem;flex-shrink:0}.quick-reward-name{flex:1;font-weight:600;color:var(--legacy-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(--legacy-color-primary-light);color:var(--legacy-color-primary-dark);border:1px solid rgba(13,148,136,.25)}.reward-progress-pill.at-limit{background:#f1f5f9;color:var(--legacy-color-text-muted);border-color:var(--legacy-color-border)}.quick-reward-btn{background:var(--legacy-color-primary);color:#fff;border:none;border-radius:var(--legacy-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(--legacy-color-primary-dark);transform:scale(1.04)}.quick-reward-btn:disabled{background:#e2e8f0;color:var(--legacy-color-text-muted);cursor:not-allowed}.nav-button.quick-reward-nav{flex:0 0 auto;background:linear-gradient(135deg,var(--legacy-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(--legacy-color-text-muted);border:1px solid var(--legacy-color-border);font-size:.78rem;padding:8px 14px;margin-left:auto;opacity:.7}.nav-button.logout-btn:hover{background:#fee2e2;color:var(--legacy-color-danger);border-color:var(--legacy-color-danger);opacity:1;transform:none;box-shadow:none}.install-hint{display:flex;align-items:center;gap:12px;margin:20px 0 8px;padding:14px 16px;background:#ffffff24;border:1px solid rgba(255,255,255,.22);border-radius:12px;text-align:left}.install-hint-icon{font-size:24px;line-height:1;flex-shrink:0}.install-hint-text{flex:1;min-width:0}.install-hint-text strong{display:block;font-size:15px;margin-bottom:2px}.install-hint-text p{margin:0;font-size:13px;line-height:1.45;opacity:.88}.install-hint-link{flex-shrink:0;padding:9px 14px;background:#ffffffeb;color:#4a3fb8;border-radius:8px;font-size:14px;font-weight:600;text-decoration:none;white-space:nowrap}.install-hint-link:hover{background:#fff}@media (max-width: 480px){.install-hint{flex-wrap:wrap}.install-hint-link{width:100%;text-align:center}}.auth-tabs{margin-bottom:16px}.auth-tabs .tab-button{flex:1;white-space:nowrap}@media (max-width: 480px){.management-tabs .tab-button{flex:1 1 0;min-width:0;padding:10px 6px;font-size:.9rem}}.auth-plan-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;margin:12px 0}.auth-plan-option{display:flex;flex-direction:column;align-items:center;gap:4px;padding:14px 10px;border:2px solid #c8e6c9;border-radius:12px;background:#fff;cursor:pointer;font:inherit;color:#2e3d2f}.auth-plan-option.selected{border-color:#4caf50;background:#e8f5e9;box-shadow:0 0 0 3px #4caf5033}.auth-plan-price{font-size:1.4em;font-weight:700}.auth-plan-price small{font-size:.6em;font-weight:400}.auth-plan-note{font-size:.85em;color:#558b2f}.auth-fine-print{font-size:.85em;color:#666;line-height:1.5;margin:12px 0 0}.link-button{background:none;border:none;padding:0;color:#2e7d32;text-decoration:underline;cursor:pointer;font:inherit}.link-button:disabled{opacity:.6;cursor:default}.grace-banner{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px;padding:10px 16px;background:#fff3e0;border-bottom:2px solid #ffb74d;color:#5d4037;font-size:.95em;text-align:center}.grace-banner button{background:#ef6c00;color:#fff;border:none;border-radius:8px;padding:6px 14px;font-weight:600;cursor:pointer}.account-settings{display:flex;flex-direction:column;gap:16px}.account-card{background:#fff;border-radius:12px;padding:16px;box-shadow:0 1px 4px #00000014;overflow-wrap:anywhere}.account-card p{margin:6px 0 12px}}@layer legacy{.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(--legacy-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;border-image:linear-gradient(45deg,#8d6e63,#a1887f) 1;background-image:url(/assets/zoos/sanctuary_zoo/sanctuary-zoo_layout.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);outline:3px solid #4caf50;outline-offset:-3px}.habitat.unlocked{transform:scale(1);filter:brightness(.9);outline:3px solid #ff9800;outline-offset:-3px}.habitat.available{transform:scale(.98);filter:brightness(.8);outline:3px solid #2196f3;outline-offset:-3px;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/zoos/sanctuary_zoo/biome-zoo_savanna.png);background-size:cover;background-position:center;background-repeat:no-repeat;border-color:#ffeb3b}.habitat[data-habitat="Savanna Grasslands"]{background-image:url(/assets/zoos/sanctuary_zoo/biome-zoo_savanna_grasslands.png);background-size:cover;background-position:center;background-repeat:no-repeat;border-color:#cddc39}.habitat[data-habitat="Savanna Rocky"]{background-image:url(/assets/zoos/sanctuary_zoo/biome-zoo_savanna_rocky.png);background-size:cover;background-position:center;background-repeat:no-repeat;border-color:#8d6e63}.habitat[data-habitat="Savanna Water"]{background-image:url(/assets/zoos/sanctuary_zoo/biome-zoo_savanna_water.png);background-size:cover;background-position:center;background-repeat:no-repeat;border-color:#03a9f4}.habitat[data-habitat=Jungle]{background-image:url(/assets/zoos/sanctuary_zoo/biome-zoo_jungle.png);background-size:cover;background-position:center;background-repeat:no-repeat;border-color:#4caf50}.habitat[data-habitat="Jungle Foliage"]{background-image:url(/assets/zoos/sanctuary_zoo/biome-zoo_jungle_foliage.png);background-size:cover;background-position:center;background-repeat:no-repeat;border-color:#2e7d32}.habitat[data-habitat="Jungle River"]{background-image:url(/assets/zoos/sanctuary_zoo/biome-zoo_jungle_river.png);background-size:cover;background-position:center;background-repeat:no-repeat;border-color:#009688}.habitat[data-habitat=Arctic]{background-image:url(/assets/zoos/sanctuary_zoo/biome-zoo_arctic.png);background-size:cover;background-position:center;background-repeat:no-repeat;border-color:#03a9f4}.habitat[data-habitat="Arctic Forest"]{background-image:url(/assets/zoos/sanctuary_zoo/biome-zoo_arctic_forest.png);background-size:cover;background-position:center;background-repeat:no-repeat;border-color:#2e7d32}.habitat[data-habitat="Arctic Snow Ice"]{background-image:url(/assets/zoos/sanctuary_zoo/biome-zoo_arctic_snow_ice.png);background-size:cover;background-position:center;background-repeat:no-repeat;border-color:#b3e5fc}.habitat[data-habitat="Arctic Water"]{background-image:url(/assets/zoos/sanctuary_zoo/biome-zoo_arctic_water.png);background-size:cover;background-position:center;background-repeat:no-repeat;border-color:#1976d2}.habitat[data-habitat="Oceanic Depths"]{background-image:url(/assets/zoos/sanctuary_zoo/biome-zoo_oceanic_depths.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/zoos/sanctuary_zoo/biome-zoo_open_water.png);background-size:cover;background-position:center;background-repeat:no-repeat;border-color:#2196f3}.habitat[data-habitat="Aquatic Shoreline"]{background-image:url(/assets/zoos/sanctuary_zoo/biome-zoo_aquatic_shoreline.png);background-size:cover;background-position:center;background-repeat:no-repeat;border-color:#26a69a}.habitat[data-habitat="Australian Outback"]{background-image:url(/assets/zoos/sanctuary_zoo/biome-zoo_australian_outback.png);background-size:cover;background-position:center;background-repeat:no-repeat;border-color:#ff9800}.habitat[data-habitat=Forest]{background-image:url(/assets/zoos/sanctuary_zoo/biome-zoo_jungle.png);background-size:cover;background-position:center;background-repeat:no-repeat;border-color:#66bb6a}.habitat[data-habitat=Mountains]{background-image:url(/assets/zoos/sanctuary_zoo/biome-zoo_savanna_rocky.png);background-size:cover;background-position:center;background-repeat:no-repeat;border-color:#8d6e63}.habitat[data-habitat=Desert]{background-image:url(/assets/zoos/sanctuary_zoo/biome-zoo_australian_outback.png);background-size:cover;background-position:center;background-repeat:no-repeat;border-color:#ffc107}.habitat[data-habitat=Lake]{background-image:url(/assets/zoos/sanctuary_zoo/biome-zoo_open_water.png);background-size:cover;background-position:center;background-repeat:no-repeat;border-color:#26a69a}.habitat[data-habitat=Farm]{background-image:url(/assets/zoos/sanctuary_zoo/biome-zoo_savanna_grasslands.png);background-size:cover;background-position:center;background-repeat:no-repeat;border-color:#cddc39}.habitat[data-habitat=Aviary]{background-image:url(/assets/zoos/sanctuary_zoo/biome-zoo_aquatic_shoreline.png);background-size:cover;background-position:center;background-repeat:no-repeat;border-color:#9c27b0}.habitat[data-habitat=Fantasy]{background-image:url(/assets/zoos/sanctuary_zoo/biome-zoo_arctic_forest.png);background-size:cover;background-position:center;background-repeat:no-repeat;border-color:#e91e63}.habitat[data-habitat=Decoration]{background-image:url(/assets/zoos/sanctuary_zoo/biome-zoo_savanna.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;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}.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;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}}@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{width:100%;height:100%;min-height:0;padding:20px;display:flex;flex-direction:column;background:linear-gradient(135deg,#e8f5e9,#c8e6c9);border-radius:16px;box-shadow:0 8px 32px #0000001a;overflow:hidden;font-family:var(--legacy-font-sans, "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif)}.habitat-detail-header{display:flex;align-items:center;gap:20px;flex-shrink:0;margin-bottom:16px;padding:16px 24px;border-radius:14px;background:linear-gradient(135deg,var(--legacy-color-primary) 0%,var(--legacy-color-primary-dark) 100%)}.habitat-title{font-size:2rem;font-weight:800;color:#fff;text-shadow:0 2px 4px rgba(0,0,0,.25);margin:0;flex:1;min-width:0;display:flex;flex-direction:column;align-items:flex-start}.exhibit-subtitle{font-size:.7em;color:#fff;font-weight:500;margin-top:4px;background:#ffffff2e;padding:4px 12px;border-radius:12px;border:1px solid rgba(255,255,255,.3)}.habitat-position{flex-shrink:0;font-size:.85rem;font-weight:700;color:#fff;background:#fff3;border:1px solid rgba(255,255,255,.3);border-radius:999px;padding:4px 12px;white-space:nowrap}.habitat-detail-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);flex-shrink:0}.habitat-detail-back-button:hover{background:#ffffff4d;border-color:#ffffff80;transform:translateY(-2px);box-shadow:0 6px 20px #0003}.habitat-zoom-button{flex-shrink:0;background:#fff3;color:#fff;border:2px solid rgba(255,255,255,.3);border-radius:14px;min-width:48px;min-height:44px;font-size:1rem;cursor:pointer;transition:background .2s ease}.habitat-zoom-button:hover,.habitat-zoom-button.active{background:#ffffff61}.habitat-detail-content{position:relative;width:100%;max-width:1400px;margin:0 auto;flex:1;min-height:0;min-width:0;display:flex;align-items:stretch;gap:12px}.habitat-stage{order:1;flex:1 1 0;min-width:0;min-height:0;overflow:auto;container-type:size;display:flex;align-items:center;justify-content:center;align-items:safe center;justify-content:safe center;border-radius:16px;background-color:transparent;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.habitat-art-frame{--art-ratio: 1;flex:none;position:relative;aspect-ratio:var(--art-ratio);width:min(100cqw,100cqh * var(--art-ratio));background-size:cover;background-position:center;background-repeat:no-repeat;background-color:#f8f9fa;border-radius:16px;box-shadow:0 8px 32px #0003;transition:width .25s ease}.habitat-art-frame.zoomed{width:max(min(100cqw,100cqh * var(--art-ratio)) * 1.6,max(100cqw,100cqh * var(--art-ratio)))}.animals-on-habitat{position:absolute;top:0;right:0;bottom:0;left:0}.animal-in-habitat{position:absolute;transform:translate(-50%,-50%);width:min(20%,88px);display:flex;flex-direction:column;align-items:center;z-index:10;cursor:pointer;transition:transform .3s ease}.animal-in-habitat.active{z-index:20}.animal-in-habitat.active .animal-habitat-image{transform:scale(1.12);outline:3px solid #ffffff;outline-offset:1px}.animal-habitat-image{width:100%;height:auto;aspect-ratio:1 / 1;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:3px 7px;border-radius:6px;font-size:.72rem;font-weight:600;color:#2e7d32;margin-top:4px;box-shadow:0 2px 8px #0000001a;white-space:nowrap;pointer-events:none}.habitat-roster{order:3;flex:0 0 200px;min-height:0;min-width:0;overflow-y:auto;overscroll-behavior:contain;background:#ffffffbf;border:1px solid rgba(0,0,0,.06);border-radius:14px;padding:10px}.habitat-roster-title{margin:0 0 8px;font-size:.8rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--legacy-color-primary-dark, #0f766e)}.habitat-roster-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.habitat-roster-item{width:100%;display:flex;align-items:center;gap:8px;padding:6px;min-height:44px;background:#fff;border:2px solid transparent;border-radius:10px;cursor:pointer;text-align:left;font:inherit;color:#2e7d32;font-weight:600}.habitat-roster-item.active,.habitat-roster-item:hover{border-color:var(--legacy-color-primary, #0d9488);background:#f0fdfa}.habitat-roster-thumb{width:32px;height:32px;object-fit:cover;border-radius:6px;flex-shrink:0}.habitat-roster-emoji{font-size:24px;width:32px;text-align:center;flex-shrink:0}.habitat-roster-name{font-size:.8rem;line-height:1.2;overflow-wrap:anywhere}.habitat-roster-empty{margin:0;font-size:.78rem;color:#64748b;line-height:1.4}.habitat-step-button{flex:0 0 auto;align-self:center;width:44px;height:44px;border-radius:50%;border:none;background:#ffffffe6;color:var(--legacy-color-primary-dark, #0f766e);font-size:26px;line-height:1;font-weight:700;cursor:pointer;box-shadow:0 2px 10px #0000002e;transition:transform .2s ease,background .2s ease}.habitat-step-button:hover{background:#fff;transform:scale(1.08)}.habitat-step-button.prev{order:0}.habitat-step-button.next{order:2}.empty-habitat-overlay{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:min(88%,420px);max-height:88%;overflow:auto;text-align:center}.empty-habitat-message{text-align:center;color:#fff;padding:clamp(10px,3vmin,28px);background:#0000008c;border-radius:16px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:2px solid rgba(255,255,255,.2)}.empty-habitat-message h3{color:#fff;font-weight:700;margin:8px 0;font-size:clamp(.85rem,2.6vmin,1.3rem);line-height:1.25;text-shadow:0 2px 4px rgba(0,0,0,.5)}.empty-habitat-message p{color:#ffffffeb;margin:0;font-size:clamp(.72rem,2vmin,1rem);line-height:1.4}.empty-icon{font-size:clamp(22px,5vmin,48px);margin-bottom:12px;display:block;opacity:.8}.parent-dashboard.view-habitat{height:100vh;height:100dvh;min-height:0;display:flex;flex-direction:column;overflow:hidden}.view-habitat .dashboard-header,.view-habitat .dashboard-nav{flex:0 0 auto}.view-habitat .dashboard-main{flex:1 1 auto;min-height:0;min-width:0;display:flex;width:100%}.view-habitat .dashboard-content,.view-habitat .habitat-detail-wrapper{flex:1 1 auto;min-height:0;min-width:0;display:flex}.view-habitat .habitat-detail-container{flex:1 1 auto;min-height:0;min-width:0}.habitat-fullscreen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;display:flex;flex-direction:column;gap:6px;background:#0a1410f5;padding:calc(6px + env(safe-area-inset-top)) calc(8px + env(safe-area-inset-right)) calc(6px + env(safe-area-inset-bottom)) calc(8px + env(safe-area-inset-left));animation:habitat-fullscreen-in .16s ease-out}@keyframes habitat-fullscreen-in{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion: reduce){.habitat-fullscreen{animation:none}}.habitat-fullscreen-bar{flex:0 0 auto;display:flex;align-items:center;gap:10px;min-height:0}.habitat-fullscreen-title{flex:1 1 auto;min-width:0;margin:0;color:#fff;font-size:1.05rem;font-weight:700;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.habitat-fullscreen .exhibit-subtitle,.habitat-fullscreen .habitat-position{color:#ffffffb8;font-size:.8rem;font-weight:600;white-space:nowrap}.habitat-fullscreen-close{flex:0 0 auto;width:38px;height:38px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;line-height:1;color:#fff;background:#ffffff24;border:1px solid rgba(255,255,255,.28);border-radius:50%;cursor:pointer;transition:background .15s ease}.habitat-fullscreen-close:hover,.habitat-fullscreen-close:focus-visible{background:#ffffff47}.habitat-fullscreen-stage{order:0;flex:1 1 auto;width:100%;min-height:0;border-radius:0;background:none}.habitat-fullscreen-stage .habitat-art-frame{border-radius:8px;box-shadow:none}.habitat-detail-content>.habitat-stage{cursor:zoom-in}}@layer legacy{.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%}}@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)}}@media (max-width: 768px),(max-height: 500px) and (orientation: landscape) and (pointer: coarse){.dashboard-nav{position:fixed;left:0;right:0;bottom:0;top:auto;margin:0;border-radius:0;border:none;border-top:1px solid var(--legacy-color-border, #e2e8f0);box-shadow:0 -2px 12px #00000014;z-index:150;gap:4px;padding:6px 6px calc(6px + env(safe-area-inset-bottom))}.nav-buttons{flex:1;flex-direction:row;gap:4px}.nav-button{padding:6px 2px;font-size:10px;line-height:1.15;white-space:normal;min-height:44px}.logout-btn{flex:0 0 auto;padding:6px 10px}.logout-btn .nav-button-label{display:none}.dashboard-main{padding-bottom:84px}.zoo-sidebar{order:0;max-height:none}}@media (max-width: 768px),(max-height: 500px) and (orientation: landscape) and (pointer: coarse){.view-zoo .dashboard-header{padding:8px 12px}.view-zoo .header-content{flex-direction:row;align-items:center;justify-content:space-between;gap:8px}.view-zoo .app-title{font-size:15px;white-space:nowrap}.view-zoo .header-controls{gap:8px}.view-zoo .dashboard-main{padding-left:0;padding-right:0}.view-zoo .dashboard-content{border-radius:0;border-left:none;border-right:none;min-height:0}.view-zoo .zoo-main-area{padding:12px}.view-zoo .section-title{font-size:1.05rem;margin-bottom:12px;gap:8px}.view-zoo .section-icon{width:24px;height:24px;font-size:.95rem}.view-zoo .edit-mode-toggle{margin-left:auto;font-size:11px;padding:6px 10px}}@media (max-height: 500px) and (orientation: landscape) and (pointer: coarse){.zoo-layout-wrapper{flex-direction:row;gap:12px}.zoo-main-area{padding:10px;min-width:0}.zoo-sidebar{width:190px;flex:0 0 190px;padding:10px;border-left:1px solid var(--legacy-color-border, #e2e8f0);max-height:none;overflow-y:auto}.zoo-sidebar .sidebar-title{font-size:12px;margin-bottom:8px}.zoo-sidebar .items-grid{grid-template-columns:repeat(auto-fill,minmax(72px,1fr));gap:8px}.dashboard-header{padding:4px 10px}.header-content{flex-direction:row;align-items:center;gap:8px}.app-title{font-size:13px}.dashboard-nav{padding:3px 6px calc(3px + env(safe-area-inset-bottom))}.nav-button{min-height:38px;padding:4px 2px;font-size:10px}.dashboard-main{padding-bottom:104px}.zoo-layout-container{padding:10px;gap:8px;background-attachment:scroll}.habitat{min-height:88px;padding:10px}.habitat h3{font-size:13px;margin-bottom:4px}.habitat-note{font-size:11px}.view-zoo .app-title{display:none}.view-zoo .dashboard-header{padding:3px 10px}.view-zoo .section-title{font-size:.9rem;margin-bottom:6px;gap:6px}.view-zoo .section-icon{width:20px;height:20px;font-size:.8rem}.view-zoo .zoo-main-area{padding:8px}}@media (max-width: 768px),(max-height: 500px) and (orientation: landscape){.pwa-install-prompt{top:auto;bottom:calc(58px + env(safe-area-inset-bottom));left:8px;right:8px;border-radius:12px}.pwa-install-content{padding:10px 12px;gap:10px}.pwa-install-icon{font-size:20px}.pwa-install-text strong{font-size:14px}.pwa-install-text p{font-size:12px;margin:2px 0 0}.pwa-install-button{padding:8px 12px;font-size:13px}}@media (max-height: 500px) and (orientation: landscape){.pwa-install-text p{display:none}.pwa-install-content{padding:6px 10px}}@media (max-width: 768px){.view-zoo .header-content{flex-wrap:wrap;row-gap:4px}.view-zoo .header-controls{flex:1 1 auto;min-width:0;justify-content:flex-end}.view-zoo .player-select{max-width:40vw}.view-zoo .points-display{white-space:nowrap}}@media (max-height: 500px) and (orientation: landscape){.zoo-entrance{display:none}}@media (max-width: 768px){.pwa-install-content{flex-direction:row;align-items:center;text-align:left}.pwa-install-actions{flex-direction:row;flex-shrink:0;width:auto;gap:6px}.pwa-install-button{width:auto}}@media (max-height: 500px) and (orientation: landscape){.view-zoo .player-select{padding:4px 8px;font-size:12px;max-width:30vw}.view-zoo .points-display{padding:4px 10px;font-size:12px}}@media (max-height: 500px) and (orientation: landscape){.time-picker-title{font-size:1.15rem;margin:0 0 2px}.time-picker-subtitle{font-size:.8rem;margin:0 0 10px}.time-picker{padding:10px 12px;gap:8px}.time-picker-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;max-width:none}.time-picker-card{flex-direction:column;align-items:center;text-align:center;gap:6px;padding:12px 8px;min-height:0}.time-picker-emoji{font-size:30px;line-height:1;flex-shrink:0}.time-picker-info{min-width:0}.time-picker-label{font-size:.92rem;line-height:1.15}.time-picker-count{font-size:.72rem;line-height:1.2}.time-picker-arrow{display:none}}.habitat-detail-wrapper{padding:32px}@media (max-width: 768px),(max-height: 500px) and (orientation: landscape){.habitat-detail-wrapper{padding:0}.view-habitat .dashboard-main{padding:0;padding-bottom:calc(58px + env(safe-area-inset-bottom))}.view-habitat .dashboard-content{border-radius:0;border-left:none;border-right:none;min-height:0}.habitat-detail-container{padding:8px;border-radius:0}.habitat-detail-header{gap:8px;margin-bottom:8px;padding:6px 10px;border-radius:10px}.habitat-title{font-size:1.05rem;flex-direction:row;align-items:center;gap:8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.exhibit-subtitle{font-size:.72rem;margin-top:0;padding:2px 8px}.habitat-detail-back-button{padding:8px 12px;font-size:.8rem;border-radius:10px}.habitat-position{font-size:.72rem;padding:3px 8px}.habitat-zoom-button{min-width:44px;min-height:40px;border-radius:10px}.habitat-detail-content{gap:8px}.animal-name-label{display:none}.animal-in-habitat.active .animal-name-label{display:block}.empty-icon{margin-bottom:2px}}@media (max-height: 500px) and (orientation: landscape){.habitat-roster{flex:0 0 150px;padding:6px}.habitat-roster-title{font-size:.68rem;margin-bottom:5px}.habitat-roster-item{gap:6px;padding:4px;min-height:40px}.habitat-roster-thumb,.habitat-roster-emoji{width:26px;height:26px;font-size:19px}.habitat-roster-name{font-size:.7rem}.habitat-step-button{width:38px;height:38px;font-size:22px}}@media (max-width: 768px) and (orientation: portrait){.habitat-detail-content{flex-direction:column}.habitat-roster{order:2;flex:0 0 auto;max-height:30%;overflow-x:auto;overflow-y:hidden;padding:8px}.habitat-roster-title{display:none}.habitat-roster-list{flex-direction:row;gap:8px}.habitat-roster-item{flex-direction:column;gap:4px;width:72px;padding:6px 4px;text-align:center}.habitat-roster-name{font-size:.68rem}.habitat-roster-empty{text-align:center}.habitat-step-button{position:absolute;top:35%;z-index:12;background:#ffffffd1}.habitat-step-button.prev{left:4px}.habitat-step-button.next{right:4px}}@media (max-width: 430px){.habitat-detail-header{gap:6px;padding:6px 8px}.habitat-back-label{display:none}.habitat-detail-back-button{padding:8px 12px;font-size:1rem}.habitat-title{font-size:1rem}}@media (max-height: 500px) and (orientation: landscape) and (min-width: 700px){.habitat-roster{flex:0 0 172px}}@media (max-width: 768px),(max-height: 500px) and (orientation: landscape){.empty-habitat-message{padding:10px 14px}.empty-habitat-message .empty-icon{font-size:24px}.empty-habitat-message h3{font-size:.95rem;margin:4px 0;line-height:1.2}.empty-habitat-message p{font-size:.75rem;margin:0;line-height:1.3}}}@layer legacy{.ip-page{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:20px;background:linear-gradient(160deg,#667eea,#5a4fcf);box-sizing:border-box}.ip-card{width:100%;max-width:460px;background:#fff;border-radius:18px;padding:32px 26px 24px;box-shadow:0 18px 50px #00000038;text-align:center;font-family:system-ui,-apple-system,Segoe UI,sans-serif;color:#1f2430}.ip-emoji{font-size:46px;line-height:1;margin-bottom:8px}.ip-card h1{margin:0 0 14px;font-size:23px;line-height:1.25}.ip-lead{margin:0 0 20px;font-size:16px;line-height:1.5;color:#414a5c}.ip-steps{text-align:left;margin:0 0 20px;padding-left:22px;font-size:16px;line-height:1.75;color:#1f2430}.ip-steps li{margin-bottom:8px}.ip-glyph{width:19px;height:19px;vertical-align:-4px;margin:0 3px;color:#007aff}.ip-btn{display:inline-block;margin:6px 0 4px;padding:14px 26px;background:#667eea;color:#fff;text-decoration:none;border:none;border-radius:10px;font-size:16px;font-weight:600;cursor:pointer;font-family:inherit}.ip-btn:hover{background:#5a4fcf}.ip-btn-lg{width:100%;padding:16px;font-size:17px}.ip-why{margin:18px 0 0;padding:13px 15px;background:#f2f4fb;border-left:3px solid #667eea;border-radius:0 8px 8px 0;text-align:left;font-size:14px;line-height:1.55;color:#414a5c}.ip-note{margin:12px 0 0;font-size:14px;line-height:1.5;color:#6b7385}.ip-url{display:inline-block;padding:2px 7px;background:#f2f4fb;border-radius:5px;font-size:14px;word-break:break-all}.ip-skip{display:inline-block;margin-top:22px;font-size:14px;color:#6b7385}.ip-done h1{color:#2f8f5b}@media (max-width: 380px){.ip-card{padding:26px 18px 20px}.ip-card h1{font-size:21px}}}@layer legacy{.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}}}
