.cat-home-greeting h2{font-size:clamp(24px,4vw,32px);font-weight:500;line-height:1.4;letter-spacing:.02em;margin:0 0 4px;color:#fff4df}.cat-home-greeting p{font-size:16px;line-height:1.6;letter-spacing:0;margin:0;color:#d4d2c2}.cat-life-bar{padding:0 0 10px;margin-bottom:10px}.cat-life-clock{opacity:.64}.cat-life-clock span,.cat-life-clock time{font-size:12px}.cat-life-bar strong{font-size:13px}.cat-room-identity{min-width:0}.cat-room-name{align-items:flex-start}.cat-room-identity .cat-room-title{font-size:18px;margin:0;line-height:1.5}.cat-nickname-edit{font-size:14px;text-decoration:underline;text-underline-offset:4px;color:#d5c3a0;min-height:36px;text-align:left}.cat-nickname-form{margin:10px 0 14px;max-width:440px}.cat-nickname-form label{display:block;font-size:14px;margin-bottom:8px}.cat-nickname-form>div{display:flex;gap:8px}.cat-nickname-form input{background:#18251e;color:#fff4df;border:1px solid #bfa36877;border-radius:9px;padding:10px 12px;font-size:16px;min-width:0;width:100%}.cat-nickname-form button{background:#e8bd75;color:#201d13;padding:10px 16px;border-radius:9px;min-height:44px;flex:none}.cat-nickname-form p{font-size:14px;line-height:1.5}.cat-companion-bar{margin:0 0 10px}.cat-companion-entry{display:flex;align-items:center;justify-content:center;gap:9px;width:100%;min-height:48px;border-radius:14px;border:1px solid #c1a77066;background:#18271f;color:#fff4df;font-size:16px;letter-spacing:.04em}.cat-companion-entry svg{width:23px;height:23px;color:#e1be7b}.cat-companion-targets{display:flex;gap:8px;margin-top:8px}.cat-companion-targets button{flex:1;border:1px solid #fff3;border-radius:10px;min-height:44px;font-size:14px}.cat-companion-targets button[aria-pressed=true]{border-color:#f4cf82;background:#f4cf8215;color:#f4cf82}.cat-fixed-halloween-decor{position:absolute;inset:0;z-index:3;pointer-events:none}.cat-fixed-halloween-decor img{filter:drop-shadow(0 3px 3px #21160777)}.cat-scene[data-period=LateNight] .cat-fixed-halloween-decor img{filter:brightness(.85) drop-shadow(0 3px 3px #0008)}.cat-season-sheet{box-sizing:border-box;width:min(570px,calc(100vw - 24px));max-height:90dvh;padding:0;border:1px solid #ffbf4977;border-radius:22px;background:var(--season-surface,#17231d);color:var(--season-secondary,#fff4df);overflow:hidden;margin:auto;box-shadow:0 18px 90px #0008}.cat-season-sheet::backdrop{background:#07110cd9;backdrop-filter:blur(6px)}.cat-season-inner{display:flex;flex-direction:column;max-height:90dvh;padding:20px 24px;box-sizing:border-box}.cat-season-inner>header{display:flex;align-items:center;justify-content:space-between;flex:none;margin-bottom:12px}.cat-season-inner header p{display:flex;align-items:center;gap:8px;font-size:14px;letter-spacing:.12em;color:var(--season-primary);margin:0}.cat-season-inner header button{font-size:26px;min-width:44px;min-height:44px}.cat-season-scroll{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:0 0 8px;scrollbar-width:thin}.cat-season-hero{display:block;width:100%;height:auto;border-radius:14px;background:#fff;object-fit:contain}.cat-season-pack{font-size:13px;letter-spacing:.06em;color:var(--season-primary);margin:16px 0 8px}.cat-season-inner h2{font-size:clamp(22px,4vw,28px);font-weight:500;line-height:1.5;margin:0 0 16px}.cat-season-inner p{font-size:16px;line-height:1.8}.cat-season-inner ul{list-style:none;padding:0;margin:22px 0;display:grid;gap:11px}.cat-season-inner li{display:flex;align-items:center;gap:10px;font-size:16px}.cat-season-inner li svg{width:18px;height:18px;color:var(--season-primary);flex:none}.cat-season-ending{color:#f3d7a3}.cat-season-inner footer{flex:none;border-top:1px solid #ffdf9829;padding-top:12px}.cat-season-inner .cat-season-price{font-size:18px;margin:0 0 10px;text-align:center;color:var(--season-secondary)}.cat-season-cta{display:block;width:100%;background:var(--season-primary,#ffbf49);color:#241d12;font-size:17px;min-height:50px;padding:12px 16px;border-radius:12px}.cat-season-quiet{display:block;margin:8px auto 0;min-height:44px;color:#d3c6ab;font-size:14px}.cat-season-inner footer small{display:block;text-align:center;font-size:13px;line-height:1.6;margin-top:8px}.cat-season-sheet button:disabled{opacity:.55}.cat-companion-bar button:focus-visible,.cat-nickname-edit:focus-visible,.cat-season-sheet button:focus-visible{outline:2px solid #ffcf73;outline-offset:3px}.cat-season-welcome .cat-season-inner{overflow-y:auto;gap:14px;text-align:center}.cat-season-welcome .cat-season-pack,.cat-season-welcome h2,.cat-season-welcome p{margin:0}.cat-season-memory{border:1px solid #f6c16a44;border-radius:16px;overflow:hidden;margin:14px 0 20px;background:#19251e}.cat-season-memory img{display:block;width:100%;height:auto;max-height:190px;object-fit:cover;object-position:center 40%}.cat-season-memory>div{padding:14px 16px}.cat-season-memory p{font-size:15px;margin:5px 0;line-height:1.6}.cat-season-memory small{color:#ffcf73;letter-spacing:.08em;font-size:13px}@media(max-width:600px){.cat-season-sheet{width:calc(100vw - 16px);max-height:calc(100dvh - 16px);border-radius:18px}.cat-season-inner{padding:12px 16px;max-height:calc(100dvh - 16px)}.cat-season-inner h2{font-size:22px}.cat-season-inner header{margin-bottom:8px}.cat-season-inner ul{margin:16px 0;gap:8px}.cat-season-inner li{font-size:15px}.cat-season-inner footer small{font-size:12px}.cat-season-quiet{margin-top:3px}.cat-season-inner footer{padding-top:9px}.cat-home-greeting h2{font-size:27px}.cat-room-name>span{font-size:13px}.cat-home-greeting{gap:12px}.cat-home-greeting p{font-size:15px}.cat-life-bar strong{font-size:12px}}@media(prefers-reduced-motion:reduce){.cat-scene .cat-character-art{animation:none!important;transform:none!important}}.cat-life-clock{opacity:1;max-width:220px;white-space:normal}.cat-life-clock>span{font-size:12px;color:#b3bdaf}.cat-room-name-trigger{display:block;margin:0 auto;max-width:100%;font-size:17px;font-weight:500;line-height:1.5;min-height:32px;color:#fff4df;overflow-wrap:anywhere}.cat-life-clock strong.cat-room-name-trigger{font-size:17px}.cat-room-name-trigger:focus-visible{outline:2px solid #ffcf73;outline-offset:3px;border-radius:5px}.cat-room-name .cat-room-title{font-size:12px;opacity:.7}.cat-name-sheet{width:min(360px,calc(100vw - 32px));padding:24px;border:1px solid #d6bd8766;border-radius:20px;background:#17231d;color:#fff4df;box-sizing:border-box}.cat-name-sheet::backdrop{background:#07110cd9;backdrop-filter:blur(5px)}.cat-name-sheet h2{font-size:22px;font-weight:500;margin:0 0 20px}.cat-name-sheet input{width:100%;box-sizing:border-box;background:#0f1c16;border:1px solid #d6bd8766;border-radius:10px;color:#fff4df;font-size:17px;padding:12px}.cat-name-sheet footer{display:flex;gap:10px;margin-top:22px}.cat-name-sheet button{flex:1;min-height:46px;border:1px solid #d6bd8744;border-radius:10px}.cat-name-sheet button:last-child{background:#e8bd75;color:#241d12}.cat-name-sheet p{font-size:14px;line-height:1.6}.cat-name-sheet button:disabled{opacity:.6}.cat-duo-hero{display:flex;aspect-ratio:2/1;overflow:hidden;background:#fff}.cat-duo-hero>span{position:relative;display:block;flex:1;min-width:0;height:100%;overflow:hidden}.cat-duo-hero img{position:absolute;max-width:none;height:auto;display:block}.cat-duo-jasper img{width:205.714286%;left:-10.133929%;top:-1.428571%}.cat-duo-white img{width:216%;left:-110.523438%;top:-4.984375%}.cat-decor-entry{width:100%;display:flex;align-items:center;gap:9px;min-height:54px;margin:10px 0;border:1px solid #ffbf4966;border-radius:14px;background:#19251e;color:#fff4df;padding:12px 15px;font-size:16px}.cat-decor-entry svg{width:22px;height:22px;color:#ffbf49;flex:none}.cat-decor-entry small{margin-left:auto;color:#d3c6ab;font-size:12px}.cat-decor-sheet{width:min(720px,calc(100vw - 24px));max-height:calc(100dvh - 24px);box-sizing:border-box;padding:0;margin:auto;border:1px solid #ffbf4966;border-radius:22px;background:#17231d;color:#fff4df;overflow:hidden;box-shadow:0 18px 90px #0008}.cat-decor-sheet::backdrop{background:#07110ce6;backdrop-filter:blur(6px)}.cat-decor-sheet>header{display:flex;justify-content:space-between;align-items:center;padding:18px 22px 14px}.cat-decor-sheet header p{font-size:12px;letter-spacing:.14em;color:#ffbf49;margin:0 0 5px}.cat-decor-sheet h2{font-size:24px;font-weight:500;display:flex;gap:9px;align-items:center;margin:0}.cat-decor-sheet h2 svg{width:25px;height:25px;color:#ffbf49}.cat-decor-sheet header button{min-height:44px;min-width:44px;font-size:26px}.cat-decor-scroll{overflow-y:auto;overscroll-behavior:contain;max-height:calc(100dvh - 222px);padding:0 22px 18px;scrollbar-width:thin}.cat-decor-preview{position:relative;max-width:310px;margin:0 auto 16px;pointer-events:none}.cat-decor-preview .cat-scene{border-radius:16px}.cat-decor-preview>small{position:absolute;right:10px;bottom:10px;background:#17231dde;color:#fff4df;border-radius:12px;padding:4px 9px;font-size:12px}.cat-decor-presets{display:flex;gap:10px;margin:0 0 14px}.cat-decor-presets button{flex:1;min-height:44px;font-size:14px;border:1px solid #ffbf4966;border-radius:10px}.cat-decor-presets button:first-child{color:#ffcf73;background:#ffbf490e}.cat-decor-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.cat-decor-options label{position:relative;display:flex;align-items:center;gap:9px;min-height:62px;padding:8px 10px;border:1px solid #ffffff24;background:#ffffff03;border-radius:12px;cursor:pointer;min-width:0}.cat-decor-options label:has(input:checked){border-color:#ffbf49;background:#ffbf4914}.cat-decor-options img{width:40px;height:44px;object-fit:contain;flex:none}.cat-decor-options label>span{font-size:14px;line-height:1.4;flex:1}.cat-decor-options input{position:absolute;opacity:0;width:1px;height:1px}.cat-decor-options strong{flex:none;font-size:11px;font-weight:500;color:#9fa899;border:1px solid #fff2;border-radius:14px;padding:4px 6px}.cat-decor-options input:checked+strong{color:#241d12;background:#ffbf49;border-color:#ffbf49}.cat-decor-options label:has(input:focus-visible){outline:2px solid #ffcf73;outline-offset:2px}.cat-decor-sheet>footer{display:flex;gap:12px;padding:14px 22px;border-top:1px solid #ffbf4929;background:#17231d}.cat-decor-sheet footer>button:first-child{min-width:70px;font-size:15px}.cat-decor-sheet .cat-season-cta{font-size:16px}.cat-decor-options label:has(input:disabled),.cat-decor-sheet button:disabled{opacity:.55}.cat-decor-notice{font-size:14px;line-height:1.6;margin:14px 0 0}.cat-owned-season{border:1px solid #ffbf4955;background:linear-gradient(135deg,#ffbf4911,#17231d 70%);border-radius:16px;padding:16px;margin:12px 0}.cat-owned-season>p{display:flex;justify-content:space-between;align-items:center;gap:8px;color:#ffcf73;font-size:12px;letter-spacing:.08em;margin:0 0 10px}.cat-owned-season>p span{font-size:11px;letter-spacing:0;border:1px solid #ffcf7366;border-radius:20px;padding:3px 8px;white-space:nowrap}.cat-owned-season h2{font-size:20px;font-weight:500;color:#fff4df;margin:0 0 8px}.cat-owned-season>small{font-size:13px;color:#d3c6ab;line-height:1.6;display:block}.cat-owned-season>button{display:block;min-height:44px;margin-top:8px;color:#ffcf73;font-size:14px;text-align:left}.cat-trick-treat{border-color:#ffbf4980;color:#ffcf73;background:#ffbf4910}.cat-decor-sheet button:focus-visible,.cat-gift-recipients button:focus-visible{outline:2px solid #ffcf73;outline-offset:2px}@media(max-width:600px){.cat-life-clock strong.cat-room-name-trigger,.cat-room-name-trigger{font-size:15px}.cat-life-clock{max-width:148px}.cat-decor-sheet{width:calc(100vw - 16px);border-radius:18px}.cat-decor-sheet>header{padding:14px 16px 12px}.cat-decor-scroll{padding:0 16px 16px;max-height:calc(100dvh - 198px)}.cat-decor-preview{max-width:250px}.cat-decor-sheet>footer{padding:12px 16px}.cat-decor-options label{gap:5px;padding:7px;min-height:58px}.cat-decor-options img{width:30px;height:38px}.cat-decor-options label>span{font-size:13px}.cat-decor-options strong{font-size:10px;padding:3px 5px}.cat-decor-entry small{font-size:11px}.cat-decor-sheet h2{font-size:22px}}@media(prefers-reduced-motion:reduce){.cat-scene .cat-approved-motion{animation:none!important;transform:none!important}}.cat-treat-chooser[data-season-theme]{border-color:#ffbf4966;color:#fff4df}.cat-treat-chooser .cat-overline,.cat-treat-chooser .cat-overline svg{color:#ffcf73}.cat-treat-chooser .cat-gift-recipients button{border-color:#ffbf4966;background:#ffbf4908}.cat-treat-chooser .cat-gift-recipients button:focus-visible,.cat-treat-chooser .cat-gift-recipients button:hover{background:#ffbf491d;border-color:#ffbf49}.cat-scene{--cat-energy:.25;--cat-music-cycle:4.8s}.cat-scene[data-music-playing=true][data-music-emotion=JOY]{--cat-energy:.7;--cat-music-cycle:3.2s}.cat-scene[data-music-playing=true][data-music-emotion=FIRE]{--cat-energy:1;--cat-music-cycle:2.4s}.cat-scene[data-music-playing=true][data-music-emotion=BLUE]{--cat-energy:.2;--cat-music-cycle:6.2s}.cat-scene[data-music-playing=true][data-music-emotion=EASE]{--cat-energy:.35;--cat-music-cycle:5.2s}.cat-scene .cat-character-layer .cat-character-art{animation:none!important;transform:none}.cat-living-motion{position:absolute;inset:0;display:block;transform-origin:50% var(--cat-art-baseline,92%)}.cat-scene .cat-living-motion{--breath:calc(.016 * var(--cat-energy));--sway:calc(5deg * var(--cat-energy));--lift:0px;--cat-cycle:var(--cat-music-cycle);animation:catLivingIdle 7.8s ease-in-out infinite}.cat-scene .white .cat-living-motion{--breath:calc(.006 * var(--cat-energy));--sway:calc(2deg * var(--cat-energy));--cat-cycle:calc(var(--cat-music-cycle) * 1.35);animation-delay:-1.7s;animation-duration:9.5s}.cat-scene .cat-character-layer img.cat-normalized-character,.cat-scene .cat-character-layer[data-living-mode=idle]{animation:none}.cat-scene .cat-character-layer[data-listening=true] .cat-living-motion{animation-name:catLivingListening;animation-duration:var(--cat-cycle)}.cat-scene .cat-character-layer[data-living-mode=moment] .cat-living-motion{animation:catLivingMoment var(--cat-cycle) ease-in-out infinite}.cat-scene .cat-character-layer[data-living-mode=routine] .cat-living-motion{animation:catLivingBreathe 7s ease-in-out infinite}.cat-scene .white[data-living-mode=routine] .cat-living-motion{animation-duration:9s}.cat-scene[data-music-playing=true] .cat-character-layer[data-living-mode=routine]:not([data-state=sleeping]):not([data-state=bed]) .cat-living-motion{animation-name:catLivingListening;animation-duration:var(--cat-cycle)}.cat-scene .cat-character-layer[data-state=bed] .cat-living-motion,.cat-scene .cat-character-layer[data-state=sleeping] .cat-living-motion{--breath:.003;--sway:0deg;animation:catLivingBreathe 10s ease-in-out infinite}.cat-scene .cat-character-layer[data-living-mode=interaction] .cat-living-motion{animation:none;transform:none}@keyframes catLivingIdle{0%,14%,78%,to{transform:none}38%{transform:rotate(var(--sway)) scaleY(calc(1 + var(--breath)))}62%{transform:rotate(calc(var(--sway) * -.3)) scaleY(calc(1 + var(--breath) * .2))}}@keyframes catLivingListening{0%,50%,to{transform:none}25%{transform:rotate(var(--sway)) scaleY(calc(1 + var(--breath) * .7))}75%{transform:rotate(calc(var(--sway) * -1)) scaleY(calc(1 + var(--breath) * .3))}}@keyframes catLivingMoment{0%,to{transform:none}35%{transform:rotate(calc(var(--sway) * .65)) scaleY(calc(1 + var(--breath) * .6))}70%{transform:rotate(calc(var(--sway) * -.3))}}@keyframes catLivingBreathe{0%,20%,90%,to{transform:none}55%{transform:scaleY(calc(1 + var(--breath) * .6))}}@media(prefers-reduced-motion:reduce){.cat-scene .cat-character-layer,.cat-scene .cat-character-layer img,.cat-scene .cat-living-motion{animation:none!important;transform:none!important}}