:root{--ink:#343c32;--muted:#7c8170;--paper:#f7f4ec;--olive:#717c54;--sage:#e2e8d9;--cream:#f0dfad;--rose:#ebcbc2;--line:#deded1;--sprite:url('assets/cats-art.png')}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;font-size:15px}body[data-mode=real]{--sprite:url('assets/cats-real.png')}button,a,input,select{ -webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer;border:0;background:none;touch-action:manipulation}button:focus-visible,a:focus-visible{outline:3px solid #a57840;outline-offset:5px}button{transition:transform .18s,background .18s}button:hover{filter:brightness(.98)}button:active{transform:translateY(2px)}a{color:inherit;text-decoration:none}svg{width:22px;height:22px;fill:currentColor}.svg-library{position:absolute;width:0;height:0;overflow:hidden}.site-header{height:94px;max-width:1320px;margin:auto;padding:0 40px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;font-size:19px;font-weight:700;letter-spacing:1px}.brand-icon{width:42px;height:42px;background:var(--olive);border-radius:14px 14px 17px 5px;color:#fff7e6;display:grid;place-items:center;transform:rotate(-5deg)}.brand small{font-size:10px;font-weight:400;display:block;letter-spacing:2px;margin-top:4px;color:var(--muted)}.brand i{font-family:Georgia,serif;font-weight:400}.site-header nav{display:flex;gap:36px;font-size:13px;color:var(--muted)}.site-header nav a{padding:15px 0}.site-header nav .active{color:var(--ink);border-bottom:2px solid var(--olive)}.icon-button{display:flex;align-items:center;justify-content:center;gap:8px;min-width:44px;min-height:44px;border:1px solid var(--line);border-radius:50px;font-size:11px;padding:10px 14px;background:#ffffff50}.icon-button svg{width:16px;height:16px}.site-header #sound[aria-pressed=true]{background:var(--sage)}main{max-width:1240px;padding:0 40px;margin:auto}.intro{display:flex;justify-content:space-between;align-items:center;padding:40px 0 30px}.eyebrow{font-size:10px;letter-spacing:2px;color:var(--olive);font-weight:650;margin:0 0 14px;display:flex;align-items:center;gap:8px}.live-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#82905d;box-shadow:0 0 0 4px #82905d16}.intro h1{font-family:"Songti SC","Noto Serif SC",serif;font-size:clamp(34px,4.1vw,52px);font-weight:700;letter-spacing:-2px;margin:0 0 17px;position:relative}.handline{position:relative;z-index:0}.handline:after{content:"";position:absolute;bottom:1px;left:3%;width:95%;height:12px;background:#dfbc6690;border-radius:50%;transform:rotate(-2deg);z-index:-1}.title-star{width:33px;height:33px;color:#b8a15b;vertical-align:top;margin:2px 0 0 16px;transform:rotate(13deg)}.intro-copy{font-size:13px;letter-spacing:.5px;color:var(--muted);margin:0;line-height:1.9}.intro-note{font-family:"Kaiti SC","STKaiti",serif;color:#7b8066;line-height:1.8;font-size:16px;transform:rotate(8deg);padding-right:34px}.scribble{font-size:45px;float:left;line-height:1;padding-right:15px}.mobile-only{display:none}.living-room{border:1px solid #d7d9c8;border-radius:24px;overflow:hidden;background:#eff0e4;box-shadow:0 10px 30px #434b3110}.room-top{height:57px;display:flex;align-items:center;justify-content:space-between;padding:0 23px;background:#e8ecdf;border-bottom:1px solid #d7d9c8}.room-label{font-size:11px;letter-spacing:.5px;display:flex;align-items:center;gap:9px}.mode-switch{display:flex;gap:3px;background:#daddcd;padding:4px;border-radius:20px}.mode-switch button{padding:7px 13px;font-size:11px;border-radius:20px;color:#6f745e}.mode-switch .selected{background:#fffdf3;color:#3e4c32;box-shadow:0 2px 5px #0000000b}.room{position:relative;height:475px;isolation:isolate;overflow:hidden;background-color:#f0eee0;background-image:repeating-linear-gradient(90deg,transparent 0,transparent 47px,#d8d9c62c 48px,#d8d9c62c 49px)}.wall-line{position:absolute;top:62%;width:100%;border-bottom:7px double #d8d6c3}.floor{position:absolute;top:63%;bottom:0;left:0;right:0;background:#e8dfc9;background-image:repeating-linear-gradient(0deg,transparent 0,transparent 49px,#c6bba83a 50px,#c6bba83a 51px);z-index:-1}.sunbeam{position:absolute;background:#fff8d858;width:430px;height:450px;right:10%;top:80px;transform:skewX(-32deg);z-index:-1}.window{position:absolute;top:25px;right:20%;height:190px;width:145px;background:#dce8df;border:8px solid #fffdf1;border-radius:85px 85px 3px 3px;box-shadow:0 5px 0 #c6c6ac;overflow:hidden}.window .sun{background:#f7d78c;width:44px;height:44px;border-radius:50%;position:absolute;right:20px;top:33px}.cloud{position:absolute;z-index:1;top:45px;left:10px;font-size:60px;line-height:1;color:#fffcf0;animation:cloud 9s ease-in-out infinite alternate}.window-divider{position:absolute;top:0;left:48%;height:100%;width:5px;background:#fffdf1}.window-divider:after{content:"";position:absolute;top:105px;left:-70px;height:5px;width:145px;background:#fffdf1}.window>span{position:absolute;bottom:12px;left:0;right:0;font-size:9px;color:#5f7568}.wall-picture{position:absolute;left:6%;top:36px;width:95px;height:120px;border:7px solid #b68a61;background:#faf5e7;transform:rotate(-5deg);box-shadow:3px 6px 0 #b5a68922;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px}.wall-picture span{font-size:10px;letter-spacing:1px;font-family:Georgia,serif;font-weight:700}.wall-picture svg{color:#a2a882}.wall-picture small{font-size:7px}.clock{position:absolute;left:29%;top:31px;width:92px;height:59px;background:#e2d8b8;border:3px solid #f8f4e7;border-radius:7px;box-shadow:0 3px #c8c1a8;transform:rotate(3deg)}.clock span{font:22px Georgia,serif;color:#676b52}.clock small{display:block;font-size:8px;margin-top:3px}.owner-button{position:absolute;right:18px;top:17px;border:1px dashed #a69d85;padding:8px 11px;border-radius:7px;background:#faf5e4;font-size:10px;transform:rotate(3deg)}.owner-button>span{display:inline-grid;place-items:center;width:14px;height:14px;border:1px solid;border-radius:50%;margin-right:3px}.wall-shelf{position:absolute;top:167px;left:22%;height:10px;width:120px;background:#b89d76;box-shadow:0 4px #9d886344}.book{position:absolute;bottom:10px;left:7px;width:18px;height:44px;background:#9ca88d;border:2px solid #879676;border-radius:2px;transform:rotate(-7deg)}.book.two{height:37px;left:27px;background:#d9b18f;border-color:#b79374;transform:rotate(6deg)}.little-vase{position:absolute;right:14px;bottom:10px;width:25px;height:29px;background:#d7c68e;border-radius:8px 8px 14px 14px}.little-vase:after{content:"✳";position:absolute;top:-24px;left:3px;font-size:28px;color:#859062}.tv{position:absolute;left:3.5%;top:208px;width:142px;height:104px;border-radius:14px;background:#8d8c72;border:5px solid #74785f;transform:rotate(-3deg);padding:7px 16px 7px 5px}.tv:after{content:"•\A•";white-space:pre;position:absolute;right:3px;top:18px;color:#e8dcc1;line-height:20px}.tv-screen{height:100%;background:#e3ddbc;border-radius:9px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px}.tv-screen span{font-size:8px;letter-spacing:2px}.tv-screen b{font-size:21px;color:#8b9771}.tv-screen small{font-size:7px}.tv-feet{position:absolute;bottom:-15px;left:15%;width:70%;border-bottom:8px solid #8d8c72}.rug{position:absolute;left:24%;top:68%;width:53%;height:26%;background:#d8b880;border-radius:50%;border:9px double #e8cca2;transform:rotate(-2deg);box-shadow:0 0 0 4px #d7bb8d}.rug:before{content:"";position:absolute;inset:10px;border:1px dashed #b59c71;border-radius:50%}.rug span{position:absolute;bottom:7px;left:0;right:0;font-size:8px;letter-spacing:3px;color:#97825d}.cat{position:absolute;bottom:58px;width:26%;max-width:290px;z-index:3;transform:translate(var(--cat-x,0px),var(--cat-y,0px));transition:transform .7s ease;overflow:visible;padding:0}.cat-d{left:27%}.cat-h{left:51%}.cat-art{display:block;width:100%;aspect-ratio:1/1;position:relative;transform-origin:50% 90%;animation:breathe 4s ease-in-out infinite}.cat-h .cat-art{animation-delay:-1.8s}.cat-sprite{display:block;width:100%;height:100%;background-image:var(--sprite);background-repeat:no-repeat;background-size:200% 100%;background-position:left center;filter:drop-shadow(0 8px 5px #57472b15)}.cat-sprite.hualuo{background-position:right center}.cat-name{position:absolute;bottom:-23px;left:5%;right:5%;display:flex;justify-content:center;align-items:center;gap:7px;font-size:12px;font-weight:650}.cat-name small{font-size:8px;font-weight:400;color:#74725e}.cat-name>span{font-size:10px;color:#94745f;font-weight:400}.bubble{position:absolute;top:-27px;left:50%;transform:translateX(-50%) rotate(-3deg);font-size:10px;white-space:nowrap;padding:9px 13px;background:#fffdf4;border:1px solid #ddd7c1;border-radius:12px 12px 12px 2px;box-shadow:2px 3px 0 #d4ccb64a;z-index:6;max-width:250px}.cat-h .bubble{transform:translateX(-50%) rotate(3deg);top:-7px;border-radius:12px 12px 2px 12px}.accessory{position:absolute;top:20%;left:42%;font-size:50px;transform:rotate(-9deg);pointer-events:none}.portal{position:absolute;left:9%;bottom:48px;width:95px;height:74px;transform:rotate(-7deg);z-index:4}.box-face{position:absolute;inset:8px 0 0;background:#c9a574;border:1px solid #af8d60;display:grid;place-items:center}.box-face:before{content:"";position:absolute;left:46%;top:0;width:14px;height:22px;background:#e0c498}.box-face svg{color:#876a4c;width:25px;margin-top:15px}.box-top{position:absolute;left:-8px;right:-8px;top:0;height:15px;background:#dcbc91;transform:skewX(-16deg);z-index:1;border:1px solid #b39268}.object-label{position:absolute;bottom:-23px;left:8px;font-size:10px;white-space:nowrap;color:#7b7159}.plant{position:absolute;right:5%;bottom:56px;width:90px;height:180px;z-index:2}.pot{position:absolute;bottom:0;left:17px;width:60px;height:61px;background:#bc8771;border-radius:3px 3px 20px 20px;border-top:8px solid #d2a28a;box-shadow:4px 5px 0 #75624616}.stem{position:absolute;bottom:58px;left:47px;width:4px;height:96px;background:#8d9670}.leaf{position:absolute;background:#8c9a73;width:40px;height:70px;border-radius:100% 0 100% 0;bottom:93px;left:11px;transform:rotate(-30deg);z-index:1;border-left:1px solid #748760}.leaf.l2{bottom:64px;left:47px;transform:rotate(38deg);height:58px}.leaf.l3{bottom:120px;left:44px;transform:rotate(20deg);width:30px;height:52px;background:#a0aa80}.fridge{position:absolute;right:2.5%;top:120px;width:65px;height:108px;border-radius:10px;background:#d3d8bf;border:3px solid #b2b99d;transform:rotate(2deg);font-size:8px;letter-spacing:1px;color:#7a8164}.fridge:after{content:"";position:absolute;top:34px;left:0;right:0;border-top:2px solid #b2b99d}.fridge i{position:absolute;left:7px;top:45px;height:25px;width:4px;background:#f4f3da;border-radius:3px}.room-hint{position:absolute;bottom:13px;left:23px;font-size:10px;letter-spacing:.5px;color:#8b826c;z-index:5}.reset-room{position:absolute;bottom:9px;right:14px;font-size:10px;color:#837c64;min-height:32px;z-index:8}.room-effects{position:absolute;inset:0;pointer-events:none;z-index:9;overflow:hidden}.particle{position:absolute;font-size:24px;animation:rain 2s ease-in both}.heart-particle{animation:floatup 1.3s ease-out both}.clone{position:absolute;width:95px;height:95px;bottom:35px;animation:clone-hop 2s ease-in-out infinite}.room-toolbar{display:flex;justify-content:space-between;gap:5px;padding:14px 20px;background:#fbfaf3;border-top:1px solid #d9d9c9}.room-toolbar button{font-size:11px;display:flex;align-items:center;gap:7px;padding:10px 13px;border-radius:9px;min-height:42px;white-space:nowrap}.room-toolbar button>span{font-size:22px;color:#818765;line-height:1}.room-toolbar button:hover,.room-toolbar button[aria-pressed=true]{background:#e9ecdf}.room-toolbar .chaos-button{background:#717c54;color:#fffbea;padding:10px 17px;box-shadow:0 3px 0 #535e3d}.chaos-button svg{width:15px;height:15px}.under-room{display:flex;align-items:center;justify-content:space-between;margin:14px 0 57px;font-size:10px;color:var(--muted);gap:15px}.under-room p{display:flex;align-items:center;gap:8px;margin:0;line-height:1.7}.under-room svg{width:13px;height:13px;flex-shrink:0}.under-room button{font-size:11px;white-space:nowrap;min-height:34px}.under-room strong{font-weight:500;margin:0 8px;color:#9a7c49}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:23px}.section-heading .eyebrow{font-size:9px;margin-bottom:10px}.section-heading h2{font-family:"Songti SC",serif;font-size:28px;margin:0;letter-spacing:-.5px}.section-heading>p{font-size:11px;color:var(--muted);margin:0 0 4px}.play-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:17px}.play-card{border:1px solid #d9dccc;border-radius:15px;text-align:left;padding:20px;overflow:hidden;position:relative;min-width:0;background:#e9eddf}.play-card:hover{transform:translateY(-5px);box-shadow:0 9px 20px #4653390c}.card-number{font-size:9px;letter-spacing:1px;color:#778166}.play-card h3{font-size:17px;letter-spacing:-.5px;margin:13px 0 8px;display:flex;justify-content:space-between}.play-card h3>span{font-size:18px;font-weight:400}.play-card p{font-size:10px;color:#7c826f;line-height:1.8;margin:0 0 14px}.card-tag{font-size:9px;border-top:1px solid #bec6ae70;display:block;padding-top:11px;color:#7b806c}.mini-art{position:relative;height:145px;margin-top:11px}.mini-art .cat-sprite{position:absolute;width:135px;height:135px;bottom:0;left:calc(50% - 67px)}.music-note{position:absolute;right:12%;top:0;font:50px Georgia,serif;color:#9fa580;transform:rotate(20deg)}.little-drum{position:absolute;bottom:0;left:20%;font-size:60px;line-height:1;color:#a78962;text-shadow:1px 3px #e0c095}.run-card{background:#e7e8ee;border-color:#d5d7df}.run-card .mini-art .cat-sprite{transform:rotate(-10deg) translateX(-12px)}.moon{position:absolute;right:10%;top:0;color:#989dae;font-size:45px}.obstacle-art{position:absolute;right:5%;bottom:0;font-size:55px;color:#b19f87;line-height:1}.speed-lines{position:absolute;left:0;top:50px;font-size:39px;color:#b3b8c5}.photo-card{background:#f1e8da;border-color:#e2d7c6}.polaroid{height:145px;width:133px;background:#fffcf5;padding:6px;margin:11px auto 0;box-shadow:3px 4px 0 #d8cbb75e;transform:rotate(6deg)}.polaroid img{width:100%;height:108px;object-fit:cover;object-position:center 26%}.polaroid span{font-size:8px;display:block;text-align:center;margin-top:5px}.court-card{background:#efe2dd;border-color:#e0d1ca}.gavel-art{position:absolute;right:3px;bottom:0;font-size:55px;color:#ac8c70;line-height:1}.approval-strip{display:flex;align-items:center;gap:20px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:25px 12px;margin:40px 0 54px}.seal{font-family:"Songti SC",serif;font-size:19px;color:#a77862;border:2px solid #b88b73;border-radius:50%;width:57px;height:57px;display:grid;place-content:center;line-height:1.05;text-align:center;transform:rotate(-15deg)}.approval-strip h3{font-size:17px;margin:0 0 7px}.approval-strip p{font-size:11px;color:var(--muted);margin:0}.outline-button{border:1px solid #bec5ad;background:#eeeee3;border-radius:8px;padding:13px 19px;font-size:11px;margin-left:auto;white-space:nowrap}.album-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.album-grid button{padding:0;text-align:left}.album-grid img{width:100%;height:205px;object-fit:cover;border-radius:12px;transition:transform .3s}.album-grid button:hover img{transform:rotate(-2deg)}.album-grid span{display:block;font-size:10px;color:var(--muted);margin-top:12px}.album-grid button:nth-child(2) img{object-position:center 30%}.album-grid button:nth-child(3) img{object-position:center 30%}footer{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);margin-top:55px;padding:26px 0 30px;font-size:10px;color:var(--muted)}footer>span{font-size:13px;font-weight:600;color:#686f58}footer button{font-size:10px;min-height:40px}#toast{position:fixed;bottom:30px;left:50%;transform:translate(-50%,20px);opacity:0;background:#38432fee;color:#fffbee;padding:13px 23px;border-radius:50px;z-index:100;font-size:13px;text-align:center;pointer-events:none;transition:all .25s;max-width:calc(100vw - 30px);width:max-content;line-height:1.6}#toast.visible{opacity:1;transform:translate(-50%,0)}dialog{padding:25px;border:1px solid #dedbce;border-radius:22px;background:#faf8f0;color:var(--ink);max-width:760px;width:calc(100% - 36px);max-height:90dvh;box-shadow:0 30px 100px #30382744}dialog::backdrop{background:#30372c88;backdrop-filter:blur(5px)}.modal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.modal-head>span{font-size:10px;letter-spacing:2px;color:var(--muted)}.modal-head .icon-button{border:none;font-size:17px}dialog h2{font-family:"Songti SC",serif;margin:0 0 10px;font-size:30px}dialog .sub{font-size:12px;color:var(--muted);line-height:1.8;margin:0 0 20px}.dialog-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.primary{background:var(--olive);color:#fffbed;padding:12px 20px;border-radius:9px;font-size:13px;min-height:44px}.secondary{padding:12px 18px;border:1px solid #c9ccb9;border-radius:9px;font-size:13px;min-height:44px}.photo-large{display:block;max-width:100%;max-height:65dvh;object-fit:contain;margin:auto;border-radius:10px}.collection-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.collection-item{padding:16px 12px;background:#ecece1;border:1px solid #dddccd;border-radius:10px;min-height:115px}.collection-item.locked{opacity:.53}.collection-item b{font-size:13px;display:block;margin:9px 0 5px}.collection-item small{font-size:10px;color:var(--muted);line-height:1.6;display:block}.collection-item>span{font-size:24px}.band-stage{height:190px;background:#e6e8d9;border-radius:15px;position:relative;overflow:hidden;display:flex;justify-content:center;align-items:flex-end;gap:10px}.band-stage .band-cat{width:175px;height:175px;transform-origin:bottom}.pads{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:16px}.pad{background:#e7d7b7;border-bottom:5px solid #c2ab81;padding:18px 8px;border-radius:12px}.pad:nth-child(2){background:#dce2c9;border-color:#b1bea0}.pad:nth-child(3){background:#ead8d1;border-color:#c6a9a0}.pad:nth-child(4){background:#daddE7;border-color:#a8aec0}.pad b{display:block;font-size:17px;margin-bottom:5px}.pad small{font-size:10px;color:#6e705e}.pad.hit{transform:translateY(4px);border-bottom-width:1px}.runner-wrap{position:relative;border-radius:14px;overflow:hidden;background:#e8e9ee}#game{width:100%;height:auto;display:block;touch-action:none}.game-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#e8e9ee90;pointer-events:none}.game-overlay .primary{pointer-events:auto}.game-stats{display:flex;justify-content:space-between;font-size:12px;margin-bottom:12px}.booth-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.booth-preview{width:100%;border-radius:12px;background:#f4e6cc;box-shadow:0 3px 15px #00000009}.form-label{font-size:12px;display:block;margin:0 0 9px}.photo-picker{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-bottom:19px}.photo-picker button{padding:2px;border:2px solid transparent;border-radius:8px;overflow:hidden;height:62px}.photo-picker button.selected{border-color:var(--olive)}.photo-picker img{width:100%;height:100%;object-fit:cover;border-radius:4px}input,select{width:100%;border:1px solid #cdd0bc;padding:12px;border-radius:8px;background:#fffdf6;color:var(--ink);font:inherit;font-size:13px}input:focus{outline:2px solid #8e9b72}.caption-picks{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}.caption-picks button{font-size:10px;background:#eaece0;border-radius:12px;padding:6px 8px}.court-scene{padding:25px;border-radius:15px;background:#eee5da;text-align:center}.court-scene .evidence{font-size:52px}.court-scene h3{margin:8px 0 13px}.court-scene p{font-size:13px;line-height:1.8}.court-buttons{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}.verdict{padding:18px;border:1px dashed #b5ad91;background:#f3ecd9;margin-top:15px;border-radius:10px;line-height:1.9;font-size:13px}.approval-result{text-align:center;padding:23px;background:#eeeada;border-radius:12px;margin-top:15px}.approval-result strong{font-family:"Songti SC",serif;font-size:36px;display:inline-block;color:#aa7259;border:3px double;padding:8px 15px;transform:rotate(-7deg)}.approval-result p{font-size:13px;line-height:1.8}.theater-frame{position:relative;background:#ddd6bc;border:8px solid #8a8c72;border-radius:16px;padding:16px;min-height:210px;text-align:center}.theater-frame img{height:210px;width:100%;object-fit:contain;border-radius:7px}.theater-frame p{font-size:16px;line-height:1.7;margin:12px 0 2px}.help-list{padding-left:20px;font-size:13px;line-height:2.1}.sound-note{font-size:10px;color:var(--muted);line-height:1.7;margin-top:13px}.cat.petted .cat-art{animation:pet .5s ease}.room.chaotic .cat-d .cat-art{animation:wild .5s infinite alternate}.room.chaotic .cat-h .cat-art{animation:dance .45s infinite alternate}.room.innocent .cat-art{animation:none}.room.sleeping .cat-d .cat-art{animation:none;transform:rotate(-78deg) scale(.9) translateY(-15px)}.room.sleeping .cat-h .cat-art{animation:none;transform:rotate(78deg) scale(.9) translateY(-15px)}.room.combo .cat-d .cat-art{animation:spin 1s ease-in-out 2}.room.combo .cat-h .cat-art{animation:dance .3s infinite alternate}.room.portal-open .portal{animation:shake .2s infinite}.room.hijacked .cat-h{--cat-x:35px;--cat-y:25px}.room.hijacked .cat-h .cat-art{animation:none;transform:rotate(70deg)}.room.night{filter:hue-rotate(18deg);background-color:#d3d9e2}.room.wand-active{cursor:crosshair}.wand-dot{width:12px;height:12px;border-radius:50%;background:#bc6862;box-shadow:0 0 13px #d87370;position:absolute;z-index:8;pointer-events:none;transform:translate(-50%,-50%)}.cat-focused .cat-name{color:#694e37}.modal-tip{font-size:11px;color:var(--muted);line-height:1.8}.feeding-ghost{position:fixed;z-index:110;font-size:34px;pointer-events:none;transform:translate(-50%,-50%)}.floating-cat{position:absolute;width:70px;height:70px;animation:rain 2.8s linear both}.room.innocent:after{content:"我们一直都这样啊。";position:absolute;left:50%;top:15px;transform:translateX(-50%);font-size:13px;background:#fff9df;padding:10px 18px;border-radius:30px;z-index:8}.shake{animation:shake .3s}.bounce{animation:pet .3s}
@keyframes breathe{50%{transform:translateY(-3px) scaleY(1.01)}}@keyframes cloud{to{transform:translateX(17px)}}@keyframes floatup{0%{opacity:1;transform:translateY(0) scale(.6)}100%{opacity:0;transform:translateY(-90px) scale(1.4)}}@keyframes rain{0%{top:-50px;opacity:1;transform:rotate(0deg)}100%{top:110%;opacity:.2;transform:rotate(270deg)}}@keyframes pet{40%{transform:scale(1.07,.93) rotate(-3deg)}80%{transform:scale(.98,1.03)}}@keyframes dance{to{transform:rotate(12deg) translateY(-9px)}}@keyframes wild{to{transform:rotate(-18deg) translateY(-28px)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes shake{25%{translate:-4px 0}75%{translate:4px 0}}@keyframes clone-hop{50%{transform:translateY(-35px) rotate(15deg)}}
@media(min-width:1400px){.room{height:510px}.cat{bottom:61px}.wall-line{top:62%}}
@media(max-width:1000px){.site-header{padding:0 24px}main{padding:0 24px}.site-header nav{gap:23px}.room{height:430px}.cat{bottom:60px;width:29%}.cat-d{left:23%}.cat-h{left:49%}.tv{width:115px;height:90px;left:3%;top:190px}.window{right:19%;height:165px;width:120px}.wall-picture{left:4%;width:83px;height:109px}.wall-shelf{left:21%;top:148px}.room-toolbar{padding:10px}.room-toolbar button{padding:10px 8px;font-size:10px;gap:5px}.play-grid{gap:12px}.play-card{padding:15px}.mini-art{height:125px}.mini-art .cat-sprite{width:115px;height:115px;left:calc(50% - 57px)}.play-card h3{font-size:15px}.polaroid{height:125px;width:110px}.polaroid img{height:91px}.plant{right:2%;transform:scale(.9);transform-origin:bottom}.fridge{right:2%;width:55px;height:91px}.cat-name small{display:none}.album-grid img{height:170px}.portal{left:6%;width:80px;height:63px}}
@media(max-width:700px){.site-header{height:74px;padding:0 19px}.brand{font-size:16px;gap:9px}.brand-icon{width:35px;height:35px;border-radius:10px}.brand small{font-size:8px;letter-spacing:1px}.site-header nav{display:none}.icon-button{padding:9px 11px;min-height:40px}.icon-button span{font-size:9px}main{padding:0 16px}.intro{padding:29px 4px 24px}.eyebrow{font-size:9px;letter-spacing:1px;margin-bottom:12px}.intro h1{font-size:32px;letter-spacing:-1.5px;margin-bottom:12px}.title-star{width:24px;height:24px;margin:0 0 0 7px}.intro-note{display:none}.intro-copy{font-size:11px;line-height:1.8}.living-room{border-radius:17px}.room-top{height:52px;padding:0 12px}.room-label{font-size:9px;gap:6px;max-width:48%;line-height:1.5}.room-label .live-dot{width:4px;height:4px;flex-shrink:0}.mode-switch{padding:3px}.mode-switch button{font-size:9px;padding:7px 9px}.room{height:405px}.cat{width:43%;bottom:78px;max-width:230px}.cat-d{left:8%}.cat-h{left:49%}.cat-name{bottom:-24px;font-size:11px;gap:6px}.cat-name>span{font-size:9px}.bubble{font-size:9px;padding:7px 9px;top:-30px;max-width:175px}.cat-h .bubble{top:-13px}.wall-line{top:61%}.floor{top:62%}.rug{left:6%;width:89%;top:68%;height:20%;border-width:6px}.rug span{font-size:6px;letter-spacing:2px;bottom:4px}.window{right:20%;top:24px;width:96px;height:133px;border-width:6px;border-radius:60px 60px 3px 3px}.window .sun{width:28px;height:28px;top:23px;right:15px}.cloud{font-size:42px;top:38px;left:2px}.window-divider:after{top:77px;left:-45px;width:96px}.window>span{font-size:7px;bottom:8px}.wall-picture{left:7%;top:23px;width:60px;height:79px;border-width:5px;gap:5px}.wall-picture span{font-size:7px}.wall-picture svg{width:17px;height:17px}.wall-picture small{display:none}.clock{left:34%;top:28px;width:61px;height:43px;border-width:2px}.clock span{font-size:17px}.clock small{font-size:6px;margin-top:1px}.owner-button{right:7px;top:7px;font-size:8px;padding:7px;transform:rotate(3deg)}.owner-button>span{display:none}.wall-shelf{left:31%;top:121px;width:57px;height:6px}.book{bottom:6px;height:28px;width:11px;left:3px}.book.two{height:24px;left:16px}.little-vase{right:3px;bottom:6px;width:15px;height:19px}.little-vase:after{font-size:20px;top:-18px;left:0}.tv{left:7%;top:126px;width:74px;height:59px;border-width:3px;padding:4px 8px 4px 3px;border-radius:9px}.tv-screen{gap:2px;border-radius:5px}.tv-screen span{font-size:5px;letter-spacing:1px}.tv-screen b{font-size:14px}.tv-screen small{font-size:4px}.tv:after{font-size:7px;top:7px;right:1px;line-height:12px}.tv-feet{bottom:-9px;border-bottom-width:5px}.fridge{right:3%;top:70px;width:41px;height:70px;font-size:6px;border-width:2px}.fridge:after{top:23px}.fridge i{top:31px;left:4px;height:16px;width:3px}.plant{height:115px;width:59px;right:2%;bottom:110px;transform:scale(.7);transform-origin:bottom right;z-index:1}.portal{left:4%;bottom:32px;width:53px;height:43px;z-index:5}.box-top{height:10px;left:-4px;right:-4px}.box-face{top:6px}.box-face:before{width:9px;height:14px}.box-face svg{width:17px;height:17px;margin-top:6px}.object-label{font-size:7px;bottom:-15px;left:0}.room-hint{font-size:8px;bottom:8px;left:75px;right:55px;line-height:1.6;text-align:center}.reset-room{font-size:0;right:5px;bottom:6px;padding:7px}.reset-room:before{content:"↺";font-size:18px}.accessory{font-size:35px;top:17%;left:40%}.room-toolbar{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;padding:10px}.room-toolbar button{justify-content:center;padding:9px 5px;font-size:10px;border:1px solid #e5e5d6;border-radius:8px;min-height:42px}.room-toolbar button>span{font-size:20px}.room-toolbar .chaos-button{padding:9px 5px;font-size:9px}.chaos-button svg{width:12px;height:12px}.under-room{margin:12px 1px 36px;align-items:flex-start;gap:7px}.under-room p{font-size:8px;line-height:1.8;max-width:67%}.under-room svg{display:none}.under-room button{font-size:9px;min-height:28px;padding:0}.under-room strong{margin:0 2px}.section-heading{margin-bottom:17px;display:block}.section-heading h2{font-size:24px}.section-heading>p{font-size:10px;margin-top:9px}.play-grid{grid-template-columns:repeat(2,1fr);gap:12px}.play-card{padding:14px 13px}.card-number{font-size:8px}.mini-art{height:123px}.mini-art .cat-sprite{width:116px;height:116px}.play-card h3{font-size:14px;margin-top:10px}.play-card h3>span{font-size:16px}.play-card p{font-size:9px;margin-bottom:11px;min-height:32px}.card-tag{font-size:8px;padding-top:9px}.music-note{font-size:38px;right:0}.gavel-art{font-size:45px}.polaroid{height:123px;width:113px}.polaroid img{height:92px}.polaroid span{font-size:7px}.approval-strip{gap:13px;padding:20px 2px;margin:28px 0 36px;flex-wrap:wrap}.seal{width:45px;height:45px;font-size:16px;flex-shrink:0}.approval-strip h3{font-size:15px}.approval-strip p{font-size:10px}.approval-strip .outline-button{margin-left:58px;margin-top:0;padding:10px 13px;font-size:10px}.album-grid{grid-template-columns:repeat(2,1fr);gap:18px 13px}.album-grid img{height:190px}.album-grid span{font-size:9px;margin-top:9px}footer{margin-top:35px;display:flex;flex-wrap:wrap;gap:10px;padding:20px 0}footer p{order:3;flex-basis:100%;margin:0;font-size:9px}footer button{margin-left:auto}.collection-grid{grid-template-columns:repeat(2,1fr)}dialog{padding:18px;width:calc(100% - 24px);border-radius:17px}dialog h2{font-size:25px}.booth-grid{grid-template-columns:1fr}.booth-preview{max-height:300px;object-fit:contain}.photo-picker{grid-template-columns:repeat(6,1fr);gap:4px}.photo-picker button{height:46px}.pads{gap:7px}.pad{padding:16px 4px}.pad b{font-size:14px}.pad small{font-size:8px}.band-stage{height:160px}.band-stage .band-cat{width:145px;height:145px}.theater-frame img{height:180px}.theater-frame p{font-size:13px}.room.innocent:after{font-size:10px;top:90px;padding:8px 12px}.room.hijacked .cat-h{--cat-x:-15px;--cat-y:20px}}
@media(max-width:370px){.intro h1{font-size:29px}.title-star{width:19px;height:19px;margin-left:3px}.cat{bottom:86px}.room{height:390px}.play-card{padding:12px 10px}.play-card h3{font-size:13px}.cat-name{font-size:10px}.album-grid img{height:160px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

/* Keep animated props from turning the room into a scroll container. */
.room,.living-room{overflow:clip}#feed{touch-action:none}.room-effects{contain:paint}

/* Articulated frame animation replaces all whole-photo motion in the room. */
.life-room .cat{bottom:auto!important;max-width:none;transform:none!important;transition:none!important;will-change:left,top}
.life-room .cat .cat-art{animation:none!important;transform:none!important;transition:none!important;position:relative}
.life-canvas{display:block;width:100%;height:100%;transform:scaleY(var(--breathing,1));transform-origin:50% 87%;filter:drop-shadow(0 3px 2px #463e2520)}
.life-room .cat-name{bottom:-3px;font-size:10px;background:#f7f0d5c9;border-radius:20px;padding:5px 8px;width:max-content;max-width:100%;left:50%;right:auto;transform:translateX(-50%);white-space:nowrap;pointer-events:none}
.life-room .cat-name small{display:none}.life-room .cat-name>span{font-size:9px}
.life-room .bubble{top:5%;font-size:9px;opacity:0;transition:opacity .3s;pointer-events:none;max-width:220px;white-space:normal;width:max-content;line-height:1.5}
.life-room .cat:hover .bubble,.life-room .cat:focus-visible .bubble,.life-room .cat-focused .bubble,.life-room.innocent .bubble{opacity:1}
.life-room .accessory{top:30%;font-size:34px}
.life-room .clone{animation:none!important;background:none;transform:none!important;width:83px;height:83px}
.life-clone canvas{width:100%;height:100%}
.life-status{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 21px;background:#edf0e4;border-top:1px solid #d9ddcc;font-size:10px;line-height:1.6}
.life-status>span{display:flex;align-items:center;gap:7px}.life-status b{font-weight:400;color:#687456}.life-status em{font-style:normal;color:#b1b69f}.life-status i{width:5px;height:5px;border-radius:50%;background:#7f9264}
.life-status button{padding:6px 9px;border:1px solid #cbd2ba;border-radius:6px;font-size:10px;min-height:32px;background:#fafaf0;margin-left:5px}
.life-room.wand-active{touch-action:none}.life-paused:before{content:"自由活动已暂停";position:absolute;left:50%;top:15px;transform:translateX(-50%);z-index:30;background:#fff9df;padding:8px 14px;font-size:11px;border-radius:20px}
@media(max-width:700px){.life-status{padding:9px 10px;flex-wrap:wrap;justify-content:center;font-size:9px}.life-status>span{width:100%;justify-content:center}.life-status button{font-size:9px;min-height:35px}.life-room .cat-name{font-size:9px;padding:4px 6px;bottom:-4px}.life-room .bubble{font-size:8px;max-width:150px}.life-room .accessory{font-size:25px}.life-room .room-hint{left:55px;right:33px;font-size:7px}}

/* The lived-in room: quiet details and purposeful play. */
.living-world{height:500px}.living-world .cat-art{filter:none}.cat-ground-shadow{position:absolute;left:50%;top:84%;width:57%;height:7%;background:#70644d;border-radius:50%;filter:blur(5px);pointer-events:none;transform-origin:center}.living-world .life-canvas{filter:none}.living-world .cat-name{font-size:10px;background:#fbf6e4e0;border:1px solid #e9dfc8}.living-world .cat.life-speaking .bubble{opacity:1}.living-world .cat.is-asleep .cat-name:after{content:' z z';font:italic 11px Georgia;color:#878c79}.living-world .cat-focused .bubble{opacity:0}.living-world .cat-focused.life-speaking .bubble,.living-world .cat:hover .bubble{opacity:1}.living-world .bubble{max-width:165px;font-size:10px;top:2%;text-align:left}.living-world .room-hint{z-index:28;pointer-events:none}.living-world .cat-art{pointer-events:none}.living-world .cat{touch-action:manipulation}.living-world.brush-mode .cat{touch-action:none;cursor:crosshair}.living-world.brush-mode .cat-name{border:1px dashed #98a781}.living-world .portal.has-cat{animation:box-rustle 1.4s ease-in-out infinite;z-index:25}.living-world .portal.has-cat:after{content:'…喵？';position:absolute;top:-22px;left:2px;background:#fff9e9;padding:4px 8px;border-radius:12px;font-size:10px;white-space:nowrap}.house-rule{position:absolute;left:43%;top:30px;width:160px;min-height:105px;background:#f9eed7;border:2px solid #a07b60;border-radius:4px;box-shadow:3px 5px 0 #b8a58633;transform:rotate(-2deg);padding:12px 9px;z-index:2}.house-rule:before,.house-rule:after{content:'';position:absolute;top:-8px;width:25px;height:15px;background:#ddc889b0;transform:rotate(-8deg)}.house-rule:before{left:8px}.house-rule:after{right:8px;transform:rotate(8deg)}.house-rule>span{display:block;font-size:8px;letter-spacing:2px;color:#90775f}.house-rule strong{display:block;font-size:18px;margin:8px -3px 6px;letter-spacing:1px;color:#7b5141}.house-rule small{font-size:8px;color:#a18c75}.house-rule i{display:block;font-size:8px;font-style:normal;color:#9f725a;text-align:right;margin-top:6px}.rule-read .house-rule{animation:rule-wiggle .4s ease-in-out 2;background:#fff7dc;box-shadow:0 0 24px #f9df9270}.cat-cushion{position:absolute;left:48%;top:79%;width:22%;height:12%;border-radius:45%;background:repeating-linear-gradient(90deg,#bdc4a9 0 13px,#b5bea0 14px 16px);border:4px solid #d2d8be;box-shadow:0 5px 0 #9aa68944;transform:rotate(6deg);z-index:1}.cat-cushion span{font-size:8px;letter-spacing:2px;color:#79856a}.water-bowl{position:absolute;right:8%;top:81%;width:58px;height:40px;border-radius:8px 8px 24px 24px;background:#c1d3ca;border:3px solid #95b0a3;z-index:3}.water-bowl>span{position:absolute;top:0;left:4px;right:4px;height:15px;background:#e5f0eb;border-radius:50%;border:2px solid #a6c7c1}.water-bowl small{position:absolute;bottom:-20px;left:0;width:100%;font-size:8px;white-space:nowrap;color:#7a8b80}.water-bowl.rippling>span{animation:ripple-water .7s alternate infinite}.life-toy{position:absolute;font-size:26px;width:30px;height:30px;line-height:30px;text-align:center;color:#b87b64;text-shadow:1px 2px #f1d5b8;z-index:24;pointer-events:none;border-radius:50%;background:repeating-linear-gradient(25deg,#c88d75 0 2px,#e1b092 3px 5px);box-shadow:0 3px 3px #83613c22}.feather-toy{position:absolute;font-size:40px;line-height:1;color:#ac7183;z-index:26;transform:translate(-50%,-80%) rotate(-30deg);filter:drop-shadow(0 3px 2px #6f543b33);pointer-events:none}.snack-dish{position:absolute;background:#f1d2a6;border:2px solid #cead7f;border-radius:50%;font-size:20px;width:44px;height:24px;text-align:center;line-height:22px;z-index:8;color:#b58664;transform:translate(-50%,-50%)}.life-caption{margin:0;padding:12px 22px;background:#f7f4e9;font-size:11px;line-height:1.8;color:#7e8069;border-top:1px solid #e0e3d4;min-height:45px}.life-play{padding:19px 22px 14px;background:#faf8ef;border-top:1px solid #e2e4d8}.life-play-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:13px;gap:12px}.life-play-heading strong{font-family:'Songti SC',serif;font-size:18px;font-weight:600}.life-play-heading>span{font-size:10px;color:#92947c}.life-tools{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.life-tools button{border:1px solid #dcdfce;background:#f2f3e8;border-radius:12px;display:grid;grid-template-columns:35px 1fr;text-align:left;padding:12px;align-items:center;min-height:72px;gap:4px 8px}.life-tools button>span{grid-row:span 2;font-size:29px;color:#8a9571;text-align:center}.life-tools button b{font-size:12px;font-weight:550}.life-tools button small{font-size:9px;line-height:1.5;color:#8d907a}.life-tools button[aria-pressed=true]{background:#e0e8d4;border-color:#869671;box-shadow:inset 0 0 0 1px #96a382}.life-tools #throw-ball>span{color:#b48570}.life-tools #nap-cats>span{color:#9892b3}.life-play>p{font-size:10px;color:#85886f;line-height:1.8;margin:12px 0 0;min-height:18px}.cat-moods{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:18px 22px;background:#f5f3e8;border-top:1px solid #e1e3d4}.cat-moods>div{display:grid;grid-template-columns:35px 1fr;gap:6px 10px}.cat-moods img{width:35px;height:35px;object-fit:cover;object-position:50% 38%;border-radius:50%;border:2px solid #e2e2d1}.cat-moods span>b{font-size:11px;font-weight:550}.cat-moods span>small{display:block;font-size:8px;color:#97977d;margin-top:4px}.cat-moods p{grid-column:1/-1;font-size:10px;color:#747b61;margin:3px 0 5px}.needs{grid-column:1/-1;display:flex;gap:12px}.needs>span{font-size:8px;color:#90937a;display:flex;align-items:center;gap:5px;flex:1}.needs i{height:4px;flex:1;background:#e1e3d6;border-radius:10px;overflow:hidden}.needs i>b{display:block;height:100%;background:#a4b28b;border-radius:10px;transition:width .5s}.life-journal{border-top:1px solid #dfe2d2;background:#faf8ef;padding:0 22px}.life-journal summary{padding:16px 0;cursor:pointer;font-size:11px;color:#697657}.life-journal summary>span{float:right;font-size:10px;color:#9c9f87}.life-journal #life-discoveries{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding-bottom:12px}.life-journal #life-discoveries>div{border:1px dashed #d9decf;border-radius:10px;padding:12px;background:#f3f3e9;opacity:.6}.life-journal #life-discoveries>.found{opacity:1;border:1px solid #c9d4ba;background:#eaf0df}.life-journal b{font-size:11px;font-weight:500;display:block;margin-bottom:6px}.life-journal small,.life-journal>p,.life-journal li{font-size:10px;line-height:1.8;color:#92957c}.life-journal ol{padding-left:19px}.life-journal>p{border-top:1px solid #e6e7db;padding-top:12px}.life-journal li{color:#81886f;margin-bottom:5px}.living-world [hidden]{display:none!important}.living-world.wand-active .wand-dot{display:none}.living-world .cat:focus-visible{outline-offset:0;border-radius:35%}
@keyframes box-rustle{0%,65%,100%{transform:rotate(-7deg)}70%{transform:rotate(-10deg) translateX(-2px)}78%{transform:rotate(-4deg) translateX(2px)}}@keyframes rule-wiggle{50%{transform:rotate(3deg)}}@keyframes ripple-water{to{box-shadow:inset 0 0 0 4px #bdd6cc}}
@media(max-width:1000px){.house-rule{left:43%;width:136px;min-height:94px}.house-rule strong{font-size:15px}.living-world .cat-cushion{width:26%}.life-tools button{padding:10px;grid-template-columns:25px 1fr;gap:4px}.life-tools button small{font-size:8px}}
@media(max-width:700px){.living-world{height:455px}.house-rule{left:38%;top:167px;width:126px;min-height:82px;padding:8px 6px}.house-rule strong{font-size:14px;margin:6px 0}.house-rule>span{font-size:6px;letter-spacing:1px}.house-rule small,.house-rule i{font-size:7px}.house-rule i{margin-top:3px}.living-world .cat-cushion{left:43%;top:82%;width:35%;height:10%}.cat-cushion span{font-size:6px;letter-spacing:1px}.water-bowl{right:5%;top:85%;width:38px;height:27px;border-width:2px}.water-bowl>span{height:10px;left:2px;right:2px}.water-bowl small{font-size:6px;bottom:-14px}.living-world .portal{bottom:40px}.living-world .plant{bottom:140px}.living-world .bubble{font-size:9px;max-width:126px}.living-world .cat-name{font-size:9px}.life-caption{font-size:10px;padding:11px 13px;min-height:55px}.life-play{padding:16px 12px 12px}.life-play-heading strong{font-size:16px}.life-play-heading>span{font-size:8px}.life-tools{grid-template-columns:repeat(2,1fr);gap:8px}.life-tools button{padding:10px;min-height:68px;gap:4px 7px;grid-template-columns:28px 1fr}.life-tools button b{font-size:11px}.life-tools button small{font-size:8px}.life-play>p{font-size:9px;min-height:33px}.cat-moods{padding:15px 13px;gap:17px}.cat-moods p{font-size:9px;min-height:28px;line-height:1.6}.needs{gap:5px;flex-wrap:wrap}.needs>span{min-width:40%;font-size:7px}.life-journal{padding:0 14px}.life-journal #life-discoveries{grid-template-columns:repeat(2,1fr)}.life-journal b{font-size:10px}.life-journal small{font-size:9px}.life-toy{width:23px;height:23px;line-height:23px;font-size:21px}.feather-toy{font-size:32px}.living-world .room-hint{font-size:8px;left:60px;right:34px;bottom:9px}.living-world .life-status>span{font-size:10px}}
@media(prefers-reduced-motion:reduce){.has-cat,.rule-read .house-rule,.rippling>span{animation:none!important}}
.living-world .bubble{top:auto!important;bottom:calc(100% + 3px);max-width:170px}.living-world .cat-h .bubble{bottom:calc(100% + 3px)}
@media(max-width:700px){.living-world .bubble{max-width:126px;font-size:9px;bottom:calc(100% + 2px)}}
/* Real food bowls, new action controls, and a visible percussion stage. */
.food-bar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:15px 21px;background:#eee5ce;border-top:1px solid #ddd0b4;border-bottom:1px solid #ddd0b4}.food-bar strong{font-family:'Songti SC',serif;font-size:16px;font-weight:600;display:block}.food-bar small{display:block;font-size:10px;color:#8e8064;margin-top:6px}.food-bar button{background:#79825a;color:#fff9e8;border-radius:10px;padding:12px 16px;font-size:12px;white-space:nowrap;min-height:44px;box-shadow:0 3px #5f6947}.food-bar button span{margin-right:7px}.living-world .kibble-bowl{position:absolute;top:88.5%;width:66px;height:36px;border-radius:12px 12px 28px 28px;background:#aeb9bc;border:2px solid #85959b;transform:translateX(-50%);z-index:24;box-shadow:0 4px 2px #66503722}.bowl-d{left:32%}.living-world .bowl-h{left:73%;background:#cbb3a2;border-color:#a98e7c}.bowl-inside{position:absolute;top:-5px;left:2px;right:2px;height:22px;background:#e5e5d7;border-radius:50%;border:2px solid #8e9d9d;overflow:hidden}.bowl-h .bowl-inside{border-color:#ac927c}.kibble-bowl strong{position:absolute;bottom:2px;left:0;right:0;font-size:8px;font-weight:500;color:#fffbee}.kibble-bowl small{position:absolute;bottom:-15px;left:0;right:0;font-size:8px;color:#827454}.bowl-inside i{position:absolute;left:calc(6% + mod(var(--grain),4)*23%);top:calc(3px + round(down,var(--grain)/4)*5px);width:8px;height:6px;background:#a87846;border:1px solid #8b603a;border-radius:40%;transform:rotate(calc(var(--grain)*39deg));transition:opacity .2s}.bowl-inside i:nth-child(4n+1){left:8%}.bowl-inside i:nth-child(4n+2){left:30%}.bowl-inside i:nth-child(4n+3){left:52%}.bowl-inside i:nth-child(4n+4){left:74%}.bowl-inside i:nth-child(-n+4){top:1px}.bowl-inside i:nth-child(n+5):nth-child(-n+8){top:6px}.bowl-inside i:nth-child(n+9){top:11px}.kibble-bowl.eating{box-shadow:0 0 0 4px #d7c28b55}.living-world .cat-name{bottom:-12px;z-index:30}.living-world .cat-cushion{left:46%;width:22%}.living-world .water-bowl{top:79%;right:5%}.life-specials{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}.life-specials button{border:1px dashed #c8ceb8;border-radius:20px;padding:9px 12px;min-height:38px;font-size:10px;background:#faf8eb;color:#71805c}.life-specials #add-kibble{background:#e5d9b4}.parkour-mode .room-hint{color:#a27055}.concert-stage{display:grid;grid-template-columns:1fr 1fr;gap:12px;border-radius:17px;background:linear-gradient(#e9ecdd,#dbe2cf);padding:12px;min-height:285px;overflow:hidden;border:1px solid #d1d7c1}.concert-player{position:relative;min-width:0;height:260px}.concert-player canvas{position:absolute;width:84%;height:auto;left:-11%;bottom:0;z-index:2;pointer-events:none}.musician-label{position:absolute;top:4px;left:8px;font-size:11px;letter-spacing:1px;color:#7f886a}.instrument{position:absolute;z-index:3;right:0;bottom:12px;padding:0;width:47%;min-height:140px;filter:drop-shadow(0 6px 3px #5d503422);overflow:visible}.instrument svg{display:block;width:100%;height:auto}.big-gong{bottom:5px}.instrument-mallet{position:absolute;z-index:4;right:24%;bottom:128px;width:8px;height:70px;border-radius:4px;background:#9e754e;transform:rotate(-42deg);transform-origin:50% 100%;pointer-events:none}.instrument-mallet:before{content:'';position:absolute;top:-4px;left:-7px;width:22px;height:19px;border-radius:50%;background:#eee2bd;border:2px solid #a78e62}.gong-mallet{bottom:115px;right:23%;height:62px;transform:rotate(-58deg)}.gong-mallet:before{background:#b17664;border-color:#8f5d4b}.music-pop{position:absolute;top:32px;right:15px;font-family:'Kaiti SC',serif;font-size:29px;color:#a57449;opacity:0;transform:scale(.8);transition:opacity .08s,transform .12s;pointer-events:none}.striking .music-pop{opacity:1;transform:scale(1.05) rotate(6deg)}.striking .drum-mallet{animation:hit-drum .32s ease-out}.striking .gong-mallet{animation:hit-gong .32s ease-out}.striking .gong-disc{transform-origin:90px 37px;animation:shake-gong .55s ease-out}.striking .drum-face{transform-origin:center;animation:drum-skin .25s ease-out}.concert-beats{display:flex;justify-content:center;gap:9px;margin:17px 0 7px}.concert-beats i{width:8px;height:8px;border-radius:50%;background:#dce0d1;transition:background .12s,transform .12s}.concert-beats i.on{background:#a17d52;transform:scale(1.4)}.concert-pads .pad{padding:17px 8px}.concert-pads .pad b{font-size:15px}.concert-pads .pad small{font-size:9px}.concert-stage+.pads{margin-top:15px}
@keyframes hit-drum{0%{transform:rotate(-42deg)}50%{transform:rotate(13deg) translateY(10px)}100%{transform:rotate(-42deg)}}@keyframes hit-gong{0%{transform:rotate(-58deg)}50%{transform:rotate(10deg) translateX(10px)}100%{transform:rotate(-58deg)}}@keyframes shake-gong{20%,60%{transform:rotate(5deg)}40%,80%{transform:rotate(-4deg)}100%{transform:rotate(0)}}@keyframes drum-skin{50%{transform:scaleY(.90)}}
@media(max-width:700px){.food-bar{padding:12px;gap:8px;flex-wrap:wrap}.food-bar strong{font-size:14px}.food-bar small{font-size:9px}.food-bar button{width:100%;font-size:12px;padding:11px}.living-world .kibble-bowl{width:47px;height:28px;top:89%}.bowl-inside{height:18px}.kibble-bowl strong{font-size:6px}.kibble-bowl small{font-size:6px;bottom:-13px}.bowl-inside i{width:6px;height:4px}.bowl-inside i:nth-child(n+9){top:10px}.living-world .cat-name{bottom:-15px;font-size:8px;padding:3px 5px}.living-world .room-hint{display:none}.living-world .cat-cushion{left:42%;width:28%;top:82%}.living-world .water-bowl{top:77%;right:3%}.life-specials{gap:6px}.life-specials button{padding:9px 10px;font-size:10px}.concert-stage{gap:2px;min-height:225px;padding:8px 3px}.concert-player{height:215px}.concert-player canvas{width:110%;left:-22%;bottom:9px}.musician-label{font-size:9px;left:9px}.instrument{width:55%;min-height:0;bottom:17px;right:-3px}.instrument-mallet{width:5px;height:48px;right:19%;bottom:93px}.instrument-mallet:before{width:16px;height:14px;left:-5px}.gong-mallet{bottom:93px;right:20%;height:43px}.music-pop{font-size:22px;top:48px;right:5px}.concert-pads .pad{padding:14px 3px}.concert-pads .pad b{font-size:11px}.concert-pads .pad small{font-size:7px}.concert-beats{margin:13px 0 5px}}
@media(prefers-reduced-motion:reduce){.striking .instrument-mallet,.striking .gong-disc,.striking .drum-face{animation:none!important}}

/* Roomier floor, quiet motion, layered props. */
main{max-width:1440px;padding:0 32px}.intro{padding:28px 0 24px}.living-world{height:660px;background-color:#f4f0df}.living-world .wall-line{top:42%}.living-world .floor{top:43%;background-color:#e6dec9;background-image:repeating-linear-gradient(0deg,transparent 0,transparent 78px,#c6bba830 79px,#c6bba830 80px)}.living-world .rug{left:12%;top:52%;width:76%;height:37%;background:#ddc598;border-color:#ecd8b4;box-shadow:0 0 0 3px #d5ba89}.living-world .sunbeam{height:620px;opacity:.65}.living-world .plant{bottom:auto;top:29%}.living-world .tv{top:170px}.living-world .cat{will-change:transform;contain:style}.living-world .cat-ground-shadow{filter:none;background:#786e5525}.living-world .cat-name{bottom:2%;font-size:9px;opacity:.8}.living-world .in-box .cat-name,.living-world .in-box .bubble{display:none}.living-world .is-eating .cat-name{opacity:0}.living-world .is-resting .life-canvas{animation:quiet-breath 4.7s ease-in-out infinite}.living-world .cat-h.is-resting .life-canvas{animation-delay:-2s}.living-world .enjoying-pat .cat-name{background:#f8e5c7;border-color:#d8bf8f}.life-paused .life-canvas{animation-play-state:paused!important}.living-world .cat:hover .bubble{opacity:0}.living-world .cat.life-speaking .bubble{opacity:1}.living-world .bubble{font-size:10px;max-width:150px;box-shadow:0 3px 10px #655a3e0c}.living-world .cat-cushion{left:55%;top:76%;width:23%;height:13%;opacity:.85}.living-world .kibble-bowl{top:91%;z-index:25}.living-world .water-bowl{top:66%;right:5%}.living-world .portal,.living-world .portal.has-cat{width:150px;height:115px;left:6%;top:69%;bottom:auto;transform:none;z-index:auto;animation:none;filter:none;transition:none;isolation:auto;overflow:visible;padding:0}.living-world .portal.has-cat:after{display:none}.box-back{position:absolute;inset:0 5px 10px;background:#c5a370;border:1px solid #ae8b59;z-index:12;border-radius:4px}.box-opening{position:absolute;left:5px;right:5px;top:9px;height:39px;background:#806847;border:4px solid #b89562;z-index:13;transform:skewX(-6deg)}.box-front{position:absolute;top:38px;left:0;right:0;bottom:0;background:linear-gradient(100deg,#d4b37e,#c7a16c);border:1px solid #b38b56;border-radius:2px 2px 5px 5px;z-index:23;box-shadow:0 5px 2px #6e563020;display:flex;align-items:center;justify-content:center;gap:10px;flex-direction:column}.box-front b{font-size:10px;letter-spacing:3px;color:#876e4b;font-weight:500}.box-front i{font-style:normal;font-size:25px;color:#96784f;line-height:1}.box-flap{position:absolute;top:31px;left:-12px;width:30px;height:70px;background:#dec18e;border:1px solid #b89a66;z-index:24;transform:skewY(-14deg) rotate(7deg)}.portal .object-label{left:0;right:0;bottom:-23px;text-align:center;font-size:9px;z-index:24}.portal.has-cat .box-flap{animation:flap-rustle 2s ease-in-out infinite}.sun-puddle{position:absolute;left:29%;top:58%;width:48%;height:30%;border-radius:50%;background:#fff4b74d;box-shadow:0 0 40px #fff6c050;transform:rotate(-12deg);pointer-events:none;z-index:2}.paper-trail{position:absolute;left:45%;top:74%;width:32%;height:18%;z-index:3;pointer-events:none}.paper-trail i{position:absolute;width:30%;height:42%;background:#fffdf3;border:1px solid #e1ddce;border-radius:3px;box-shadow:0 3px 2px #82775f12;left:calc(var(--n)*12%);top:calc(mod(var(--n),2)*27%);transform:rotate(calc(var(--n)*19deg - 20deg))}.paper-trail i:nth-child(1){--n:0}.paper-trail i:nth-child(2){--n:1}.paper-trail i:nth-child(3){--n:2}.paper-trail i:nth-child(4){--n:3}.paper-trail i:nth-child(5){--n:4}.paper-trail i:nth-child(6){--n:5}.mischief-mouse{position:absolute;width:43px;height:44px;z-index:26;transform:translate(-50%,-50%);padding:10px 2px;transition:left .4s,top .4s}.mischief-mouse i{display:block;width:33px;height:23px;background:#9c99a1;border-radius:70% 55% 50% 45%;border:1px solid #7f7a89;box-shadow:0 3px 2px #6f5a3622}.mischief-mouse i:before{content:'';position:absolute;width:12px;height:12px;left:5px;top:5px;border-radius:50%;background:#bfa7a7;border:3px solid #97929e}.mischief-mouse i:after{content:'•';position:absolute;left:2px;top:15px;font-size:15px;color:#514954}.mischief-mouse span{position:absolute;right:-12px;top:23px;width:20px;height:15px;border-top:2px solid #a49199;border-right:2px solid #a49199;border-radius:0 15px 0 0}.life-tools{grid-template-columns:repeat(3,1fr)}.life-specials{padding:14px 0 0;align-items:center;border-top:1px solid #e3e4d5;margin-top:15px}.life-specials>div{flex:1;min-width:220px}.life-specials strong{font-size:11px;font-weight:500}.life-specials small{display:block;font-size:10px;color:#8e917c;line-height:1.8;margin-top:4px}.life-specials button{border-style:solid;min-height:44px}.life-specials #tease-mouse{background:#e9dfd7;color:#8d6d65;border-color:#d7c4b8}.life-specials [hidden]{display:none}.concert-stage{min-height:0;height:290px}.concert-player{height:264px;overflow:visible}.concert-player canvas{width:260px;height:260px;max-width:none;left:calc(34% - 130px);bottom:0}.musician-label{z-index:5}.concert-player .instrument{width:43%}.concert-stage .music-pop{top:37px}.room-expand{font-size:10px;border:1px solid #bdc7af;padding:7px 10px;border-radius:20px;background:#f8f9ef;margin-left:auto}.room-top{gap:12px}.living-room.room-expanded .living-world{height:clamp(820px,86dvh,1000px)}
@keyframes quiet-breath{0%,100%{transform:scaleY(1)}50%{transform:scaleY(1.012)}}@keyframes flap-rustle{0%,75%,100%{transform:skewY(-14deg) rotate(7deg)}80%,90%{transform:skewY(-12deg) rotate(4deg)}}
@media(min-width:1500px){.living-world{height:720px}}
@media(max-width:700px){main{padding:0 10px}.intro{padding:24px 8px 20px}.living-room{border-radius:18px}.living-world{height:600px}.living-world .wall-line{top:39%}.living-world .floor{top:40%}.living-world .rug{left:5%;width:89%;top:50%;height:37%}.living-world .house-rule{left:38%;top:142px;width:124px}.living-world .plant{top:20%;bottom:auto}.living-world .tv{top:122px}.living-world .portal,.living-world .portal.has-cat{width:96px;height:76px;left:4%;top:70%}.box-opening{height:28px;top:4px;border-width:3px}.box-front{top:26px;gap:5px}.box-front b{font-size:7px;letter-spacing:2px}.box-front i{font-size:19px}.box-flap{height:44px;width:18px;top:23px;left:-7px}.portal .object-label{font-size:7px;bottom:-18px}.living-world .cat-cushion{left:49%;width:36%;top:76%;height:11%}.living-world .kibble-bowl{top:91%;width:50px}.living-world .water-bowl{top:62%;right:4%}.living-world .cat-name{font-size:8px;bottom:1%;padding:3px 6px}.living-world .bubble{max-width:117px;font-size:8px}.life-tools{grid-template-columns:repeat(2,1fr)}.life-specials>div{flex-basis:100%}.life-specials small{font-size:9px}.room-top{padding:0 10px;gap:5px}.room-label{font-size:9px;max-width:35%}.mode-switch button{padding:7px 9px}.room-expand{font-size:9px;padding:7px}.concert-stage{height:225px}.concert-player{height:207px}.concert-player canvas{width:min(220px,49vw);height:min(220px,49vw);left:calc(35% - min(110px,24.5vw));bottom:9px}.concert-player .instrument{width:48%;right:0}.concert-stage .music-pop{top:40px}.instrument-mallet{bottom:77px;height:42px}.gong-mallet{bottom:79px;height:40px}.living-room.room-expanded .living-world{height:780px}.paper-trail{left:35%;width:43%;height:12%}}
@media(prefers-reduced-motion:reduce){.is-resting .life-canvas,.portal.has-cat .box-flap{animation:none!important}}
@media(max-width:700px){.concert-player canvas{width:100%;height:auto;left:0;bottom:15px}}
.living-world .cat-ground-shadow{background:radial-gradient(ellipse,rgba(100,84,59,.8),rgba(100,84,59,0) 72%);width:68%;height:6%;filter:none}
/* Calm rests and two individual corrugated scratch boards. */
.living-world .is-resting .life-canvas{animation:rest-breath 9s ease-in-out infinite}
@keyframes rest-breath{0%,100%{transform:scaleY(1)}50%{transform:scaleY(1.003)}}
.living-world .cat-ground-shadow{transition:width .35s,height .35s;opacity:.14}.living-world .is-resting .cat-ground-shadow{width:82%;height:5%}
.living-world .cat[data-activity=jump] .cat-ground-shadow,.living-world .cat[data-activity=pounce] .cat-ground-shadow{transition:none}
.scratch-board{position:absolute;width:154px;height:58px;padding:0;border-radius:46% 46% 32% 32%;background:#b38d68;border:3px solid #a88361;box-shadow:0 6px 0 #977452,0 9px 9px #6e593c18;z-index:7;transform:rotate(-7deg);touch-action:manipulation}
.scratch-d{left:25%;top:61%}.scratch-h{right:17%;top:70%;transform:rotate(6deg);background:#bdac8a;border-color:#a39273;box-shadow:0 6px 0 #968567,0 9px 9px #6e593c18}
.scratch-surface{position:absolute;inset:3px 7px 9px;border-radius:50%;background:repeating-linear-gradient(90deg,#dfc499 0 2px,#b99b71 2px 3px,#e9d3ac 3px 5px);border:3px solid #ead3a9}
.scratch-h .scratch-surface{background:repeating-linear-gradient(90deg,#d5cba7 0 2px,#aaa17e 2px 3px,#e6d9b9 3px 5px);border-color:#ded7b8}
.scratch-board small{position:absolute;top:calc(100% + 11px);left:-15px;right:-15px;font-size:9px;color:#8f7a60;white-space:nowrap}
.scratch-board i{position:absolute;width:27px;height:16px;left:46%;top:20%;border-left:1px solid #ad885e;border-right:1px solid #ad885e;opacity:0;transform:rotate(25deg)}
.scratch-board.being-scratched i{animation:scratch-marks .6s infinite alternate}
@keyframes scratch-marks{to{opacity:.7;transform:rotate(25deg) translateY(5px)}}
.cozy-corner{position:absolute;left:42%;top:82%;width:19%;height:12%;border-radius:46%;border:7px solid #c9b5a3;background:radial-gradient(ellipse,#d8c8b8 15%,#e7dbcd 70%);box-shadow:0 6px 0 #baa59130;z-index:3;transform:rotate(-4deg)}
.cozy-corner span{position:absolute;inset:10px;border:1px dashed #c2ac97;border-radius:50%}.cozy-corner small{font-size:9px;color:#a58e7a}
.living-world .cat-cushion{left:67%;width:22%;top:80%}
@media(max-width:700px){.scratch-board{width:95px;height:39px;border-width:2px}.scratch-d{left:29%;top:58%}.scratch-h{right:9%;top:72%}.scratch-surface{inset:2px 4px 6px;border-width:2px}.scratch-board small{font-size:7px;top:calc(100% + 10px)}.cozy-corner{left:35%;width:27%;top:83%;height:9%;border-width:5px}.cozy-corner small{font-size:7px}.living-world .cat-cushion{left:65%;width:30%;top:80%;height:10%}}
@media(prefers-reduced-motion:reduce){.living-world .is-resting .life-canvas,.scratch-board.being-scratched i{animation:none!important}}
.living-world .cat{pointer-events:none}.living-world .cat .life-canvas,.living-world .cat .cat-name{pointer-events:auto}.living-world .cat.in-box .life-canvas{pointer-events:none}
.scratch-d{top:54%;left:22%}.scratch-h{top:58%;right:15%}
@media(max-width:700px){.scratch-d{top:50%;left:26%}.scratch-h{top:62%;right:19%}.living-world .water-bowl{top:47%}}
/* A calmer little home: compact choices, ground-level props, shared cat scenes. */
.companion-controls{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:16px 0;color:#677155;font-size:12px}.companion-controls>div{display:flex;align-items:center;gap:6px}.companion-controls button,.play-tabs button{border:1px solid #d8dccb;background:#fbf9ef;border-radius:22px;padding:10px 14px;color:#64704f;font:inherit;min-height:40px;cursor:pointer}.companion-controls button[aria-pressed=true],.play-tabs button[aria-pressed=true]{background:#78835c;color:white;border-color:#78835c}.play-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0 18px}.life-tools button[hidden]{display:none!important}.life-tools{grid-template-columns:repeat(4,minmax(0,1fr))!important}.paired-cat{pointer-events:none!important}.paired-cat *{pointer-events:none!important}#pair-scene{position:absolute;z-index:19;pointer-events:none;filter:drop-shadow(0 5px 3px #62533216)}.paper-tunnel{position:absolute;left:46%;top:53%;width:128px;height:67px;border:1px solid #bba47c;border-radius:45% 18% 18% 45%;background:repeating-linear-gradient(90deg,#c6ac82 0 8px,#d5bd94 8px 10px);box-shadow:0 7px 6px #66533318;z-index:16;transform:rotate(-7deg);cursor:pointer}.paper-tunnel i{position:absolute;left:-5px;top:1px;width:42px;height:63px;background:#635340;border:6px solid #d5bc93;border-radius:50%}.paper-tunnel span{position:absolute;right:9px;top:28px;font-size:10px;color:#796646}.paper-tunnel.occupied{animation:bag-rustle 1.1s ease-in-out infinite}.cat-laptop{position:absolute;left:76%;top:64%;width:90px;height:65px;background:transparent;border:0;z-index:9;cursor:pointer;transform:rotate(5deg)}.cat-laptop i{display:flex;align-items:center;justify-content:center;border:5px solid #a9b8a3;background:#dbe5ce;border-radius:5px;width:84px;height:45px;color:#7d8b6b;font:9px serif}.cat-laptop span{display:block;background:repeating-linear-gradient(0deg,#bbc7b1 0 3px,#cbd4bf 3px 5px);width:96px;height:20px;transform:skewX(-22deg);border-radius:2px 2px 6px 6px;border-bottom:3px solid #9eae95}.cat-laptop.occupied i{color:transparent}#window-bird{position:absolute;left:72%;top:14%;font-size:48px;color:#879477;animation:bird-pass 6s ease-in-out infinite;pointer-events:none;z-index:2}.quiet-companion .paper-tunnel{animation:none}.life-canvas{touch-action:pan-y}.companion-controls [data-cat-target]{min-width:64px}@keyframes bag-rustle{0%,100%{transform:rotate(-7deg)}50%{transform:rotate(-5deg)}}@keyframes bird-pass{0%,100%{transform:translateX(-25px)}50%{transform:translateX(40px)}}
@media(max-width:600px){.life-tools{grid-template-columns:repeat(2,minmax(0,1fr))!important}.companion-controls{font-size:11px;gap:8px}.companion-controls button{padding:8px 11px}.play-tabs{gap:5px}.play-tabs button{font-size:11px;padding:9px}.paper-tunnel{width:82px;height:43px;left:45%;top:56%}.paper-tunnel i{width:28px;height:41px;border-width:4px}.paper-tunnel span{font-size:8px;right:5px;top:17px}.cat-laptop{width:65px;height:48px;left:74%;top:73%}.cat-laptop i{width:61px;height:34px;border-width:3px;font-size:7px}.cat-laptop span{width:68px;height:14px}.life-tools button{min-height:102px}.companion-controls>div{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){.paper-tunnel,#window-bird{animation:none!important}}

#life-ball{pointer-events:auto!important;touch-action:none;cursor:grab;z-index:31}#life-ball:active{cursor:grabbing}.paper-trail{pointer-events:none!important}footer .sound-note{max-width:330px;font-size:10px;line-height:1.7}

.living-world .paired-cat{visibility:hidden!important;opacity:0!important;transition:none!important}
/* v8: breathing room around objects, controls beside the scene. */
.room-layout{display:grid;grid-template-columns:minmax(0,1fr) 270px;align-items:start;background:#faf8ef}.room-view{min-width:0}.room-rail{border-left:1px solid #dce0ce;padding:18px 14px;align-self:stretch;background:#f9f8ef}.living-room{overflow:clip}.room-view .living-world{height:660px}.cat-dock{position:sticky;top:12px;z-index:45;background:#f9f8ef}.room-rail .companion-controls{margin:0 0 12px;font-size:11px}.room-rail .companion-controls>div{gap:4px}.room-rail .companion-controls button{min-width:0;padding:8px 10px;min-height:38px}.quick-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;padding-bottom:15px;border-bottom:1px solid #dedfce}.quick-actions button{display:flex;flex-direction:column;gap:6px;align-items:center;justify-content:center;min-height:60px;background:#ecefdf;border:1px solid #d8dec8;border-radius:12px;padding:10px 3px;font-size:11px}.quick-actions button span{font-size:23px;line-height:1;color:#738259}.quick-actions button b{font-weight:500}.quick-actions #add-kibble{background:#75845c;color:white}.quick-actions #add-kibble span{color:white}.quick-actions [aria-pressed=true]{background:#d4dfbf;box-shadow:inset 0 0 0 1px #829367}.quick-actions #more-cat-play{display:none}.panel-title{display:flex;justify-content:space-between;align-items:center;font-size:12px;padding:17px 2px 8px}.panel-title button{display:none}.room-rail .life-play{padding:0;border:0;background:none}.room-rail .life-play-heading{display:none}.room-rail .play-tabs{display:grid;grid-template-columns:repeat(2,1fr);gap:5px;margin:9px 0 12px}.room-rail .play-tabs button{font-size:10px;padding:8px 3px;min-height:36px}.room-rail .life-tools{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:6px}.room-rail .life-tools button{padding:10px 7px;min-height:85px;border-radius:10px;text-align:left}.room-rail .life-tools button b{font-size:11px}.room-rail .life-tools button small{font-size:9px;line-height:1.5}.room-rail .life-tools button>span{font-size:21px}.room-rail .life-specials{gap:6px;padding-top:12px}.room-rail .life-specials>div{display:none}.room-rail .life-specials button{font-size:10px;padding:7px;min-height:36px}.room-rail #play-guidance{font-size:10px;line-height:1.7;margin:12px 0}.room-utilities{padding-top:8px;border-top:1px solid #e0e2d3}.room-utilities>div:first-child{display:flex;gap:6px}.room-utilities button{font-size:10px;padding:8px;border:1px solid #d8ddc9;border-radius:8px;min-height:36px}.room-utilities .room-toolbar{display:flex;flex-wrap:wrap;padding:10px 0;border:0;background:none;gap:6px}.room-utilities .room-toolbar button{font-size:10px;flex:1;min-width:90px}.room-utilities .room-toolbar .chaos-button{font-size:10px}.room-rail .food-bar{padding:10px 0;border:0;background:none}.room-rail .food-bar strong{display:none}.room-rail #food-status{font-size:10px;line-height:1.7}.room-view .life-status{padding:9px 14px;font-size:10px;justify-content:space-between;flex-wrap:wrap}.room-view .life-status>span{width:auto;flex-wrap:wrap}.room-view .life-caption{font-size:11px;padding:10px 14px;min-height:43px}.cat-life-details{border-top:1px solid #dce0ce;background:#f8f8ee}.cat-life-details>summary{font-size:12px;color:#7c8368;cursor:pointer;padding:15px 20px}.room-zone{position:absolute;pointer-events:none;font-size:9px;letter-spacing:3px;color:#9d9d83;z-index:1}.zone-play{left:8%;top:50%}.zone-rest{right:8%;top:56%}.zone-food{left:21%;top:88%}.living-world .wall-line{top:34%}.living-world .floor{top:35%}.living-world .rug{left:22%;width:54%;top:54%;height:29%;opacity:.65}.living-world .tv{top:20%;left:4%;transform:scale(.8);transform-origin:left top}.living-world .house-rule{left:39%;top:6%;width:130px;transform:rotate(-2deg)}.living-world .clock{left:23%;top:5%;transform:scale(.85)}.living-world .window{right:10%;top:5%;width:115px;height:160px}.living-world .plant{right:2%;top:28%;bottom:auto;transform:scale(.7);transform-origin:bottom right}.living-world .fridge{right:3%;top:6%;transform:scale(.75);transform-origin:top right}.living-world .wall-picture{left:5%;top:5%;transform:rotate(-5deg) scale(.8);transform-origin:top left}.living-world .wall-shelf{left:23%;top:24%;transform:scale(.7);transform-origin:left top}.living-world .owner-button{right:4%;top:34%;z-index:29}.living-world .scratch-d{left:30%;right:auto;top:45%;width:125px;height:46px}.living-world .scratch-h{right:8%;left:auto;top:46%;width:125px;height:46px}.living-world .paper-tunnel{left:5%;top:58%;width:108px;height:57px}.living-world .paper-tunnel i{height:53px;width:36px}.living-world .portal,.living-world .portal.has-cat{left:5%;top:75%;width:120px;height:92px}.living-world .cozy-corner{left:auto;right:5%;top:65%;width:21%;height:11%}.living-world .cat-cushion{left:auto;right:5%;top:81%;width:21%;height:9%}.living-world .kibble-bowl{top:94%;width:54px}.living-world .bowl-d{left:22%;right:auto}.living-world .bowl-h{left:43%;right:auto}.living-world .water-bowl{left:64%;right:auto;top:93%;width:49px}.living-world .cat-laptop{left:48%;top:52%}.living-world .cat-laptop[hidden]{display:none}.living-world .room-hint{display:none}.room-expanded .room-view .living-world{height:820px}.cat-dock #more-cat-play[aria-expanded=true]{background:#dce4cd}
@media(max-width:1100px) and (min-width:901px){main{padding:0 16px}.room-layout{grid-template-columns:minmax(0,1fr) 245px}.room-rail{padding:14px 10px}.living-world .scratch-board{width:102px}.living-world .window{right:11%;width:100px}.living-world .house-rule{width:110px;left:40%}}
@media(max-width:900px){.room-layout{display:block}.room-rail{border:0;padding:0}.cat-dock{display:none;position:fixed;left:10px;right:10px;bottom:calc(9px + env(safe-area-inset-bottom));padding:9px 10px 8px;border:1px solid #d6ddc7;border-radius:18px;background:#fafbf2f5;box-shadow:0 5px 30px #343b3225;backdrop-filter:blur(14px);z-index:100}.cat-controls-visible .cat-dock{display:block}.room-rail .companion-controls{margin:0 0 7px}.room-rail .companion-controls>div{width:100%;justify-content:center;gap:8px}.room-rail .companion-controls button{padding:4px 14px;min-height:30px}.quick-actions{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px;border:0;padding:0}.quick-actions button{min-height:48px;gap:4px;padding:5px 2px;border-radius:9px;font-size:10px}.quick-actions button span{font-size:20px}.quick-actions #more-cat-play{display:flex}.room-play-panel{display:none;position:fixed;left:10px;right:10px;bottom:calc(119px + env(safe-area-inset-bottom));max-height:44svh;overflow:auto;background:#faf9ef;padding:12px;border:1px solid #d9dfca;border-radius:18px;box-shadow:0 -8px 32px #343b3220;z-index:99;overscroll-behavior:contain}.tools-open .room-play-panel{display:block}.panel-title{padding:0 0 6px;font-size:13px}.panel-title button{display:block;min-width:40px;min-height:40px;border-radius:50%;background:#ecefdf}.room-rail .play-tabs{grid-template-columns:repeat(4,minmax(0,1fr));position:sticky;top:-12px;z-index:2;background:#faf9ef;padding:7px 0;margin:0 0 7px}.room-rail .life-tools{grid-template-columns:repeat(2,minmax(0,1fr))!important}.room-rail .life-tools button{min-height:72px}.room-rail .life-tools button small{font-size:10px}.room-rail .life-specials{display:flex}.room-view .living-world{height:620px}.room-expanded .room-view .living-world{height:780px}.room-view .life-status{padding:12px;font-size:10px}.room-view .life-status button{min-height:40px}.cat-controls-visible main{padding-bottom:125px}.room-view .life-caption{font-size:10px}.living-room{overflow:clip}.room-top{gap:5px}.room-zone{font-size:8px;letter-spacing:2px}.living-world .house-rule{left:37%;top:7%;width:110px}.living-world .clock{left:22%;top:3%;transform:scale(.65);transform-origin:top left}.living-world .window{right:6%;width:82px;height:128px;top:5%;border-width:5px}.living-world .window-divider:after{top:75px}.living-world .window .cloud{font-size:44px}.living-world .window .sun{width:30px;height:30px;right:12px;top:21px}.living-world .window>span{font-size:7px;bottom:5px}.living-world .wall-picture{transform:rotate(-5deg) scale(.60)}.living-world .tv{top:21%;transform:scale(.60);left:5%}.living-world .wall-shelf{display:none}.living-world .fridge{top:25%;right:4%;transform:scale(.55)}.living-world .plant{display:none}.living-world .owner-button{right:5%;top:37%;font-size:9px;min-height:35px}.living-world .scratch-d{left:26%;top:44%;width:83px;height:33px}.living-world .scratch-h{right:6%;top:48%;width:83px;height:33px}.living-world .paper-tunnel{left:5%;top:57%;width:75px;height:40px}.living-world .paper-tunnel i{width:27px;height:38px;border-width:4px}.living-world .paper-tunnel span{font-size:7px;top:15px;right:3px}.living-world .portal,.living-world .portal.has-cat{left:5%;top:76%;width:84px;height:68px}.living-world .box-front{top:23px;gap:4px}.living-world .box-flap{height:40px;top:20px;left:-6px;width:15px}.living-world .box-opening{height:25px;top:4px}.living-world .cozy-corner{right:4%;top:65%;width:24%;height:8%;border-width:5px}.living-world .cat-cushion{right:4%;top:81%;width:24%;height:8%}.living-world .kibble-bowl{top:94%;width:43px}.living-world .bowl-d{left:25%}.living-world .bowl-h{left:46%}.living-world .water-bowl{left:70%;top:93%;width:38px}.zone-play{top:51%;left:7%}.zone-rest{top:60%;right:8%}.zone-food{top:91%;left:40%}.living-world .cat-laptop{left:44%;top:52%}.living-world .rug{left:24%;width:50%;top:57%;height:25%}}
@media(max-width:360px){.cat-dock{left:5px;right:5px;padding:7px}.quick-actions button{font-size:9px}.room-play-panel{left:5px;right:5px}.room-top .mode-switch button{font-size:9px;padding:6px}.living-world .house-rule{width:100px}.living-world .scratch-board{width:72px}}
@media(min-width:901px){.quick-actions{grid-template-columns:repeat(2,1fr)}}
.living-world .house-rule strong{font-size:16px;white-space:nowrap;letter-spacing:0}.living-world .house-rule small{font-size:8px}
@media(max-width:900px){.cat-dock{top:auto}.living-world .house-rule strong{font-size:13px}.living-world .house-rule small{font-size:7px}.living-world .plant{display:block;top:28%;right:26%;transform:scale(.36);transform-origin:top right}.living-world .house-rule{top:8%}}
.living-world .kibble-bowl{top:92%}.living-world .water-bowl{top:91%}
@media(max-width:900px){.living-world .kibble-bowl{top:92%}.living-world .water-bowl{top:91%}.zone-food{top:88%}.room-play-panel .life-tools button{display:flex;flex-direction:column;align-items:flex-start;gap:5px}.room-play-panel .life-tools button>span{display:none}.room-play-panel .life-tools button small{margin:0}}

/* Small, touchable aftermath without covering the walking area. */
.living-world .paper-trail{pointer-events:auto!important;cursor:pointer;width:140px;height:86px;z-index:26;transform-origin:top left;touch-action:manipulation}
.paper-trail:focus-visible{outline:3px solid #8b986d;outline-offset:5px;border-radius:12px}
.scratch-board[data-occupant] small::after{content:' · 使用中';color:#64734d}
.living-world .cat[data-touch="cheek"] .cat-name{background:#f6e4cb}

/* A quiet washroom corner, away from meals and the open middle of the rug. */
.living-world .litter-box{position:absolute;left:5%;top:42%;width:180px;height:77px;padding:0;border:0;background:none;z-index:auto;isolation:auto;overflow:visible;transform:none}
.litter-back{position:absolute;inset:0 3px 5px;border-radius:18px;background:#a8b8ac;border:2px solid #7f9787;z-index:12;box-shadow:0 6px 5px #465a4218}
.litter-sand{position:absolute;left:10px;right:10px;top:9px;height:44px;border-radius:50% 50% 32% 32%;background-color:#ddd3b5;background-image:radial-gradient(#b7a787 1px,transparent 1.5px);background-size:7px 6px;z-index:13;border:2px solid #c6b896}
.litter-sand i{position:absolute;width:12px;height:7px;background:#b4a486;border-radius:60%;opacity:0;left:25%;top:45%}.litter-sand i:nth-child(2){left:58%;top:25%}.litter-sand i:nth-child(3){left:70%;top:60%}.litter-dirty .litter-sand i{opacity:.55}
.litter-front{position:absolute;left:0;right:0;top:38px;bottom:0;z-index:23;border:2px solid #839b8c;border-top:5px solid #bdcec0;border-radius:5px 5px 17px 17px;background:#a7bdad;display:flex;align-items:center;justify-content:center;font-size:10px;letter-spacing:2px;color:#506e5b}
.litter-box small{position:absolute;left:-10px;right:-10px;top:calc(100% + 8px);font-size:9px;color:#7b8a72;white-space:nowrap}.litter-box.digging .litter-sand{animation:sand-shift .35s steps(2) infinite}.litter-box[data-owner]:not([data-owner=""]) small{color:#557659}#clean-litter:disabled{opacity:.55;cursor:wait}
@keyframes sand-shift{50%{background-position:2px -1px}}
.cat[data-noticing="true"] .cat-name{background:#f7e6c8;border-color:#cab58d}
@media(max-width:900px){.living-world .litter-box{left:5%;top:42%;width:120px;height:62px}.litter-front{top:30px;font-size:7px;letter-spacing:1px}.litter-sand{left:7px;right:7px;top:8px;height:35px}.litter-box small{font-size:7px;top:calc(100% + 6px)}.living-world .scratch-d{left:44%;top:44%;width:80px}.living-world .scratch-h{top:53%;right:6%;width:80px}.living-world .paper-tunnel{top:60%}.zone-play{top:57%;left:7%}.zone-rest{top:63%;right:7%}}
@media(prefers-reduced-motion:reduce){.litter-box.digging .litter-sand{animation:none}}
/* Quiet household props stay out of the way until their story begins. */
.story-menu{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:20px 0}.story-menu button{padding:16px 10px;min-height:54px;background:#e7ebdb;border:1px solid #d3dac1;border-radius:12px;color:#4b5840}.story-menu button:hover{background:#dce4ca}.story-brush{position:absolute;z-index:23;width:64px;height:24px;border-radius:50%;background:repeating-linear-gradient(90deg,#9b8d68 0 2px,#d7bd8e 2px 5px);border:3px solid #a28a5d;transform:translate(-50%,-50%) rotate(-14deg)}.story-brush:after{content:'';position:absolute;width:33px;height:9px;left:55px;top:4px;background:#a28a5d;border-radius:8px}.story-brush span{position:absolute;top:30px;left:-25px;width:130px;font-size:9px}.story-bag{position:absolute;z-index:15;width:65px;height:75px;border:2px solid #ac9569;background:linear-gradient(75deg,#c8ad77,#e1c897 55%,#c6a776);transform:translate(-50%,-50%) rotate(5deg);clip-path:polygon(0 8%,18% 2%,40% 8%,63% 0,84% 7%,100% 2%,95% 100%,5% 100%);font-size:10px;color:#796c4e}.story-curtain{position:absolute;z-index:25;width:95px;height:132px;border:0;border-radius:8px 8px 0 0;background:repeating-linear-gradient(90deg,#abb79d 0 12px,#cad2bb 12px 24px,#b9c4aa 24px 32px);box-shadow:0 4px 6px #62744d20;transform:translate(-50%,-70%);color:#536248}.story-curtain span{position:absolute;bottom:12px;left:0;width:100%;font-size:8px}.story-curtain:before{content:'';position:absolute;top:0;left:-8px;right:-8px;height:5px;background:#9c926f;border-radius:5px}#moment-photo{display:block;width:100%;max-height:55vh;object-fit:contain;border-radius:15px;background:#f4f0df}.moment-caption{display:block;margin-top:18px;font-size:13px}.moment-caption input{display:block;width:100%;padding:12px;margin-top:7px;border:1px solid #ccd3bd;border-radius:9px;background:#fffdf5;color:#4b5840;font:inherit}.life-canvas{will-change:auto}@media(max-width:600px){.story-menu{gap:7px}.story-menu button{font-size:12px;padding:12px 6px}.story-curtain{width:76px;height:108px}}

/* The engine owns breathing and contact motion; avoid a second CSS transform clock. */
.living-world .is-resting .life-canvas{animation:none!important}.living-world .cat{will-change:transform}.living-world .life-canvas{backface-visibility:hidden}.companion-dock button:active,.life-tools button:active{transition-duration:.05s}

/* A shared cuddle remains touchable, with transparent margins excluded by the renderer. */
#pair-scene{pointer-events:auto;cursor:pointer;touch-action:manipulation}#pair-scene:focus-visible{outline:2px solid #7d8865;outline-offset:3px}
/* v16: a quiet catalogue, one active episode and temporary props. */
.episode-strip{display:flex;gap:8px;margin:14px 0 6px}.episode-strip button{border:1px solid #d5d8c5;background:#f5f3e8;border-radius:16px;padding:12px;color:#58624a;cursor:pointer}.episode-strip #episode-book{display:grid;grid-template-columns:22px 1fr;flex:1;text-align:left;gap:4px}.episode-strip small{grid-column:2;font-size:10px;color:#8b907a}.episode-strip #episode-history{font-size:11px}
#episode-live{margin:10px 12px 15px;padding:13px 16px;background:#f8f5e9;border:1px solid #d9dcc9;border-radius:17px;display:grid;grid-template-columns:1fr auto;gap:8px;color:#59634b}#episode-live[hidden]{display:none}#episode-live strong{display:block;font-size:15px}#episode-live small{font-size:10px;letter-spacing:1px;color:#8b927c}#episode-live p{font-size:12px;line-height:1.65;margin:5px 0}#episode-cues{display:flex;flex-wrap:wrap;gap:6px;grid-column:1/-1}#episode-cues button,#episode-stop{border:1px solid #c6cdb5;background:#edf0e0;border-radius:12px;color:#526145;padding:10px 14px;cursor:pointer}#episode-stop{grid-column:2;grid-row:1;align-self:start;font-size:11px;background:transparent}#episode-cues button{min-height:42px}
.episode-filter{display:flex;gap:7px;flex-wrap:wrap;margin:18px 0}.episode-filter button{border:1px solid #d5d9c8;background:#f8f7f0;border-radius:20px;padding:9px 12px;color:#667054;cursor:pointer}.episode-filter button[aria-pressed=true]{background:#78855e;color:white}.episode-search{display:grid;gap:7px;font-size:12px;color:#77806a;margin:12px 0 20px}.episode-search input,.episode-search textarea{width:100%;border:1px solid #d6d9c7;border-radius:12px;padding:12px;background:#fffdf5;font:inherit;color:#4e5944}.episode-search textarea{min-height:100px;resize:vertical}.episode-catalog{display:grid;grid-template-columns:1fr 1fr;gap:10px}.episode-catalog button{display:flex;flex-direction:column;text-align:left;border:1px solid #dbdfce;background:#f1f2e7;padding:15px;border-radius:16px;gap:7px;color:#4e5b43;cursor:pointer}.episode-catalog span{font-size:10px;letter-spacing:1px;color:#919a7c}.episode-catalog b{font-size:15px}.episode-catalog small{font-size:11px;line-height:1.65;color:#7a826d}.episode-catalog button:hover{background:#e6ebd9}.episode-catalog button:focus-visible,.episode-prop:focus-visible{outline:3px solid #8a9a6c;outline-offset:3px}.cat-reply{background:#e9eedc;padding:22px;border-radius:16px;line-height:1.8;color:#526047;white-space:pre-wrap}.episode-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.episode-metrics div{background:#eef0e4;padding:20px 8px;text-align:center;border-radius:15px}.episode-metrics b{font-size:30px;display:block;color:#677b4e}.episode-metrics span{font-size:11px}.preference-cards{display:grid;grid-template-columns:1fr 1fr;gap:14px}.preference-cards article{border:1px solid #d6ddc7;padding:20px;border-radius:18px}.preference-cards p{font-size:12px;line-height:1.7}#episode-replay,#episode-photo{width:100%;height:auto;border-radius:18px;background:#eee9d7}.episode-shots{display:grid;grid-template-columns:1fr 1fr;gap:12px}.episode-shots button{border:1px solid #d2d7c3;border-radius:14px;background:#f1eedf;padding:10px;color:#69745a}.episode-shots canvas{width:100%;height:auto}
#episode-props{display:contents;pointer-events:none}.episode-prop{position:absolute;z-index:18;transform:translate(-50%,-90%);pointer-events:auto;border:0;padding:0;background:transparent;color:#6d7057;cursor:pointer;width:54px;height:40px;filter:drop-shadow(0 3px 2px #625d3a20)}.episode-prop i{display:block;font-style:normal;font-size:28px}.episode-prop span{position:absolute;top:100%;left:50%;transform:translateX(-50%);white-space:nowrap;font-size:8px;letter-spacing:1px;background:#f6f1dfbf;border-radius:5px;padding:2px 4px}.episode-prop.covers-cat{z-index:21}.episode-prop.under-cat{z-index:14}.prop-ball i,.prop-furball i{height:28px;width:28px;margin:auto;border-radius:50%;background:repeating-linear-gradient(30deg,#acb99a 0 3px,#879672 4px 6px);color:transparent}.prop-furball i{background:#b9ac95;box-shadow:0 0 6px 3px #b9ac9577}.prop-foodbag i,.prop-treat i{background:#e2bc90;border:2px solid #aa8564;border-radius:3px;padding:4px;color:#927655;font-size:22px}.prop-treat{width:16px}.prop-foodbag{width:38px}.prop-bag{width:90px;height:58px;background:#c9ac7c;border:2px solid #a98a59;border-radius:8px 8px 20px 20px}.prop-bag:before{content:'';position:absolute;inset:4px 10px 38px;border-radius:50%;background:#6f6649}.prop-bag:after{content:'猫';font-size:19px;position:absolute;top:24px;left:35px;color:#9a7d50}.prop-bed,.prop-sunpatch{width:135px;height:48px;border-radius:50%;background:#dac49688;border:3px double #c9b784;z-index:9}.prop-bed{background:#dbc6ba;border:7px solid #c8b4a5}.prop-sunpatch{background:#f3de9d77;border:0;filter:blur(2px)}.prop-scratch{width:100px;height:32px;background:repeating-linear-gradient(90deg,#b99d71 0 3px,#eadbb7 4px 6px);border:6px solid #b19a73;border-radius:45%;z-index:12}.prop-screen{width:70px;height:50px;background:repeating-linear-gradient(90deg,#c5b588 0 4px,#a99b72 5px 6px);border-radius:12px;z-index:21}.prop-table{width:90px;height:70px;border-top:10px solid #b9a07a;border-left:8px solid #b9a07a;border-right:8px solid #b9a07a;z-index:12}.prop-cup{width:24px;height:28px;background:#91aca1;border-radius:3px 3px 8px 8px;box-shadow:inset 0 4px #5c7970}.prop-cup i{display:none}.prop-robot{width:94px;height:30px;border-radius:50%;background:#aeb8a5;border:5px solid #85957d;box-shadow:inset 0 4px #d8deca;z-index:12}.prop-robot:after{content:'';width:8px;height:8px;background:#d6ead0;position:absolute;left:40px;top:4px;border-radius:50%}.prop-slipper{width:45px;height:23px;background:#b99387;border-radius:16px 5px 5px 16px;rotate:-15deg;box-shadow:inset 13px 0 #785c51}.prop-tissue{width:66px;height:35px;background:#d5c9b2;border-radius:5px}.prop-tissue:before{content:'';position:absolute;top:-14px;left:25px;width:70px;height:15px;background:#fffcf0;transform:rotate(-10deg);clip-path:polygon(0 40%,20% 0,45% 50%,70% 0,100% 30%,90% 90%,35% 100%)}.prop-paper{width:90px;height:28px;background:repeating-linear-gradient(35deg,#fffdf2 0 12px,transparent 13px 20px);clip-path:polygon(0 30%,20% 0,35% 50%,60% 10%,100% 40%,90% 100%,50% 70%,15% 90%)}.prop-mouse{width:35px;height:20px;border-radius:55%;background:#bca99e}.prop-mouse:before{content:'';position:absolute;width:11px;height:11px;background:#d6b8ad;border:2px solid #bca99e;border-radius:50%;left:4px;top:-6px}.prop-mouse:after{content:'';position:absolute;width:22px;height:13px;border-bottom:2px solid #bca99e;border-radius:50%;right:-20px;top:3px}.prop-bump{width:50px;height:23px;background:#ceb680;border-radius:70% 70% 15% 15%;box-shadow:5px 3px 4px #87704933}.prop-litter{width:100px;height:44px;border:8px solid #a5bbae;border-radius:16px;background:repeating-radial-gradient(#c2b491 0 1px,#ddd3b7 2px 6px)}.prop-dust{color:#cdbb96;pointer-events:none}.prop-bird{font-size:32px;color:#83896e}.episode-dim{filter:brightness(.65) saturate(.75)}.episode-tiny-box .portal{scale:.78;transform-origin:50% 100%}.episode-hole .bowl-inside:after{content:'';position:absolute;inset:35%;background:#7f806d;border-radius:50%}
@media(max-width:900px){#episode-live{margin:8px 0 16px;padding:12px;scroll-margin-bottom:145px}.episode-strip{margin-top:12px}.episode-prop{scale:.8}.episode-prop span{font-size:9px}.episode-catalog{gap:8px}.episode-catalog button{padding:12px}.episode-catalog b{font-size:13px}.episode-catalog small{font-size:10px}.episode-filter button{padding:9px;font-size:11px}.episode-metrics{grid-template-columns:1fr 1fr}.preference-cards{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.episode-prop{transition:none}}
/* Keep episode choices beside the visible room on a phone. */
@media(max-width:900px){
 body.cat-controls-visible #episode-live:not([hidden]){position:fixed;left:12px;right:12px;bottom:calc(115px + env(safe-area-inset-bottom));z-index:44;margin:0;padding:10px 12px;background:#faf8eef5;box-shadow:0 5px 22px #3545261a;gap:3px;backdrop-filter:blur(9px)}
 body.cat-controls-visible #episode-live small{display:none}
 body.cat-controls-visible #episode-live strong{font-size:12px}
 body.cat-controls-visible #episode-live p{font-size:10px;line-height:1.4;margin:3px 0;max-width:calc(100% - 2px)}
 body.cat-controls-visible #episode-live #episode-stop{padding:8px 10px;min-height:36px}
 body.cat-controls-visible #episode-cues button{padding:8px 11px;min-height:40px;font-size:11px}
 .room-view:has(#room[data-episode-state="running"])>.life-caption{display:none}
}

/* Autonomous scenes remain in the room, without blocking play with dialogs. */
.episode-strip{flex-wrap:wrap}.episode-strip #episode-book{min-width:180px}.episode-strip #episode-auto{font-size:11px;min-height:44px}.episode-strip #episode-auto[aria-pressed="true"]{background:#e5ead8;border-color:#b7c3a0}
#room[data-episode-origin="auto"]~* #episode-cues{opacity:.85}
