.cat-treat>span{background-image:url(/cat-room/pantry-foods.png);background-repeat:no-repeat;background-size:300% 200%;background-position:var(--food-x) var(--food-y);width:100%;height:100%;display:block}.treat-chicken{--food-x:0%;--food-y:0%}.treat-cat-food{--food-x:50%;--food-y:0%}.treat-bread{--food-x:100%;--food-y:0%}.treat-carrot{--food-x:0%;--food-y:100%}.treat-apple{--food-x:50%;--food-y:100%}.treat-cheese{--food-x:100%;--food-y:100%}.door-hall .door-scene.door-scene-with-nook{grid-template-rows:minmax(0,1fr);grid-template-columns:1.3fr 1fr 1fr .6fr 1.2fr;gap:clamp(10px,1.5vw,25px);min-height:0}.door-hall-hero .door-scene-with-nook>.hall-room{overflow:visible}.door-hall-hero .door-scene-with-nook>.hall-room>.hall-door{height:calc(100% - 12px);min-height:0;max-height:min(38vh,330px);margin:0 auto 12px}.door-scene-with-nook>.hall-room,.door-scene-with-nook>.hall-yard{grid-area:1}.door-hall .door-scene-with-nook>.hall-yard{border-radius:45% 45% 0 0/15% 15% 0 0;grid-area:1/5;grid-template-rows:minmax(0,1fr) auto auto;grid-template-columns:1fr;height:100%;display:grid}.door-hall .door-scene-with-nook>.hall-yard strong,.door-hall .door-scene-with-nook>.hall-yard small{grid-column:1}.bedroom-nook{flex-direction:column;grid-area:1/4;justify-content:end;align-self:end;align-items:center;gap:0;min-width:0;height:170px;padding-bottom:12px;display:flex;position:relative}.door-hall .bedroom-nook .bedroom-room{background:0 0;border:0;flex:none;width:125px;height:120px;min-height:0;padding:0;display:block;position:relative;overflow:visible}.door-hall .bedroom-nook .bedroom-door{border-width:4px;border-radius:32px 32px 0 0;width:65px;height:80px;margin:0;position:absolute;top:5px;bottom:auto;left:8px}.door-hall .bedroom-nook .bedroom-door i{letter-spacing:.05em;padding:3px;font-size:5px}.door-hall .bedroom-nook .bedroom-door b{width:5px;height:5px}.door-hall .bedroom-nook .door-cat{transform-origin:0 100%;position:absolute;bottom:30px;left:55px;right:auto;transform:scale(.48)}.door-hall .bedroom-nook .bedroom-room strong{white-space:nowrap;min-height:0;font-size:13px;position:absolute;bottom:8px;left:5px}.door-hall .bedroom-nook .bedroom-room small{display:none}.cat-treats>div{gap:0;display:flex}.cat-treat{cursor:grab;touch-action:none;background:0 0;border:1px solid #0000;border-radius:50%;width:40px;height:40px;padding:3px}.cat-treat.is-selected,.cat-treat:focus-visible{outline-offset:2px;background:#f3ead8;outline:2px dashed #745749}.cat-treat-ghost{z-index:9999;pointer-events:none;background-image:url(/cat-room/treats.png);background-repeat:no-repeat;background-size:200% 100%;width:48px;height:48px;position:fixed;transform:translate(-50%,-50%)}.has-treat .bedroom-cat .cat-head{transform:translateY(-22px)}@media (width<=700px){.door-hall .door-scene.door-scene-with-nook{grid-template-rows:minmax(0,1fr) minmax(0,1fr);grid-template-columns:1fr .65fr 1fr;gap:10px;min-height:0}.door-scene-with-nook>.office-room{grid-area:1/1/auto/3}.door-scene-with-nook>.making-room{grid-area:1/3}.door-scene-with-nook>.photo-room{grid-area:2/1}.door-hall .door-scene-with-nook>.hall-yard{grid-area:2/3;min-height:0;padding:10px}.bedroom-nook{grid-area:2/2;height:155px;padding-bottom:0}.door-hall .bedroom-nook .bedroom-room{width:90px}.door-hall .bedroom-nook .bedroom-door{width:49px;height:67px;top:18px;left:0}.door-hall .bedroom-nook .door-cat{left:40px;transform:scale(.36)}.door-hall .bedroom-nook .bedroom-room strong{font-size:12px;left:0}.cat-treat{width:32px;height:36px}.door-hall-hero .door-scene-with-nook>.hall-room>.hall-door{width:min(100%,125px);max-height:min(22vh,180px)}}.bedroom-cat .cat-body{transform-origin:bottom;transition:transform .35s}.bedroom-cat .cat-head{transition:transform .35s}.bedroom-cat .cat-tail{transform-origin:100% 100%;transition:transform .35s}.bedroom-room:not(.carrying-food):hover .bedroom-cat .cat-body,.bedroom-room:not(.carrying-food):focus-visible .bedroom-cat .cat-body,.bedroom-room.is-curious .cat-body{transform:scaleY(1.32)scaleX(.87)}.bedroom-room:not(.carrying-food):hover .bedroom-cat .cat-head,.bedroom-room:not(.carrying-food):focus-visible .bedroom-cat .cat-head,.bedroom-room.is-curious .cat-head{transform:translateY(-22px)}.bedroom-room:not(.carrying-food):hover .bedroom-cat .cat-tail,.bedroom-room:not(.carrying-food):focus-visible .bedroom-cat .cat-tail{transform:rotate(-18deg)translateY(-6px)}.bedroom-room.is-curious .cat-tail{animation:.55s ease-in-out infinite alternate happy-cat-tail}@keyframes happy-cat-tail{0%{transform:rotate(-28deg)translateY(-10px)}to{transform:rotate(8deg)translateY(-10px)}}.door-hall .bedroom-nook{justify-content:end;height:100%;min-height:275px;padding-bottom:12px}.bedroom-nook .cat-treats{isolation:isolate;background:0 0;width:min(100%,180px);height:82px;padding:0;position:absolute;bottom:185px}.cat-treats:before{content:"";pointer-events:none;border-left:5px solid #895d36;border-right:5px solid #895d36;position:absolute;inset:4px 0 -3px}.cat-treats:after{content:"";pointer-events:none;z-index:-1;background:linear-gradient(#0000 calc(50% - 5px),#b17a43 calc(50% - 5px) calc(50% - 2px),#745039 calc(50% - 2px) 50%,#0000 50% calc(100% - 5px),#b17a43 calc(100% - 5px) calc(100% - 2px),#745039 calc(100% - 2px));position:absolute;inset:0 3px}.cat-treats>div{grid-template-rows:repeat(2,minmax(0,1fr));grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:5px 2px;display:grid;position:absolute;inset:0 6px 5px}.cat-treats .cat-treat.is-selected{box-shadow:none;background:0 0;outline:none}.cat-treats .cat-treat:focus:not(:focus-visible){box-shadow:none;outline:none}.cat-treats .cat-treat:focus-visible{box-shadow:none;background:0 0;outline:none}.cat-treats .cat-treat:focus-visible>span{filter:drop-shadow(0 0 2px #745749)}.cat-treats .cat-treat.is-selected>span{filter:none}.cat-treats .cat-treat:active{cursor:grabbing}.cat-treats .cat-treat{border-radius:4px;place-items:end center;width:100%;min-width:0;height:100%;padding:0;display:grid}.cat-treats .cat-treat>span{aspect-ratio:1;width:min(100%,36px);height:auto}.door-hall .door-scene-with-nook,.door-hall .door-scene-with-nook .hall-room{box-shadow:none;background:0 0}.door-hall .door-scene-with-nook .hall-room:after{display:none}.hall-yard .yard-tree{transition:rotate .4s;rotate:0deg}.hall-yard .yard-sun{transition:scale .4s;scale:1}.hall-yard:is(:hover,:focus-visible) .yard-tree{animation:2.6s ease-in-out infinite alternate yard-breeze}.hall-yard:is(:hover,:focus-visible) .yard-sun{animation:2s ease-in-out infinite alternate yard-sun-glow}@keyframes yard-breeze{0%{rotate:-3deg}to{rotate:4deg}}@keyframes yard-sun-glow{0%{filter:brightness();scale:1}to{filter:brightness(1.12);scale:1.18}}@media (width<=700px){.cat-treats .cat-treat>span{width:min(100%,27px)}}@media (prefers-reduced-motion:reduce){.hall-yard:is(:hover,:focus-visible) .yard-tree,.hall-yard:is(:hover,:focus-visible) .yard-sun{animation:none}}.cat-treat-ghost{background-image:url(/cat-room/pantry-foods.png);background-size:300% 200%;background-position:var(--food-x) var(--food-y)}.cat-treat-ghost.treat-bread{background-position:var(--food-x) var(--food-y)}@media (width<=700px){.door-hall .bedroom-nook{min-height:230px;padding-bottom:0}.bedroom-nook .cat-treats{width:100%;height:64px;padding:0;bottom:155px}}.door-hall-hero .door-scene-with-nook .hall-room>small,.door-hall-hero .door-scene-with-nook .hall-yard>small{height:2.56em;min-height:2.56em}.door-hall .bedroom-nook{padding-bottom:0}.door-hall .bedroom-nook .bedroom-room{pointer-events:none;grid-template-rows:minmax(0,1fr) auto auto;align-items:end;row-gap:4px;width:100%;height:100%;padding:0 clamp(5px,.45vw,10px) 1vh;display:grid}.bedroom-entry-art{place-self:end center;width:min(100%,125px);height:85px;margin-bottom:12px;position:relative}.bedroom-entry-art .hall-door,.bedroom-entry-art .door-cat,.bedroom-room>strong,.bedroom-room>small{pointer-events:auto}.door-hall .bedroom-nook .door-cat{bottom:-5px}.door-hall .bedroom-nook .bedroom-room strong{white-space:normal;font-size:clamp(16px,1.22vw,21px);line-height:1.12;position:relative;inset:auto}.door-hall .bedroom-nook .bedroom-room small{white-space:nowrap;min-height:2.35em;margin-top:2px;font-size:9px;line-height:1.28;display:block;position:relative;inset:auto}@media (width<=700px){.door-hall .bedroom-nook .bedroom-room{grid-template-rows:minmax(0,1fr) auto;padding:0}.bedroom-entry-art{width:90px}.door-hall .bedroom-nook .bedroom-room strong{text-align:center;font-size:14px;line-height:1.08}.door-hall .bedroom-nook .bedroom-room small{display:none}}.bedroom-visit{color:#302a25;background:0 0;border:0;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;position:fixed;inset:0;overflow:hidden}.bedroom-visit::backdrop{background:0 0}.bedroom-wash{background:#f4eadb;animation:2.2s both bedroom-wash-in;position:absolute;inset:0}.cat-swallow{left:calc(var(--cat-x) - 30px);top:calc(var(--cat-y) - 39px);transform-origin:50% 70%;pointer-events:none;width:60px;height:55px;animation:2.2s cubic-bezier(.55,.05,.32,1) both cat-swallow-room;position:absolute}.cat-swallow .cat-head{background:#1b1d1a;bottom:0;left:0}.cat-swallow .cat-head>span.cat-open-mouth{background:#050505;border-radius:50%;width:16px;height:3px;animation:2.2s both cat-mouth-open;top:33px;left:22px;right:auto}.bedroom-welcome{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:35px;min-height:100%;padding:30px;display:flex;position:relative}.bedroom-welcome h3{letter-spacing:-.04em;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(42px,7vw,100px);font-weight:400;line-height:1.1}.bedroom-welcome button{min-height:44px;font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;border-bottom:1px solid;padding:12px 4px;font-size:14px}.bedroom-welcome button:focus-visible{outline-offset:6px;outline:2px solid #66503e}.is-swallow .bedroom-welcome{opacity:0;pointer-events:none}.is-room .bedroom-welcome{animation:.6s both bedroom-words-in}.is-room .bedroom-wash{opacity:1;animation:none}@keyframes cat-mouth-open{0%{transform:scale(1)}20%,to{transform:scale(2.3,12)}}@keyframes cat-swallow-room{0%,12%{opacity:1;transform:scale(1)}62%{opacity:1;transform:scale(110)}to{opacity:0;transform:scale(160)}}@keyframes bedroom-wash-in{0%,20%{opacity:0}65%,to{opacity:1}}@keyframes bedroom-words-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.bedroom-cat *{transition:none!important;animation:none!important}.cat-swallow{display:none}.bedroom-wash,.is-room .bedroom-welcome{animation:none}.bedroom-room.is-curious .cat-tail{transform:rotate(-20deg)translateY(-10px)}}
