:root{--bg:#f6f2ec;--panel:#fff;--ink:#1f2328;--muted:#727780;--accent:#ff875b;--accent2:#ffd7a8;--green:#66bd85;--blue:#78a9ff;--danger:#ff6b6b;--line:#e9e3dc;--shadow:0 14px 38px rgba(55,40,25,.10)}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,ui-rounded,"SF Pro Rounded",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--bg);color:var(--ink)}button,input,select{font:inherit}button{border:0;cursor:pointer;color:inherit}#app{min-height:100dvh}.shell{min-height:100dvh;display:flex;flex-direction:column;max-width:760px;margin:0 auto}.topbar{display:flex;align-items:center;justify-content:space-between;padding:14px 16px 8px;position:sticky;top:0;background:linear-gradient(var(--bg) 78%,rgba(246,242,236,0));z-index:20}.brand{display:flex;align-items:center;gap:9px;font-weight:900}.logo-dot{width:35px;height:35px;border-radius:12px;background:var(--ink);display:grid;place-items:center}.top-actions{display:flex;align-items:center;gap:8px}.icon-btn,.coin{background:var(--panel);border:1px solid var(--line);height:38px;border-radius:14px;display:grid;place-items:center;box-shadow:0 5px 15px rgba(0,0,0,.04)}.icon-btn{width:38px;font-size:1.05rem}.coin{padding:0 12px;font-weight:900}main{flex:1;padding:6px 14px 96px}.page{display:none}.page.active{display:block}.card{background:var(--panel);border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow)}
.nav{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:min(760px,100%);background:rgba(255,255,255,.94);backdrop-filter:blur(18px);border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(5,1fr);padding:8px 8px calc(8px + env(safe-area-inset-bottom));z-index:40}.nav button{background:transparent;color:#85898f;padding:7px 2px;border-radius:14px;font-size:.7rem;font-weight:800}.nav button span{display:block;font-size:1.2rem;margin-bottom:2px}.nav button.active{color:var(--ink);background:#f4f0eb}
.pet-summary{display:flex;align-items:center;justify-content:space-between;padding:3px 2px 8px}.pet-summary h1{margin:0;font-size:1.55rem}.pet-summary p{margin:3px 0;color:var(--muted);font-size:.86rem}.stage-pill{display:inline-flex;padding:7px 10px;background:white;border:1px solid var(--line);border-radius:999px;font-size:.74rem;font-weight:900;white-space:nowrap}.room-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:9px}.room-tabs button{background:#ebe6df;border-radius:14px;padding:9px 4px;font-weight:900;font-size:.78rem}.room-tabs button span{margin-left:4px}.room-tabs button.active{background:var(--ink);color:white}
.room-scene{height:390px;border-radius:30px;position:relative;overflow:hidden;border:1px solid rgba(0,0,0,.06);box-shadow:var(--shadow);isolation:isolate}.room-backdrop{position:absolute;inset:0 0 34%;background:linear-gradient(180deg,#fff8e9,#f4dfc3)}.room-living .room-backdrop:before{content:"";position:absolute;width:120px;height:90px;border:12px solid rgba(255,255,255,.9);background:linear-gradient(#9fd5ff,#e9f7ff);left:12%;top:18%;border-radius:8px;box-shadow:inset 0 0 0 2px rgba(0,0,0,.06)}.room-kitchen .room-backdrop{background:linear-gradient(#e9f7ff,#f7fbff)}.room-kitchen .room-backdrop:before{content:"";position:absolute;left:0;right:0;bottom:0;height:90px;background:repeating-linear-gradient(90deg,#fbfaf8 0 70px,#ece7e0 70px 72px);border-top:4px solid #dad2c9}.room-garden .room-backdrop{background:linear-gradient(#aee2ff,#e5f7ff)}.room-garden .room-backdrop:before{content:"☁️     ☁️";position:absolute;left:10%;right:0;top:15%;font-size:42px;opacity:.75;letter-spacing:60px}.room-floor{position:absolute;left:0;right:0;bottom:0;height:36%;background:linear-gradient(#dcc3a5,#cfae89)}.room-garden .room-floor{background:linear-gradient(#84c96e,#5eae5b)}.room-kitchen .room-floor{background:repeating-linear-gradient(90deg,#e4ddd6 0 56px,#f1ece7 56px 112px)}.room-label{position:absolute;top:14px;left:14px;background:rgba(255,255,255,.78);backdrop-filter:blur(8px);padding:7px 10px;border-radius:999px;font-size:.73rem;font-weight:900}.scene-pet{position:absolute;left:50%;bottom:40px;transform:translateX(-50%);width:230px;height:210px;z-index:5}.room-object{position:absolute;background:rgba(255,255,255,.7);border:1px solid rgba(255,255,255,.7);border-radius:18px;min-width:72px;padding:6px;box-shadow:0 8px 20px rgba(0,0,0,.08);z-index:8;backdrop-filter:blur(7px);transition:.2s}.room-object:hover,.room-object:active{transform:translateY(-3px) scale(1.03)}.room-object span{display:block;font-size:2rem}.room-object small{display:block;font-size:.62rem;font-weight:900}.room-object.p1{left:4%;bottom:20px}.room-object.p2{right:4%;bottom:24px}.room-object.p3{right:9%;top:74px}.room-object.p4{left:7%;top:92px}.room-object.p5{right:34%;bottom:6px}.room-empty{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);font-size:.72rem;background:rgba(255,255,255,.78);padding:7px 10px;border-radius:999px;white-space:nowrap;z-index:9}
.pet-character{position:relative;width:100%;height:100%;display:grid;place-items:center;transform-origin:50% 90%;cursor:pointer}.pet-svg{width:100%;height:100%;overflow:visible;filter:drop-shadow(0 10px 8px rgba(0,0,0,.12))}.pet-shadow{position:absolute;width:52%;height:12%;border-radius:50%;background:rgba(52,44,36,.16);bottom:11%;left:26%;filter:blur(3px)}.pet-character.puppy .pet-svg{transform:scale(.86) translateY(8px)}.pet-character.young .pet-svg{transform:scale(.96)}.pet-character.adult .pet-svg{transform:scale(1.08) translateY(-3px)}.pet-character.mini{width:120px;height:100px;pointer-events:auto}.pet-character.tiny{width:90px;height:72px;pointer-events:none}.pet-character.action-idle .pet-body-group{animation:breathe 2.4s ease-in-out infinite}.pet-character.action-idle .pet-tail{animation:wag 1.2s ease-in-out infinite;transform-origin:145px 100px}.pet-character.action-happy{animation:happy .55s ease-in-out 2}.pet-character.action-jump{animation:jump .6s cubic-bezier(.2,.7,.3,1)}.pet-character.action-walk{animation:walk .45s ease-in-out 3}.pet-character.action-shake{animation:shake .18s linear 5}.pet-character.action-sleep{animation:sleep 1.4s ease-in-out infinite}.pet-eye{transform-origin:center;animation:blink 5s infinite}.pet-bubble{position:absolute;top:2%;right:10%;background:white;border:1px solid var(--line);padding:7px 10px;border-radius:16px;font-size:1.2rem;opacity:0;transform:translateY(7px);transition:.2s;box-shadow:0 7px 15px rgba(0,0,0,.08)}.pet-bubble.show{opacity:1;transform:none}@keyframes breathe{50%{transform:translateY(-2px) scaleY(1.015)}}@keyframes wag{50%{transform:rotate(16deg)}}@keyframes happy{50%{transform:translateY(-11px) rotate(-2deg)}}@keyframes jump{40%{transform:translateY(-28px) scale(1.04)}70%{transform:translateY(2px) scale(.98)}}@keyframes walk{50%{transform:translateX(10px) rotate(1deg)}}@keyframes shake{25%{transform:translateX(-4px) rotate(-2deg)}75%{transform:translateX(4px) rotate(2deg)}}@keyframes sleep{50%{transform:scale(.98) translateY(4px)}}@keyframes blink{0%,46%,50%,100%{transform:scaleY(1)}48%{transform:scaleY(.12)}}
.growth{padding:13px 14px;margin-top:10px;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:16px}.growth strong{display:block}.growth small{display:block;color:var(--muted);font-size:.7rem;margin-top:2px}.progress{height:9px;background:#ede8e2;border-radius:999px;overflow:hidden}.progress span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--accent),#ffbd76)}.section-title{display:flex;align-items:end;justify-content:space-between;margin:20px 2px 9px}.section-title h2{font-size:1.02rem;margin:0}.section-title small{color:var(--muted);font-size:.75rem}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.stat{padding:11px;border-radius:18px;background:var(--panel);border:1px solid var(--line)}.stat-head{display:flex;justify-content:space-between;font-size:.75rem;font-weight:900;margin-bottom:7px}.meter{height:6px;background:#eee9e3;border-radius:999px;overflow:hidden}.meter span{display:block;height:100%;background:var(--green)}.meter.low span{background:var(--danger)}
.challenge{padding:13px 14px;display:flex;align-items:center;gap:11px;border-bottom:1px solid var(--line)}.challenge:last-child{border-bottom:0}.challenge .icon{font-size:1.5rem}.challenge .grow,.grow{flex:1}.challenge h3,.shop-item h3{font-size:.87rem;margin:0 0 3px}.challenge p,.shop-item p{font-size:.74rem;color:var(--muted);margin:0}.challenge .reward{font-weight:900;font-size:.78rem}.primary,.secondary{padding:11px 14px;border-radius:14px;font-weight:900}.primary{background:var(--ink);color:#fff}.secondary{background:#f1ede8}.full{width:100%}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px}.tile{padding:15px;display:flex;flex-direction:column;min-height:180px}.tile .emoji{font-size:1.9rem}.tile h3{margin:7px 0 4px}.tile p{color:var(--muted);font-size:.8rem;line-height:1.4;flex:1}.care-hero,.profile-hero{padding:12px 16px;display:flex;align-items:center;gap:12px}.care-hero h3,.profile-hero h2{margin:0 0 3px}.care-hero p,.profile-hero p{margin:0;color:var(--muted);font-size:.8rem}.game-grid{display:grid;gap:10px}.game-card{width:100%;padding:14px;display:grid;grid-template-columns:48px 1fr auto;align-items:center;text-align:left;gap:10px}.game-card>span{font-size:2rem}.game-card h3{margin:0 0 3px}.game-card p{margin:0;color:var(--muted);font-size:.76rem}.game-card b{font-size:.75rem}.training-card{padding:12px;display:flex;align-items:center;gap:10px}.training-pet{width:95px;height:75px}.training-card h3{margin:0 0 3px}.training-card p{margin:0;color:var(--muted);font-size:.75rem}.skill-list{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}.skill{background:#ebe7e1;padding:8px 10px;border-radius:999px;font-size:.75rem;font-weight:900}.skill.learned{background:#fff2be}
.walk-map{height:405px;position:relative;overflow:hidden;background:linear-gradient(#c9efff 0 32%,#94d67e 32%);isolation:isolate}.walk-map:after{content:"";position:absolute;inset:32% 0 0;background:radial-gradient(circle at 20% 20%,#b7e39d 0 4px,transparent 5px),radial-gradient(circle at 80% 50%,#b7e39d 0 4px,transparent 5px);background-size:28px 28px;opacity:.8}.path{position:absolute;background:#e7c996;height:28px;border-radius:999px;z-index:2}.path1{width:78%;left:12%;top:55%;transform:rotate(-10deg)}.path2{width:53%;left:39%;top:70%;transform:rotate(34deg)}.path3{width:48%;left:8%;top:78%;transform:rotate(-28deg)}.map-deco{position:absolute;font-size:2.4rem;z-index:3}.d1{left:7%;top:39%}.d2{right:7%;top:40%}.d3{left:18%;bottom:7%}.d4{right:23%;bottom:9%}.walk-pet{position:absolute;width:95px;height:80px;left:50%;top:49%;transform:translate(-50%,-50%);z-index:5}.walk-stop{position:absolute;z-index:6;background:white;border:1px solid var(--line);border-radius:18px;padding:8px 9px;box-shadow:0 7px 18px rgba(0,0,0,.1);font-size:1.25rem}.walk-stop span{display:block;font-size:.62rem;font-weight:900}.s1{left:11%;top:43%}.s2{right:10%;top:57%}.s3{left:36%;bottom:7%}.walk-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:10px}.walk-stats div{background:white;border:1px solid var(--line);border-radius:18px;padding:12px;text-align:center}.walk-stats b{display:block;font-size:1.1rem}.walk-stats span{display:block;font-size:.65rem;color:var(--muted)}.walk-tip{padding:12px 14px;display:flex;gap:10px;align-items:start;margin-top:10px}.walk-tip p{margin:0;font-size:.76rem;color:var(--muted);line-height:1.4}
.profile-list{display:grid}.profile-row{padding:13px 15px;display:flex;justify-content:space-between;border-bottom:1px solid var(--line);font-size:.84rem}.profile-row:last-child{border:0}.profile-row span:last-child{font-weight:900}.file-label{text-align:center}.file-label input{display:none}.danger-link{display:block;margin:18px auto;background:transparent;color:#d64f4f;font-weight:900}.overlay{position:fixed;inset:0;background:rgba(25,23,21,.44);display:grid;place-items:end center;z-index:60;padding:14px}.modal{width:min(720px,100%);background:white;border-radius:28px;padding:18px;max-height:90dvh;overflow:auto;box-shadow:0 20px 60px rgba(0,0,0,.22)}.modal-head{display:flex;justify-content:space-between;gap:10px}.modal-head h2{margin:0}.modal-head p{margin:4px 0 13px;color:var(--muted);font-size:.8rem}.close{width:34px;height:34px;border-radius:12px;background:#f2efeb;font-size:1.3rem}.shop-item{padding:12px;display:flex;align-items:center;gap:11px;border-bottom:1px solid var(--line)}.shop-item .emoji{font-size:1.9rem}.price{white-space:nowrap}.owned{color:var(--green);font-size:.75rem;font-weight:900}.recipe{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:10px 0}.recipe button{background:#f5f0ea;border-radius:16px;padding:12px 4px;font-size:1.8rem}.recipe button span{display:block;font-size:.65rem;font-weight:900}.recipe button.picked{background:#ffe1b8}.mix-bowl{background:#fff7e7;border:1px solid var(--line);border-radius:20px;text-align:center;font-size:4rem;padding:16px;margin:12px 0}.mix-bowl small{display:block;font-size:.75rem;color:var(--muted)}.game-hud{display:flex;justify-content:space-between;margin:8px 0;font-size:.82rem}.reaction-area{height:250px;position:relative;border-radius:20px;overflow:hidden;border:1px solid var(--line);background:linear-gradient(#eaf7ff,#fff4df)}.target{position:absolute;width:58px;height:58px;border-radius:50%;display:grid;place-items:center;font-size:2rem;background:white;box-shadow:0 6px 18px rgba(0,0,0,.12)}.bubble-target{background:#d9f7ff}.training-seq{display:flex;gap:10px;justify-content:center;margin:18px 0}.training-seq span{width:54px;height:54px;display:grid;place-items:center;border-radius:16px;background:#f1ede8;font-size:1.6rem}.training-seq span.ok{background:#dff5e5}.train-pad{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.train-pad button{height:70px;border-radius:18px;background:#fff3df;font-size:2rem}.mini-note{text-align:center;color:var(--muted);font-size:.75rem;margin:12px 0}.runner-lane{height:220px;border-radius:20px;background:linear-gradient(#d6f2ff 0 60%,#93cf7f 60%);position:relative;overflow:hidden}.runner-pet{position:absolute;left:12%;bottom:30px;width:100px;height:80px;transition:.25s}.runner-pet.jumping{transform:translateY(-55px)}.obstacle{position:absolute;right:18%;bottom:31px;font-size:3rem}.find-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:12px 0}.find-grid button{aspect-ratio:1;border-radius:18px;background:#eef4e7;font-size:2rem}.center{text-align:center}.walk-result{text-align:center}.big-event{font-size:5rem;margin-top:10px}.walk-result p{color:var(--muted)}.result-pills{display:flex;justify-content:center;gap:7px;flex-wrap:wrap;margin:16px 0}.result-pills span{background:#f2eee9;border-radius:999px;padding:7px 9px;font-size:.72rem;font-weight:900}.toast{position:fixed;left:50%;transform:translateX(-50%);bottom:100px;background:#1f2328;color:#fff;padding:11px 14px;border-radius:14px;font-weight:900;z-index:90;box-shadow:var(--shadow);animation:toastin .2s ease}@keyframes toastin{from{opacity:0;transform:translate(-50%,10px)}to{opacity:1;transform:translate(-50%,0)}}
.onboarding{min-height:100dvh;display:grid;place-items:center;padding:18px}.onboard-card{width:min(640px,100%);padding:22px;text-align:center}.onboard-logo{font-size:2.3rem}.onboard-card h1{margin:5px 0}.onboard-card>p{color:var(--muted);margin:5px auto 16px}.choose-pet{display:grid;grid-template-columns:1fr 1fr;gap:10px}.pet-choice{border:2px solid transparent;background:#f7f2ec;border-radius:22px;padding:8px}.pet-choice.selected{border-color:var(--accent);background:#fff1e5}.preview-pet{height:130px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px;text-align:left}.field:first-child{grid-column:1/-1}.field label{display:block;font-size:.75rem;font-weight:900;margin-bottom:5px}.field input,.field select{width:100%;padding:12px;border-radius:13px;border:1px solid var(--line);background:white}.onboard-cta{margin-top:14px}.onboard-card>small{display:block;color:var(--muted);font-size:.68rem;margin-top:10px}
@media(max-width:520px){main{padding-left:10px;padding-right:10px}.room-scene{height:365px}.room-tabs button span{display:none}.scene-pet{width:210px;height:195px}.stats{grid-template-columns:repeat(2,1fr)}.grid2{grid-template-columns:1fr 1fr}.tile{min-height:168px}.game-card{grid-template-columns:42px 1fr auto}.game-card p{display:none}.walk-map{height:380px}.form-grid{grid-template-columns:1fr}.field:first-child{grid-column:auto}.preview-pet{height:110px}.pet-summary{align-items:flex-start}.stage-pill{font-size:.67rem}}
@media(max-width:380px){.grid2{grid-template-columns:1fr}.tile{min-height:150px}.room-object small{display:none}.room-object{min-width:58px}.pet-summary{display:block}.pet-summary .stage-pill{margin-top:6px}}

/* ===== PawLife V3 — responsive game UI ===== */
:root{--rail:300px;--navw:96px;--scene-radius:34px;--glass:rgba(255,255,255,.82)}
body{overflow-x:hidden;background:radial-gradient(circle at 20% 0,#fff9f1 0,transparent 34%),var(--bg)}
.shell{max-width:none;width:100%;min-height:100dvh;margin:0;display:block}
.workspace{min-width:0}
.topbar{height:68px;padding:10px 18px;display:flex;align-items:center;gap:18px;background:rgba(246,242,236,.86);backdrop-filter:blur(18px);border-bottom:1px solid rgba(233,227,220,.75)}
.mobile-brand{display:flex;align-items:center;gap:8px}.mobile-brand .logo-dot{width:34px;height:34px}.pet-headline{min-width:0;flex:1}.pet-headline b{display:block;font-size:.98rem}.pet-headline span{display:block;color:var(--muted);font-size:.72rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
main{padding:10px 14px 100px;max-width:980px;margin:0 auto}.status-rail{display:none}.home-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin:5px 2px 10px}.home-head h1{font-size:clamp(1.35rem,5vw,2rem);line-height:1.05;margin:3px 0 0}.eyebrow{font-size:.64rem;letter-spacing:.13em;font-weight:900;color:var(--muted)}
.room-tabs{display:flex;gap:7px;overflow:auto;scrollbar-width:none;margin:0 0 9px}.room-tabs::-webkit-scrollbar{display:none}.room-tabs button{flex:1;min-width:92px;background:rgba(255,255,255,.75);border:1px solid var(--line);padding:9px 12px;border-radius:15px;box-shadow:0 5px 14px rgba(0,0,0,.035)}.room-tabs button.active{background:#202328;color:white;border-color:#202328}.room-tab-icon{margin-right:5px}
.room-scene{height:clamp(390px,57dvh,590px);min-height:390px;border-radius:var(--scene-radius);background:#f3e5d3;box-shadow:0 24px 55px rgba(71,55,38,.14);border:1px solid rgba(100,80,60,.09);overflow:hidden}
.room-backdrop{inset:0 0 31%;background:linear-gradient(180deg,#fff9ef,#f5e7d3)}.room-floor{height:31%;background:linear-gradient(180deg,#dcbf9a,#cfa77b)}
.room-kitchen .room-backdrop{background:linear-gradient(180deg,#f7fbff,#eaf3f6)}.room-kitchen .room-floor{background:repeating-linear-gradient(90deg,#d9d2ca 0 52px,#eee9e3 52px 104px)}
.room-garden .room-backdrop{background:linear-gradient(180deg,#9edcff 0,#dff5ff 70%,#eef9ef 100%)}.room-garden .room-floor{background:linear-gradient(#79c86b,#52ad59)}
.scene-title{position:absolute;top:14px;left:14px;z-index:16;display:flex;align-items:center;gap:9px;padding:9px 12px;border-radius:16px;background:var(--glass);border:1px solid rgba(255,255,255,.65);backdrop-filter:blur(12px);box-shadow:0 8px 20px rgba(0,0,0,.06)}.scene-title>span{font-size:1.3rem}.scene-title b,.scene-title small{display:block}.scene-title b{font-size:.78rem}.scene-title small{font-size:.61rem;color:var(--muted);margin-top:1px}
.scene-door{position:absolute;right:14px;top:14px;z-index:16;background:var(--glass);border:1px solid rgba(255,255,255,.75);border-radius:16px;padding:8px 10px;display:flex;align-items:center;gap:7px;box-shadow:0 8px 20px rgba(0,0,0,.06)}.scene-door i{width:14px;height:21px;border:2px solid #76583c;border-radius:2px;background:#d7a66e;position:relative}.scene-door i:after{content:"";position:absolute;width:3px;height:3px;border-radius:50%;background:#76583c;right:1px;top:8px}.scene-door span{font-size:.64rem;font-weight:900}
.scene-pet{width:min(48%,330px);height:min(52%,300px);bottom:25px;left:50%;z-index:8}.pet-character{filter:none}.pet-svg{filter:drop-shadow(0 14px 10px rgba(49,37,28,.16));transform-origin:center bottom}.pet-character.puppy .pet-svg{transform:scale(.86) translateY(12px)}.pet-character.young .pet-svg{transform:scale(1)}.pet-character.adult .pet-svg{transform:scale(1.12) translateY(-3px)}
.pet-character.action-idle .pet-head-group{animation:petLookAround 6s ease-in-out infinite;transform-origin:90px 70px}.pet-character.action-idle .pet-tail{animation:wag .95s ease-in-out infinite alternate}.pet-character.action-happy .pet-tail{animation:wag .18s ease-in-out infinite alternate}.pet-character.action-sleep .pet-tail{animation:none}.pet-bubble{top:7%;right:5%;font-size:1.45rem;padding:8px 11px;border-radius:18px}@keyframes petLookAround{0%,30%,75%,100%{transform:rotate(0)}40%{transform:rotate(-2deg)}60%{transform:rotate(2deg)}}
/* room scenery */
.scenery{position:absolute;z-index:2;pointer-events:none}.window{left:9%;top:18%;width:22%;height:27%;border:9px solid #f9f4eb;background:linear-gradient(#a9dcff 0 65%,#badea7 65%);box-shadow:0 0 0 2px rgba(92,72,52,.1),0 8px 20px rgba(0,0,0,.06);border-radius:7px}.window:before,.window:after{content:"";position:absolute;background:#f9f4eb}.window:before{width:6px;top:0;bottom:0;left:50%}.window:after{height:6px;left:0;right:0;top:50%}.sofa{right:7%;bottom:25%;width:31%;height:18%;background:#b6c7b5;border-radius:25px 25px 10px 10px;box-shadow:inset 0 -13px 0 rgba(82,108,83,.13)}.sofa:before,.sofa:after{content:"";position:absolute;width:47%;height:60%;top:-25%;background:#c9d7c7;border-radius:18px}.sofa:before{left:2%}.sofa:after{right:2%}.rug{left:25%;bottom:3%;width:48%;height:16%;border-radius:50%;background:radial-gradient(ellipse,#efdbbd 0 45%,#ddb985 46% 55%,#f1dec2 56%)}
.cabinets{left:5%;right:5%;bottom:31%;height:22%;background:repeating-linear-gradient(90deg,#f7f3ee 0 23%,#ddd4ca 23% 24%);border-radius:8px 8px 0 0;box-shadow:0 -8px 0 #c9b59e}.counter{left:4%;right:4%;bottom:52%;height:4%;background:#cab79f;border-radius:5px}.fridge{right:7%;top:18%;width:15%;height:38%;background:#eff3f5;border-radius:8px;box-shadow:inset -6px 0 0 #dde4e8}.fridge:after{content:"";position:absolute;width:3px;height:18%;background:#9aa7ae;left:10%;top:38%;border-radius:4px}.sun{right:10%;top:13%;width:54px;height:54px;background:#ffd869;border-radius:50%;box-shadow:0 0 0 12px rgba(255,216,105,.18)}.cloud{height:18px;width:62px;background:white;border-radius:20px;opacity:.88}.cloud:before,.cloud:after{content:"";position:absolute;background:white;border-radius:50%}.cloud:before{width:28px;height:28px;left:12px;top:-12px}.cloud:after{width:22px;height:22px;right:10px;top:-7px}.c1{left:12%;top:16%}.c2{left:44%;top:25%;transform:scale(.7)}.fence{left:0;right:0;bottom:27%;height:16%;background:repeating-linear-gradient(90deg,transparent 0 7%,#efe4c8 7% 9%);border-top:7px solid #efe4c8;border-bottom:7px solid #e2d2ae}.bush{bottom:25%;width:100px;height:45px;background:#4d9f50;border-radius:50% 50% 20% 20%}.b1{left:3%}.b2{right:4%;transform:scale(.8)}
/* usable objects: CSS illustrations instead of emoji */
.room-object{min-width:72px;min-height:64px;background:transparent;border:0;box-shadow:none;backdrop-filter:none;padding:0;z-index:12;display:grid;justify-items:center;gap:4px}.room-object:hover,.room-object:active{transform:translateY(-5px) scale(1.04)}.room-object small{background:rgba(255,255,255,.87);border:1px solid rgba(255,255,255,.7);border-radius:999px;padding:4px 7px;box-shadow:0 5px 14px rgba(0,0,0,.08);font-size:.58rem}.object-art{width:65px;height:52px;display:block;position:relative;filter:drop-shadow(0 9px 5px rgba(0,0,0,.16))}.object-art i,.object-art b{position:absolute;display:block}.object-art.bowl{height:36px}.bowl i{left:9px;right:9px;bottom:4px;height:22px;background:#f17d5e;border-radius:5px 5px 24px 24px;box-shadow:inset 0 5px 0 #ffd7c7}.bowl b{left:15px;right:15px;top:8px;height:8px;background:#654b3b;border-radius:50%}.ball{width:48px;height:48px;border-radius:50%;background:radial-gradient(circle at 32% 25%,#fff 0 5%,transparent 6%),linear-gradient(135deg,#ff756e 0 47%,#f3cf55 48%);border:3px solid rgba(255,255,255,.75)}.bed{width:78px;height:45px;border-radius:23px 23px 12px 12px;background:#7cb9d8;border:7px solid #5a91b0}.bed:after{content:"";position:absolute;inset:8px;border-radius:18px;background:#d9edf6}.brush{width:56px;height:26px;margin-top:13px;border-radius:14px;background:#e4ad6c;transform:rotate(-12deg)}.brush:after{content:"";position:absolute;width:35px;height:9px;background:#9f7651;right:-25px;top:8px;border-radius:9px}.toy{width:48px;height:48px;background:#e7a7b7;border-radius:46% 54% 44% 56%;transform:rotate(15deg)}.toy:after{content:"";position:absolute;width:17px;height:17px;border:5px solid #79a8d3;border-radius:50%;right:-7px;top:-6px}.plant i{left:10px;right:10px;bottom:0;height:24px;background:#b57950;border-radius:4px 4px 14px 14px}.plant:before,.plant:after{content:"";position:absolute;background:#68a86d;border-radius:50% 10% 50% 10%;width:25px;height:35px;bottom:19px}.plant:before{left:13px;transform:rotate(-25deg)}.plant:after{right:13px;transform:scaleX(-1) rotate(-25deg)}.tunnel{width:78px;height:47px;border:12px solid #8a73d9;border-bottom-width:8px;border-radius:40px 40px 7px 7px;background:rgba(125,102,210,.25)}.scratcher i{width:15px;height:43px;background:#c69b6d;left:25px;bottom:5px;border-radius:6px;background-image:repeating-linear-gradient(0deg,rgba(85,55,35,.18) 0 2px,transparent 2px 5px)}.scratcher b{width:48px;height:9px;background:#80614a;left:9px;bottom:0;border-radius:8px}.fountain i{width:58px;height:20px;left:3px;bottom:3px;background:#79b9df;border-radius:50% 50% 12px 12px}.fountain:before{content:"";position:absolute;width:20px;height:30px;left:22px;bottom:16px;border:6px solid #a9d9ef;border-left-color:transparent;border-bottom-color:transparent;border-radius:50%;transform:rotate(-45deg)}
.room-object.p1{left:5%;bottom:7%}.room-object.p2{right:5%;bottom:8%}.room-object.p3{right:9%;top:22%}.room-object.p4{left:8%;top:28%}.room-object.p5{right:31%;bottom:2%}.room-empty{bottom:12px;border:0;background:rgba(255,255,255,.9);font-weight:900;box-shadow:0 8px 16px rgba(0,0,0,.07)}
.home-growth{margin-top:10px}.home-mobile-panels{display:block}
/* nav mobile */
.nav{position:fixed;left:50%;bottom:0;transform:translateX(-50%);width:100%;max-width:760px;grid-template-columns:repeat(5,1fr);padding:7px 7px calc(7px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:rgba(255,255,255,.92);backdrop-filter:blur(20px);box-shadow:0 -8px 30px rgba(0,0,0,.06)}.nav-brand{display:none}.nav button{min-height:53px;display:flex;flex-direction:column;align-items:center;justify-content:center}.nav button span{font-size:1.25rem}

/* tablet: scene + status panel */
@media (min-width:760px){
  .shell{display:grid;grid-template-columns:minmax(0,1fr) 285px;min-height:100dvh;align-items:start}.workspace{min-height:100dvh}.topbar{position:sticky;top:0;z-index:30}.status-rail{display:block;position:sticky;top:0;height:100dvh;overflow:auto;padding:18px 16px;background:rgba(255,255,255,.77);backdrop-filter:blur(24px);border-left:1px solid var(--line)}main{padding:14px 18px 90px;max-width:none}.home-mobile-panels{display:none}.home-growth{display:none}.room-scene{height:calc(100dvh - 190px);min-height:500px;max-height:740px}.scene-pet{width:min(45%,370px);height:min(52%,330px)}.room-object small{font-size:.62rem}.nav{max-width:calc(100% - 285px);left:0;transform:none}.mobile-brand{display:flex}.pet-headline{display:block}
  .rail-pet{display:flex;align-items:flex-start;justify-content:space-between;padding:8px 4px 18px;border-bottom:1px solid var(--line)}.rail-pet h2{font-size:1.45rem;margin:3px 0}.rail-pet p{font-size:.72rem;color:var(--muted);margin:0}.bond-badge{padding:7px 9px;border-radius:999px;background:#fff0f0;font-size:.75rem;font-weight:900}.rail-section{padding:18px 2px;border-bottom:1px solid var(--line)}.rail-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.rail-title b{font-size:.82rem}.rail-title span{font-size:.68rem;color:var(--muted)}.rail-stats{display:grid;gap:10px}.rail-stat>div:first-child{display:flex;justify-content:space-between;font-size:.7rem;margin-bottom:5px}.rail-stat b{font-size:.68rem}.rail-progress{margin:12px 0 9px}.rail-copy{font-size:.67rem;line-height:1.45;color:var(--muted)}.mini-challenge{display:grid;grid-template-columns:22px 1fr auto;align-items:center;gap:7px;padding:7px 0}.mini-challenge>span{font-weight:900}.mini-challenge b,.mini-challenge small{display:block}.mini-challenge b{font-size:.67rem}.mini-challenge small{font-size:.6rem;color:var(--muted)}.mini-challenge button{font-size:.62rem;font-weight:900;background:#202328;color:white;border-radius:9px;padding:6px}
}
/* desktop: left nav + scene + right status */
@media (min-width:1180px){
  body{overflow:hidden}.shell{grid-template-columns:var(--navw) minmax(0,1fr) var(--rail);height:100dvh}.nav{position:sticky;top:0;left:auto;bottom:auto;transform:none;width:auto;max-width:none;height:100dvh;display:flex;flex-direction:column;gap:7px;padding:16px 10px;background:rgba(255,255,255,.82);border:0;border-right:1px solid var(--line);box-shadow:none}.nav-brand{display:grid;justify-items:center;gap:5px;padding:2px 0 16px;margin-bottom:5px;border-bottom:1px solid var(--line)}.nav-brand b{font-size:.66rem}.nav .logo-dot{width:42px;height:42px;border-radius:15px}.nav button{width:100%;height:auto;min-height:67px;border-radius:18px;font-size:.65rem;gap:3px}.nav button span{font-size:1.35rem}.workspace{height:100dvh;overflow:auto}.status-rail{height:100dvh}.mobile-brand{display:none}.topbar{padding-left:22px;padding-right:22px}.pet-headline b{font-size:1.05rem}.pet-headline span{font-size:.73rem}main{padding:15px 22px 30px;max-width:1100px}.room-scene{height:calc(100dvh - 205px);min-height:520px;max-height:760px}.home-head{margin-top:7px}.home-head h1{font-size:2rem}.room-tabs{max-width:480px}.scene-pet{width:min(42%,390px);height:min(54%,350px)}.page:not(#page-home){max-width:900px;margin:0 auto}.grid2{grid-template-columns:repeat(2,minmax(0,1fr))}.game-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.game-card:last-child:nth-child(odd){grid-column:1/-1}.walk-map{height:560px}.overlay{place-items:center}.modal{max-width:760px}
}
@media (min-width:1550px){.shell{--rail:330px;--navw:110px}.room-scene{max-height:800px}.scene-pet{width:400px;height:360px}}
@media (max-width:520px){.topbar{height:60px;padding:8px 10px}.mobile-brand b{display:none}.pet-headline{display:none}.home-head{align-items:center}.home-head .stage-pill{font-size:.64rem}.room-scene{height:calc(100dvh - 230px);min-height:390px;max-height:530px}.scene-title small{display:none}.scene-door span{display:none}.scene-door{width:42px;height:42px;justify-content:center;padding:0}.scene-pet{width:58%;height:52%;bottom:27px}.room-tabs button span:not(.room-tab-icon){display:none}.room-tabs button{min-width:64px}.room-tab-icon{font-size:1.1rem;margin:0}.room-object{transform:scale(.88)}.room-object:hover,.room-object:active{transform:translateY(-4px) scale(.93)}.room-object small{display:none}.stats{grid-template-columns:repeat(2,1fr)}.home-growth{padding:10px 12px}.growth{gap:10px}.growth>div:first-child{min-width:100px}.section-title{margin-top:16px}.onboard-card{padding:17px}.choose-pet{gap:7px}}
@media (max-width:390px){.room-scene{height:390px}.scene-pet{width:62%;height:50%}.object-art{transform:scale(.85)}.home-head h1{font-size:1.25rem}.stage-pill{padding:6px 8px}.grid2{grid-template-columns:1fr 1fr}.tile{min-height:160px;padding:12px}}

.room-living .room-backdrop:before,.room-kitchen .room-backdrop:before,.room-garden .room-backdrop:before{content:none!important;display:none!important}
