:root{--ink:#635440;--muted:#95816a;--sage:#799c86;--serif:Georgia,'Times New Roman',serif;--round:'Trebuchet MS',ui-rounded,Arial,sans-serif;--wood-light:#f5e7cb;--wood:#dfc5a0;--rim:#d4bea0;color-scheme:light}
*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;overscroll-behavior:none}body{font:14px/1.5 var(--round);color:var(--ink);background:radial-gradient(ellipse at 22% 5%,#fffaf0,#e5ddcf);-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;border:0;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}button:disabled{cursor:default}button:focus-visible{outline:3px solid #638f7c;outline-offset:3px}svg{display:block;width:100%;height:100%;overflow:visible}svg[aria-hidden]{pointer-events:none}.svg-defs{position:absolute;width:0;height:0;overflow:hidden}[hidden]{display:none!important}
.layout{height:100dvh;padding:12px;display:flex;justify-content:center}.game-shell{height:100%;width:min(100%,calc((100dvh - 24px)*1.26),1080px);display:flex;flex-direction:column;overflow:hidden;border:1px solid #ddcdb6;border-radius:28px;background:linear-gradient(135deg,#fffdf7,#f7efdf);box-shadow:inset 1px 1px 0 #fff,0 5px 0 #d7c8ae,6px 10px 25px #8c78531c}
.game-topbar{min-height:55px;padding:9px 22px 0;display:flex;align-items:center;justify-content:space-between;gap:8px;flex-shrink:0}.top-actions{display:flex;gap:8px}.level-button,.icon-button,.control,.secondary-button{border:1px solid #e0d1b8;background:linear-gradient(135deg,#fffcf3,#f0e2ca);box-shadow:inset 1px 1px 0 #fffdf6,inset -1px -1px 2px #c9b18c33,0 3px 0 #cdb895,2px 4px 5px #96795713;border-radius:13px;transition:background .15s,transform .15s}.level-button{min-height:44px;display:flex;align-items:center;gap:9px;padding:7px 13px;font-size:13px}.tiny-grid{font-size:21px;line-height:1;color:#a68b62}.chevron{font-size:17px;color:#a68b62}.icon-button{display:grid;place-items:center;flex-shrink:0;min-width:44px;height:44px;font-size:22px}.icon-button svg{width:21px;height:21px}.icon-button:hover,.control:hover:not(:disabled),.level-button:hover{background:linear-gradient(135deg,#fffdf6,#e8dec9)}.icon-button:active,.control:active:not(:disabled),.level-button:active{transform:translateY(2px);box-shadow:inset 1px 2px 3px #a28a6733,0 1px 0 #cdb895}.level-heading{display:flex;align-items:baseline;justify-content:space-between;gap:9px;padding:9px 25px 8px;flex-shrink:0}.level-heading h2{font:27px/1.12 var(--serif);margin:0;letter-spacing:-.4px}.level-heading>span{font-size:12px;color:#9a876d;white-space:nowrap}.level-heading b{font-weight:normal;color:#718d77}.progress-track{height:5px;margin:0 25px 12px;flex-shrink:0;overflow:hidden;border-radius:6px;background:#e6ddca;box-shadow:inset 1px 1px 2px #ac957533,0 1px 0 #fffdf5}.progress-track>div{height:100%;width:0;background:linear-gradient(180deg,#b0c3a1,#8ea780);border-radius:6px;box-shadow:inset 0 1px 0 #dce8ce;transition:width .25s}
.room{position:relative;isolation:isolate;display:flex;flex-direction:column;flex:1;min-height:0;margin:0 13px;border:1px solid #d9c8ad;border-radius:20px 20px 10px 10px;overflow:hidden;background:radial-gradient(ellipse at 12% 0%,#fffcf2dd,transparent 78%),linear-gradient(115deg,#f2ebdc,#e9dfcc);box-shadow:inset 1px 2px 3px #fffdf6,inset -2px -1px 6px #c3ac8422}.room:before{content:'';position:absolute;inset:0;z-index:-2;opacity:.14;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.7' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%2398856a' opacity='.28' filter='url(%23n)' d='M0 0h120v120H0z'/%3E%3C/svg%3E")}.wall-decoration{position:absolute;top:15px;left:50%;transform:translateX(-50%);z-index:-1;pointer-events:none}.picture{display:block;width:37px;height:32px;text-align:center;padding-top:1px;border:4px solid #e3cdac;border-radius:7px;background:linear-gradient(135deg,#fff9e9,#f0e4c9);box-shadow:inset 1px 2px 2px #ad916335,2px 3px 4px #8f775722;font:20px var(--serif);color:#c9aa87;transform:rotate(5deg)}
.homes{display:flex;align-items:flex-end;justify-content:space-evenly;gap:14px;padding:13px 23px 0;z-index:3;flex-shrink:0}.home{position:relative;isolation:isolate;display:block;width:151px;height:157px;min-width:0;flex-shrink:1;padding:0;background:none;border-radius:19px;transition:transform .16s,filter .16s,outline-color .16s;outline:3px solid transparent;outline-offset:1px}.home-shape{position:absolute;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none}.home-roof-label{position:absolute;top:20%;left:12%;right:12%;text-align:center;font-size:12px;font-weight:bold;color:#716047;text-shadow:0 1px 0 #fff4d280;white-space:nowrap}.home-cat{position:absolute;left:50%;top:40%;transform:translateX(-50%);width:45px;height:45px;pointer-events:none}.home-cat small{position:absolute;top:100%;left:50%;transform:translateX(-50%);white-space:nowrap;font-size:7px;line-height:1.3;letter-spacing:.5px;color:#9b8566}.type-portrait{display:block;position:relative;overflow:hidden;width:100%;height:100%;border-radius:50%;border:3px solid #f4e5c8;background:radial-gradient(ellipse at 30% 20%,#fff9ea,#e5d5b6);box-shadow:inset 1px 1px 3px #a28b6933,1px 2px 0 #b59a73,2px 3px 4px #7e66452b}.portrait-image{position:absolute;inset:0;background-image:var(--fur-url);background-size:450% 300%;background-position:7.14286% 0;background-repeat:no-repeat}.home-capacity{position:absolute;right:9%;top:35%;min-width:29px;height:29px;display:grid;place-items:center;border:1px solid #d4bf9a;border-radius:50%;background:linear-gradient(135deg,#fffdf2,#f0dfbd);box-shadow:inset 1px 1px 0 #fff,1px 2px 0 #c5a77b,2px 3px 4px #8e72572b;font-size:17px;font-weight:bold;color:#6f634d}.home-pips{position:absolute;left:50%;bottom:12%;transform:translateX(-50%);display:flex;gap:7px}.home-pips i{width:8px;height:8px;border-radius:50%;background:#ebe0c4;box-shadow:inset 1px 1px 2px #a48f6d77,0 1px 0 #fff8e7}.home-pips i.filled{background:linear-gradient(135deg,#b7c9a6,#859c76);box-shadow:inset 1px 1px 1px #d6e0c4,0 1px 0 #736e4f55}.home-closed{filter:saturate(.65)}.home-complete{position:absolute;left:39%;top:43%;width:35px;height:35px;color:#809778;border-radius:50%;background:#e4e9d8;padding:7px;box-shadow:inset 1px 1px 2px #fff9,1px 2px 2px #8c7a5f22}.home-done-label{position:absolute;bottom:22%;left:0;right:0;text-align:center;font-size:10px;color:#8d826b}
.shelf{height:12px;margin:0 6px;flex-shrink:0;position:relative;z-index:3;border-top:1px solid #fffae9;border-bottom:2px solid #c3a37a;border-radius:5px;background:linear-gradient(180deg,#f3e3c5 0,#e0c5a0 42%,#c7a77c 80%,#d9bc92);box-shadow:0 4px 5px #7c62451a}.floor{position:absolute;inset:var(--wall-height,180px) 0 0;z-index:-2;pointer-events:none;background:radial-gradient(ellipse at 16% 5%,#fff8e6aa,transparent 80%),repeating-linear-gradient(91deg,transparent 0 4px,#b3936009 4.6px,transparent 5.2px 10px),linear-gradient(115deg,#edddbd,#e0c9a5);box-shadow:inset 0 5px 9px #8d6e4d12}.next-home{height:25px;display:flex;justify-content:center;align-items:center;gap:7px;flex-shrink:0;color:#a18a69;font-size:10px;position:relative;z-index:3}.next-home>span:last-child{display:flex;align-items:center;gap:5px;color:#8e795e}.next-home .cat-art{width:24px;height:24px}.next-home b{font-weight:normal}
.board{position:relative;flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#c2a57b #f2e4c833;scrollbar-gutter:stable;touch-action:pan-y;z-index:4;isolation:isolate}.board::-webkit-scrollbar{width:6px}.board::-webkit-scrollbar-thumb{background:#c4aa82;border:1px solid #ead7b5;border-radius:7px}.queue-stage{display:flex;gap:9px;position:relative;padding:12px 17px 10px;min-height:100%;width:100%}.stack{position:relative;flex:1;min-width:0;height:100%}.cat-button{position:absolute;left:0;bottom:calc(var(--behind)*var(--step));width:100%;height:var(--cat-size,100px);padding:0;background:none;z-index:var(--z);isolation:isolate;touch-action:none;-webkit-user-select:none;user-select:none;cursor:grab;border-radius:30px}.cat-button:before{content:'';position:absolute;inset:14% 1% 1%;border-radius:45%;z-index:-1;transition:box-shadow .15s,background .15s}.cat-button:after{content:'';position:absolute;left:25%;right:18%;bottom:6%;height:7%;z-index:-1;border-radius:50%;background:radial-gradient(ellipse,#8c6f4940,transparent 72%);filter:blur(1px);transform:translate(2px,2px);pointer-events:none}.cat-button.locked{opacity:1;filter:none;touch-action:pan-y;cursor:default}.cat-button.available:hover{filter:brightness(1.025)}.cat-button.available .queue-status{color:#708a6f}.queue-status{position:absolute;display:flex;align-items:center;gap:2px;right:calc(50% - var(--cat-size)*.46);top:10%;height:18px;min-width:18px;padding:2px 4px;border:1px solid #d1bd9d;border-radius:7px;background:linear-gradient(135deg,#faf0dc,#e7d5b7);box-shadow:inset 1px 1px 0 #fff9,1px 2px 2px #8b715421;color:#8c795c;pointer-events:none}.queue-status svg{width:9px;height:10px}.queue-status b{font-size:9px;font-weight:normal;line-height:1}.queue-status.ready{background:linear-gradient(135deg,#eaf0df,#cbd9ba);border-color:#a7b694}.board-tip{min-height:31px;flex-shrink:0;display:flex;align-items:center;justify-content:center;margin:0;padding:4px 9px 7px;text-align:center;font-size:11px;line-height:1.3;color:#8f7757;z-index:4}
.waiting-zone{padding:10px 26px 0;flex-shrink:0}.waiting-heading{display:flex;justify-content:space-between;padding:0 4px 6px;color:#8d775c;font-size:11px}.waiting-slots{isolation:isolate;display:flex;justify-content:center;gap:12px;padding:9px 18px 12px;position:relative;border:1px solid #ccaf88;border-radius:17px;background:linear-gradient(135deg,#f1dfbf,#d8b98b);box-shadow:inset 1px 2px 1px #fff4db,inset -2px -4px 4px #a9875b44,0 4px 0 #bd996b,3px 7px 8px #957c5424}.waiting-slots:before,.waiting-slots:after{content:'';position:absolute;bottom:-7px;width:17px;height:9px;border-radius:0 0 4px 4px;background:linear-gradient(90deg,#b6976b,#d1b48a);z-index:-1}.waiting-slots:before{left:22px}.waiting-slots:after{right:22px}.waiting-slot{display:grid;place-items:center;position:relative;width:100%;min-width:44px;max-width:138px;height:65px;padding:0;border:1px solid #ccba9a;border-radius:13px;background:repeating-linear-gradient(0deg,#ffffff08 0 1px,transparent 1px 3px),repeating-linear-gradient(90deg,#fff7e214 0 1px,transparent 1px 3px),linear-gradient(135deg,#e4eadb,#c7d2bd);box-shadow:inset 2px 3px 4px #9e8e6a36,inset -1px -1px 0 #fff4df,0 1px 0 #fff5df;transition:outline-color .15s,background .15s;outline:3px solid transparent;outline-offset:1px}.waiting-slot.occupied{touch-action:none;cursor:grab}.waiting-slot:after{content:'';position:absolute;bottom:5px;left:25%;right:18%;height:6px;border-radius:50%;background:radial-gradient(ellipse,#967d5133,transparent 73%);pointer-events:none}.waiting-slot:not(.occupied):after{display:none}.waiting-slot>.cat-art{width:73px;height:73px;margin-top:-10px}.empty-paw{width:21px;height:21px;color:#c4b99d;filter:drop-shadow(0 1px 0 #fff5)}.waiting-slot small{position:absolute;right:6px;bottom:3px;font-size:9px;color:#a89a7d;pointer-events:none}.warning .waiting-slots{border-color:#c79d7c}.selected:before{background:#dce9cf65;box-shadow:inset 0 0 0 2.5px #89a781}.waiting-slot.selected{outline-color:#7e9d78;background-color:#d6e1c8}.valid-target{outline-color:#87a893;filter:brightness(1.035)}.home.valid-target{background:#dcebd22b}.drop-hover{outline-color:#658e76;box-shadow:0 0 0 2px #e4efdc;transform:translateY(-2px)}
.game-controls{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:13px 27px 12px;flex-shrink:0}.control{display:flex;align-items:center;gap:8px;min-height:44px;padding:7px 16px;font-size:12px}.control-icon{width:18px;height:18px;color:#9a8059}.control:disabled{opacity:.45}.move-count{font-size:11px;color:#aa9575}.move-count b{font-weight:normal}
.decoration{position:absolute;pointer-events:none;z-index:-1}.rug{width:90%;height:46%;left:5%;bottom:6px;opacity:.8}.plant{width:95px;height:130px;right:-25px;top:calc(var(--wall-height) + 24px);opacity:.7}.lamp{width:90px;height:140px;left:-33px;top:calc(var(--wall-height) + 20px);opacity:.65}.pillow{width:88px;height:70px;left:-30px;bottom:24px;transform:rotate(-12deg);opacity:.75}.toy{width:66px;height:66px;right:-22px;bottom:18px;opacity:.8}
.drag-cat,.flying-cat{position:fixed;z-index:70;pointer-events:none;filter:drop-shadow(3px 6px 4px #92714d2b)}.source-hidden{visibility:hidden!important}.source-hidden>.cat-art,.arrival-pending>.cat-art{display:none!important}.source-hidden:before,.source-hidden:after,.arrival-pending:after{visibility:hidden!important}.rejected{animation:reject .3s}.replaced{animation:house-done .45s}.toast{position:fixed;left:50%;bottom:23%;transform:translate(-50%,10px);padding:11px 18px;border:1px solid #a5906e;border-radius:13px;background:#77664fec;color:#fff8e9;font-size:12px;max-width:min(90vw,460px);text-align:center;box-shadow:2px 4px 10px #5e4b3920;opacity:0;pointer-events:none;z-index:100;transition:opacity .2s,transform .2s}.toast.visible{opacity:1;transform:translate(-50%,0)}
/* The existing room furnishing mode and reward collection. */
dialog{width:min(440px,calc(100vw - 24px));max-height:calc(100dvh - 30px);padding:0;border:1px solid #d8c4a4;border-radius:25px;color:var(--ink);background:linear-gradient(130deg,#fffdf6,#f4ead8);box-shadow:inset 1px 1px 1px #fff,0 6px 0 #cdb798,5px 15px 50px #6f593d35;overscroll-behavior:contain}dialog::backdrop{background:#5f554667;backdrop-filter:blur(4px)}.modal-inner{position:relative;padding:30px;text-align:center}.modal-close{position:absolute;right:12px;top:12px;min-width:40px;height:40px}.modal-close svg{width:15px;height:15px}.modal-cat{height:110px;width:110px;margin:0 auto 12px}.eyebrow{font-size:9px;letter-spacing:1.5px;color:#a28a68;margin-bottom:9px}.modal-inner h2{font:29px/1.2 var(--serif);margin:0 0 12px;letter-spacing:-.4px}.modal-inner p{font-size:12px;line-height:1.8;color:#9b866a;margin:0 0 20px}.primary-button{display:block;width:100%;min-height:47px;padding:11px 18px;border:1px solid #78987e;border-radius:13px;background:linear-gradient(135deg,#b3c7a7,#8ca382);box-shadow:inset 1px 1px 0 #dce9ce,0 3px 0 #728d69,2px 4px 6px #61745618;color:#fffdf4;font-size:13px}.primary-button:hover{filter:brightness(1.025)}.secondary-button{display:block;width:100%;min-height:46px;padding:11px 18px;margin-top:10px;font-size:13px}.text-button{padding:6px;margin-top:13px;border:0;background:none;color:#a08b6d;font-size:11px}.reward-card{display:flex;align-items:center;gap:13px;border:1px solid #d9d5b7;border-radius:13px;background:linear-gradient(130deg,#f4f3e4,#e5e8d4);padding:11px 15px;text-align:left;margin:0 0 21px;box-shadow:inset 1px 1px 1px #fff9}.reward-art{width:65px;height:48px}.reward-card strong{display:block;font-size:12px;font-weight:normal}.reward-card small{display:block;font-size:10px;color:#9a9d7c;margin-top:3px}.help-steps{list-style:none;padding:0;margin:20px 0;text-align:left;display:grid;gap:14px}.help-steps li{display:flex;gap:11px;font-size:12px;line-height:1.7;color:#968168}.help-steps li>span{display:grid;place-items:center;flex-shrink:0;width:25px;height:25px;border-radius:50%;background:#e8ddc5;box-shadow:inset 1px 2px 2px #a18b6622;font-size:10px}.help-steps strong{font-weight:normal;color:#6d5c45}.level-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin:24px 0}.level-cell{min-height:61px;border:1px solid #dcc6a6;border-radius:12px;box-shadow:inset 1px 1px 0 #fff8,0 3px 0 #c6ac86;background:linear-gradient(135deg,#fbefda,#e9d7b8);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font:21px var(--serif)}.level-cell svg{width:17px;height:17px}.level-cell small{font:9px var(--round);color:#829874}.level-cell:disabled{opacity:.45}.level-cell.done{background:linear-gradient(135deg,#e8efd9,#c9d6b6);border-color:#acbc95}.level-cell.current{outline:2px solid #839e79;outline-offset:2px}.decor-list{display:grid;gap:10px;margin-top:20px}.decor-item{display:flex;align-items:center;gap:12px;width:100%;min-height:67px;padding:8px 12px;text-align:left;border:1px solid #deceb3;border-radius:13px;background:linear-gradient(135deg,#fcf7eb,#eee1c9);box-shadow:inset 1px 1px 0 #fff,0 2px 0 #d3bd9a}.decor-item.locked{opacity:.55}.decor-icon{width:57px;height:43px;flex-shrink:0}.decor-info{flex:1}.decor-info strong{display:block;font-weight:normal;font-size:12px}.decor-info small{display:block;font-size:10px;color:#a08a6b;margin-top:3px}.decor-status{width:17px;height:17px;color:#a08c6d}.decor-item.active .decor-status{color:#7e9975}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
/* Original cat textures are untouched; pose visibility never cross-fades. */
.plush-cat{display:block;position:relative;width:100%;height:100%;pointer-events:none;isolation:isolate;overflow:visible}.plush-square{position:absolute;left:50%;top:0;height:100%;aspect-ratio:1;transform:translateX(-50%);pointer-events:none}.plush-breath{position:absolute;inset:0;transform-origin:50% 88%;animation:none}.plush-pose{position:absolute;inset:0;background-image:var(--fur-url);background-size:300% 200%;background-repeat:no-repeat;opacity:1;visibility:hidden;transform-origin:50% 88%;pointer-events:none}.pose-0{background-position:0 0;visibility:visible}.pose-1{background-position:50% 0}.pose-2{background-position:100% 0}.pose-3{background-position:0 100%}.pose-4{background-position:50% 100%}.pose-5{background-position:100% 100%}.sleeping .pose-0{visibility:hidden}.sleeping .pose-5{visibility:visible}.sleeping .plush-breath{animation-duration:7s;transform-origin:50% 80%}.locked .plush-breath,.drag-cat .plush-breath,.flying-cat .plush-breath,.next-home .plush-breath{animation:none}.waiting-slot>.plush-cat{width:73px;height:73px;margin-top:-9px}.modal-cat>.plush-cat{width:100%;height:100%}
/* Poses start from sitting only while a mouse hovers an available cat. Touch remains still. */
@media(hover:hover) and (pointer:fine){:is(.cat-button.available,.waiting-slot.occupied):enabled:hover .plush-cat:not(.sleeping) .plush-pose{animation-duration:12s;animation-delay:0s;animation-timing-function:steps(1,end);animation-iteration-count:infinite}:is(.cat-button.available,.waiting-slot.occupied):enabled:hover .plush-breath{animation:plush-breathe var(--breath-duration,6s) ease-in-out infinite}:is(.cat-button.available,.waiting-slot.occupied):enabled:hover .plush-cat:not(.sleeping) .pose-0{animation-name:plush-idle}:is(.cat-button.available,.waiting-slot.occupied):enabled:hover .plush-cat:not(.sleeping) .pose-1{animation-name:plush-stretch}:is(.cat-button.available,.waiting-slot.occupied):enabled:hover .plush-cat:not(.sleeping) .pose-2{animation-name:plush-left}:is(.cat-button.available,.waiting-slot.occupied):enabled:hover .plush-cat:not(.sleeping) .pose-3{animation-name:plush-right}:is(.cat-button.available,.waiting-slot.occupied):enabled:hover .plush-cat:not(.sleeping) .pose-4{animation-name:plush-curl}:is(.cat-button.available,.waiting-slot.occupied):enabled:hover .plush-cat:not(.sleeping) .pose-5{animation-name:plush-doze}}
@keyframes plush-breathe{0%,100%{transform:scale(1) rotate(-.2deg)}50%{transform:scale(1.01,.99) rotate(.2deg)}}@keyframes plush-perk{0%{transform:scale(1)}40%{transform:translateY(-2px) scale(1.03) rotate(-.6deg)}100%{transform:scale(1.01)}}@keyframes plush-idle{0%{visibility:visible}14%{visibility:hidden}21%{visibility:visible}46%{visibility:hidden}61%{visibility:visible}79%{visibility:hidden}98%{visibility:visible}}@keyframes plush-stretch{0%{visibility:hidden}14%{visibility:visible}21%{visibility:hidden}}@keyframes plush-left{0%{visibility:hidden}46%{visibility:visible}49.5%{visibility:hidden}53%{visibility:visible}56.5%{visibility:hidden}}@keyframes plush-right{0%{visibility:hidden}49.5%{visibility:visible}53%{visibility:hidden}56.5%{visibility:visible}61%{visibility:hidden}}@keyframes plush-curl{0%{visibility:hidden}79%{visibility:visible}84%{visibility:hidden}95%{visibility:visible}98%{visibility:hidden}}@keyframes plush-doze{0%{visibility:hidden}84%{visibility:visible}95%{visibility:hidden}}@keyframes reject{0%,100%{transform:translateY(0)}40%{transform:translateY(-4px)}70%{transform:translateY(2px)}}@keyframes house-done{0%{transform:scale(.97)}45%{transform:scale(1.025)}100%{transform:scale(1)}}
@media(max-width:600px){.layout{padding:0}.game-shell{width:100%;height:100%;border:0;border-radius:0;box-shadow:none;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}.game-topbar{padding:6px 12px 0;min-height:51px}.top-actions{gap:4px}.level-button{padding:6px 10px;gap:6px;font-size:12px}.level-heading{padding:8px 15px 7px}.level-heading h2{font-size:23px}.level-heading>span{font-size:10px}.progress-track{margin:0 15px 9px;height:4px}.room{margin:0 6px;border-radius:15px 15px 7px 7px}.homes{padding:8px 9px 0;gap:6px}.home{width:114px;height:124px;border-radius:15px}.home-roof-label{font-size:10px}.home-cat{width:36px;height:36px;top:40%}.home-cat small{font-size:6px}.home-capacity{width:24px;min-width:24px;height:24px;font-size:14px;right:7%}.home-pips{gap:5px;bottom:12%}.home-pips i{width:6px;height:6px}.home-complete{left:38%;top:44%;width:28px;height:28px;padding:6px}.home-done-label{font-size:8px}.shelf{height:10px;margin:0 4px}.next-home{height:23px;font-size:9px;gap:5px}.next-home .cat-art{width:22px;height:22px}.queue-stage{gap:4px;padding:9px 8px 8px}.queue-status{height:16px;min-width:16px;padding:2px 3px;gap:1px}.queue-status svg{width:8px;height:9px}.queue-status b{font-size:8px}.board-tip{font-size:10px;min-height:30px;padding:4px 7px 6px}.waiting-zone{padding:7px 14px 0}.waiting-heading{font-size:10px;padding-bottom:5px}.waiting-slots{padding:6px 8px 9px;gap:7px;border-radius:13px}.waiting-slot{height:58px;border-radius:10px}.waiting-slot>.plush-cat{width:65px;height:65px;margin-top:-8px}.empty-paw{width:19px;height:19px}.game-controls{padding:12px 15px 9px}.control{font-size:12px;padding:7px 13px;gap:7px}.move-count{font-size:10px}.rug{height:40%;width:94%;left:3%;bottom:0}.plant{width:65px;height:90px;right:-24px}.lamp{width:65px;height:105px;left:-32px}.pillow{width:65px;height:50px;left:-28px}.toy{width:48px;height:48px;right:-20px}.picture{width:29px;height:26px;font-size:16px;border-width:3px}}
@media(max-width:370px){.homes{gap:3px;padding-left:6px;padding-right:6px}.home{height:113px;width:104px}.home-roof-label{font-size:9px}.home-cat{width:32px;height:32px}.home-capacity{width:22px;min-width:22px;height:22px;font-size:13px}.top-actions{gap:3px}.level-heading h2{font-size:21px}.queue-stage{padding-left:6px;padding-right:6px;gap:2px}.queue-status{padding:1px 2px;min-width:14px;height:15px}.queue-status svg{width:7px;height:8px}.queue-status b{font-size:7px}.modal-inner{padding:25px 21px}.modal-inner h2{font-size:26px}.waiting-slot{height:52px}.waiting-slot>.plush-cat{width:58px;height:58px}.game-controls{padding-top:10px}}
@media(min-width:601px) and (max-height:800px){.game-topbar{min-height:51px;padding-top:7px}.level-heading{padding-top:7px;padding-bottom:7px}.level-heading h2{font-size:25px}.progress-track{margin-bottom:9px}.homes{padding-top:8px}.home{height:135px;width:137px}.home-cat{width:39px;height:39px}.home-roof-label{font-size:11px}.home-capacity{min-width:26px;width:26px;height:26px;font-size:15px}.home-pips{bottom:12%;gap:6px}.home-pips i{width:7px;height:7px}.waiting-zone{padding-top:8px}.waiting-slot{height:57px}.waiting-slot>.plush-cat{width:65px;height:65px}.waiting-slots{padding-top:7px;padding-bottom:9px}.game-controls{padding-top:12px;padding-bottom:10px}}
@media(max-height:620px){.game-topbar{min-height:49px;padding-top:4px}.level-heading{padding-top:6px;padding-bottom:6px}.level-heading h2{font-size:21px}.progress-track{margin-bottom:7px}.homes{padding-top:5px}.home{height:104px}.home-cat{width:29px;height:29px;top:40%}.home-roof-label{font-size:8px}.home-cat small{font-size:5px}.home-capacity{width:21px;min-width:21px;height:21px;font-size:12px}.next-home{height:21px}.waiting-zone{padding-top:5px}.waiting-heading{font-size:9px;padding-bottom:4px}.waiting-slot{height:46px}.waiting-slot>.plush-cat{width:53px;height:53px}.waiting-slots{padding-top:5px;padding-bottom:7px}.game-controls{padding-top:10px;padding-bottom:7px}.board-tip{min-height:28px;font-size:9px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.plush-cat:not(.sleeping) .plush-pose{visibility:hidden}.plush-cat:not(.sleeping) .pose-0{visibility:visible}.sleeping .pose-5{visibility:visible}}

@media(min-width:601px) and (max-height:800px){.layout{padding:6px}.game-topbar{min-height:49px}.game-controls{padding-top:10px;padding-bottom:8px}.waiting-zone{padding-top:6px}.progress-track{margin-bottom:7px}}

/* Furniture belongs to the furnishing view, clear of playable queues. */
.room>.plant,.room>.lamp,.room>.pillow,.room>.toy{display:none}
.rug{opacity:1}
.room-preview{height:126px;position:relative;isolation:isolate;overflow:hidden;border:1px solid #dbc9ac;border-radius:14px;background:linear-gradient(180deg,#f3ecdd 0 38%,#e5cda8 39%,#efdfbf 100%);box-shadow:inset 1px 1px 2px #fff9,inset -1px -1px 4px #aa8d5d22;margin:0 0 18px}
.preview-baseboard{position:absolute;left:0;right:0;top:37%;height:6px;background:linear-gradient(#f7e8c9,#cfb18a);box-shadow:0 2px 3px #8d70431a}
.mini-decor{position:absolute;pointer-events:none}.mini-rug{left:20%;bottom:4%;width:60%;height:54%;z-index:1}.mini-plant{left:5%;top:20%;width:58px;height:83px;z-index:2}.mini-lamp{right:4%;top:9%;width:63px;height:103px;z-index:2}.mini-pillow{left:26%;bottom:3%;width:57px;height:49px;z-index:3;transform:rotate(-8deg)}.mini-toy{right:26%;bottom:6%;width:42px;height:42px;z-index:3}

.modal-actions{position:sticky;top:0;z-index:12;height:0;padding:12px 12px 0;display:flex;justify-content:flex-end;pointer-events:none}.modal-actions .modal-close{position:relative;top:auto;right:auto;pointer-events:auto;min-width:44px;height:44px}

/* Restored compact overlapping field, without queue numbering or scrolling. */
.board{display:flex;overflow:hidden;scrollbar-gutter:auto;padding:8px 20px 4px;gap:10px;touch-action:auto}
.board::-webkit-scrollbar{display:none}.cat-button{top:calc(var(--front-y) - var(--behind)*var(--step));bottom:auto}
@media(max-width:600px){.board{padding:6px 8px 3px;gap:3px}}

/* Locked cats keep their fur color; the badge sits on the visible edge of the head. */
.cat-button.locked>.cat-art{filter:grayscale(.3) brightness(.92)}
.cat-lock{position:absolute;left:calc(50% + var(--cat-size,100px)*.24);top:calc(var(--cat-size,100px)*.15);transform:translate(-50%,-50%);width:clamp(13px,calc(var(--cat-size,100px)*.14),18px);aspect-ratio:1;padding:2px;border:1px solid #bea785;border-radius:5px;background:#fff6e6f2;color:#795d3f;box-shadow:inset 0 1px 0 #fffcf4,0 1px 2px #745a3926;pointer-events:none;z-index:2}
.cat-lock svg{width:100%;height:100%}

/* Disabled figures still occupy their hit area; they never pass clicks to another cat. */
.cat-button.locked{pointer-events:auto}

.stack-concealed{opacity:0!important;visibility:hidden!important;pointer-events:none!important}
