.scene .character-name{white-space:nowrap}.house .scene{width:100%;min-width:0}.scene .parent{background:none!important;height:82%;bottom:12%;width:28%}.scene[data-room=park] .parent{height:80%;bottom:16%;width:28%}.scene[data-room=studio] .father{height:82%;bottom:12%;right:1%}@media(max-width:780px){.scene .parent{width:32%}.scene .mother{left:0%}.scene .father{right:0%}.scene .speech{left:30%;max-width:40%;top:3%;font-size:12px;padding:7px 8px}.scene[data-room=park] .parent{width:32%}}.parent-art{display:block;width:100%;height:100%;overflow:hidden}.scene .girl svg,.outfit-sprite{overflow:hidden!important}.scene .cat::before{display:none!important}.cat-art{position:absolute;inset:0;width:100%;height:100%;overflow:hidden}.cat-art~img{opacity:0}.scene .cat,.scene .girl{transition:none!important}.scene .cat[data-pose]{animation:none}.scene .cat:hover{transform:none}.cat-art,.girl #girl-art{transform-origin:50% 95%}.roaming .cat-art,.roaming #girl-art,.cat.roaming>img{animation:living-step .28s ease-in-out infinite}.cat.curious .cat-art{animation:living-sniff 1.1s ease-in-out 2}.cat.cat-stretch .cat-art{animation:living-stretch 1.5s ease-in-out}.girl.girl-greet #girl-art{animation:living-greet 1.4s ease-in-out}.scene .cat[data-pose=sleep] .cat-art{animation:living-breathe 4.5s ease-in-out infinite}.paint-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:7px}.paint-toolbar [data-color]{width:40px;height:40px;border-radius:50%;border:2px solid white}.paint-toolbar [aria-pressed=true],.paint-stamps [aria-pressed=true],[data-topping][aria-pressed=true]{outline:3px solid #526b58;outline-offset:2px}#paint-canvas{display:block;width:100%;height:auto;aspect-ratio:3/2;touch-action:none;user-select:none;-webkit-user-select:none}#paint-canvas[data-tool=brush]{cursor:crosshair}.catch-target{left:0!important;top:0!important;width:74px;height:74px;touch-action:manipulation}.catch-area{background-size:cover;background-position:center}.seek-board{height:360px;background-size:cover;background-position:center;overflow:hidden}.seek-object{width:54px;height:54px;background:none!important;border:0!important;box-shadow:none!important;padding:0}.seek-object span{font-size:29px;opacity:.65;filter:saturate(.6)}.seek-object i{font-size:38px;position:absolute;left:4px;top:5px;font-style:normal}.seek-object.hint{outline:3px dashed #fff8c1;border-radius:50%}.seek-object.hint i,.seek-object.found i{opacity:0}.seek-object.found{visibility:hidden}.seek-list{display:flex;justify-content:center;gap:20px;margin:16px}.seek-list span{font-size:28px;opacity:.5}.seek-list .found{opacity:1;text-decoration:underline;text-decoration-color:#69815c}.cake-canvas{display:block;margin:0 auto;touch-action:manipulation;cursor:crosshair}.cake-canvas>div{pointer-events:none}.cake-toppings{inset:0!important;position:absolute!important;overflow:visible}.cake-toppings span{transform:translate(-50%,-50%);pointer-events:none}.sequence-sky .dream-cloud{width:28%;height:115px;animation:none!important;background:transparent;padding:0;touch-action:manipulation;color:#fffdf4}.dream-cloud>svg{width:100%;height:100%;filter:drop-shadow(0 4px 3px #638db033)}.sequence-sky .dream-cloud b{display:block!important;font-size:35px;opacity:.35;top:48%;transform:translate(-50%,-50%);left:50%;position:absolute;transition:opacity .15s,transform .15s}.sequence-sky .dream-cloud.revealed{color:#fff2bc}.sequence-sky .dream-cloud.revealed b{opacity:1;transform:translate(-50%,-50%) scale(1.15)}
@keyframes living-step{50%{transform:translateY(-4px) rotate(2deg)}}@keyframes living-sniff{50%{transform:rotate(-5deg) scale(.98,1.02)}}@keyframes living-stretch{45%{transform:scale(1.07,.92) rotate(3deg)}}@keyframes living-greet{35%{transform:translateY(-4px) rotate(-2deg)}70%{transform:rotate(2deg)}}@keyframes living-breathe{50%{transform:scale(1.015,1.025)}}
@media(max-width:600px){.seek-board{height:300px}.sequence-sky .dream-cloud{height:105px}.paint-toolbar label{max-width:130px}.paint-toolbar input[type=range]{width:90px}}
@media(prefers-reduced-motion:reduce){.cat-art,.cat>img,.girl #girl-art{animation:none!important}.catch-target{transition:none!important}.dream-cloud b{transition:none!important}}
body.calm-mode .cat-art,body.calm-mode .cat>img,body.calm-mode .girl #girl-art{animation:none!important}
#paint-canvas{width:min(100%,600px);margin:12px auto;border:2px solid #e7d4ba;border-radius:14px;box-shadow:0 4px 12px #61442a12}.paint-stamps{display:flex;gap:12px;justify-content:center;margin:12px}.paint-stamps button{min-width:48px;min-height:48px;font-size:25px}#painting-name{max-width:100%}
.calm-world .cat-art,.calm-world .cat>img,.calm-world .girl #girl-art{animation:none!important}body:has(dialog[open]) .cat-art,body:has(dialog[open]) .girl #girl-art{animation-play-state:paused!important}
.world-paused .cat-art,.world-paused .girl #girl-art{animation-play-state:paused!important}.voice-preview-status{font-size:13px;color:#796655;background:#f1eadb;padding:12px;border-radius:14px}
.girl[role=button]:focus-visible{outline:none}.girl[role=button]:focus-visible .character-name{outline:3px solid #8b9f89;outline-offset:4px}

/* Keep painting actions in view while tools and canvas can scroll. */
.paint-dialog{height:min(900px,calc(100dvh - 24px));max-height:calc(100dvh - 24px);overflow:hidden;padding:24px}
.paint-dialog #modal-content{height:100%;min-height:0;display:flex;flex-direction:column}
.paint-dialog .modal-title{flex:none;padding-inline-end:25px}
.paint-dialog .modal-title h2{font-size:clamp(22px,3vw,30px);margin-block:4px 8px}
.paint-dialog .modal-title p:last-child{margin-block:6px 12px}
.paint-workspace{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;padding:6px;scrollbar-gutter:stable}
.paint-palette{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:6px;max-width:660px;margin:12px auto;padding:4px}
.paint-palette [data-color]{width:44px;height:44px;max-width:100%;border-radius:50%;border:2px solid #e1d3c3;justify-self:center;box-shadow:0 1px 3px #60482b20}
.paint-palette [aria-pressed=true]{outline:3px solid #526b58;outline-offset:2px}
.paint-custom{display:flex;align-items:center;justify-content:center;gap:12px;margin:8px auto;font-size:13px;min-height:44px}
.paint-custom input{width:54px;height:44px;padding:3px;border:1px solid #b5a18c;border-radius:9px;background:#fffaf1;cursor:pointer}
.paint-custom[data-active=true] input{outline:3px solid #526b58;outline-offset:2px}
.paint-name{display:block;text-align:center;margin:12px auto}
.paint-name input{width:min(100%,400px);min-height:44px}
.paint-actions{flex:none;background:#fffaf1;padding:12px 3px 0;border-top:1px solid #e1d3c3}
.paint-action-buttons{display:flex;gap:10px}
.paint-action-buttons button{flex:1;min-height:48px;padding:12px;font-size:14px}
.paint-actions p{margin:8px 0 0;font-size:11px;line-height:1.4;text-align:center}
@media(max-width:600px){.paint-dialog{padding:19px 13px}.paint-palette{grid-template-columns:repeat(6,minmax(0,1fr));gap:7px 4px}.paint-palette [data-color]{width:42px;height:44px}.paint-toolbar{gap:5px}.paint-toolbar .secondary{padding:10px;font-size:12px}.paint-actions{padding-top:9px}.paint-action-buttons button{font-size:12px}.paint-dialog .modal-title .eyebrow{margin-bottom:7px}}

.paint-colors-panel{max-width:660px;margin:10px auto;background:#f1e9dc;border-radius:14px;padding:2px 8px}
.paint-colors-panel summary{cursor:pointer;display:flex;align-items:center;gap:10px;min-height:44px;padding:6px 10px;font-size:14px;list-style:none}
.paint-colors-panel summary::after{content:'▾';margin-inline-start:auto}.paint-colors-panel[open] summary::after{content:'▴'}
.paint-colors-panel summary::-webkit-details-marker{display:none}.paint-colors-panel summary:focus-visible{outline:3px solid #526b58;border-radius:10px}
#paint-current-color{width:25px;height:25px;border:2px solid #fff;border-radius:50%;display:block}
.paint-dialog #paint-canvas{width:min(100%,600px,max(210px,calc((100dvh - 410px)*1.5)))}
@media(max-height:500px){.paint-dialog .modal-title .eyebrow,.paint-dialog .modal-title p:last-child{display:none}.paint-dialog .modal-title h2{font-size:22px;margin:0 0 8px}.paint-dialog{padding:15px}.paint-actions p{margin-top:5px}.paint-toolbar .secondary{padding:10px;font-size:12px}}

/* Use the visible viewport so keyboard and browser panning keep actions reachable. */
.paint-dialog{position:fixed;top:calc(var(--paint-viewport-top,0px) + 12px);left:calc(var(--paint-viewport-left,0px) + var(--paint-viewport-width,100vw)/2);right:auto;bottom:auto;margin:0;transform:translateX(-50%);width:min(940px,calc(var(--paint-viewport-width,100vw) - 24px));max-width:calc(var(--paint-viewport-width,100vw) - 24px);height:min(900px,calc(var(--paint-viewport-height,100dvh) - 24px));max-height:calc(var(--paint-viewport-height,100dvh) - 24px)}
.paint-dialog #paint-canvas{width:min(100%,600px,max(210px,calc((var(--paint-viewport-height,100dvh) - 410px)*1.5)))}
.paint-short-viewport .modal-title .eyebrow,.paint-short-viewport .modal-title p:last-child,.paint-short-viewport .paint-actions p{display:none}
.paint-dialog.paint-short-viewport{padding:15px}.paint-short-viewport .modal-title h2{font-size:22px;margin:0 0 8px}
.art-image-button{display:block;width:100%;padding:0;background:transparent;border-radius:3px}.art-image-button svg{display:block;width:100%;height:auto}
.art-frame .art-saved{display:block;font-size:11px;line-height:1.5;margin:8px 0;color:#617357}
.art-frame [data-download-art]{width:100%;min-height:44px;padding:11px 7px;font-size:12px}
.saved-painting{text-align:center}.saved-painting h3{font-size:20px;margin:7px 0 14px}.saved-painting svg{display:block;width:min(100%,600px);height:auto;margin:auto;border:2px solid #e7d4ba;border-radius:14px}

/* Living-room adults share the child's floor and keep their natural proportions. */
.scene[data-room=living] .parent{height:90%;bottom:8%;width:30%}.scene[data-room=living] .mother{left:0}.scene[data-room=living] .father{right:0}
@media(max-width:780px){.scene[data-room=living] .parent{width:34%}}
.saved-bracelet:before{display:none}.saved-bracelet svg{display:block;width:100%;height:100%}
.seek-board{height:clamp(240px,42vh,360px)}.seek-object{width:64px;height:64px;transform:translate(-50%,-50%);touch-action:manipulation}.seek-object span{display:grid;place-items:center;width:100%;height:100%;font-size:36px;opacity:.88;filter:none}.seek-leaves{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;transition:opacity .2s}.seek-object.hint{outline:3px dashed #fff8c1;background:#fff7dd55!important}.seek-object.hint .seek-leaves{opacity:0}.seek-object.hint span{opacity:1}.seek-list{flex-wrap:wrap;gap:9px;margin:16px 0 10px}.seek-list button{position:relative;display:grid;place-items:center;width:56px;min-height:56px;padding:4px;background:#f2e5d4;border:2px solid transparent;border-radius:16px;touch-action:manipulation}.seek-list span{font-size:30px;opacity:1}.seek-list button[aria-pressed=true]{border-color:#5c7d55;box-shadow:0 0 0 2px #5c7d5533;background:#e5eddc}.seek-list .found{opacity:1;text-decoration:none;background:#e5eddc}.seek-check{position:absolute;right:-2px;bottom:-4px;border-radius:50%;width:22px;height:22px;background:#5c7d55;color:white;font-size:15px}.seek-check[hidden]{display:none}#seek-target{text-align:center;min-height:1.5em;margin:5px 0}#find-status{margin:10px 0}

.seek-object:active{transform:translate(-50%,-50%)}

@media(max-width:780px){.scene[data-room=living] [data-activity=family]{top:12%!important;left:50%!important}}

/* A shared 3:2 coordinate system keeps room furniture and people in scale. */
.house .scene[data-room=living]{aspect-ratio:3/2;min-height:0!important;max-height:none!important;height:auto;background-size:100% 100%!important}
.focus-world .house .scene[data-room=living]{max-width:min(100%,max(480px,calc((100dvh - 240px)*1.5)));margin-inline:auto}
.scene[data-room=living] .girl{height:59%;width:27%;bottom:8%}.scene[data-room=living] .parent{height:90%;bottom:8%;width:30%}
.scene[data-room=living] .placed-decor.cushion{width:8%;filter:drop-shadow(0 3px 2px #5d442324)}
