:root{font-family:Arial,Helvetica,sans-serif;letter-spacing:0;color:#253c3d;background:#eff6f5;--ink:#253c3d;--teal:#237d7a;--pink:#dc687f;--line:#ccdedb;--yellow:#f4cc57}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button{cursor:pointer;border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:6px;font-weight:700;font-size:12px;display:inline-flex;justify-content:center;align-items:center;gap:8px;padding:12px 16px;touch-action:manipulation}button:hover{background:#e1efeb}button:disabled{opacity:.45;cursor:default}button:focus-visible,a:focus-visible{outline:3px solid var(--pink);outline-offset:3px}button.primary{background:var(--teal);border-color:var(--teal);color:white}button.primary:hover{background:#1b6563}svg.lucide{width:18px;height:18px;stroke-width:1.8;flex-shrink:0}[hidden]{display:none!important}.header{height:80px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;background:#253c3d;color:#fff}.brand{color:white;text-decoration:none;display:flex;align-items:center;gap:11px;font-size:27px;font-weight:900}.brand img{width:44px;height:44px;border-radius:50%}.brand small{display:block;font-size:8px;font-weight:700;color:#bce6d6;margin-top:4px}.balances{display:flex;align-items:center;gap:13px}.balance{display:flex;gap:7px;align-items:center;font-size:15px;color:var(--yellow)}.balance.water{color:#a3dbea}.header button{padding:9px;border-color:#54706e;background:#344f4e;color:white}.header button:hover{background:#46605a}main{max-width:1500px;margin:auto;padding:25px 5% 10px}.pet-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:23px}.eyebrow{font-size:9px;font-weight:700;color:var(--teal);margin:0 0 8px}h1{font-size:29px;margin:8px 0 0;line-height:1.15}h2{font-size:20px;margin:0;line-height:1.2}.level{width:150px;font-size:9px;font-weight:700;text-align:right;flex-shrink:0}.level progress{width:100%;height:5px;display:block;margin:8px 0 5px;accent-color:var(--pink)}.level small{font-size:9px;color:#7d8d88}.needs{display:grid;grid-template-columns:repeat(4,1fr);gap:25px;padding:17px 0 20px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:20px}.need{min-width:0}.need-label{display:flex;align-items:center;gap:7px;font-size:11px;font-weight:700;margin-bottom:10px}.need-label b{margin-left:auto;font-size:10px;font-weight:400}.need progress{width:100%;height:7px;display:block;appearance:none;border:0;accent-color:var(--meter)}progress::-webkit-progress-bar{background:#dce8e4;border-radius:5px}progress::-webkit-progress-value{background:var(--meter,var(--pink));border-radius:5px}progress::-moz-progress-bar{background:var(--meter,var(--pink));border-radius:5px}.game-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:28px}.room-area{min-width:0}.rooms{display:flex;gap:0;border-bottom:1px solid var(--line);margin-bottom:13px}.rooms button{background:transparent;border:0;border-bottom:3px solid transparent;border-radius:0;flex:1;font-size:11px;padding:12px 6px;min-width:0;white-space:nowrap}.rooms button.active{color:var(--teal);border-bottom-color:var(--teal)}.rooms svg{width:16px;height:16px}.stage{width:100%;aspect-ratio:3/2;position:relative;overflow:hidden;isolation:isolate;background:#c7e4da;border-radius:7px}.room-art{position:absolute;inset:0;background-image:url('assets/rooms.png');background-size:200% 200%;background-position:0 0;z-index:-2}.stage[data-room=kitchen] .room-art{background-position:100% 0}.stage[data-room=bathroom] .room-art{background-position:0 100%}.stage[data-room=bedroom] .room-art{background-position:100% 100%}.room-label{position:absolute;top:14px;left:15px;background:#ffffffe8;border:1px solid #ffffff70;padding:7px 9px;border-radius:4px;font-size:10px;font-weight:700}.mood{position:absolute;top:16px;right:15px;font-size:10px;font-weight:700;color:#203a30;background:#ffffffc9;padding:5px 8px;border-radius:4px}.speech{position:absolute;z-index:4;top:13%;left:50%;transform:translateX(-50%);width:max-content;max-width:65%;padding:12px 17px;background:#fff;color:#293b36;border:2px solid #283b36;border-radius:7px;font-size:13px;font-weight:600;text-align:center;box-shadow:3px 4px 0 #233b3530;pointer-events:none;line-height:1.4}.speech:after{content:'';position:absolute;bottom:-9px;left:48%;width:12px;height:12px;background:white;border-right:2px solid #283b36;border-bottom:2px solid #283b36;transform:rotate(45deg)}.pet{position:absolute;width:70%;height:110%;bottom:-3%;left:15%;padding:0;border:0;background:transparent!important;outline-offset:-50px;z-index:2;transition:transform .25s;transform-origin:50% 90%}.pet>img{width:100%;height:100%;object-fit:contain;pointer-events:none;animation:breathe 3.5s ease-in-out infinite}.pet.happy{animation:happy .5s ease}.pet.eating{animation:eat .45s ease 2}.pet.sleeping{transform:rotate(-8deg);filter:brightness(.8)}.pet.sleeping>img{animation:breathe 5s ease-in-out infinite}.pet.soap{animation:wiggle .35s ease 2}.pet.petted{animation:happy .35s ease}.sleep-z{position:absolute;top:31%;right:20%;color:white;font-size:28px;font-weight:bold;text-shadow:2px 2px #24363f;animation:dream 2s infinite}.dirt{position:absolute;inset:0;pointer-events:none}.dirt b{position:absolute;background:#766451c9;border:1px solid #514436;border-radius:45%;width:5%;height:4%;left:39%;top:44%;transform:rotate(-15deg)}.dirt b:nth-child(2){left:60%;top:48%;width:4%;height:3%}.dirt b:nth-child(3){left:36%;top:67%;width:6%;height:3%}.foam{position:absolute;left:30%;top:49%;width:42%;height:30%;pointer-events:none}.foam b{position:absolute;display:block;width:18px;height:18px;border:2px solid #b8e3ef;background:#ffffffe0;border-radius:50%;animation:foam 2s infinite}.shower{position:absolute;inset:20% 20% 0;z-index:3;pointer-events:none;overflow:hidden}.shower b{position:absolute;top:-20px;display:block;width:3px;height:23px;border-radius:4px;background:#b4edff;animation:rain .65s linear infinite}.floating{position:absolute;inset:0;pointer-events:none;z-index:5}.float{position:absolute;top:55%;left:50%;font-size:23px;font-weight:900;color:#fff;text-shadow:1px 2px #237d7a;animation:float 1.6s forwards}.plant{position:absolute;bottom:6%;left:4%;height:29%;width:16%;background:transparent!important;border:0;padding:0;z-index:3;transform-origin:50% 95%}.plant>svg{width:100%;height:100%;overflow:visible;filter:drop-shadow(2px 4px 0 #0002)}.trunk{fill:#b9915a;stroke:#273f2a;stroke-width:3}.leaves path{fill:#459872;stroke:#233d27;stroke-width:3}.pot{fill:#cf7080;stroke:#4d3a3c;stroke-width:3}.pot-rim{fill:#ed9b93;stroke:#4d3a3c;stroke-width:3}.plant.growing .leaves{transform-origin:66px 42px;animation:leaves 3s infinite}.plant.ready{animation:happy 1.5s infinite}.plant-badge{position:absolute;bottom:-2px;left:50%;transform:translateX(-50%);background:#fff;padding:4px 6px;border:1px solid #789785;border-radius:4px;white-space:nowrap;font-size:9px;color:#2b4936}.night{position:absolute;inset:0;background:#16253b9e;z-index:1;pointer-events:none}.rug{position:absolute;left:29%;bottom:4%;width:47%;height:16%;border:3px solid #21615e;background:#77c3b5;outline:3px solid #caeee0;transform:skewX(-14deg);border-radius:45%;z-index:-1}.rug:after{content:'';position:absolute;inset:14%;border:2px solid #d3eedf;border-radius:45%}.poster{position:absolute;left:43%;top:4%;width:10%;height:19%;border:4px solid #c8a04e;background:#efcf68;box-shadow:2px 2px 0 #0002;z-index:0;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden}.poster img{width:90%;height:70%;object-fit:contain}.poster span{font-size:8px;font-weight:900}.toy{position:absolute;z-index:6;width:44px;height:44px;border:3px solid #4b323f;background:#e77494;border-radius:50%;padding:0;box-shadow:3px 4px 0 #0003;animation:toy .8s infinite}.toy span{width:16px;height:10px;background:#ffd6e2;border-radius:50%;position:absolute;left:8px;top:7px;transform:rotate(-30deg)}.play-hud{position:absolute;left:50%;bottom:15px;transform:translateX(-50%);display:flex;align-items:center;gap:17px;background:#253c3def;color:white;padding:8px 10px 8px 17px;border-radius:5px;font-size:12px;z-index:7}.play-hud button{padding:3px;background:transparent;color:white;border:0}.room-bottom{display:flex;align-items:center;gap:10px;margin-top:10px;font-size:9px;color:#7a8b85}.room-bottom button{padding:5px 7px;background:transparent}.room-bottom svg{width:16px;height:16px}.saved{margin-left:auto;display:flex;gap:4px;align-items:center;font-size:9px}.saved svg{width:13px;height:13px}aside{border-left:1px solid var(--line);padding:10px 0 0 25px;min-width:0}.care-copy{font-size:12px;line-height:1.7;color:#748781;margin:12px 0 18px;min-height:42px}.actions{display:grid;gap:8px}.actions button{justify-content:flex-start;min-height:45px}.actions button small{margin-left:auto;font-size:10px;font-weight:400}.pantry{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:14px}.food-choice{min-width:0;padding:10px 3px;display:flex;flex-direction:column;gap:6px;border:1px solid var(--line);font-size:10px}.food-choice.active{border:2px solid var(--teal);padding:9px 2px}.food-choice>svg{width:30px;height:30px}.food-choice small{font-size:9px;color:#83958b}.daily{border-top:1px solid var(--line);margin-top:25px;padding-top:22px}.section-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.section-title h2{font-size:15px}.section-title>span{font-size:10px;color:var(--teal)}.task{display:flex;align-items:center;gap:8px;padding:13px 0;border-bottom:1px solid var(--line);font-size:11px}.task>svg{width:16px;height:16px;color:#859b93}.task.done>svg{color:var(--teal)}.task>span{flex:1}.task button{font-size:10px;padding:5px 8px;border-radius:4px}.task small{font-size:9px;color:#83958b}.garden-summary{margin-top:22px;display:flex;align-items:center;gap:10px}.garden-summary>svg{color:var(--teal);width:22px;height:22px}.garden-summary div{flex:1;min-width:0}.garden-summary b{display:block;font-size:11px}.garden-summary span{display:block;font-size:10px;color:#748781;margin-top:5px}.garden-summary button{padding:7px;background:transparent}footer{display:flex;gap:15px;align-items:center;border-top:1px solid var(--line);margin-top:25px;padding:17px 0;font-size:8px;color:#7d918b}footer span{margin-left:auto}footer a{display:flex;align-items:center;gap:3px;color:var(--teal);text-decoration:none}footer svg{width:12px!important;height:12px!important}dialog{max-width:650px;width:calc(100% - 30px);padding:30px;background:#f5faf8;color:var(--ink);border:1px solid #a8c8bd;border-radius:8px}dialog::backdrop{background:#173b3ba8;backdrop-filter:blur(4px)}.close{position:absolute;right:9px;top:9px;border:0;background:transparent;padding:6px}dialog h2{font-size:26px;margin-top:4px}dialog p{font-size:12px;line-height:1.7;color:#71867b}.shop-tabs{display:flex;gap:6px;margin:20px 0 16px}.shop-tabs button{background:transparent;border:0;border-bottom:2px solid transparent;border-radius:0}.shop-tabs button.active{border-bottom-color:var(--teal);color:var(--teal)}.shop-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.shop-item{border:1px solid var(--line);border-radius:6px;padding:18px 12px;display:flex;flex-direction:column;align-items:center;gap:12px;background:#fff;text-align:center;min-width:0}.shop-item>svg{width:35px;height:35px}.shop-item>b{font-size:12px}.shop-item>small{font-size:10px;color:#83958b;min-height:24px}.shop-item>button{width:100%;font-size:11px;padding:9px 3px}.shop-note{font-size:10px;color:var(--teal);min-height:16px;margin-top:16px}.garden-view{display:grid;grid-template-columns:120px 1fr;gap:25px;align-items:center;margin-top:22px}.garden-preview{width:120px;height:165px}.garden-preview svg{width:100%;height:100%}.garden-view progress{width:100%;height:8px;display:block;margin:12px 0;accent-color:var(--teal)}.garden-view p{margin:10px 0}.dialog-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:20px}.setting-row{display:flex;justify-content:space-between;align-items:center;padding:19px 0;border-bottom:1px solid var(--line);font-size:13px}.setting-row input{accent-color:var(--teal);width:20px;height:20px}.danger{color:#b95566!important}.dialog-message{margin-top:12px;font-size:11px;color:var(--teal)}
@keyframes breathe{50%{transform:translateY(-3px)}}@keyframes happy{50%{transform:translateY(-12px) rotate(4deg)}}@keyframes eat{50%{transform:scale(1.04) rotate(-3deg)}}@keyframes wiggle{25%{transform:rotate(-3deg)}75%{transform:rotate(3deg)}}@keyframes dream{50%{transform:translateY(-8px);opacity:.6}}@keyframes foam{50%{transform:translateY(-6px)}}@keyframes rain{to{transform:translateY(400px)}}@keyframes float{to{transform:translateY(-70px);opacity:0}}@keyframes leaves{50%{transform:rotate(5deg)}}@keyframes toy{50%{transform:translateY(-5px)}}
@media(min-width:1600px){main{padding-top:35px}.game-layout{grid-template-columns:minmax(0,1fr) 300px;gap:35px}.stage{max-height:650px}.care-copy{font-size:13px}}
@media(max-width:1050px){main{padding:22px 4% 10px}.game-layout{grid-template-columns:minmax(0,1fr) 240px;gap:18px}aside{padding-left:18px}.rooms button{font-size:10px;gap:5px}.rooms svg{width:14px;height:14px}.speech{font-size:11px;padding:8px 12px}.care-menu h2{font-size:18px}.poster span{font-size:6px}}
@media(max-width:800px){.game-layout{grid-template-columns:1fr}.stage{max-height:none}aside{border-left:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:24px}.daily{border-top:0;margin-top:0;padding-top:0}.garden-summary{grid-column:1/-1;margin-top:0;border-top:1px solid var(--line);padding-top:18px}.needs{gap:20px}.speech{font-size:13px}.poster span{font-size:8px}}
@media(max-width:500px){.header{height:66px;padding:0 4%}.brand{font-size:21px;gap:7px}.brand img{width:34px;height:34px}.brand small{font-size:6px}.balances{gap:8px}.balance{font-size:12px;gap:4px}.balance svg{width:15px;height:15px}.header button{padding:7px}.header button svg{width:16px;height:16px}main{padding:20px 4% 8px}.pet-heading{margin-bottom:20px;gap:12px;align-items:flex-start}h1{font-size:23px;max-width:220px}.level{width:75px;padding-top:4px}.eyebrow{font-size:8px}.needs{gap:11px;padding:13px 0 17px;margin-bottom:12px}.need-label{font-size:9px;gap:4px;flex-wrap:wrap;margin-bottom:7px}.need-label>svg{width:13px;height:13px}.need-label b{width:100%;margin:0 0 0 17px;font-size:9px}.rooms{margin-bottom:10px}.rooms button{font-size:9px;flex-direction:column;gap:5px;padding:9px 2px}.stage{aspect-ratio:1.12}.room-art{inset:0 -17%;background-size:200% 200%}.pet{width:100%;height:99%;bottom:-1%;left:0}.speech{font-size:11px;max-width:76%;top:13%;padding:8px 10px}.room-label{font-size:8px;left:10px;top:10px;padding:5px 6px}.mood{font-size:8px;right:10px;top:11px;padding:4px 5px}.plant{width:20%;height:27%;left:3%;bottom:4%}.plant-badge{font-size:8px}.poster{left:43%;top:4%;height:15%;width:12%;border-width:2px}.poster span{font-size:5px}.room-bottom{margin-top:8px}aside{display:block}.care-menu{padding-top:4px}.care-copy{min-height:0;margin:9px 0 14px;font-size:12px}.actions{grid-template-columns:1fr 1fr;gap:9px}.actions button{padding:10px 9px;font-size:11px;min-height:43px;gap:6px;flex-wrap:wrap}.actions button small{font-size:8px}.actions svg{width:16px;height:16px}.daily{border-top:1px solid var(--line);margin-top:22px;padding-top:19px}.garden-summary{margin-top:20px}.shop-grid{grid-template-columns:repeat(2,1fr)}.shop-item{padding:16px 9px}.garden-view{grid-template-columns:90px 1fr;gap:16px}.garden-preview{width:90px;height:145px}dialog{padding:28px 18px}.pantry{margin-top:10px;grid-template-columns:repeat(3,1fr)}footer{font-size:7px;gap:8px;flex-wrap:wrap}footer span{margin-left:auto}.toy{width:38px;height:38px}.play-hud{bottom:10px;font-size:10px;padding:7px 10px;gap:12px}.dirt b{top:46%}.dirt b:nth-child(2){top:50%}.dirt b:nth-child(3){top:70%}}
@media(max-width:360px){.brand img{display:none}.balances{gap:6px}h1{font-size:21px}.need-label{font-size:8px}.rooms button{font-size:8px}.speech{font-size:10px}.mood{font-size:7px}.actions button small{width:100%;margin-left:22px}.header button{padding:6px}}
.speech{top:8%}.pet{height:95%;bottom:-1%}
@media(max-width:500px){.speech{top:9%}.pet{height:89%;bottom:-1%}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
