/* Pixel puppy growth UI. Typography follows the original app. */
.doudou-overlay.dd-growth{position:fixed;inset:0;z-index:2147483000;background:#faf6ed;overflow-y:auto;overscroll-behavior:contain;color:#62553e;font-family:'LXGW WenKai Screen',-apple-system,'PingFang SC',sans-serif;padding:env(safe-area-inset-top) 0 env(safe-area-inset-bottom);box-sizing:border-box}
.dd-growth *{box-sizing:border-box}.dd-page{max-width:570px;margin:auto;padding:14px 15px 22px}.dd-growth button,.dd-growth input{font:inherit;color:inherit}.dd-growth button{cursor:pointer;border:1px solid #ded6be;background:#fffbf3;border-radius:15px;min-height:42px;padding:9px 13px;touch-action:manipulation}.dd-growth button:disabled{opacity:.5;cursor:default}.dd-growth button:focus-visible,.dd-growth summary:focus-visible,.dd-growth canvas:focus-visible{outline:2px solid #88956b;outline-offset:3px}.dd-growth button[aria-pressed=true],.dd-growth button[aria-expanded=true]{background:#e6eadc;border-color:#9da880}.dd-growth h1,.dd-growth h2,.dd-growth h3,.dd-growth p{margin:0}.dd-header{display:flex;gap:10px;align-items:center;justify-content:space-between;margin-bottom:17px}.dd-header h1{font-size:23px;font-weight:500;letter-spacing:2px}.dd-header button{border:0;background:transparent;font-size:30px;padding:3px 8px}.dd-profile{display:flex;align-items:center;gap:9px;margin-bottom:13px}.dd-profile h2{font-size:23px;font-weight:500}.dd-profile h2 small{color:#7d9bb2}.dd-profile p{font-size:12px;margin:3px 0;line-height:1.5}.dd-profile small{font-size:11px;color:#a18f76}.dd-avatar{width:58px;height:58px;border-radius:50%;background:#ecebdc;border:1px solid #c6c9ab;image-rendering:pixelated;flex-shrink:0}.dd-weight{margin-left:auto;font-size:12px!important;white-space:nowrap;padding:6px 9px!important;min-height:33px!important}.dd-room{position:relative;aspect-ratio:4/3;border-radius:20px;overflow:hidden;background:#d9c7a0;border:1px solid #d4ccb4;isolation:isolate}.dd-room-art{position:absolute;inset:0;background:url('/assets/doudou-growth-v1/room-day.png') center/cover;image-rendering:pixelated;z-index:0}.dd-room.night .dd-room-art{background-image:url('/assets/doudou-growth-v1/room-night.png')}.dd-location{position:absolute;top:12px;right:12px;background:#fff9e9df;padding:5px 9px;border-radius:9px;font-size:12px;z-index:2}.dd-speech{position:absolute;top:17%;left:50%;transform:translateX(-40%);background:#fffbeded;padding:8px 12px;border:1px solid #9ea17a;border-radius:13px;max-width:65%;font-size:12px;text-align:center;z-index:3}.dd-speech small{display:block;font-size:10px;margin-top:4px}.dd-main-dog{position:absolute;left:53%;top:70%;transform:translate(-50%,-65%);width:42%;height:auto;image-rendering:pixelated;z-index:2;cursor:pointer;touch-action:manipulation}.dd-room.sleeping .dd-main-dog{left:28%;top:65%;width:35%;filter:brightness(.8)}.dd-away-sign{position:absolute;top:46%;left:27%;transform:translate(-50%,-50%) rotate(-4deg);background:#e9cd95;border:3px solid #b6935d;box-shadow:0 4px 0 #8e724b40;padding:9px 12px;font-size:14px;text-align:center}.dd-away-sign small{font-size:10px}.dd-bonds{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid #dcd6c0;border-radius:17px;margin:12px 0;overflow:hidden;background:#fffaf2}.dd-bonds>div{padding:12px;min-width:0}.dd-bonds>div+div{border-left:1px solid #ded8c6}.dd-bonds .miao{background:#fbebe4}.dd-bonds .ryo{background:#edf0e3}.dd-bonds span{display:block;font-size:13px;white-space:nowrap}.dd-bonds b{font-size:13px;font-weight:500}.dd-bonds small{display:block;font-size:10px;color:#9c8d77;line-height:1.5}.dd-growth progress{display:block;width:100%;height:8px;border:0;border-radius:8px;overflow:hidden;background:#e5dfd0;appearance:none;-webkit-appearance:none;margin:7px 0 4px}.dd-growth progress::-webkit-progress-bar{background:#e5dfd0;border-radius:8px}.dd-growth progress::-webkit-progress-value{background:#a1ad83;border-radius:8px}.dd-growth progress::-moz-progress-bar{background:#a1ad83}.dd-bonds .miao progress::-webkit-progress-value{background:#d49b91}.dd-bonds .miao progress::-moz-progress-bar{background:#d49b91}.dd-states{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:12px 6px;border:1px solid #dcd6c0;border-radius:17px;background:#fffaf2}.dd-states>div{padding:0 7px;text-align:center}.dd-states>div+div{border-left:1px solid #e5decb}.dd-states span{font-size:12px;white-space:nowrap}.dd-states small{font-size:9px;color:#a99e87}.dd-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin:12px 0 9px;padding:7px;border:1px solid #ded7c4;border-radius:18px}.dd-actions button{display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px 3px;font-size:14px;background:#eef0e3;border:0;border-radius:13px}.dd-actions button:nth-child(-n+2){background:#f9e6de}.dd-actions button:nth-child(4){background:#e6eef0}.dd-actions button span{font-size:24px;line-height:1.25}.dd-subactions{padding:11px;background:#f5ebdf;border-radius:15px;display:flex;gap:7px;flex-wrap:wrap;margin-bottom:12px}.dd-subactions button{flex:1;font-size:12px;white-space:nowrap}.dd-entry-row{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:12px}.dd-entry-row button{display:flex;align-items:center;text-align:left;gap:7px;padding:12px 9px;font-size:23px;min-width:0;background:#fffcf5}.dd-entry-row span{font-size:15px;min-width:0}.dd-entry-row small{display:block;font-size:10px;line-height:1.6;margin-top:4px;color:#a08c73;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.dd-footer{text-align:center;margin:22px 0 5px;color:#ae9f86;font-size:11px}.dd-notice,.dd-pending{background:#f5ecdc;border-radius:12px;padding:10px 12px;font-size:12px;line-height:1.6;margin-bottom:12px}.dd-pending button{margin-left:7px}.dd-section-heading{display:flex;align-items:center;justify-content:space-between;margin:22px 0 12px;gap:8px}.dd-section-heading h2{font-size:20px;font-weight:500}.dd-section-heading span{font-size:11px;color:#9f8c71}.dd-filters{display:flex;gap:7px;margin:12px 0 15px;flex-wrap:wrap}.dd-filters button{border-radius:20px;min-height:35px;font-size:12px;flex:1;padding:6px 10px}.dd-memories{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.dd-memories button{padding:7px;text-align:left;border-radius:13px;min-width:0;background:#fffbf2;overflow:hidden}.dd-memory-art{width:100%;aspect-ratio:1/1;background-image:url('/assets/doudou-growth-v1/memories.png');background-size:200% 500%;background-position:calc(var(--col)*100%) calc(var(--row)*25%);border-radius:8px;image-rendering:pixelated;display:flex;align-items:center;justify-content:center;font-size:32px;color:#8b8d7a}.dd-memory-art.locked{background-image:none;background-color:#e8e6dc}.dd-memories b{display:block;font-size:13px;font-weight:500;padding:8px 2px 3px}.dd-memories small{display:block;font-size:10px;color:#aa9981;padding:1px 2px 4px}.dd-detail,.dd-activity{background:#fffbf2;border:1px solid #ddd5bd;border-radius:17px;padding:16px;margin:14px 0}.dd-detail h3{font-size:17px;font-weight:500}.dd-detail p,.dd-detail small,.dd-activity p{font-size:12px;line-height:1.8;margin-top:8px}.dd-detail small{color:#a79379}.dd-activity button{margin-top:10px}.dd-event{border-bottom:1px solid #e6dece}.dd-event summary{display:flex;gap:13px;align-items:center;cursor:pointer;padding:14px 3px;list-style:none}.dd-event summary::-webkit-details-marker{display:none}.dd-event summary:after{content:'⌄';margin-left:auto}.dd-event[open] summary:after{content:'⌃'}.dd-event summary>span{font-size:23px;flex-shrink:0}.dd-event summary p{font-size:13px;line-height:1.6;margin-top:3px}.dd-event small{color:#a89579;font-size:10px}.dd-event section{margin:0 2px 12px 35px;padding:13px;border:1px solid #bdc6a7;background:#f4f4e9;border-radius:13px}.dd-event section p{font-size:12px;line-height:1.8}.dd-timeline h3{font-weight:500;font-size:17px;padding:13px 0 3px}.dd-empty{padding:25px 15px;color:#9d8f7a;font-size:13px}.dd-settings{padding:18px;border:1px solid #dfd7c4;border-radius:17px;background:#fffaf1;margin:13px 0}.dd-settings p{font-size:12px;line-height:1.8;margin-bottom:14px}.dd-settings label{display:block;font-size:13px;margin:13px 0}.dd-settings input:not([type=checkbox]){width:100%;min-width:0;background:white;border:1px solid #d6cebc;border-radius:10px;min-height:43px;padding:8px;margin-top:5px;font-size:16px}.dd-settings input[type=checkbox]{margin-right:7px}.dd-growth .primary{background:#8e9e78;color:white;border:0}.doudou-entry{position:absolute;right:15px;bottom:32px;border:0;background:transparent;cursor:pointer;padding:0;z-index:5}.doudou-entry .doudou-mini-dog{width:70px;height:70px;image-rendering:pixelated;pointer-events:none}.doudou-entry span{display:none}
.dd-room.sleeping .dd-main-dog{left:35%;top:51%;width:32%}
.dd-room.night .dd-main-dog{filter:brightness(.72)}
.dd-pixel-icon{width:32px;height:32px;display:block;flex-shrink:0}.dd-entry-row .dd-pixel-icon{width:36px;height:36px}.dd-room:not(.sleeping) .dd-main-dog{transform:translate(-50%,-65%) scale(var(--dd-grow,1))}
@media(max-width:350px){.dd-page{padding-inline:10px}.dd-header h1{font-size:20px}.dd-bonds>div{padding:9px}.dd-bonds span{font-size:11px}.dd-subactions button{font-size:11px;padding:8px}.dd-entry-row span{font-size:13px}}
@media(prefers-reduced-motion:reduce){.dd-growth *{scroll-behavior:auto!important}}

/* V1 polish: position by the full canvas box; no transform-dependent anchor. */
@font-face{font-family:RyouHomeHand;src:url('/home-art/ryou-home-hand.woff?v=2') format('woff');font-style:normal;font-weight:300 700;font-display:swap}
.doudou-overlay.dd-growth{font-family:RyouHomeHand,var(--font-main,'LXGW WenKai Screen'),sans-serif;font-weight:300;font-synthesis:none}
.dd-growth .dd-room .dd-main-dog{left:32%;top:32%;bottom:auto;right:auto;width:42%;height:auto;aspect-ratio:1;transform:none!important;max-width:none;margin:0}
.dd-growth .dd-room.sleeping .dd-main-dog{left:19%;top:29%;width:32%}
.dd-header button{width:40px;height:40px;min-height:40px;padding:8px;border:1px solid #ded6be99;background:#fffbf380;border-radius:50%;display:grid;place-items:center}
.dd-header .dd-pixel-icon{width:23px;height:23px}.dd-header h1{font-size:24px}
.dd-pixel-icon{width:32px;height:32px;display:block}.dd-actions .dd-pixel-icon{width:34px;height:34px}
.dd-states span{display:flex;align-items:center;justify-content:center;gap:3px}.dd-states .dd-pixel-icon{width:16px;height:16px}
.dd-subactions button{display:flex;align-items:center;justify-content:center;gap:4px}.dd-subactions .dd-pixel-icon{width:19px;height:19px}
.dd-bonds small{font-size:11px}.dd-profile p{font-size:13px}.dd-profile small{font-size:12px}

/* Smaller puppy; feet stay on the rug even at maximum first-year growth. */
.dd-growth .dd-room .dd-main-dog{left:37%;top:43%;width:calc(32% * var(--dd-grow,1));filter:none}
.dd-growth .dd-room.sleeping .dd-main-dog{left:21%;top:32%;width:28%}
.dd-growth .dd-room.night .dd-main-dog{filter:brightness(.76)}
.dd-growth .dd-room.night.light-bright .dd-main-dog{filter:brightness(.98)}
.dd-room.night.light-bright .dd-room-art{background-image:url('/assets/doudou-idle-light-v1/room-night-bright.png'),url('/assets/doudou-growth-v1/room-night.png')}
.dd-growth .dd-light-toggle{position:absolute;right:10px;bottom:10px;z-index:4;display:flex;align-items:center;gap:4px;min-height:32px;padding:5px 9px;border:1px solid #d5c9afaa;border-radius:14px;background:#fff8e8e8;color:#6f6349;font-size:11px}
.dd-light-toggle .dd-pixel-icon{width:17px;height:17px}

/* DOUDOU_ACTIONS_V2: grounded feet, natural room movement, independent memory artwork. */
.dd-growth .dd-room .dd-main-dog{left:50%;top:auto;bottom:15%;width:calc(32% * var(--dd-grow,1));height:auto;transform:translateX(-50%)!important;transition:left 170ms linear;overflow:visible}
.dd-growth .dd-room.sleeping .dd-main-dog{left:35%;top:auto;bottom:32%;width:28%}
.dd-memory-art{background-image:none!important;aspect-ratio:1;position:relative;overflow:hidden}
.dd-memory-art svg{display:block;width:100%;height:100%;object-fit:cover;border-radius:inherit;image-rendering:pixelated}
@media(prefers-reduced-motion:reduce){.dd-growth .dd-room .dd-main-dog{transition:none}}
