:root{color-scheme:light;--ink:#253f52;--muted:#687782;--blue:#385f76;--paper:#fffaf2;--edge:#dedbd2}*{box-sizing:border-box}html{background:#e7edf0}body{margin:0;color:var(--ink);font-family:"Hannotate TC","PingFang TC",system-ui,sans-serif;font-size:16px}button,a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}button{font:inherit;color:inherit;cursor:pointer}button:disabled{cursor:wait;opacity:.55}button:focus-visible,a:focus-visible{outline:3px solid #b66831;outline-offset:3px}button{border:0}button:active{transform:translateY(1px)}.game-shell{max-width:500px;margin:auto;min-height:100svh;background:var(--paper);padding:env(safe-area-inset-top) 0 max(8px,env(safe-area-inset-bottom));position:relative;box-shadow:0 0 70px #203e5412}.topbar{height:52px;display:flex;align-items:center;justify-content:space-between;padding:0 15px;gap:8px}.topbar h1{font-size:19px;letter-spacing:.08em;margin:0}.home{text-decoration:none;color:var(--ink);font-size:26px;display:flex;align-items:center;gap:4px;min-height:44px}.home span{font-size:14px}.icon-button{width:44px;height:44px;background:none;font-family:Georgia,serif;font-size:23px}.petbar{height:48px;display:flex;justify-content:space-between;align-items:center;padding:0 20px}.name-button{display:flex;align-items:center;gap:8px;background:none;padding:6px 0}.name-button strong{font-size:20px}.name-button #stage{font-size:12px;background:#e8edf0;padding:3px 7px;border-radius:5px}.pencil{color:#698391}.wallet{background:#f3e9d5;padding:6px 11px;border-radius:30px;font-size:15px}.scene{height:clamp(250px,calc(100svh - 353px),470px);margin:0 10px;position:relative;isolation:isolate;overflow:hidden;border-radius:18px;background:#638097}.scene-art{width:100%;height:100%;object-fit:cover;object-position:center 55%;display:block;transition:filter 1.8s}.scene.pond-scene .scene-art{object-position:60% 72%;transform:scale(1.2)}.light-filter{position:absolute;inset:0;pointer-events:none;background:#243e75;opacity:0;transition:opacity 2s;mix-blend-mode:multiply}.scene.night .light-filter{opacity:.56}.scene.night .scene-art{filter:brightness(.8) saturate(.85)}.scene.cloud .scene-art{filter:saturate(.82)}.scene.raining .light-filter{background:#3c6277;opacity:.28}.scene.night.raining .light-filter{opacity:.58}.worldbar{position:absolute;top:12px;left:12px;right:12px;display:flex;gap:6px;align-items:center;font-size:13px}.worldbar>span{background:#fffcf1ec;padding:6px 9px;border-radius:30px;box-shadow:0 2px 5px #26384415}.worldbar #location{font-size:15px;font-weight:700;margin-right:auto}.worldbar #clock{font-variant-numeric:tabular-nums;min-width:54px;text-align:center}.cat-zone{position:absolute;left:50%;bottom:14%;width:130px;transform:translateX(-50%);transition:left 1.2s ease,bottom 1.2s ease}.cat-button{position:relative;background:none;padding:0;width:100%;height:118px;display:block;filter:drop-shadow(0 9px 4px #213e5038)}.cat-button img{width:100%;height:100%;object-fit:contain;animation:breathe 3s ease-in-out infinite}.cat-zone.happy .cat-button img{animation:bounce .45s ease 2}.cat-zone.sleeping .cat-button{height:86px}.speech{position:absolute;bottom:100%;left:50%;transform:translate(-50%,-6px);font-size:14px;line-height:1.5;white-space:nowrap;max-width:270px;background:#fffcf3f5;padding:7px 13px;border:1px solid #d0c8b8;border-radius:15px;box-shadow:0 3px 12px #2f405e16}.speech:after{content:'';position:absolute;left:48%;bottom:-6px;border:6px solid transparent;border-top-color:#fffcf3;border-bottom:0}.sleep-z{display:none;position:absolute;right:0;top:-20px;color:#fff;font-size:21px;text-shadow:0 1px 4px #223d67}.sleeping .sleep-z{display:block;animation:float 3s infinite}.scene-spot{position:absolute;background:none;color:#fff;text-shadow:0 1px 5px #223b52;display:flex;align-items:center;gap:4px;padding:5px;z-index:2;min-height:44px}.scene-spot i{font-size:26px;font-style:normal;animation:glow 3s ease-in-out infinite}.scene-spot span{background:#233e55ad;border:1px solid #ffffff50;padding:5px 8px;border-radius:20px;font-size:12px}.spot-one{top:37%;left:5%}.spot-two{top:50%;right:3%}.scene-caption{position:absolute;bottom:0;left:0;right:0;color:#fff;font-size:12px;display:flex;justify-content:space-between;gap:6px;padding:20px 13px 12px;background:linear-gradient(transparent,#19384cbd);pointer-events:none}.event-peek{position:absolute;left:14px;right:14px;bottom:41px;background:#fff9e6f5;padding:10px 12px;border-radius:12px;border:1px solid #c99857;text-align:left;font-size:14px;font-weight:700;z-index:3;box-shadow:0 3px 12px #23394c25}.event-peek span{float:right;font-size:13px}.decoration{position:absolute;bottom:20%;left:20%;font-size:35px;filter:drop-shadow(0 3px 2px #233c5835)}.needs{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding:15px 20px 7px}.needs label{display:flex;justify-content:space-between;gap:4px;font-size:14px}.needs b{font-size:12px;color:var(--muted);font-weight:400;font-variant-numeric:tabular-nums}.needs meter{display:block;width:100%;height:7px;margin-top:5px;border:0;background:#e5e5dc;border-radius:20px;overflow:hidden}.needs meter::-webkit-meter-bar{border:0;background:#e5e5dc;border-radius:20px;height:7px}.needs meter::-webkit-meter-optimum-value{background:#6c958a;border-radius:20px}.needs meter::-moz-meter-bar{background:#6c958a}.status-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:2px 20px 8px;font-size:12px;color:var(--muted);min-height:29px}.care{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding:0 15px 10px}.care button{height:68px;border:1px solid #d8dbd7;border-radius:15px;background:#fffdfa;box-shadow:0 3px 0 #e5e4dc;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:3px;font-size:14px}.care button span{font-size:25px;line-height:1.2}.care button b{font-weight:400}.bottom-nav{border-top:1px solid var(--edge);display:grid;grid-template-columns:1fr 1.2fr 1fr;margin-top:4px;padding:2px 8px}.bottom-nav button{min-height:48px;background:none;font-size:14px;display:flex;gap:5px;align-items:center;justify-content:center}.bottom-nav button>span{font-size:21px}.bottom-nav b{font-size:11px;font-weight:400;color:var(--muted)}.toast{position:fixed;left:50%;bottom:max(120px,calc(env(safe-area-inset-bottom) + 110px));transform:translate(-50%,12px);opacity:0;pointer-events:none;z-index:20;background:#233d51f5;color:#fff;border-radius:12px;padding:12px 17px;width:max-content;max-width:min(90vw,440px);font-size:15px;line-height:1.6;transition:transform .2s,opacity .2s;box-shadow:0 4px 20px #1a334344}.toast.visible{transform:translate(-50%,0);opacity:1}.connection{padding:10px 20px;background:#f9e9ce;position:absolute;left:10px;right:10px;top:112px;z-index:10;border-radius:12px;box-shadow:0 5px 20px #233d5133}.connection p{font-size:14px;line-height:1.5;margin:0 0 8px}.connection button,.primary{background:var(--blue);color:white;min-height:44px;padding:10px 18px;border-radius:12px}.rain{display:none;position:absolute;inset:-40px;pointer-events:none;opacity:.3;background:repeating-linear-gradient(110deg,transparent 0,transparent 48px,#d6edff 49px,#d6edff 50px,transparent 51px,transparent 89px);background-size:100px 140px;animation:rain .7s linear infinite}.raining:not(.home-scene) .rain{display:block}.night-stars{display:none;position:absolute;top:24%;left:20%;color:#fff5bc;letter-spacing:5px;animation:glow 4s ease-in-out infinite;pointer-events:none}.night:not(.home-scene) .night-stars{display:block}dialog{border:1px solid #d5d7ce;border-radius:24px 24px 0 0;background:var(--paper);color:var(--ink);padding:0 20px max(24px,env(safe-area-inset-bottom));max-width:500px;width:100%;max-height:82svh;margin:auto auto 0;box-shadow:0 -10px 50px #1c36433d}dialog::backdrop{background:#15334785;backdrop-filter:blur(3px)}.sheet-head{display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;background:var(--paper);padding:15px 0 10px;z-index:2}.sheet-head h2{font-size:21px;margin:0}.sheet-head button{background:#ebece5;border-radius:50%;height:42px;width:42px;font-size:25px}.intro{color:var(--muted);font-size:14px;line-height:1.7;margin:4px 0 16px}.map-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.area-card{background:#e8ece8;border:1px solid #cbd4d3;border-radius:15px;padding:0;overflow:hidden;text-align:left;position:relative}.area-card img{height:112px;width:100%;object-fit:cover;display:block}.area-card strong{display:block;font-size:17px;padding:8px 11px 0}.area-card small{display:block;font-size:12px;padding:3px 11px 10px;color:#627783}.area-card[aria-disabled=true] img{filter:saturate(.1);opacity:.5}.area-card.active{outline:3px solid #688b96}.area-card[aria-disabled=true]{cursor:default}.explore-button{margin-top:16px;width:100%}.collection-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.collect-item{border:1px solid var(--edge);border-radius:12px;text-align:center;padding:12px 5px;background:#fffdf8;min-height:92px}.collect-item span{display:block;font-size:30px;margin-bottom:5px}.collect-item strong{font-size:13px;font-weight:500}.collect-item.missing{background:#efefe8;color:#89908b}.collect-item.missing span{font-size:27px}.section-label{font-size:17px;margin:22px 0 12px}.decor-item{display:flex;align-items:center;gap:12px;border-top:1px solid #e3e0d7;padding:12px 0}.decor-item>span{font-size:29px}.decor-item strong{font-size:15px;flex:1}.decor-item button{background:#e2eaf0;border:1px solid #bbceda;padding:8px 12px;min-height:44px;border-radius:10px;font-size:14px}.journal-entry{border-left:2px solid #c0d0d4;margin:0 0 0 5px;padding:0 0 18px 18px;font-size:15px;line-height:1.7}.journal-entry time{display:block;font-size:12px;color:var(--muted)}.event-art{font-size:42px;margin:7px 0 12px}.event-body{font-size:17px;line-height:1.8}.choice{width:100%;display:block;text-align:left;padding:15px;background:#fffdf7;border:1px solid #c7d0ca;border-radius:13px;margin:10px 0;font-size:16px}.choice:active{background:#e4eceb}input{font:inherit;padding:12px;border:1px solid #b5c6cd;border-radius:10px;width:100%;color:var(--ink);background:#fff;min-height:48px}.rename-form{display:grid;gap:15px}.help-text{font-size:15px;line-height:1.9}.help-text p{margin:0 0 14px}.play-field{height:275px;border-radius:16px;background:#e4ece9;position:relative;overflow:hidden;border:1px solid #bfd1d1}.toy{width:64px;height:64px;position:absolute;background:#fffdf1;border:2px solid #7998a3;border-radius:50%;font-size:34px;transition:left .15s,top .15s}.play-count{text-align:center;font-size:16px;padding:10px}.play-complete{height:100%;display:grid;place-items:center;padding:20px;text-align:center;font-size:18px;line-height:1.8}.sheet-footer{margin-top:15px;display:block;font-size:12px;color:var(--muted);line-height:1.7}@keyframes breathe{50%{transform:translateY(-2px) scale(1.02)}}@keyframes bounce{50%{transform:translateY(-14px) rotate(-3deg)}}@keyframes glow{50%{opacity:.4}}@keyframes float{to{transform:translateY(-15px);opacity:0}}@keyframes rain{to{background-position:-25px 140px}}@media(min-width:700px){body{padding:20px}.game-shell{border-radius:25px;overflow:hidden;min-height:0;max-height:none}.scene{height:min(52vh,470px)}dialog{margin:auto;border-radius:24px;max-height:85vh}}@media(max-height:710px) and (max-width:699px){.topbar{height:45px}.petbar{height:43px}.scene{height:max(230px,calc(100svh - 315px))}.needs{padding-top:10px}.care button{height:61px}.bottom-nav button{min-height:44px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}[hidden]{display:none!important}
/* Flat picture-book artwork and expressive companion poses. */
.scene{border:2px solid #374c59;border-radius:22px 19px 23px 18px;background:#e7f0dc}.scene-art{object-position:center 56%}.scene.pond-scene .scene-art{object-position:center 60%;transform:none}.worldbar>span{border:1.5px solid #526372;box-shadow:0 2px 0 #30404c22;background:#fffdf5f5}.worldbar{top:10px;left:10px;right:10px;gap:5px}.worldbar>span{padding:5px 8px}.cat-zone{width:146px;bottom:14%;transition:left 2.3s linear,bottom .8s ease;--facing:1;z-index:2}.cat-button,.cat-zone.sleeping .cat-button{height:142px;filter:none;display:flex;align-items:flex-end;justify-content:center}.cat-button img,.cat-zone.happy .cat-button img{height:100%;width:100%;object-fit:contain;animation:cat-breathe 3s ease-in-out infinite;transform-origin:50% 86%;transform:scaleX(var(--facing))}.cat-zone[data-activity=walk] .cat-button img{animation:walk-bob .38s ease-in-out infinite}.cat-zone[data-activity=eat] .cat-button img{animation:nibble .48s ease-in-out infinite}.cat-zone[data-activity=brush] .cat-button img{animation:brush-wiggle .8s ease-in-out infinite}.cat-zone[data-activity=love] .cat-button img{animation:love-wiggle 1s ease-in-out infinite}.cat-zone[data-activity=play] .cat-button img,.cat-zone[data-activity=happy] .cat-button img{animation:happy-hop .7s ease-in-out infinite}.cat-zone[data-activity=roll] .cat-button img{animation:roll-wiggle 1.2s ease-in-out infinite}.speech{border:1.5px solid #374c59;border-radius:17px 16px 14px 11px;padding:6px 10px;background:#fffdf5;max-width:245px;white-space:normal;text-align:center;min-width:140px;line-height:1.45;bottom:94%;font-size:14px}.speech:after{border-top-color:#fffdf5}.cat-affection{pointer-events:none;position:absolute;left:32%;top:12px;color:#e36b7e;font-size:23px;opacity:0;font-weight:700}.cat-zone[data-activity=love] .cat-affection,.cat-zone[data-activity=happy] .cat-affection{animation:heart-rise 1.3s ease-out infinite}.sleep-z{right:12px;top:35px;color:#466385;text-shadow:0 1px #fff}.scene-spot{z-index:3}.scene-spot span{background:#fffdf5eF;color:#334b5c;text-shadow:none;border:1.5px solid #506172}.scene-spot i{color:#ffefaa;text-shadow:0 1px 2px #604b36}.spot-one{top:32%;left:3%}.spot-two{top:45%;right:1%}.event-peek{display:flex;align-items:center;gap:9px;z-index:4;padding:5px 10px 5px 5px;bottom:36px;border:2px solid #7b6251;background:#fffaf0}.event-peek img{height:43px;width:51px;object-fit:cover;border-radius:8px}.event-peek strong{flex:1;font-size:14px;font-weight:600}.event-peek span{float:none;font-size:13px}.care{gap:7px}.care button{background:#fffdf5;border:1.5px solid #5c6b70;border-radius:15px 13px 17px 12px;gap:0;height:72px;box-shadow:0 3px 0 #d1dbdc}.care button img{height:43px;width:57px;object-fit:contain}.care button:hover{background:#f3f8ef}.toast{display:flex;align-items:center;gap:11px;background:#fffaf2;color:#2c4352;border:2px solid #486071;box-shadow:0 5px 0 #243d5322}.toast img{height:60px;width:63px;object-fit:contain;border-radius:8px;flex-shrink:0}.toast span{line-height:1.6}.needs meter::-webkit-meter-optimum-value{background:#749e9a}#mood::-webkit-meter-optimum-value{background:#d69c8c}#clean::-webkit-meter-optimum-value{background:#85a5c4}#energy::-webkit-meter-optimum-value{background:#c5a16c}.event-illustration{width:100%;height:clamp(180px,30svh,240px);object-fit:contain;display:block;background:#f5f1e4;border:1.5px solid #777566;border-radius:16px}.event-body{font-size:16px;line-height:1.7;margin:12px 0}.choice{display:flex;align-items:center;gap:10px;padding:5px 13px;border:1.5px solid #6b807c;min-height:50px}.choice img{width:43px;height:43px;object-fit:contain;flex-shrink:0}.choice span{line-height:1.5}.sheet-footer{margin-top:10px}.result-message{display:flex;gap:12px;align-items:center}.result-message>img{width:88px;height:88px;object-fit:contain;flex-shrink:0}.result-message p{font-size:16px;line-height:1.7}.result-done{width:100%;margin-top:8px}.journal-entry{display:flex;gap:12px;align-items:center;border-left:0;border-bottom:1px dashed #b4c3c4;padding:12px 0;margin:0}.journal-entry>img{width:78px;height:78px;object-fit:contain;background:#f1efe2;border-radius:12px;border:1px solid #c5cec4;flex-shrink:0}.journal-entry>div{flex:1;font-size:14px}.journal-entry time{margin-bottom:3px}.play-field{background:#f0f3df url('../assets/days/cute/places/home.webp') center 65%/cover;isolation:isolate;border:2px solid #4d6370}.play-field:before{content:'';position:absolute;inset:0;background:#fffcef88;z-index:-1}.play-cat{width:115px;height:115px;object-fit:contain;position:absolute;left:20%;top:48%;transition:left .45s ease-out,top .45s ease-out;pointer-events:none}.play-cat.leaping{animation:chase-hop .5s ease}.toy{background:none;border:0;width:65px;height:65px;padding:2px;filter:drop-shadow(0 3px 0 #7487873d);z-index:2}.toy img{width:100%;height:100%;object-fit:contain}.play-complete{display:flex;flex-direction:column;justify-content:center;gap:3px;background:#fff9e8bb;padding:10px}.play-complete>img{width:145px;height:145px;object-fit:contain}.play-complete strong{font-size:19px}.play-complete span{font-size:15px}.area-card{border:1.5px solid #536a70}.area-card img{height:118px}.scene-caption{font-size:12px;background:linear-gradient(transparent,#284a53c4)}
@keyframes cat-breathe{50%{transform:scaleX(var(--facing)) scaleY(1.025)}}@keyframes walk-bob{50%{transform:scaleX(var(--facing)) translateY(-3px)}}@keyframes nibble{50%{transform:translateY(2px) rotate(1deg)}}@keyframes brush-wiggle{50%{transform:rotate(-3deg)}}@keyframes love-wiggle{25%{transform:rotate(-4deg)}75%{transform:rotate(4deg)}}@keyframes happy-hop{50%{transform:translateY(-9px)}}@keyframes roll-wiggle{25%{transform:rotate(-7deg)}75%{transform:rotate(7deg)}}@keyframes heart-rise{0%{opacity:0;transform:translateY(5px) scale(.7)}40%{opacity:1}100%{opacity:0;transform:translateY(-28px) scale(1.1)}}@keyframes chase-hop{50%{transform:translateY(-25px) rotate(-9deg)}}
@media(max-height:710px) and (max-width:699px){.care button{height:63px}.care button img{height:36px}.cat-zone{width:127px}.cat-button,.cat-zone.sleeping .cat-button{height:125px}.event-illustration{height:155px}.sheet-head{padding-top:10px}.event-body{margin:9px 0}.choice{margin:7px 0}}
@media(prefers-reduced-motion:reduce){.cat-button img,.cat-affection,.play-cat,.cat-zone{animation:none!important;transition:none!important}.cat-zone[data-activity=love] .cat-affection{opacity:1}}
.area-card .area-story-count{padding-top:0;color:#456b74;font-size:12px}.area-card small+.area-story-count{margin-top:-5px;padding-bottom:10px}
