/*! tailwindcss v4.2.1 | 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)))){:host,:root{--shimmer-angle:20deg}*,::backdrop,:after,:before{--tw-border-style:solid;--tw-font-weight:initial;--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-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-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-animation-delay:0s;--tw-animation-direction:normal;--tw-animation-duration:initial;--tw-animation-fill-mode:none;--tw-animation-iteration-count:1;--tw-enter-blur:0;--tw-enter-opacity:1;--tw-enter-rotate:0;--tw-enter-scale:1;--tw-enter-translate-x:0;--tw-enter-translate-y:0;--tw-exit-blur:0;--tw-exit-opacity:1;--tw-exit-rotate:0;--tw-exit-scale:1;--tw-exit-translate-x:0;--tw-exit-translate-y:0;--scroll-fade-t:0px;--scroll-fade-b:0px;--scroll-fade-s:0px;--scroll-fade-e:0px;--scroll-fade-mask:initial;--shimmer-image:initial;--shimmer-text-fill:initial}}}@layer theme{:host,:root{--font-sans:var(--font-sans);--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--spacing:.25rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--font-weight-medium:500;--radius-md:var(--radius);--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)}}@layer base{*,::backdrop,:after,:before{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}:host,html{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,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,pre,samp{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{outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,optgroup,select,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,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-second-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]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.start{inset-inline-start:var(--spacing)}.hidden{display:none}.inline-flex{display:inline-flex}.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-9{width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9)}.h-6{height:calc(var(--spacing) * 6)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.shrink-0{flex-shrink:0}.items-center{align-items:center}.justify-center{justify-content:center}.gap-1{gap:calc(var(--spacing) * 1)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.rounded-\[min\(var\(--radius-md\)\,10px\)\]{border-radius:min(var(--radius-md),10px)}.rounded-\[min\(var\(--radius-md\)\,12px\)\]{border-radius:min(var(--radius-md),12px)}.rounded-lg{border-radius:calc(var(--radius) * 1.35)}.border{border-style:var(--tw-border-style);border-width:1px}.border-border{border-color:var(--border)}.border-transparent{border-color:#0000}.bg-background{background-color:var(--background)}.bg-primary{background-color:var(--primary)}.bg-secondary{background-color:var(--secondary)}.bg-clip-padding{background-clip:padding-box}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[0\.8rem\]{font-size:.8rem}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.whitespace-nowrap{white-space:nowrap}.text-primary{color:var(--primary)}.text-primary-foreground{color:var(--primary-foreground)}.text-secondary-foreground{color:var(--secondary-foreground)}.underline-offset-4{text-underline-offset:4px}.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-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.running{animation-play-state:running}@media (hover:hover){.hover\:bg-\[color-mix\(in_oklch\,var\(--secondary\)\,var\(--foreground\)_5\%\)\]:hover{background-color:var(--secondary)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-\[color-mix\(in_oklch\,var\(--secondary\)\,var\(--foreground\)_5\%\)\]:hover{background-color:color-mix(in oklch,var(--secondary),var(--foreground) 5%)}}.hover\:bg-muted:hover{background-color:var(--muted)}.hover\:bg-primary\/80:hover{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-primary\/80:hover{background-color:color-mix(in oklab,var(--primary) 80%,transparent)}}.hover\:text-foreground:hover{color:var(--foreground)}.hover\:underline:hover{text-decoration-line:underline}}.focus-visible\:border-ring:focus-visible{border-color:var(--ring)}.focus-visible\:ring-3:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + 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)}.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:color-mix(in oklab,var(--ring) 50%,transparent)}}.active\:not-aria-\[haspopup\]\:translate-y-px:active:not([aria-haspopup]){--tw-translate-y:1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:opacity-50:disabled{opacity:.5}:where([data-slot=button-group]) .in-data-\[slot\=button-group\]\:rounded-lg{border-radius:calc(var(--radius) * 1.35)}.has-data-\[icon\=inline-end\]\:pr-1\.5:has([data-icon=inline-end]){padding-right:calc(var(--spacing) * 1.5)}.has-data-\[icon\=inline-end\]\:pr-2:has([data-icon=inline-end]){padding-right:calc(var(--spacing) * 2)}.has-data-\[icon\=inline-start\]\:pl-1\.5:has([data-icon=inline-start]){padding-left:calc(var(--spacing) * 1.5)}.has-data-\[icon\=inline-start\]\:pl-2:has([data-icon=inline-start]){padding-left:calc(var(--spacing) * 2)}.aria-expanded\:bg-muted[aria-expanded=true]{background-color:var(--muted)}.aria-expanded\:bg-secondary[aria-expanded=true]{background-color:var(--secondary)}.aria-expanded\:text-foreground[aria-expanded=true]{color:var(--foreground)}.aria-expanded\:text-secondary-foreground[aria-expanded=true]{color:var(--secondary-foreground)}.aria-invalid\:ring-3[aria-invalid=true]{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + 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)}.dark\:border-input:is(.dark *){border-color:var(--input)}.dark\:bg-input\/30:is(.dark *){background-color:var(--input)}@supports (color:color-mix(in lab,red,red)){.dark\:bg-input\/30:is(.dark *){background-color:color-mix(in oklab,var(--input) 30%,transparent)}}@media (hover:hover){.dark\:hover\:bg-input\/50:is(.dark *):hover{background-color:var(--input)}@supports (color:color-mix(in lab,red,red)){.dark\:hover\:bg-input\/50:is(.dark *):hover{background-color:color-mix(in oklab,var(--input) 50%,transparent)}}.dark\:hover\:bg-muted\/50:is(.dark *):hover{background-color:var(--muted)}@supports (color:color-mix(in lab,red,red)){.dark\:hover\:bg-muted\/50:is(.dark *):hover{background-color:color-mix(in oklab,var(--muted) 50%,transparent)}}}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3 svg:not([class*=size-]){width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3\.5 svg:not([class*=size-]){width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 svg:not([class*=size-]){width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}}@property --tw-animation-delay{syntax:"*";inherits:false;initial-value:0s}@property --tw-animation-direction{syntax:"*";inherits:false;initial-value:normal}@property --tw-animation-duration{syntax:"*";inherits:false}@property --tw-animation-fill-mode{syntax:"*";inherits:false;initial-value:none}@property --tw-animation-iteration-count{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-translate-y{syntax:"*";inherits:false;initial-value:0}@property --scroll-fade-t{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --scroll-fade-b{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --scroll-fade-s{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --scroll-fade-e{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --scroll-fade-mask{syntax:"*";inherits:false}@property --shimmer-angle{syntax:"<angle>";inherits:true;initial-value:20deg}@property --shimmer-image{syntax:"*";inherits:false}@property --shimmer-text-fill{syntax:"*";inherits:false}@media (prefers-reduced-motion:reduce){.shimmer{-webkit-text-fill-color:currentColor;background-image:none;animation:none}}:root{--background:#130d16;--foreground:#fff8ee;--primary:#f3a54b;--primary-foreground:#28140d;--secondary:#35202f;--secondary-foreground:#fff8ee;--muted:#2b1b28;--muted-foreground:#cdbdca;--border:#ffffff1f;--input:#ffffff24;--ring:#ffc978;--radius:.9rem;--font-sans:ui-rounded,"SF Pro Rounded","Apple SD Gothic Neo",Pretendard,system-ui,-apple-system,BlinkMacSystemFont,sans-serif}*{box-sizing:border-box;border-color:var(--border)}body,html{background:var(--background);min-height:100%;color:var(--foreground);font-family:var(--font-sans);margin:0}button,img{-webkit-tap-highlight-color:transparent}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.pet-shell{min-height:100svh;padding:max(clamp(14px,3vw,32px),env(safe-area-inset-top)) max(clamp(14px,3vw,32px),env(safe-area-inset-right)) max(clamp(14px,3vw,32px),env(safe-area-inset-bottom)) max(clamp(14px,3vw,32px),env(safe-area-inset-left));background:radial-gradient(circle at 50% 15%,#743b4559,#0000 38%),linear-gradient(155deg,#160d18,#281420 55%,#120b14);place-items:center;transition:background .7s;display:grid;overflow:hidden}.pet-shell.time-morning{background:radial-gradient(circle at 50% 14%,#ffb5663d,#0000 39%),linear-gradient(155deg,#25141a,#3c211f 55%,#180e15)}.pet-shell.time-day{background:radial-gradient(circle at 50% 15%,#8f4b4d61,#0000 39%),linear-gradient(155deg,#1b101b,#301821 55%,#140c15)}.pet-shell.time-night{background:radial-gradient(circle at 50% 12%,#5949844d,#0000 38%),linear-gradient(155deg,#100d1b,#21152d 55%,#0d0a13)}.pet-panel{gap:clamp(14px,2.4vh,22px);width:min(100%,640px);display:grid}.pet-header{justify-content:space-between;align-items:end;gap:20px;padding-inline:2px;display:flex}.eyebrow{color:#f5b869;letter-spacing:.13em;margin:0 0 6px;font-size:.69rem;font-weight:800}h1{letter-spacing:-.045em;margin:0;font-size:clamp(1.55rem,6vw,2.35rem);line-height:1.04}.title-row{align-items:end;gap:10px;display:flex}.name-link{color:#d7bdab;font:inherit;cursor:pointer;background:0 0;border:0;border-bottom:1px solid #f5b86961;flex:none;margin-bottom:2px;padding:4px 0;font-size:.69rem;font-weight:700}.name-link:focus-visible,.name-link:hover{color:#fff0d8;border-bottom-color:#ffc978;outline:none}.status-pill{color:#f4e9e3;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#11091094;border:1px solid #ffffff1c;border-radius:999px;gap:8px;padding:9px 12px;font-size:.78rem;font-weight:700}.header-tools,.status-pill{flex:none;align-items:center;display:flex}.header-tools{gap:7px}.sound-toggle{color:#f5b869;cursor:pointer;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#11091094;border:1px solid #ffffff1c;border-radius:50%;flex:none;place-items:center;width:38px;height:38px;padding:0;display:grid}.sound-toggle:focus-visible,.sound-toggle:hover{background:#381f2ee6;border-color:#ffc97873;outline:none}.sound-toggle svg{width:17px;height:17px}.status-dot{background:#f2a64a;border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 4px #f2a64a24}.status-tracking .status-dot{background:#6ee7a4;box-shadow:0 0 0 4px #6ee7a424}.status-loading .status-dot,.status-searching .status-dot{background:#f7d070;box-shadow:0 0 0 4px #f7d07024}.status-error .status-dot{background:#ef8fa1;box-shadow:0 0 0 4px #ef8fa124}.camera-feed{opacity:0;pointer-events:none;width:2px;height:2px;position:fixed}.cat-stage{aspect-ratio:1;touch-action:none;-webkit-user-select:none;user-select:none;width:100%;color:inherit;font:inherit;cursor:pointer;background:0 0;border:1px solid #ffffff1a;border-radius:clamp(28px,8vw,48px);padding:0;position:relative;overflow:hidden;transform:translateZ(0);box-shadow:0 30px 90px #00000061,inset 0 1px #ffffff1a}.cat-stage:focus-visible{outline-offset:4px;border-color:#ffc9789e;outline:3px solid #f3a54b3d}.cat-background{object-fit:cover;pointer-events:none;z-index:0;width:100%;height:100%;display:block;position:absolute;inset:0}.cat-character{z-index:1;transform-origin:50% 72%;will-change:transform;position:absolute;inset:0}.cat-ground-shadow{z-index:0;filter:blur(10px);background:#24091857;border-radius:50%;width:67%;height:9%;bottom:4.8%;left:17%;transform:scaleX(1.05)}.cat-ground-shadow,.cat-layer{pointer-events:none;position:absolute}.cat-layer{will-change:transform;background-position:50%;background-repeat:no-repeat;background-size:100% 100%;display:block;inset:0}.cat-tail{z-index:1;transform-origin:25% 84%;animation:tail-sway 4.8s ease-in-out infinite;-webkit-mask-image:radial-gradient(19% 25% at 22% 75%,#000 0 78%,#0000 96%);mask-image:radial-gradient(19% 25% at 22% 75%,#000 0 78%,#0000 96%)}.cat-body{z-index:2;transform-origin:51% 88%;transition:opacity 70ms linear;-webkit-mask-image:radial-gradient(35% 42% at 52% 72%,#000 0 82%,#0000 97%);mask-image:radial-gradient(35% 42% at 52% 72%,#000 0 82%,#0000 97%)}.cat-body-highfive-left,.cat-body-highfive-right{opacity:0}.cat-body-follow,.cat-ear-motion,.cat-head-follow{pointer-events:none;position:absolute;inset:0}.cat-body-follow{z-index:2;transform:translateY(var(--body-y,0)) scaleY(var(--body-scale-y,1));transform-origin:50% 91%;will-change:transform;transition:transform .36s cubic-bezier(.2,.72,.2,1)}.cat-head-follow{z-index:3;transform:translate(var(--head-x,0),var(--head-y,0)) rotate(var(--head-tilt,0)) scale(var(--head-scale,1));transform-origin:50% 53%;will-change:transform;transition:transform .28s cubic-bezier(.2,.72,.2,1)}.cat-stage.proximity-near .cat-head{animation:cat-sniff 1.15s ease-in-out infinite}.cat-stage.proximity-far .cat-body-follow{transform:translateY(var(--body-y,0)) scaleY(var(--body-scale-y,1)) rotateX(-1.5deg)}.cat-stage.is-petting .cat-head-follow{filter:drop-shadow(0 7px 12px #ffb25b1f)}.cat-stage.is-petting .cat-ear-motion-left{transform:rotate(-4deg)}.cat-stage.is-petting .cat-ear-motion-right{transform:rotate(4deg)}.cat-head{z-index:2;-webkit-mask-image:radial-gradient(34% 27% at 50% 40%,#000 0 86%,#0000 99%);mask-image:radial-gradient(34% 27% at 50% 40%,#000 0 86%,#0000 99%)}.cat-head-blink-closed,.cat-head-blink-half,.cat-head-ears-mazinger,.cat-head-sneeze,.cat-head-tail-annoyed{opacity:0}.cat-head-ears-mazinger{z-index:3;-webkit-mask-image:radial-gradient(44% 31% at 50% 32%,#000 0 82%,#0000 98%);mask-image:radial-gradient(44% 31% at 50% 32%,#000 0 82%,#0000 98%)}.cat-head-blink-closed,.cat-head-blink-half,.cat-head-tail-annoyed{z-index:5}.cat-ear-motion{z-index:1;will-change:transform;transition:transform .155s ease-out}.cat-ear-motion-left{transform:rotate(var(--ear-left-tilt,-2deg));transform-origin:31% 29%}.cat-ear-motion-right{transform:rotate(var(--ear-right-tilt,2deg));transform-origin:69% 29%}.cat-ear-left{-webkit-mask-image:radial-gradient(13% 18% at 31% 20%,#000 0 76%,#0000 98%);mask-image:radial-gradient(13% 18% at 31% 20%,#000 0 76%,#0000 98%)}.cat-ear-right{-webkit-mask-image:radial-gradient(13% 18% at 69% 20%,#000 0 76%,#0000 98%);mask-image:radial-gradient(13% 18% at 69% 20%,#000 0 76%,#0000 98%)}.cat-stage:not(.reaction-purr):not(.reaction-sneeze):not(.reaction-highFiveLeft):not(.reaction-highFiveRight):not(.reaction-curious):not(.reaction-found):not(.reaction-searching):not(.reaction-bonded):not(.reaction-greeting):not(.reaction-named) .cat-body-base{animation:cat-breathe 3.8s ease-in-out infinite}.cat-stage.reaction-purr .cat-character{animation:cat-purr .26s ease-in-out infinite alternate}.cat-stage.reaction-sneeze .cat-head-follow{animation:cat-sneeze-head .76s cubic-bezier(.2,.8,.25,1) both}.cat-stage.reaction-sneeze .cat-head-base,.cat-stage.reaction-sneeze .pupil{animation:sneeze-base-face .76s step-end both}.cat-stage.reaction-sneeze .cat-head-sneeze{animation:sneeze-expression .76s step-end both}.cat-stage.reaction-sneeze .cat-ear-motion-left{animation:sneeze-ear-left .76s ease-in-out both}.cat-stage.reaction-sneeze .cat-ear-motion-right{animation:sneeze-ear-right .76s ease-in-out both}.cat-stage.reaction-tailAnnoyed .cat-head-follow{animation:tail-annoyed-head 1.1s cubic-bezier(.2,.8,.25,1) both}.cat-stage.reaction-tailAnnoyed .cat-head-base,.cat-stage.reaction-tailAnnoyed .pupil{animation:tail-annoyed-base 1.1s step-end both}.cat-stage.reaction-tailAnnoyed .cat-head-tail-annoyed{animation:tail-annoyed-expression 1.1s step-end both}.cat-stage.reaction-tailAnnoyed .cat-tail{animation:tail-nope 1.1s cubic-bezier(.25,.8,.25,1) both}.cat-stage.reaction-highFiveLeft .cat-body-base,.cat-stage.reaction-highFiveRight .cat-body-base{animation:high-five-base .85s linear both}.cat-stage.reaction-highFiveLeft .cat-body-highfive-left,.cat-stage.reaction-highFiveRight .cat-body-highfive-right{animation:high-five-pose .85s cubic-bezier(.2,.85,.3,1) both}.cat-stage.reaction-curious .cat-character{animation:cat-curious .72s ease-in-out both}.cat-stage.reaction-found .cat-character{animation:cat-found .76s cubic-bezier(.2,.9,.25,1) both}.cat-stage.reaction-searching .cat-character{animation:cat-searching 1.3s ease-in-out both}.cat-stage.reaction-bonded .cat-character{animation:cat-bonded 1.8s ease-in-out both}.cat-stage.reaction-greeting .cat-character{animation:cat-greeting 1.35s ease-in-out both}.cat-stage.reaction-named .cat-character{animation:cat-named .82s cubic-bezier(.2,.9,.3,1) both}.cat-stage.reaction-earsMazinger .cat-head-follow{animation:cat-ears-guarded .95s cubic-bezier(.2,.8,.25,1) both}.cat-stage.reaction-earsMazinger .cat-ear-motion,.cat-stage.reaction-earsMazinger .cat-head-base{animation:ears-mazinger-base .95s step-end both}.cat-stage.reaction-earsMazinger .cat-head-ears-mazinger{animation:ears-mazinger-expression .95s step-end both}.cat-stage.reaction-chin .cat-head{animation:cat-chin-lift .82s cubic-bezier(.2,.8,.25,1) both}.cat-stage.reaction-belly .cat-body{animation:cat-belly-wiggle 1.05s ease-in-out both}.cat-stage.is-blinking:not(.reaction-sneeze):not(.reaction-tailAnnoyed) .pupil{animation:blink-pupils .3s step-end both}.cat-stage.is-blinking:not(.reaction-sneeze):not(.reaction-tailAnnoyed) .cat-head-blink-half{animation:blink-half-frame .3s step-end both}.cat-stage.is-blinking:not(.reaction-sneeze):not(.reaction-tailAnnoyed) .cat-head-blink-closed{animation:blink-closed-frame .3s step-end both}.cat-stage.reaction-bonded .pupil{animation:slow-blink-pupils 1.65s step-end both}.cat-stage.reaction-bonded .cat-head-blink-half{animation:slow-blink-half-frame 1.65s step-end both}.cat-stage.reaction-bonded .cat-head-blink-closed{animation:slow-blink-closed-frame 1.65s step-end both}.cat-stage.reaction-searching .pupil-left{animation:eye-search-left 1.3s ease-in-out both}.cat-stage.reaction-searching .pupil-right{animation:eye-search-right 1.3s ease-in-out both}.pupil{z-index:4;aspect-ratio:.82;width:5.8%;transform:translate(-50%,-50%) translate(var(--pupil-x,0),var(--pupil-y,0));pointer-events:none;background:radial-gradient(circle at 42% 35%,#87636d 0 17%,#503844 43%,#2b202c 73%,#18131a 100%);border:1px solid #f4d7da57;transition:transform 90ms linear;top:30.7%;overflow:hidden;box-shadow:inset 0 1px 2px #ffebef75,inset 0 -6px 10px #0a070b7a,0 2px 8px #1e0a166b}.pupil,.pupil:before{border-radius:48%;position:absolute}.pupil:before{content:"";background:#0b090b;width:40%;height:61%;top:20%;left:50%;transform:translate(-50%);box-shadow:0 0 5px #080407b3}.pupil-left{left:41.1%}.pupil-right{left:60.4%}.pupil>span{background:#fffffff0;width:25%;top:13%;left:18%;box-shadow:0 0 5px #fff4cd8c}.pupil>span,.pupil>span:after{aspect-ratio:1;border-radius:50%;position:absolute}.pupil>span:after{content:"";background:#ffffffa8;width:38%;top:168%;left:196%}.reaction-bubble{z-index:3;color:#fff1d7;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#190c15b3;border:1px solid #ffffff1f;border-radius:999px;padding:9px 14px;font-size:.86rem;font-weight:800;animation:bubble-in .18s ease-out both;position:absolute;top:6%;left:50%;transform:translate(-50%)}.pet-actions{justify-content:space-between;align-items:center;gap:14px;display:flex}.camera-button{color:#2d170e;background:#f3a54b;border-radius:16px;height:48px;padding-inline:18px;font-weight:850;box-shadow:0 10px 28px #ec8b2f33}.camera-button:hover{background:#ffc16c}.secondary-button{color:#fff4ea;box-shadow:none;background:#3a2433;border-color:#ffffff21}.secondary-button:hover{background:#4a2c3e}.spinner{animation:spin .9s linear infinite}.privacy-note,.touch-hint{color:#cdbdca;align-items:center;gap:8px;font-size:.79rem;font-weight:650;display:flex}.privacy-note svg,.touch-hint svg{color:#f1af5d;width:16px;height:16px}.privacy-note{color:#a795a3;justify-content:center;font-size:.73rem}.error-message{color:#f2a9b6;text-align:center;margin:-4px 0 0;font-size:.78rem;font-weight:650}.camera-intro-backdrop,.name-dialog-backdrop{z-index:20;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#08050aa8;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.camera-intro,.name-dialog{color:#fff8ee;background:#251720;border:1px solid #ffffff21;border-radius:26px;width:min(100%,420px);margin:0;padding:0;position:static;box-shadow:0 28px 90px #0000007a}.camera-intro::backdrop,.name-dialog::backdrop{background:0 0}.camera-intro{padding:27px}.camera-intro-icon{color:#f5b869;background:#f3a54b1f;border:1px solid #ffc47033;border-radius:16px;place-items:center;width:48px;height:48px;margin-bottom:16px;display:grid}.camera-intro-icon svg{width:22px;height:22px}.camera-intro h2{letter-spacing:-.035em;margin:7px 0 10px;font-size:1.48rem;line-height:1.18}.camera-intro-copy{color:#d7c7cf;margin:0;font-size:.84rem;line-height:1.65}.camera-intro-points{color:#bdaab5;gap:8px;margin:18px 0 22px;padding:0;font-size:.76rem;line-height:1.45;list-style:none;display:grid}.camera-intro-points li{padding-left:17px;position:relative}.camera-intro-points li:before{content:"";background:#f3a54b;border-radius:50%;width:6px;height:6px;position:absolute;top:.48em;left:1px;box-shadow:0 0 0 3px #f3a54b1a}.camera-intro-actions{grid-template-columns:.85fr 1.45fr;gap:10px;display:grid}.camera-intro-actions button{min-height:48px;font:inherit;cursor:pointer;border-radius:14px;font-size:.78rem;font-weight:820}.name-dialog form{gap:12px;padding:26px;display:grid}.name-dialog-kicker{color:#f5b869;letter-spacing:.11em;margin:0;font-size:.7rem;font-weight:850}.name-dialog h2{letter-spacing:-.035em;margin:0 0 7px;font-size:1.48rem}.name-dialog label{color:#e9dcd4;font-size:.78rem;font-weight:750}.name-dialog input{color:#fff8ee;width:100%;height:52px;font:inherit;background:#160e16;border:1px solid #ffffff24;border-radius:15px;outline:none;padding:0 15px;font-size:1rem;font-weight:720}.name-dialog input:focus{border-color:#f3a54b;box-shadow:0 0 0 3px #f3a54b26}.name-dialog input::placeholder{color:#7f6d79}.name-help{color:#a996a3;min-height:18px;margin:-3px 0 0;font-size:.72rem}.name-error{color:#f3a6b4}.name-dialog-actions{grid-template-columns:.8fr 1.4fr;gap:10px;margin-top:5px;display:grid}.name-dialog-actions button{min-height:47px;font:inherit;cursor:pointer;border-radius:14px;font-size:.82rem;font-weight:820}.name-later-button{color:#eadde4;background:#392631;border:1px solid #ffffff1f}.name-save-button{color:#28140d;background:#f3a54b;border:0}.name-later-button:focus-visible,.name-later-button:hover{background:#49313f}.name-save-button:focus-visible,.name-save-button:hover{background:#ffc16a}@keyframes bubble-in{0%{opacity:0;transform:translate(-50%)translateY(8px)scale(.9)}to{opacity:1;transform:translate(-50%)translateY(0)scale(1)}}@keyframes cat-purr{0%{transform:translateY(0)scale(1)}to{transform:translateY(-2px)scale(1.008)}}@keyframes cat-breathe{0%,to{transform:translateY(0)scale(1)}50%{transform:translateY(-2px)scale(1.004)}}@keyframes tail-sway{0%,to{transform:rotate(-1.8deg)translateY(0)}50%{transform:rotate(2.4deg)translateY(-1px)}}@keyframes cat-sniff{0%,to{filter:brightness();transform:translateY(0)}50%{filter:brightness(1.025);transform:translateY(-1px)scale(1.002)}}@keyframes cat-ears-guarded{0%,to{transform:translate(var(--head-x,0),var(--head-y,0)) rotate(var(--head-tilt,0)) scale(var(--head-scale,1))}20%,68%{transform:translate(var(--head-x,0),calc(var(--head-y,0) + 3px)) rotate(var(--head-tilt,0)) scale(.994)}82%{transform:translate(var(--head-x,0),calc(var(--head-y,0) + 1px)) rotate(var(--head-tilt,0)) scale(1.002)}}@keyframes ears-mazinger-base{0%,13%,87%,to{opacity:1}14%,86%{opacity:0}}@keyframes ears-mazinger-expression{0%,13%,87%,to{opacity:0}14%,86%{opacity:1}}@keyframes cat-chin-lift{0%,to{transform:translateY(0)scale(1)}42%,70%{transform:translateY(-5px)scale(1.008)}}@keyframes cat-belly-wiggle{0%,to{transform:rotate(0)scale(1)}24%{transform:rotate(-1.2deg)scale(1.006)}48%{transform:rotate(1.2deg)scale(.998)}72%{transform:rotate(-.7deg)scale(1.004)}}@keyframes cat-sneeze-head{0%,to{transform:translate(var(--head-x,0),var(--head-y,0)) rotate(var(--head-tilt,0)) scale(var(--head-scale,1))}18%{transform:translate(var(--head-x,0),calc(var(--head-y,0) + 3px)) rotate(var(--head-tilt,0)) scale(.994)}36%{transform:translate(var(--head-x,0),calc(var(--head-y,0) - 8px)) rotate(calc(var(--head-tilt,0deg) - 1.4deg)) scale(1.012)}52%{transform:translate(var(--head-x,0),calc(var(--head-y,0) + 1px)) rotate(calc(var(--head-tilt,0deg) + .7deg)) scale(.998)}}@keyframes sneeze-base-face{0%,17%,76%,to{opacity:1}18%,75%{opacity:0}}@keyframes sneeze-expression{0%,17%,76%,to{opacity:0}18%,75%{opacity:1}}@keyframes tail-annoyed-head{0%,to{transform:translate(var(--head-x,0),var(--head-y,0)) rotate(var(--head-tilt,0)) scale(var(--head-scale,1))}16%{transform:translate(calc(var(--head-x,0) + 3px),calc(var(--head-y,0) - 1px)) rotate(calc(var(--head-tilt,0deg) + 1.4deg)) scale(var(--head-scale,1))}34%,72%{transform:translate(calc(var(--head-x,0) + 1px),var(--head-y,0)) rotate(calc(var(--head-tilt,0deg) + .5deg)) scale(var(--head-scale,1))}}@keyframes tail-annoyed-base{0%,11%,86%,to{opacity:1}12%,85%{opacity:0}}@keyframes tail-annoyed-expression{0%,11%,86%,to{opacity:0}12%,85%{opacity:1}}@keyframes tail-nope{0%,to{transform:rotate(0)}14%{transform:rotate(-18deg)}30%{transform:rotate(12deg)}48%{transform:rotate(-15deg)}66%{transform:rotate(7deg)}82%{transform:rotate(-4deg)}}@keyframes sneeze-ear-left{0%,24%,to{transform:rotate(var(--ear-left-tilt,-2deg))}40%{transform:rotate(-10deg)}58%{transform:rotate(1deg)}}@keyframes sneeze-ear-right{0%,24%,to{transform:rotate(var(--ear-right-tilt,2deg))}40%{transform:rotate(10deg)}58%{transform:rotate(-1deg)}}@keyframes high-five-base{0%,to{opacity:1}15%,78%{opacity:0}}@keyframes high-five-pose{0%,to{opacity:0}15%,68%{opacity:1}35%{filter:brightness(1.035)drop-shadow(0 4px 7px #ffaa6029)}}@keyframes cat-curious{0%,to{transform:rotate(0)}38%{transform:rotate(-1.6deg)scale(1.008)}68%{transform:rotate(1deg)}}@keyframes cat-found{0%{transform:translateY(9px)scale(.985)}42%{transform:translateY(-12px)scale(1.025)}68%{transform:translateY(2px)scale(.998)}to{transform:translateY(0)scale(1)}}@keyframes cat-searching{0%,to{transform:rotate(0)}28%{transform:rotate(-1.7deg)}62%{transform:rotate(1.7deg)}}@keyframes eye-search-left{0%,to{transform:translate(-50%,-50%)}30%{transform:translate(-68%,-50%)}66%{transform:translate(-32%,-50%)}}@keyframes eye-search-right{0%,to{transform:translate(-50%,-50%)}30%{transform:translate(-68%,-50%)}66%{transform:translate(-32%,-50%)}}@keyframes cat-bonded{0%,to{transform:translateY(0)scale(1)}34%,72%{transform:translateY(-4px)scale(1.016)}}@keyframes blink-pupils{0%,11%,88%,to{opacity:1}12%,87%{opacity:0}}@keyframes blink-half-frame{0%,11%,32%,67%,88%,to{opacity:0}12%,31%,68%,87%{opacity:1}}@keyframes blink-closed-frame{0%,31%,68%,to{opacity:0}32%,67%{opacity:1}}@keyframes slow-blink-pupils{0%,14%,85%,to{opacity:1}15%,84%{opacity:0}}@keyframes slow-blink-half-frame{0%,14%,30%,69%,85%,to{opacity:0}15%,29%,70%,84%{opacity:1}}@keyframes slow-blink-closed-frame{0%,29%,70%,to{opacity:0}30%,69%{opacity:1}}@keyframes cat-greeting{0%,to{transform:translateY(0)rotate(0)}32%{transform:translateY(-5px)rotate(-1deg)scale(1.008)}62%{transform:translateY(-2px)rotate(.7deg)scale(1.004)}}@keyframes cat-named{0%,to{transform:translateY(0)scale(1)}38%{transform:translateY(-11px)scale(1.022)rotate(-1deg)}64%{transform:translateY(1px)scale(.998)rotate(.5deg)}}@keyframes spin{to{transform:rotate(1turn)}}@media (max-width:560px){.pet-header,.pet-shell,.title-row{align-items:start}.title-row{flex-direction:column;gap:1px}.name-link{margin-bottom:0}.eyebrow{font-size:.58rem}.status-pill{margin-top:2px;padding:8px 10px;font-size:.69rem}.header-tools{flex-direction:column-reverse;align-items:flex-end;gap:5px}.sound-toggle{width:34px;height:34px}.pet-actions{flex-direction:column}.camera-button{width:100%}.camera-intro,.name-dialog{border-radius:24px 24px 18px 18px;align-self:end}.camera-intro{padding:24px 20px max(22px,env(safe-area-inset-bottom))}.name-dialog form{padding:23px 20px max(22px,env(safe-area-inset-bottom))}}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}@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-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-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}