:root {
  --ink: #34364a; --muted: #7c7890; --cream: #fff9ed; --paper: #f8eddc;
  --rose: #dc7e88; --rose-dark: #aa5967; --pink: #f3b5b4; --blue: #86abc2;
  --blue-dark: #527a96; --mint: #80b49e; --gold: #d8a94d; --brown: #795c55;
  --shadow: 0 12px 30px rgba(70, 56, 72, .14), 0 2px 0 rgba(70, 56, 72, .09);
  --pixel: 3px;
}

* { box-sizing: border-box; }
html { min-width: 320px; min-height: 100%; background: #d9c9ca; }
body { min-width: 320px; min-height: 100vh; margin: 0; overflow-x: hidden; color: var(--ink); font-family: "Yu Gothic", "Hiragino Kaku Gothic ProN", system-ui, sans-serif; background-color: #c8bbc5; background-image: repeating-conic-gradient(rgba(255,255,255,.09) 0 25%, transparent 0 50%) 0 0 / 8px 8px, linear-gradient(90deg, #c1b3c0 0 18%, #d7c8c5 18% 82%, #b7b5c2 82%); }
button, input { font: inherit; }
button { color: inherit; }
button:focus-visible { outline: 3px solid #596ca5; outline-offset: 3px; }

.game-shell { width: min(1480px, 100%); min-height: 100vh; margin: auto; padding: 18px 24px 22px; }
.game-header { display: grid; grid-template-columns: 1fr auto auto; align-items: center; gap: 20px; height: 68px; margin-bottom: 16px; padding: 0 14px; border-bottom: 2px solid rgba(83, 66, 76, .15); }
.brand { display: flex; align-items: center; gap: 12px; color: inherit; text-decoration: none; }
.brand b { display: block; font-family: Georgia, serif; font-size: 22px; letter-spacing: .17em; }
.brand small { display: block; color: var(--muted); font-size: 9px; font-weight: 700; letter-spacing: .2em; }
.brand__bobbin { position: relative; width: 24px; height: 34px; border: 4px solid var(--brown); border-width: 4px 7px; background: repeating-linear-gradient(0deg, var(--pink) 0 3px, var(--rose) 3px 6px); box-shadow: 3px 3px 0 rgba(63, 49, 56, .15); }
.brand__bobbin::before, .brand__bobbin::after { position: absolute; left: -10px; width: 30px; height: 4px; background: var(--brown); content: ""; }
.brand__bobbin::before { top: -4px; } .brand__bobbin::after { bottom: -4px; }
.resources { display: flex; gap: 8px; }
.resource { display: inline-flex; min-height: 36px; padding: 6px 12px; align-items: center; gap: 5px; border: 1px solid rgba(83, 66, 76, .18); background: rgba(255, 249, 237, .68); box-shadow: inset 0 0 0 3px rgba(255,255,255,.3); font-size: 12px; }
.resource b { font-size: 14px; font-variant-numeric: tabular-nums; }
.icon { width: 16px; height: 16px; margin-right: 2px; display: inline-block; }
.icon--sun { border: 3px dotted var(--rose); border-radius: 50%; background: var(--gold); }
.icon--coin { border: 3px double #927039; border-radius: 50%; background: #e8c261; }
.icon--thread { background: repeating-linear-gradient(0deg, var(--blue-dark) 0 2px, #b9d1dc 2px 4px); border: 3px solid var(--brown); border-width: 3px 5px; }
.icon-button { width: 38px; height: 38px; border: 1px solid rgba(83, 66, 76, .3); background: var(--cream); box-shadow: 3px 3px 0 rgba(63,49,56,.13); font-weight: 900; cursor: pointer; }

.game-grid { display: grid; grid-template-columns: 266px minmax(480px, 1fr) 252px; gap: 18px; min-height: calc(100vh - 190px); }
.card { position: relative; min-width: 0; padding: 22px 19px; border: 1px solid rgba(83, 66, 76, .3); background: var(--cream); box-shadow: var(--shadow), inset 0 0 0 5px rgba(225, 177, 158, .12); }
.card::before { position: absolute; inset: 7px; border: 1px dashed rgba(170, 89, 103, .35); content: ""; pointer-events: none; }
.card__heading { position: relative; padding-bottom: 18px; text-align: center; }
.card__heading::after { position: absolute; right: 8px; bottom: 5px; left: 8px; height: 5px; background: radial-gradient(circle, var(--rose) 0 2px, transparent 2.3px) 0 0 / 9px 5px repeat-x; content: ""; opacity: .65; }
.eyebrow { color: var(--rose-dark); font-family: Georgia, serif; font-size: 9px; font-weight: 800; letter-spacing: .2em; }
.card h1, .card h2, .modal h2 { margin: 4px 0 0; font-family: Georgia, "Yu Mincho", serif; letter-spacing: .09em; }
.card h1 { font-size: 27px; } .card h2 { font-size: 22px; }
.card__heading p { margin: 3px 0 0; color: var(--muted); font-size: 11px; }
.edit-name { margin-left: 5px; padding: 3px; border: 0; background: none; color: var(--rose-dark); font-size: 13px; cursor: pointer; }
.xp-row { display: flex; justify-content: space-between; margin: 12px 2px 4px; color: var(--muted); font-size: 9px; font-weight: 700; }
.meter { height: 9px; overflow: hidden; border: 1px solid rgba(52, 54, 74, .28); background: #e9dfd5; box-shadow: inset 1px 1px 0 rgba(52,54,74,.12); }
.meter i { display: block; height: 100%; background: repeating-linear-gradient(90deg, var(--pink) 0 5px, var(--rose) 5px 7px); transition: width .45s ease; }
.meter--xp { height: 6px; margin-bottom: 18px; }
.meter--xp i { background: repeating-linear-gradient(90deg, var(--gold) 0 5px, #f0ce84 5px 7px); }
.evolution-track{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin:0 0 15px;padding:8px 0 12px;border-bottom:1px dashed rgba(125,120,144,.28)}.evolution-track::before{position:absolute;top:29px;right:12%;left:12%;height:3px;background:repeating-linear-gradient(90deg,#d7c8bd 0 5px,transparent 5px 8px);content:""}.evolution-step{position:relative;z-index:1;display:grid;place-items:center}.evolution-step span{display:grid;width:38px;height:38px;place-items:center;border:2px solid #c5b4aa;background:#eee2d7;clip-path:polygon(5px 0,calc(100% - 5px) 0,calc(100% - 5px) 3px,100% 3px,100% calc(100% - 5px),calc(100% - 3px) calc(100% - 5px),calc(100% - 3px) 100%,3px 100%,3px calc(100% - 5px),0 calc(100% - 5px),0 3px,5px 3px)}.evolution-step img{width:34px;height:34px;object-fit:contain;image-rendering:pixelated}.evolution-step small{margin-top:3px;color:var(--muted);font-size:7px;font-weight:800}.evolution-step.is-locked img{filter:grayscale(1);opacity:.2}.evolution-step.is-locked span::after{position:absolute;color:#8c7e86;font-size:11px;content:"×"}.evolution-step.is-unlocked span{background:#f8e8dc}.evolution-step.is-current span{border-color:var(--rose-dark);background:#f6d4d2;box-shadow:2px 2px 0 rgba(170,89,103,.25)}.evolution-step.is-current small{color:var(--rose-dark)}
.stats { display: grid; gap: 14px; padding: 10px 0; }
.stat-row { display: grid; grid-template-columns: 23px 58px 1fr 25px; align-items: center; gap: 6px; font-size: 11px; font-weight: 700; }
.stat-row > b { color: var(--muted); font-size: 10px; text-align: right; }
.stat-row__icon { display: grid; width: 22px; height: 22px; place-items: center; background: var(--pink); color: white; font-size: 10px; }
.stat-row__icon--happy { background: var(--gold); }.stat-row__icon--energy { background: var(--blue); }.stat-row__icon--clean { background: var(--mint); }.stat-row__icon--bond { background: #ad88b5; }
.meter__happy { background: repeating-linear-gradient(90deg,#e6bd62 0 5px,#d39d3c 5px 7px)!important; }.meter__energy { background: repeating-linear-gradient(90deg,#90b9d0 0 5px,#648fa8 5px 7px)!important; }.meter__clean { background: repeating-linear-gradient(90deg,#8fc6ad 0 5px,#5e9c82 5px 7px)!important; }.meter__bond { background: repeating-linear-gradient(90deg,#bd9bc2 0 5px,#90699a 5px 7px)!important; }
.today-note { position: absolute; right: 18px; bottom: 20px; left: 18px; padding: 20px 15px 14px; transform: rotate(-1deg); background: #f4e4ad; box-shadow: 3px 4px 0 rgba(90,67,56,.12); font-size: 11px; }
.today-note b { display: block; color: #8a693b; font-size: 9px; letter-spacing: .1em; }.today-note p { margin: 4px 0 0; }
.today-note__pin { position: absolute; top: 6px; left: 50%; width: 7px; height: 7px; border-radius: 50%; background: var(--rose); box-shadow: 1px 1px 0 rgba(0,0,0,.2); }

.room { position: relative; min-height: 570px; overflow: hidden; border: 3px solid #75636e; background-color: #d9d2da; background-image: linear-gradient(#d9d2da 0 68%, #b99588 68%); box-shadow: 7px 7px 0 rgba(63,49,56,.14), inset 0 0 0 6px rgba(255,255,255,.2); image-rendering: pixelated; }
.room::before { position: absolute; inset: 0 0 32% 0; background-image: repeating-conic-gradient(rgba(255,255,255,.18) 0 25%, transparent 0 50%), linear-gradient(90deg, transparent 0 63px, rgba(93,78,96,.1) 63px 65px), linear-gradient(0deg, transparent 0 63px, rgba(93,78,96,.08) 63px 65px); background-position: 0 0; background-size: 8px 8px, 65px 65px, 65px 65px; content: ""; opacity: .75; }
.room::after { position: absolute; right: 0; bottom: 0; left: 0; height: 32%; background-color: #b99588; background-image: linear-gradient(90deg, transparent 0 70px, rgba(83,57,52,.2) 70px 74px), linear-gradient(0deg, transparent 0 42px, rgba(255,235,218,.14) 42px 45px), repeating-conic-gradient(rgba(83,57,52,.06) 0 25%, transparent 0 50%); background-size: 74px 100%, 100% 45px, 10px 10px; content: ""; }
.room__sky { position: absolute; inset: 17px; border: 2px dashed rgba(255,255,255,.32); pointer-events: none; }
.room__sky::before,.room__sky::after{position:absolute;width:10px;height:10px;background:rgba(255,255,255,.24);box-shadow:10px 0 0 rgba(255,255,255,.24),20px 0 0 rgba(255,255,255,.24),30px 0 0 rgba(255,255,255,.24),10px -10px 0 rgba(255,255,255,.24),20px -10px 0 rgba(255,255,255,.24);content:""}.room__sky::before{top:20%;left:23%}.room__sky::after{top:42%;right:25%;transform:scale(.7)}
.room__sky span { position: absolute; width: 5px; height: 5px; background: rgba(255,255,255,.7); box-shadow: 8px 5px 0 rgba(255,255,255,.4), -6px 10px 0 rgba(255,255,255,.5); transform: rotate(45deg); animation: twinkle 2.5s infinite alternate; }.room__sky span:nth-child(1){top:14%;left:38%}.room__sky span:nth-child(2){top:30%;right:18%;animation-delay:.7s}.room__sky span:nth-child(3){top:52%;left:16%;animation-delay:1.2s}
.room__window { position: absolute; top: 54px; right: 9%; width: 132px; height: 156px; border: 8px solid #765a52; outline: 4px solid #5d4745; outline-offset: -4px; background-color: #9bbfd0; background-image: repeating-conic-gradient(rgba(255,255,255,.13) 0 25%,transparent 0 50%),linear-gradient(#8eb7cc 0 62%,#c9d3ce 62%); background-size: 8px 8px,100% 100%; box-shadow: 8px 8px 0 rgba(65,49,52,.16); image-rendering:pixelated; }
.room__window::before, .room__window::after { position: absolute; z-index:2; background: #f9edd9; box-shadow:inset 2px 0 0 rgba(118,90,82,.18); content:""; }.room__window::before{top:46%;left:0;width:100%;height:8px}.room__window::after{top:0;left:46%;width:8px;height:100%}
.room__window span { position: absolute; z-index: 1; right: 8px; bottom: 10px; width: 48px; height: 32px; background: #f4e4ad; clip-path: polygon(0 100%,0 75%,8% 75%,8% 58%,17% 58%,17% 42%,25% 42%,25% 58%,42% 58%,42% 75%,50% 75%,50% 42%,58% 42%,58% 25%,67% 25%,67% 8%,75% 8%,75% 25%,83% 25%,83% 42%,92% 42%,92% 58%,100% 58%,100% 100%); }
.room__shelf { position: absolute; top: 110px; left: 8%; display: flex; width: 112px; height: 46px; padding:0 8px; align-items: flex-end; gap: 6px; border-bottom: 8px solid #684c47; filter:drop-shadow(5px 5px 0 rgba(65,49,52,.14)); image-rendering:pixelated; }
.room__shelf::before,.room__shelf::after{position:absolute;bottom:-17px;width:8px;height:12px;background:#684c47;content:""}.room__shelf::before{left:8px}.room__shelf::after{right:8px}
.room__shelf i { position:relative;width: 18px; height: 34px; border: 3px solid #674b4a; border-bottom-width:2px;background:linear-gradient(90deg,#d27882 0 55%,#e89aa0 55% 75%,#be6772 75%); box-shadow:inset 0 4px 0 rgba(255,255,255,.22) }.room__shelf i:nth-child(2){height:27px;background:linear-gradient(90deg,#7fa8bd 0 60%,#b6ccda 60% 78%,#638ba3 78%)}.room__shelf i:nth-child(3){width:30px;height:21px;background:linear-gradient(0deg,#c3913f 0 28%,#e0bb66 28% 75%,#c3913f 75%)}
.room__plant { position: absolute; z-index: 2; bottom: 29%; left: 7%; width: 64px; height: 82px; filter:drop-shadow(5px 5px 0 rgba(65,49,52,.14)); image-rendering:pixelated; }
.room__plant::before{position:absolute;right:5px;bottom:0;left:5px;height:34px;background:#9c6658;clip-path:polygon(0 0,100% 0,100% 18%,91% 18%,91% 100%,9% 100%,9% 18%,0 18%);content:""}
.room__plant::after{position:absolute;right:16px;bottom:3px;left:16px;height:7px;background:#754b47;content:""}
.room__plant i { position: absolute; bottom: 31px; left: 23px; width: 24px; height: 43px; background: #668e78; clip-path:polygon(42% 0,75% 0,75% 10%,92% 10%,92% 48%,83% 48%,83% 65%,67% 65%,67% 82%,50% 82%,50% 100%,33% 100%,33% 82%,17% 82%,17% 58%,8% 58%,8% 17%,25% 17%,25% 8%,42% 8%); transform:rotate(-17deg) }.room__plant i:nth-child(2){left:5px;bottom:29px;transform:rotate(-62deg);filter:brightness(.9)}.room__plant i:nth-child(3){left:39px;bottom:28px;transform:rotate(24deg);filter:brightness(1.08)}
.room__rug { position: absolute; z-index: 2; right: 13%; bottom: 7%; left: 13%; height: 25%; border: 7px double #efdcce; background: repeating-linear-gradient(90deg, transparent 0 25px, rgba(78,55,53,.15) 25px 31px), repeating-linear-gradient(0deg, #c97d82 0 22px, #d99a96 22px 28px); box-shadow: 8px 9px 0 rgba(62,48,50,.12); clip-path:polygon(8% 0,92% 0,92% 5%,97% 5%,97% 12%,100% 12%,100% 88%,97% 88%,97% 95%,92% 95%,92% 100%,8% 100%,8% 95%,3% 95%,3% 88%,0 88%,0 12%,3% 12%,3% 5%,8% 5%); }
.room__footer { position:absolute;z-index:8;right:12px;bottom:10px;left:12px;display:flex;justify-content:space-between;color:rgba(255,249,237,.8);font-size:9px;font-weight:800;letter-spacing:.15em;text-transform:uppercase}

.pet-wrap { position: absolute; z-index: 5; bottom: 13%; left: 50%; width: 250px; height: 330px; transform: translateX(-50%); }
.speech { position: absolute; z-index: 8; top: 0; left: 50%; width: max-content; max-width: 260px; padding: 10px 15px; border: 2px solid var(--brown); background: var(--cream); box-shadow: 4px 4px 0 rgba(67,51,55,.15); font-size: 12px; font-weight: 700; transform: translateX(-50%); transition: transform .2s; }
.speech::after { position:absolute;bottom:-10px;left:50%;width:14px;height:14px;border-right:2px solid var(--brown);border-bottom:2px solid var(--brown);background:var(--cream);content:"";transform:translateX(-50%) rotate(45deg) }.speech.is-talking{transform:translateX(-50%) scale(1.04)}
.pet { --pet-scale:1; --accessory-top:-18px; position: absolute; z-index: 3; top: 78px; left: 50%; width: 154px; height: 190px; transform: translateX(-50%) scale(var(--pet-scale)); transform-origin: 50% 100%; animation: idle 2.2s steps(2,end) infinite; }
.pet__sprite { position: absolute; top: -14px; left: 50%; width: 230px; height: 230px; object-fit: contain; image-rendering: pixelated; filter: drop-shadow(7px 9px 0 rgba(58, 43, 48, .11)); transform: translateX(-50%); }
.pet__body { position:absolute;top:31px;left:14px;width:126px;height:132px;background:#f4e7d8;clip-path:polygon(16% 0,84% 0,84% 6%,94% 6%,94% 18%,100% 18%,100% 79%,94% 79%,94% 91%,84% 91%,84% 97%,16% 97%,16% 91%,6% 91%,6% 79%,0 79%,0 18%,6% 18%,6% 6%,16% 6%);box-shadow:inset -15px -10px 0 #dfcbbc}
.pet__ear{position:absolute;z-index:-1;top:18px;width:47px;height:65px;background:#dfcbbc}.pet__ear--left{left:3px;clip-path:polygon(0 0,100% 37%,85% 100%,22% 78%)}.pet__ear--right{right:3px;clip-path:polygon(100% 0,0 37%,15% 100%,78% 78%)}
.pet__face{position:absolute;top:58px;left:39px;width:76px;height:56px}.pet__eye{position:absolute;top:14px;width:9px;height:13px;background:var(--ink);box-shadow:inset 3px 3px 0 white}.pet__eye--left{left:10px}.pet__eye--right{right:10px}.pet__mouth{position:absolute;top:38px;left:33px;width:12px;height:6px;border-right:3px solid var(--rose-dark);border-bottom:3px solid var(--rose-dark);transform:rotate(45deg)}
.pet__arm{position:absolute;z-index:-1;top:91px;width:34px;height:63px;background:#e7d7c8}.pet__arm--left{left:0;transform:rotate(12deg)}.pet__arm--right{right:0;transform:rotate(-12deg)}
.pet__foot{position:absolute;z-index:-1;bottom:4px;width:52px;height:30px;background:#d7c0b0}.pet__foot--left{left:20px}.pet__foot--right{right:20px}
.pet__patch{position:absolute;top:117px;left:65px;width:30px;height:30px;border:3px dashed #ac7b75;background:#db9c98;transform:rotate(4deg)}
.pet__accessory{position:absolute;z-index:5;top:var(--accessory-top);left:50%;width:82px;height:82px;object-fit:contain;image-rendering:pixelated;filter:drop-shadow(3px 4px 0 rgba(58,43,48,.12));transform:translateX(-50%)}
.pet__accessory[hidden]{display:none}
.pet__accessory[data-item="crown"]{top:calc(var(--accessory-top) - 12px);width:76px;height:76px}.pet__accessory[data-item="sprout"]{top:calc(var(--accessory-top) - 8px);width:74px;height:74px}.pet[data-pose="sleep"] .pet__accessory{visibility:hidden}
.pet[data-stage="3"]{--pet-scale:1.05;--accessory-top:-18px}.pet[data-stage="6"]{--pet-scale:1.11;--accessory-top:-19px}.pet[data-stage="10"]{--pet-scale:1.16;--accessory-top:-17px;filter:drop-shadow(0 0 10px rgba(255,230,149,.75))}
.pet-shadow { position:absolute;z-index:2;bottom:29px;left:50%;width:150px;height:32px;border:0;border-radius:50%;background:rgba(61,49,57,.18);transform:translateX(-50%);cursor:pointer }.pet-shadow::after{position:absolute;inset:-180px -40px -10px;content:""}
.pet.is-feed{animation:hop .4s steps(2) 2}.pet.is-play{animation:spin .8s steps(5)}.pet.is-clean{animation:wiggle .55s steps(3)}.pet.is-walk{animation:hop .4s steps(2) 2}.pet.is-sleep{animation:squish .8s}.pet.is-pet{animation:wiggle .55s steps(3)}
.sparkles i { position:absolute;z-index:10;top:48%;left:50%;color:#ffe086;font-style:normal;animation:burst .8s ease-out forwards;transform:rotate(calc(var(--i) * 52deg)) translateY(-30px); }

.care-card { padding-right: 16px; padding-left: 16px; }.care-actions{display:grid;gap:10px;margin-top:15px}.care-button{display:grid;grid-template-columns:34px 1fr auto;align-items:center;gap:9px;width:100%;min-height:57px;padding:8px 9px;border:1px solid rgba(83,66,76,.3);background:#f8eee2;box-shadow:3px 3px 0 rgba(63,49,56,.1);text-align:left;cursor:pointer;transition:transform .15s,background .15s}.care-button:hover:not(:disabled){background:white;transform:translateY(-2px)}.care-button:active:not(:disabled){transform:translate(2px,2px);box-shadow:1px 1px 0 rgba(63,49,56,.1)}.care-button:disabled{opacity:.42;cursor:not-allowed}.care-button>i{display:grid;width:32px;height:32px;place-items:center;background:var(--pink);color:white;font-style:normal}.care-button:nth-child(2)>i{background:var(--gold)}.care-button:nth-child(3)>i{background:var(--mint)}.care-button:nth-child(4)>i{background:var(--blue)}.care-button--sleep{margin-top:5px;background:#59627c;color:white}.care-button--sleep>i{background:#414a65}.care-button span b,.care-button span small{display:block}.care-button span b{font-size:12px}.care-button span small{margin-top:2px;color:var(--muted);font-size:9px}.care-button--sleep span small{color:#d8dbe5}.care-button em{color:var(--rose-dark);font-size:9px;font-style:normal;font-weight:800}.care-button--sleep em{color:white;font-size:16px}.care-hint{margin:14px 0 0;color:var(--muted);font-size:9px;text-align:center}
.dock { display: flex; width: min(530px, 100%); height: 62px; margin: 17px auto 0; padding: 5px; justify-content: center; border: 1px solid rgba(83,66,76,.3); background:rgba(255,249,237,.92);box-shadow:var(--shadow)}.dock__button{position:relative;display:grid;min-width:112px;padding:4px 14px;place-items:center;border:0;border-right:1px dashed rgba(83,66,76,.2);background:none;color:var(--muted);cursor:pointer}.dock__button:last-child{border-right:0}.dock__button i{font-size:17px;font-style:normal}.dock__button span{font-size:9px;font-weight:800;letter-spacing:.12em}.dock__button:hover,.dock__button.is-active{background:rgba(220,126,136,.12);color:var(--rose-dark)}.dock__button.is-active::after{position:absolute;right:18px;bottom:2px;left:18px;height:3px;background:var(--rose);content:""}

.modal { width: min(560px, calc(100% - 28px)); max-height: calc(100vh - 40px); padding: 30px; overflow:auto;border:1px solid rgba(83,66,76,.4);background:var(--cream);box-shadow:0 22px 80px rgba(40,33,47,.35);color:var(--ink);text-align:center}.modal::backdrop{background:rgba(48,43,58,.55);backdrop-filter:blur(3px)}.modal__close{position:absolute;top:10px;right:10px;width:34px;height:34px;border:0;background:#eee1d5;font-size:20px;cursor:pointer}.modal h2{font-size:27px}.modal p{color:var(--muted);font-size:12px;line-height:1.8}.modal__hero{font-size:56px;color:var(--gold);animation:twinkle .6s alternate infinite}.item-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:20px}.item-card{display:grid;min-height:120px;padding:14px;place-items:center;border:1px solid rgba(83,66,76,.25);background:#f5eadd;cursor:pointer}.item-card:not(:disabled):hover{border-color:var(--rose);transform:translateY(-2px)}.item-card:disabled{opacity:.46}.item-card.is-selected{border:2px solid var(--rose);opacity:1;background:#f8deda}.item-card i{font-size:30px;color:var(--rose-dark);font-style:normal}.item-card b,.item-card small{display:block}.item-card small{color:var(--muted);font-size:9px}.primary-button{min-width:150px;padding:11px 20px;border:1px solid #75454f;background:var(--rose);box-shadow:3px 3px 0 #75454f;color:white;font-weight:800;cursor:pointer}.album-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:20px 0}.album-summary div{padding:13px 5px;background:#eee2d7}.album-summary b,.album-summary span{display:block}.album-summary b{font-family:Georgia,serif;font-size:25px;color:var(--rose-dark)}.album-summary span{font-size:8px}.history{margin:0 0 20px;padding:0;list-style:none;text-align:left}.history li{padding:9px 12px;border-bottom:1px dashed #d2c1b7;font-size:11px}.history li::before{margin-right:8px;color:var(--gold);content:"✦"}.text-button{padding:7px;border:0;background:none;color:var(--muted);font-size:10px;text-decoration:underline;cursor:pointer}.toast{position:fixed;z-index:30;bottom:20px;left:50%;padding:11px 18px;background:#37394b;color:white;box-shadow:4px 4px 0 rgba(0,0,0,.2);font-size:11px;font-weight:700;opacity:0;pointer-events:none;transform:translate(-50%,20px);transition:.25s}.toast.is-visible{opacity:1;transform:translate(-50%,0)}
.item-card img{display:block;width:70px;height:70px;object-fit:contain;image-rendering:pixelated;filter:drop-shadow(3px 3px 0 rgba(58,43,48,.1))}.item-card__empty{display:grid!important;width:54px;height:54px;place-items:center;border:2px dashed #b8a89e;color:var(--muted)!important;font-size:26px!important}

@keyframes idle{from{margin-top:0}to{margin-top:-4px}}@keyframes hop{50%{transform:translateX(-50%) translateY(-25px) scale(var(--pet-scale))}}@keyframes spin{to{transform:translateX(-50%) rotate(360deg) scale(var(--pet-scale))}}@keyframes wiggle{25%{transform:translateX(-50%) rotate(-7deg) scale(var(--pet-scale))}75%{transform:translateX(-50%) rotate(7deg) scale(var(--pet-scale))}}@keyframes squish{50%{transform:translateX(-50%) scale(var(--pet-scale)) scale(1.12,.82)}}@keyframes twinkle{to{opacity:.25;transform:rotate(45deg) scale(.7)}}@keyframes burst{to{opacity:0;transform:rotate(calc(var(--i) * 52deg)) translateY(-125px) scale(1.5)}}

@media (max-width: 1050px) {
  .game-grid{grid-template-columns:220px minmax(430px,1fr)}.care-card{grid-column:1/-1}.care-actions{grid-template-columns:repeat(5,1fr)}.care-button{grid-template-columns:32px 1fr}.care-button em{display:none}.today-note{position:relative;right:auto;bottom:auto;left:auto;margin-top:22px}.room{min-height:610px}
}
@media (max-width: 720px) {
  .game-shell{padding:8px 8px 92px}.game-header{grid-template-columns:1fr auto;height:auto;min-height:64px;margin-bottom:8px;padding:8px}.brand small{display:none}.brand b{font-size:17px}.resources{grid-column:1/-1;grid-row:2;justify-content:center}.resource{min-height:30px;padding:4px 9px}.icon-button{grid-column:2;grid-row:1}.game-grid{display:flex;flex-direction:column;gap:9px}.room{order:1;width:100%;min-height:500px}.status-card{order:2}.care-card{order:3}.status-card{padding-bottom:20px}.today-note{display:none}.stats{grid-template-columns:1fr 1fr}.stat-row{grid-template-columns:22px 52px 1fr}.stat-row>b{display:none}.care-actions{grid-template-columns:1fr 1fr}.care-button--sleep{grid-column:1/-1}.room__window{right:6%;width:105px;height:126px}.room__shelf{left:6%}.pet-wrap{bottom:11%;transform:translateX(-50%) scale(.9)}.dock{position:fixed;z-index:20;right:0;bottom:0;left:0;width:100vw;max-width:100vw;height:70px;margin:0;border-width:1px 0 0}.dock__button{width:25%;min-width:0;flex:0 0 25%;padding:4px}.modal{padding:27px 18px}.toast{bottom:82px;white-space:nowrap}
}
@media (max-width: 410px) {.room{min-height:460px}.pet-wrap{bottom:5%;transform:translateX(-50%) scale(.82)}.speech{font-size:11px}.stats{grid-template-columns:1fr}.care-button{min-height:55px}.item-grid{grid-template-columns:1fr 1fr}}
@media (prefers-reduced-motion: reduce) {*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
