:root{--ink: #fdf6ec;--muted: #c9c3e6;--night-1: #1d1b3a;--night-2: #2c2a5a;--dawn-1: #ffb46b;--dawn-2: #ffe1a8;--accent: #ffcf5c;--accent-ink: #3a2a00;--card: rgba(255, 255, 255, .08);--card-line: rgba(255, 255, 255, .16);--radius: 18px;--safe-top: var(--safe-area-inset-top, env(safe-area-inset-top, 0px));--safe-right: var(--safe-area-inset-right, env(safe-area-inset-right, 0px));--safe-bottom: var(--safe-area-inset-bottom, env(safe-area-inset-bottom, 0px));--safe-left: var(--safe-area-inset-left, env(safe-area-inset-left, 0px));font-family:"Baloo 2",ui-rounded,system-ui,sans-serif;color:var(--ink);background:var(--night-1)}*{box-sizing:border-box}html,body{margin:0;min-height:100%}body{background:radial-gradient(circle at 50% 0%,var(--night-2),var(--night-1) 70%);min-height:100dvh}button{font:inherit;color:inherit;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}h1,h2,h3,p{margin:0}.screen{max-width:720px;margin:0 auto;min-height:100dvh;padding:calc(16px + var(--safe-top)) calc(16px + var(--safe-right)) calc(16px + var(--safe-bottom)) calc(16px + var(--safe-left));display:flex;flex-direction:column;gap:16px}.stack{display:flex;flex-direction:column;gap:10px;width:min(320px,100%)}.row{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}.muted{color:var(--muted)}.bar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px}.bar>:last-child{justify-self:end}.bar h2{font-size:1.25rem;text-align:center}.link{background:none;border:0;padding:6px;color:var(--muted);justify-self:start;text-decoration:none;white-space:nowrap}.link:hover:not(:disabled){color:var(--ink)}.btn{background:var(--accent);color:var(--accent-ink);border:0;border-radius:999px;padding:10px 22px;font-weight:700;box-shadow:0 4px #c99a2c;transition:transform .1s}.btn:active:not(:disabled){transform:translateY(3px);box-shadow:0 1px #c99a2c}.btn--big{font-size:1.25rem;padding:14px 28px}.btn--small{padding:6px 14px;font-size:.9rem}.btn--ghost{background:var(--card);color:var(--ink);box-shadow:none;border:1px solid var(--card-line)}.btn--night{align-self:center;background:#8f8cff;color:#14123a;box-shadow:0 4px #5e5bc9}.title{align-items:center;justify-content:center;text-align:center;gap:22px}.title__moon{width:88px;animation:bob 4s ease-in-out infinite}.title__scene{display:flex;align-items:flex-end;gap:4px}.title__logo{font-size:clamp(3rem,12vw,5rem);line-height:1;font-weight:800;letter-spacing:-1px}.title__logo span{color:var(--accent)}.title__tag{color:var(--muted);max-width:28ch}.title__foot{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;align-items:center;color:var(--muted);font-size:.9rem}.grid--toys{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}.card{background:var(--card);border:2px solid var(--card-line);border-radius:var(--radius);padding:14px 10px;display:flex;flex-direction:column;align-items:center;gap:4px}.card--toy:hover,.card--selected{border-color:var(--accent)}.card small{color:var(--muted)}.card--locked{opacity:.5}.locked-glyph{position:relative;display:grid;place-items:center}.locked-glyph__lock{position:absolute;font-size:1.8rem}.toy{--size: 120px;position:relative;width:var(--size);height:calc(var(--size) * 1.22)}.toy__art{display:block;width:100%;height:100%;overflow:visible}.toy__zzz{position:absolute;right:-4%;top:0;font-weight:800;color:var(--muted);animation:zzz 2.4s infinite}.toy__zzz span{font-size:.8em;margin-left:2px}.toy--grumpy{animation:shake .35s 2}.toy--happy{animation:bounce .8s ease-in-out infinite}.toy--idle .toy__art{animation:breathe 3.2s ease-in-out infinite;transform-origin:50% 100%}.toy-art--silhouette{filter:brightness(0) invert(1) opacity(.22)}.lovey__glow{animation:glow 2.4s ease-in-out infinite}.item-emoji{display:inline-grid;place-items:center;font-size:2rem;line-height:1}.bedtime__stage{display:grid;place-items:center;padding:20px 0;min-height:250px;background:var(--card);border-radius:var(--radius)}.bedtime__stage .bed{position:relative;left:auto;bottom:auto;transform:none;width:min(90%,280px)}.tabs{display:grid;grid-template-columns:repeat(auto-fit,minmax(68px,1fr));gap:6px}.tab{display:flex;flex-direction:column;align-items:center;gap:2px;background:var(--card);border:2px solid var(--card-line);border-radius:14px;padding:8px 4px 6px;min-height:60px;transition:transform .1s,border-color .1s}.tab:hover{border-color:var(--accent)}.tab:active{transform:scale(.96)}.tab__icon{font-size:1.5rem;line-height:1}.tab__label{font-size:.78rem;font-weight:700;white-space:nowrap}.tab--on{background:var(--ink);color:var(--night-1);border-color:var(--ink)}@media (max-width: 480px){.tabs{grid-template-columns:repeat(4,1fr)}}.swatches{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px}.swatch{display:flex;align-items:center;gap:8px;background:var(--card);border:2px solid transparent;border-radius:12px;padding:8px 10px;text-align:left}.swatch--on{border-color:var(--accent)}.swatch__chip{width:26px;height:26px;border-radius:8px;background:var(--c);flex:none;border:2px solid rgba(255,255,255,.4)}.night{--p: 0;--dawn: 0}.bar--night .clock{font-size:1.6rem;font-weight:800;font-variant-numeric:tabular-nums}.bar--night .clock--trip{display:flex;flex-direction:column;align-items:center;font-size:1.4rem;line-height:1.05;text-align:center}.clock--trip small{font-size:.75rem;font-weight:700;color:var(--muted)}.room{position:relative;--room-h: clamp(300px, min(58dvh, 96vw), 440px);--win-max-h: calc(var(--room-h) * .54);--room-vw: min(1vw, calc(var(--room-h) / 80));height:var(--room-h);border-radius:24px;overflow:hidden;background:linear-gradient(to top,#3b2f4a 0 22%,transparent 22%),linear-gradient(color-mix(in oklab,#34305f,#b98a8a calc(var(--dawn, 0) * 60%)),#2a2750);box-shadow:inset 0 0 80px #00000073}.room--shake{animation:shake .12s 8}.window{position:absolute;left:var(--win-left, 6%);top:7%;width:var(--win-w, min(32%, 190px));aspect-ratio:var(--win-aspect, 1);border:8px solid #6d5a8c;border-radius:var(--win-radius, 14px);overflow:hidden;z-index:1}.window__sky{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(color-mix(in oklab,#0f0e26,var(--dawn-1) calc(var(--dawn, 0) * 100%)),color-mix(in oklab,#2b2960,var(--dawn-2) calc(var(--dawn, 0) * 100%)))}.window__moon{position:absolute;width:30%;left:calc(8% + var(--p) * 55%);top:calc(8% + var(--p) * 30%);opacity:calc(1 - var(--dawn, 0))}.window__sun{position:absolute;width:42%;max-width:70px;left:50%;bottom:calc(-90% + var(--dawn, 0) * 95%);transform:translate(-50%)}.window__stars{position:absolute;inset:6% 6% auto auto;width:70%;opacity:calc(.9 - var(--dawn, 0))}.chicken{position:absolute;line-height:1}.chicken__art{display:block;width:100%;height:auto;overflow:visible}.chicken--window{width:var(--chicken-w, 62%);left:50%;bottom:-90%;transform:translate(-50%);transition:bottom .35s cubic-bezier(.3,1.6,.5,1)}.chicken--show{bottom:-12%}.chicken--flee{bottom:-12%;animation:flee 1.2s .6s ease-in forwards}.speech{position:absolute;z-index:12;left:var(--speech-left, calc(6% + min(32%, 190px) - 14px) );top:var(--speech-top, 9%);max-width:44%;font-size:clamp(.75rem,2.8vw,1rem);font-weight:800;background:#fff;color:#3a2a00;padding:4px 12px;border-radius:14px 14px 14px 4px;border:3px solid #3b2a4a;animation:pop .2s ease-out,shake .12s .2s 6}.chicken--dance{width:min(22%,120px);left:var(--dance-left, 25%);bottom:var(--dance-bottom, 8%);z-index:6;animation:dance .5s ease-in-out infinite alternate;transform-origin:50% 100%}.chicken__sound{animation:blink .25s steps(2) infinite}.chicken__feather{animation:pop .3s ease-out}.chicken__notes{animation:bob .5s ease-in-out infinite}.radio{position:absolute;left:var(--radio-left, 6%);bottom:8%;display:flex;flex-direction:column;align-items:center;gap:2px;font-size:.72rem;font-weight:700;color:var(--muted)}.radio__art{width:clamp(52px,calc(14 * var(--room-vw)),76px);overflow:visible}.radio__stand{width:clamp(64px,calc(18 * var(--room-vw)),96px);height:clamp(40px,calc(11 * var(--room-vw)),60px);margin-top:-4px;background:#7a5f8f;border:3px solid #3b2a4a;border-radius:8px;box-shadow:inset 0 -10px #6a5080;display:grid;place-items:center}.radio__label{font-size:.62rem;background:#3b2a4a;padding:1px 6px;border-radius:6px;white-space:nowrap}.radio--chicken{color:#ffb3c4}.radio--playing .radio__art{animation:bounce .5s infinite}.bed,.play-bed{position:absolute;left:var(--bed-left, 64%);bottom:var(--bed-bottom, 3%);transform:translate(-50%);width:var(--bed-w, clamp(220px, 60%, 340px))}.bed-art{display:block;width:100%;height:auto;overflow:visible}.room--two-beds .bed,.room--two-beds .play-bed{width:var(--bed-w, clamp(110px, 38%, 230px));z-index:2}.room--two-beds .bed--friend{left:var(--bed2-left, 45%);z-index:1}.room--two-beds .bed__grumble{left:var(--bubble-left, 74%)}.room--two-beds .bed--friend .bed__grumble{left:var(--bubble2-left, 74%)}.impact--friend{margin-top:2.2em}.bed__tag{position:absolute;left:20%;top:-4%;transform:translate(-50%);z-index:3;font-size:.7rem;font-weight:800;color:var(--accent-ink);background:var(--accent);border:2px solid #3b2a4a;border-radius:10px;padding:0 8px;white-space:nowrap}.room--two-beds .bed__tag{left:50%;top:-18%}.bed__zzz{right:26%;top:-4%;font-size:1.3rem}.bed--sad .toy-layers{animation:shake .35s 2}.bed--happy .toy-layers{animation:stretch 1.6s ease-in-out infinite;transform-box:fill-box;transform-origin:50% 100%}.fx{position:absolute;left:var(--throw-from, calc(var(--bed-left, 64%) - 4%));bottom:36%;width:clamp(44px,12vw,64px);z-index:10;animation:throw 1.1s cubic-bezier(.2,.7,.4,1) forwards}.fx__art{display:block;width:100%;height:auto;overflow:visible}.fx .item-emoji{font-size:2.6rem}.fx--spin .fx__art,.fx--swoop .fx__art{animation:spin .3s linear infinite}.fx--swoop .fx__art{animation-duration:1.2s}.fx--bounce,.fx--jack,.fx--yoyo{animation:throw-bounce 1.2s forwards}.fx--spray .fx__art,.fx--splash .fx__art,.fx--flash .fx__art,.fx--bubbles .fx__art,.fx--confetti .fx__art,.fx--scatter .fx__art{animation:burst .3s .6s 2 alternate}.fx--ring .fx__art,.fx--rattle .fx__art,.fx--scrub .fx__art,.fx--jingle .fx__art,.fx--clank .fx__art,.fx--boom .fx__art,.fx--toot .fx__art,.fx--squeak .fx__art,.fx--pfft .fx__art{animation:wobble .15s infinite}.fx--flap .fx__art,.fx--flop .fx__art,.fx--tickle .fx__art,.fx--thwump .fx__art{animation:flap .25s infinite alternate}.impact{position:absolute;left:var(--target-x, 22%);top:var(--impact-top, 22%);z-index:11;transform:translate(-50%,-50%) rotate(-8deg);font-weight:800;font-size:clamp(1.1rem,4.5vw,1.7rem);letter-spacing:1px;color:var(--impact);-webkit-text-stroke:1.5px #3b2a4a;paint-order:stroke fill;text-shadow:0 3px 0 #3b2a4a;animation:impact 1s .65s both;pointer-events:none}.panel{background:#141232d9;border:1px solid var(--card-line);border-radius:var(--radius);padding:16px;display:flex;flex-direction:column;gap:12px;text-align:center;animation:pop .25s ease-out}.panel h3{font-size:1.2rem}.panel__kicker{color:var(--accent);font-weight:700;text-transform:uppercase;letter-spacing:1px;font-size:.8rem}.panel--win{background:linear-gradient(#ffcf8a22,#141232d9)}.hint{text-align:center;color:var(--muted)}.tray{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.tray__group{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:6px;padding:6px;border:2px solid transparent;border-radius:16px;background:#ffffff0d;transition:opacity .2s,border-color .2s}.tray__label{grid-column:1 / -1;font-size:.75rem;font-weight:700;color:var(--muted);display:flex;justify-content:center;gap:6px;flex-wrap:wrap}.tray__label em{font-style:normal;color:var(--accent)}.tray__group--flinched{border-color:var(--accent);background:#ffcf5c1f}.tray__group--yawned,.tray__group--no,.tray__group--never{border-style:dashed}.tray__group--yawned .tray__label em,.tray__group--no .tray__label em,.tray__group--never .tray__label em{color:var(--muted)}.tray__group--before{border-color:#ffcf5c55}@media (max-width: 480px){.tray{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.tray__group{padding:4px;gap:4px}.tray__item{font-size:.75rem;padding:6px 2px}.tray__art{width:36px;height:36px}}.clue{font-weight:700;background:#ffffff14;border-radius:12px;padding:8px 12px}.clue--warm{background:#ffcf5c26;color:var(--accent)}.clue__journal{font-size:.9rem}.fear-reveal{font-size:.95rem}.fear-reveal__new{color:var(--accent);font-weight:700}.tray__item{background:var(--card);border:2px solid var(--card-line);border-radius:14px;padding:8px 4px;display:flex;flex-direction:column;align-items:center;gap:2px;font-size:.85rem;-webkit-hyphens:auto;hyphens:auto;overflow-wrap:break-word}.tray__item:hover:not(:disabled){border-color:var(--accent);transform:translateY(-2px)}.tray__art{width:44px;height:44px;overflow:visible}.tray__item--used{text-decoration:line-through}.tray__item--used .tray__art{filter:grayscale(1);opacity:.5}.tray__item--out{position:relative;opacity:1}.tray__item--out .tray__art,.tray__item--out>span:not(.tray__out){filter:grayscale(1);opacity:.35}.tray__out{position:absolute;top:2px;right:6px;font-size:.9rem;font-weight:800;color:var(--muted)}.reward{display:flex;flex-direction:column;gap:6px;align-items:center}.reward__credits{font-size:1.8rem;font-weight:800;color:var(--accent)}.reward__gift{background:#ffffff18;border-radius:12px;padding:6px 12px;display:flex;align-items:center;gap:8px}.reward__gift svg{width:36px;height:36px;overflow:visible}.stars{display:inline-flex;gap:2px;color:var(--card-line);letter-spacing:0}.stars .stars__on{color:var(--accent)}.reward__stars{font-size:2rem;line-height:1}.reward__stars .stars__on{animation:pop .3s ease-out both}.reward__stars .stars__on:nth-child(2){animation-delay:.15s}.reward__stars .stars__on:nth-child(3){animation-delay:.3s}.visitor-card__stars{font-size:1.1rem}.reward__streak{font-weight:700;color:var(--accent);margin-top:-4px}.shooting-star{position:absolute;left:var(--fx);top:var(--fy);width:64px;height:64px;margin:-32px 0 0 -32px;padding:0;border:0;background:none;cursor:pointer;z-index:8;touch-action:manipulation;animation:star-fly var(--life) linear both}.shooting-star svg{display:block;width:100%;height:100%;overflow:visible;filter:drop-shadow(0 0 6px #fff1a8aa)}.shooting-star--left svg{transform:scaleX(-1)}.shooting-star:focus-visible{outline:3px solid var(--accent);outline-offset:2px;border-radius:50%}@keyframes star-fly{0%{left:var(--fx);top:var(--fy);opacity:0}8%{opacity:1}85%{opacity:1}to{left:var(--tx);top:var(--ty);opacity:0}}.star-sparkle{position:absolute;left:var(--x);top:var(--y);z-index:8;pointer-events:none;font-weight:800;color:#fff1a8;text-shadow:0 0 6px #ffd95c;white-space:nowrap;animation:star-sparkle .9s ease-out both}@keyframes star-sparkle{0%{opacity:1;transform:translate(-50%,-50%) scale(.8)}to{opacity:0;transform:translate(-50%,-160%) scale(1.25)}}.bed__blanket-slide{transition:transform .3s ease-out}.bed--kicked .bed__blanket-slide{transform:translateY(calc(42px * (1 - var(--tug, 0))));transition-duration:.12s}.bed--sleep.bed--kicked .bed__sleeper{animation:shiver .24s linear infinite}@keyframes shiver{0%,to{transform:translate(-1.5px)}50%{transform:translate(1.5px)}}.bed-art .toy__hand{visibility:hidden}.bed--uncovered .toy__hand,.bed-art--bare .toy__hand{visibility:visible}.bed--uncovered :is(.bed__paw,.bed__lovey),.bed--uncovered .bed-art:not(.bed-art--bare) :is(.toy__thumb,.toy__heart){visibility:hidden}.bed-art :is(.toy__hand,.bed__paw,.bed__lovey,.toy__thumb,.toy__heart){transition:visibility 0s .15s}.bed--kicked .bed-art :is(.toy__hand,.bed__paw,.bed__lovey,.toy__thumb,.toy__heart){transition-delay:0s}.tuck-handle{position:absolute;left:var(--bed-left, 64%);bottom:var(--bed-bottom, 3%);transform:translate(-50%);width:var(--bed-w, clamp(220px, 60%, 340px));aspect-ratio:300 / 232;z-index:7;padding:0;border:0;background:none;cursor:grab;touch-action:none}.tuck-handle:focus-visible{outline:3px solid var(--accent);outline-offset:4px;border-radius:18px}.tuck-handle__cue{position:absolute;left:50%;bottom:2%;translate:-50% 0;white-space:nowrap;background:#ffffffe6;color:#2a2750;font-weight:800;border-radius:999px;padding:4px 12px;box-shadow:0 2px #0003;animation:nudge-up .8s ease-in-out infinite}@keyframes nudge-up{0%,to{translate:-50% 0}50%{translate:-50% -6px}}.lullaby-pad{position:absolute;left:calc(var(--radio-left, 6%) + clamp(64px,calc(18 * var(--room-vw)),96px) / 2);bottom:calc(8% + clamp(96px,calc(28 * var(--room-vw)),140px));width:72px;height:72px;translate:-50% 0;z-index:8;border-radius:50%;border:3px solid #fff1a8aa;background:#2a2750cc;color:#fff1a8;font-size:2.2rem;font-weight:800;line-height:1;display:grid;place-items:center;padding:0;cursor:pointer;touch-action:manipulation;transition:background-color .1s,box-shadow .1s,color .1s}.lullaby-pad--glow{background:#ffd95c;color:#2a2750;box-shadow:0 0 0 6px #ffd95c55,0 0 26px #ffd95c}.lullaby-pad:focus-visible{outline:3px solid var(--accent);outline-offset:3px}@media (prefers-reduced-motion: reduce){.bed__blanket-slide,.bed--kicked .bed__blanket-slide,.bed-art :is(.toy__hand,.bed__paw,.bed__lovey,.toy__thumb,.toy__heart){transition:none}.shooting-star{animation:none;left:var(--mx);top:var(--my)}.star-sparkle{animation:none;transform:translate(-50%,-50%)}}.goal-earned{display:flex;align-items:center;gap:12px;text-align:left;background:#ffcf5c1f;border:2px solid var(--accent);border-radius:14px;padding:8px 12px;animation:pop .3s ease-out}.goal-earned__emoji{font-size:2rem}.goal-earned>div{display:flex;flex-direction:column}.credits{font-weight:700;color:var(--accent)}.shop-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}.shop-card{background:var(--card);border:2px solid var(--card-line);border-radius:var(--radius);padding:12px 10px;display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center}.shop-card--owned{border-color:transparent}.shop-card__art{height:110px;width:100%;display:flex;align-items:center;justify-content:center}.shop-card__art svg{width:100%;height:100%}.shop-card--item .shop-card__art{padding:10px}.shop-card__art svg{overflow:visible}.shop-card__art .item-emoji{font-size:3rem}.shop-card__name{font-size:.95rem;line-height:1.2;min-height:2.4em;display:grid;place-items:center}.shop-card__status{color:var(--muted);font-size:.85rem;padding:6px 0}.shop-ad{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:6px 12px;background:var(--card);border:2px dashed var(--card-line);border-radius:var(--radius);padding:10px 12px;text-align:center}.shop-ad__status{flex-basis:100%;margin:0;color:var(--muted);font-size:.9rem}.shop-ad__status--note{color:var(--accent);font-weight:700}.grownups .panel{margin-bottom:12px}.pack-card{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center}.pack-card__picture{width:min(260px,100%);height:150px}.pack-card__picture .mini-room{width:100%;height:100%;aspect-ratio:auto;border-radius:12px}.pack-card__owned{margin:0;color:var(--accent);font-weight:700}.grownups__note{text-align:center;color:var(--accent);font-weight:700}.grownups__small{font-size:.85rem;text-align:center}.fake-ad{position:fixed;top:0;right:0;bottom:0;left:0;padding:var(--safe-top) var(--safe-right) var(--safe-bottom) var(--safe-left);background:#000000d9;display:grid;place-items:center;z-index:100}.fake-ad__box{background:#fff;color:#222;border-radius:16px;padding:24px 32px;text-align:center;display:flex;flex-direction:column;gap:8px}.fake-ad__count{font-size:3rem;font-weight:800}@keyframes bob{50%{transform:translateY(-8px)}}@keyframes zzz{0%{opacity:0;transform:translateY(6px)}50%{opacity:1}to{opacity:0;transform:translateY(-10px)}}@keyframes pop{0%{transform:scale(.8);opacity:0}}@keyframes shake{25%{transform:translate(-3px)}75%{transform:translate(3px)}}@keyframes bounce{50%{transform:translateY(-6px)}}@keyframes spin{to{rotate:360deg}}@keyframes wobble{50%{rotate:12deg}}@keyframes flap{to{scale:1.15 .85}}@keyframes burst{to{scale:1.6}}@keyframes throw{0%{left:var(--throw-from, calc(var(--bed-left, 64%) - 4%));bottom:36%}60%{left:calc(var(--target-x, 22%) - 28px);bottom:var(--target-bottom, 64%)}to{left:calc(var(--target-x, 22%) - 28px);bottom:var(--target-bottom, 64%);opacity:0}}@keyframes throw-bounce{0%{left:var(--throw-from, calc(var(--bed-left, 64%) - 4%));bottom:36%}40%{left:calc(var(--target-x, 22%) + 6% - 28px);bottom:calc(var(--target-bottom, 64%) + 10%)}60%{left:calc(var(--target-x, 22%) + 8% - 28px);bottom:calc(var(--target-bottom, 64%) - 8%)}80%{left:calc(var(--target-x, 22%) - 28px);bottom:var(--target-bottom, 64%)}to{left:calc(var(--target-x, 22%) - 28px);bottom:var(--target-bottom, 64%);opacity:0}}@keyframes breathe{50%{transform:scale(1.02,.98)}}@keyframes stretch{0%,to{transform:scale(1)}30%{transform:scale(.94,1.08) translateY(-4px)}60%{transform:scale(1.04,.97)}}@keyframes glow{50%{opacity:.6}}@keyframes blink{50%{opacity:.3}}@keyframes impact{0%{opacity:0;transform:translate(-50%,-50%) rotate(-8deg) scale(.4)}25%{opacity:1;transform:translate(-50%,-50%) rotate(-8deg) scale(1.15)}70%{opacity:1;transform:translate(-50%,-60%) rotate(-4deg) scale(1)}to{opacity:0;transform:translate(-50%,-80%) rotate(-4deg) scale(1)}}@keyframes flee{0%{bottom:-12%}20%{bottom:2%;rotate:-10deg}to{bottom:-12%;left:200%;rotate:15deg}}@keyframes dance{0%{transform:rotate(-12deg) translateY(0)}to{transform:rotate(12deg) translateY(-12px)}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important}}.field{display:flex;flex-direction:column;gap:6px;text-align:left;font-weight:700}.field input{font:inherit;font-size:1.1rem;padding:10px 14px;border-radius:12px;border:2px solid var(--card-line);background:#ffffff14;color:var(--ink)}.field input:focus{outline:none;border-color:var(--accent)}.field__error{color:#ffb3c4;font-weight:700}.dev-note{display:flex;flex-direction:column;align-items:center;gap:8px;padding:10px;border:1px dashed var(--card-line);border-radius:12px;color:var(--muted);font-size:.85rem}.notice{background:var(--card);border:1px solid var(--card-line);border-radius:12px;padding:8px 14px;color:var(--ink);max-width:36ch}.panel--error{background:#501428d9;border-color:#ff8fa8}.bed-art g[class^=bed__]{transform-box:view-box}.bed__sleeper,.bed__sway{transform-origin:150px 110px}.bed--sleep .bed__sleeper{animation:sleeper 18s ease-in-out infinite}.bed--sleep .bed__blanket{animation:blanket 18s ease-in-out infinite;transform-origin:150px 220px}.bed--sleep .bed__hands{animation:hands 18s ease-in-out infinite}@keyframes sleeper{0%,38%{transform:none}42%{transform:translate(-6px) rotate(-8deg)}48%{transform:translate(6px) rotate(8deg)}53%{transform:translate(-3px) rotate(-4deg)}58%,64%{transform:none}70%{transform:translateY(4px) rotate(4deg) scale(1.03,.96)}76%{transform:translateY(5px) rotate(-3deg) scale(1.03,.96)}82%{transform:translateY(4px) rotate(2deg) scale(1.02,.97)}90%,to{transform:none}}@keyframes blanket{0%,8%,38%,56%,64%,90%,to{transform:none}4%{transform:scaleY(1.015)}42%{transform:translate(-4px) skew(-2deg)}48%{transform:translate(4px) skew(2deg)}70%,82%{transform:translateY(-5px) scaleY(1.02)}}@keyframes hands{0%,38%,56%,64%,90%,to{transform:none}42%{transform:translate(-4px)}48%{transform:translate(4px)}70%,82%{transform:translateY(-5px)}}.bed-art .bed__lovey{transform-origin:196px 138px}.bed-art .toy__arm,.bed-art .toy__lovey{transform-box:view-box}.bed-art .toy__arm--l{transform-origin:75px 131px}.bed-art .toy__arm--r{transform-origin:125px 131px}.bed-art .toy__lovey{transform-origin:156px 156px}.bed-art :is(.bed__paw,.bed__lovey,.bed__sway,.toy__arm,.toy__lovey){--p1: none;--p2: var(--p1);--s: none}.bed--sleep :is(.bed__paw,.bed__lovey,.bed__sway),.bed--sleep .bed-art--bare :is(.toy__arm,.toy__lovey){animation:habit-slow 18s ease-in-out infinite}.bed--sleep :is([data-habit=pat],[data-habit=thumb]) :is(.bed__paw,.bed__lovey,.bed__sway,.toy__arm,.toy__lovey){animation-name:habit-quick}.bed-art .bed__lovey{--s: translate(-12px, 2px) rotate(-6deg) scale(.94, 1.08)}.bed-art .bed__paw--l{--s: translate(8px, -2px)}.bed-art .bed__paw--r{--s: translate(-6px, -2px)}.bed-art .toy__arm--l{--s: rotate(-14deg);--hug: rotate(-34deg)}.bed-art .toy__arm--r{--s: rotate(30deg);--hug: rotate(34deg)}.bed-art .toy__lovey{--s: translate(-44px, 6px) rotate(6deg) scale(.94, 1.08);--hug: translate(-56px, 2px) scale(1.05)}.bed-art[data-habit=cuddle] .bed__lovey{--p1: translate(-40px, -2px) rotate(-6deg) scale(1.06);--p2: translate(-40px, 0px) rotate(-2deg) scale(.96, 1.12)}.bed-art[data-habit=cuddle] .bed__paw--l{--p1: translate(18px, -10px);--p2: translate(21px, -10px)}.bed-art[data-habit=cuddle] .bed__paw--r{--p1: translate(-8px, -10px);--p2: translate(-11px, -10px)}.bed-art[data-habit=cuddle] .toy__arm--l{--p1: rotate(-34deg);--p2: rotate(-38deg)}.bed-art[data-habit=cuddle] .toy__arm--r{--p1: rotate(34deg);--p2: rotate(38deg)}.bed-art[data-habit=cuddle] .toy__lovey{--p1: translate(-56px, 2px) scale(1.05);--p2: translate(-56px, 0px) scale(.94, 1.1)}.bed-art[data-habit=nuzzle] .bed__sway{--p1: rotate(5deg);--p2: rotate(3deg)}.bed-art[data-habit=nuzzle] .bed__lovey{--p1: translate(-24px, -20px) rotate(12deg);--p2: translate(-22px, -26px) rotate(4deg)}.bed-art[data-habit=nuzzle] .bed__paw--l{--p1: translate(6px, -2px)}.bed-art[data-habit=nuzzle] .bed__paw--r{--p1: translate(2px, -16px);--p2: translate(4px, -22px)}.bed-art[data-habit=nuzzle] .toy__arm--l{--p1: rotate(-26deg)}.bed-art[data-habit=nuzzle] .toy__arm--r{--p1: rotate(30deg);--p2: rotate(28deg)}.bed-art[data-habit=nuzzle] .toy__lovey{--p1: translate(-46px, -4px) rotate(10deg);--p2: translate(-44px, -10px) rotate(2deg)}.bed-art[data-habit=rock] .bed__sway{--p1: rotate(-4deg);--p2: rotate(4deg)}.bed-art[data-habit=rock] .bed__lovey{--p1: translate(-50px, 0px) rotate(-24deg);--p2: translate(-34px, -2px) rotate(18deg)}.bed-art[data-habit=rock] .bed__paw--l{--p1: translate(10px, -6px);--p2: translate(24px, -8px)}.bed-art[data-habit=rock] .bed__paw--r{--p1: translate(-20px, -4px);--p2: translate(-6px, -6px)}.bed-art[data-habit=rock] .toy__arm--l{--p1: rotate(-36deg);--p2: rotate(-26deg)}.bed-art[data-habit=rock] .toy__arm--r{--p1: rotate(26deg);--p2: rotate(36deg)}.bed-art[data-habit=rock] .toy__lovey{--p1: translate(-58px, 6px) rotate(-28deg);--p2: translate(-50px, 4px) rotate(22deg)}.bed-art[data-habit=pat] .bed__lovey{--p1: translate(-40px, 4px) rotate(-78deg)}.bed-art[data-habit=pat] .bed__paw--l{--p1: translate(12px, -2px)}.bed-art[data-habit=pat] .bed__paw--r{--p1: translate(-4px, -24px);--p2: translate(-6px, -12px)}.bed-art[data-habit=pat] .toy__arm--l{--p1: rotate(-32deg)}.bed-art[data-habit=pat] .toy__arm--r{--p1: rotate(34deg) translate(0px, -8px);--p2: rotate(34deg)}.bed-art[data-habit=pat] .toy__lovey{--p1: translate(-56px, 16px) rotate(-78deg)}.bed-art[data-habit=kiss] .bed__sway{--p1: rotate(2deg);--p2: rotate(4deg)}.bed-art[data-habit=kiss] .bed__lovey{--p1: translate(-40px, -14px) rotate(-12deg);--p2: translate(-45px, -20px) rotate(-4deg)}.bed-art[data-habit=kiss] .bed__paw--l{--p1: translate(14px, -12px);--p2: translate(16px, -14px)}.bed-art[data-habit=kiss] .bed__paw--r{--p1: translate(-16px, -14px);--p2: translate(-19px, -18px)}.bed-art[data-habit=kiss] .toy__arm--l{--p1: rotate(-30deg)}.bed-art[data-habit=kiss] .toy__arm--r{--p1: rotate(32deg)}.bed-art[data-habit=kiss] .toy__lovey{--p1: translate(-52px, -4px) rotate(-6deg);--p2: translate(-54px, -9px) rotate(-2deg)}.toy__heart{opacity:0;transform-box:fill-box;transform-origin:center}.bed--sleep [data-habit=kiss] .toy__heart{animation:kiss-heart 18s ease-out infinite}.bed-art[data-habit=thumb] .bed__lovey{--p1: translate(-16px, 2px) rotate(-10deg)}.bed-art[data-habit=thumb] .bed__paw--l{--p1: translate(6px, -12px)}.bed-art[data-habit=thumb] .bed__paw--r{--p1: translate(-6px, -2px)}.bed-art[data-habit=thumb] .toy__arm--l{--p1: rotate(-30deg)}.bed-art[data-habit=thumb] .toy__arm--r{--p1: rotate(30deg)}.bed-art[data-habit=thumb] .toy__lovey{--p1: translate(-40px, 4px) rotate(-10deg)}.bed--sleep [data-habit=thumb] .bed__paw--l,.bed--sleep .bed-art--bare[data-habit=thumb] .toy__arm--l{animation:habit-quick 18s ease-in-out infinite,habit-hide 18s ease-in-out infinite}.toy__thumb{opacity:0;--p1: none;--p2: translate(.8px, 2px);--s: none}.bed--sleep [data-habit=thumb] .toy__thumb{animation:habit-quick 18s ease-in-out infinite,habit-show 18s ease-in-out infinite}@keyframes habit-slow{0%,8%,36%,66%,86%,to{transform:none}13%,22%,31%{transform:var(--p1, none)}17.5%,26.5%{transform:var(--p2, var(--p1, none))}70%,82%{transform:var(--s, none)}}@keyframes habit-quick{0%,8%,36%,66%,86%,to{transform:none}13%,17.5%,22%,26.5%,31%{transform:var(--p1, none)}15.25%,19.75%,24.25%,28.75%{transform:var(--p2, var(--p1, none))}70%,82%{transform:var(--s, none)}}@keyframes habit-show{0%,9%,34%,to{opacity:0}12%,31%{opacity:1}}@keyframes habit-hide{0%,9%,34%,to{opacity:1}12%,31%{opacity:0}}@keyframes kiss-heart{0%,16%,21.5%,25%,30.5%,to{opacity:0;transform:scale(.6)}17.5%,26.5%{opacity:1;transform:scale(1.1)}21%,30%{opacity:0;transform:translateY(-16px) scale(1.2)}}.room__decor{position:absolute;max-height:30%;left:var(--decor-left, calc(10% + min(32%, 190px)) );right:var(--decor-right, 3%);top:6%;height:auto;pointer-events:none}.decor__twinkle{animation:glow 1.8s ease-in-out infinite}.decor__glow{animation:glow 4s ease-in-out infinite}.decor__swing{animation:swing 5s ease-in-out infinite;transform-box:fill-box;transform-origin:50% 0}.decor__flutter{animation:flutter .8s ease-in-out infinite alternate;transform-box:fill-box;transform-origin:center}@keyframes swing{0%,to{transform:rotate(-3deg)}50%{transform:rotate(3deg)}}@keyframes flutter{to{transform:scaleX(.8)}}.mini-room{position:relative;width:min(100%,320px);aspect-ratio:16 / 11;border-radius:16px;overflow:hidden;background:linear-gradient(to top,#3b2f4a 0 20%,transparent 20%),linear-gradient(#34305f,#2a2750)}.mini-room .room__decor{left:6%;right:6%;top:4%}.mini-room .bed{position:absolute;left:50%;bottom:4%;transform:translate(-50%);width:52%}.shop-card__art .mini-room{width:100%;height:100%;aspect-ratio:auto;border-radius:10px}.shop-card__listen{width:100%;height:100%;border-radius:12px;border:2px dashed var(--card-line);background:#ffffff0a;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font-size:2rem}.shop-card__listen span{font-size:.85rem;font-weight:700;color:var(--accent)}.shop-card__listen:hover{border-color:var(--accent)}.more-in-shop{align-self:center;justify-self:center}.decor-swatch{width:100%;height:100%;border-radius:10px;padding:8px;display:flex;align-items:center;background:linear-gradient(#34305f,#2a2750)}.decor-swatch svg{width:100%;height:auto}.shop-card__art .lovey-swatch{width:70%;height:90%}.room__wall{position:absolute;left:0;top:0;width:100%;height:78%;filter:brightness(calc(.62 + var(--dawn, 0) * .35))}.mini-room .room__wall{height:80%;filter:brightness(.7)}.mini-room .window{top:8%;border-width:4px}.mini-room .window__stars{width:80%}.mini-room .window__moon{width:34%;left:12%;top:12%}.bed--anger-1 .bed__sleeper{animation:shake .35s 2;transform-origin:150px 110px}.bed--anger-2 .bed__sleeper{animation:huff .5s ease-in-out 3;transform-origin:150px 130px}.bed--anger-3 .bed__sleeper{animation:rage-shake .14s linear 8;transform-origin:150px 110px}.bed--anger-3 .bed__paw--l,.bed--anger-4 .bed__paw--l,.bed--anger-3 .bed-art--bare .toy__arm--l,.bed--anger-4 .bed-art--bare .toy__arm--l{animation:pound .28s ease-in-out 6}.bed--anger-3 .bed__paw--r,.bed--anger-4 .bed__paw--r,.bed--anger-3 .bed-art--bare :is(.toy__arm--r,.toy__lovey),.bed--anger-4 .bed-art--bare :is(.toy__arm--r,.toy__lovey){animation:pound .28s ease-in-out .14s 6}.bed--anger-4 .bed__sleeper{animation:tantrum .36s ease-in-out 5;transform-origin:150px 140px}.bed--anger-4 .bed__blanket{animation:flap .36s ease-in-out 5;transform-origin:150px 220px}.toy__steam circle{animation:steam 1s ease-out infinite;transform-box:fill-box;transform-origin:center}.toy__mark{animation:pop .25s ease-out}.bed__grumble{position:absolute;left:74%;top:6%;z-index:13;transform:translate(-50%) rotate(6deg);background:#fff;color:#3a2a00;border:3px solid #3b2a4a;border-radius:14px;padding:2px 12px;font-weight:800;white-space:nowrap;animation:pop .2s ease-out;font-size:clamp(.8rem,3vw,1rem)}.bed__grumble--3{background:#ffd6de;font-size:clamp(.95rem,3.6vw,1.2rem)}.bed__grumble--4{background:#ff8fa8;color:#3b0a14;font-size:clamp(1.1rem,4.2vw,1.4rem);animation:pop .2s ease-out,shake .12s .2s 6}@keyframes huff{50%{transform:scale(1.06,.94)}}@keyframes rage-shake{25%{transform:rotate(-4deg) translate(-3px)}75%{transform:rotate(4deg) translate(3px)}}@keyframes pound{50%{transform:translateY(-10px)}}@keyframes tantrum{0%,to{transform:none}40%{transform:translateY(-14px) rotate(-5deg)}70%{transform:translateY(-6px) rotate(5deg)}}@keyframes flap{50%{transform:translateY(-6px) skew(-4deg)}}@keyframes steam{0%{opacity:.9;transform:translateY(0) scale(.6)}to{opacity:0;transform:translateY(-18px) scale(1.3)}}.visitor{position:absolute;left:var(--target-x);bottom:3%;width:min(20%,120px);transform:translate(-50%);z-index:6}.visitor--popup{animation:pop-up .45s cubic-bezier(.3,1.6,.5,1) both;bottom:10%}.visitor--walk{animation:walk-in .9s ease-out both}.visitor--walk .chicken__art{animation:trot .25s ease-in-out 4}.visitor--popup.visitor--flee{animation:leap-off 1s .6s ease-in forwards}.visitor--walk.visitor--flee{animation:run-off 1s .6s ease-in forwards}@keyframes pop-up{0%{transform:translate(-50%,70%) scale(.6);opacity:0}to{transform:translate(-50%);opacity:1}}@keyframes walk-in{0%{left:115%}to{left:var(--target-x)}}@keyframes trot{50%{transform:translateY(-5px) rotate(-3deg)}}@keyframes leap-off{30%{transform:translate(-50%,-40%) rotate(-10deg)}to{transform:translate(250%,60%) rotate(25deg);opacity:0}}@keyframes run-off{20%{transform:translate(-50%,-8%) scaleX(-1)}to{left:130%;transform:translate(-50%) scaleX(-1)}}.waker__wag{animation:wag .3s ease-in-out infinite alternate;transform-box:fill-box;transform-origin:0 100%}@keyframes wag{to{transform:rotate(18deg)}}.jumper{position:absolute;width:46%;bottom:0;left:-50%;animation:jump-by .9s ease-in-out both}@keyframes jump-by{0%{left:-50%;bottom:0}50%{left:27%;bottom:40%}to{left:105%;bottom:0}}.jumper--gallop{animation:gallop-by .9s linear both}.jumper--gallop .chicken__art{animation:trot .18s ease-in-out infinite}@keyframes gallop-by{0%{left:-50%}to{left:105%}}.visitor--walk.visitor--slow:not(.visitor--flee){animation-duration:2.2s;animation-timing-function:ease-in-out}.visitor--walk.visitor--slow .chicken__art{animation:trot .55s ease-in-out 4}.visitor--climb{left:var(--perch-x);bottom:var(--perch-bottom);animation:climb-up .6s cubic-bezier(.3,1.5,.5,1) both}.visitor--climb.visitor--flee{animation:leap-off 1s .6s ease-in forwards}@keyframes climb-up{0%{transform:translate(-50%,60%) scale(.8);opacity:0}60%{transform:translate(-50%,-14%);opacity:1}to{transform:translate(-50%)}}.room--quake{animation:quake .1s 14}.room--quake .bed,.room--quake .radio,.room--quake .room__decor{animation:hop .2s 6}@keyframes quake{25%{transform:translate(-6px,2px) rotate(-.6deg)}75%{transform:translate(6px,-2px) rotate(.6deg)}}@keyframes hop{50%{translate:0 -7px}}.chicken--window[data-waker=cow]{width:calc(var(--chicken-w, 62%) * 1.35)}.mud-trail{position:absolute;left:calc(var(--target-x) - 14%);right:0;height:18px;opacity:.9;pointer-events:none;background-image:radial-gradient(ellipse 3.2px 4.2px at 6px 5px,#7a5436 90%,transparent),radial-gradient(ellipse 3.2px 4.2px at 13px 5px,#7a5436 90%,transparent),radial-gradient(ellipse 3.2px 4.2px at 24px 13px,#7a5436 90%,transparent),radial-gradient(ellipse 3.2px 4.2px at 31px 13px,#7a5436 90%,transparent);background-size:36px 18px;animation:mud-in .9s ease-out both}@keyframes mud-in{0%{clip-path:inset(0 0 0 100%)}to{clip-path:inset(0)}}.waker--calling .chicken__art{transform-origin:50% 100%}.waker--calling[data-waker=chicken] .chicken__art{animation:call-flap .3s ease-in-out 5}@keyframes call-flap{50%{transform:translateY(-12%) scaleY(1.08)}}.waker--calling[data-waker=cat] .chicken__art{animation:call-pounce 1.5s ease-in-out both}@keyframes call-pounce{15%{transform:scale(1.08,.82)}40%{transform:translate(-75%,-55%) rotate(-14deg)}55%,70%{transform:translate(-95%,-28%) scale(1.06,.9)}to{transform:none}}.waker--calling[data-waker=dog] .chicken__art{animation:call-jump .32s ease-out 5}@keyframes call-jump{0%,to{transform:none}20%{transform:scale(1.06,.9)}55%{transform:translateY(-34%) rotate(-6deg)}}.waker--calling[data-waker=sheep] .chicken__art{animation:call-fluff .2s ease-in-out 8}@keyframes call-fluff{25%{transform:rotate(-10deg) scale(1.05)}75%{transform:rotate(10deg) scale(1.05)}}.waker--calling[data-waker=pig] .chicken__art{animation:call-stamp .18s ease-in-out 9}@keyframes call-stamp{50%{transform:scale(1.1,.86) translateY(3%)}}.waker--calling[data-waker=capybara] .chicken__art{animation:call-lean 1.6s ease-in-out both}@keyframes call-lean{35%,60%{transform:translate(-12%) rotate(-12deg)}}.waker--calling[data-waker=cow] .chicken__art{animation:call-sway .42s ease-in-out 4}@keyframes call-sway{25%{transform:rotate(-9deg)}75%{transform:rotate(9deg)}}.waker--calling[data-waker=goat] .chicken__art{animation:call-butt .7s ease-in 2}@keyframes call-butt{40%{transform:translateY(-26%) rotate(-12deg)}62%{transform:translateY(3%) scale(1.06,.9)}}.room--call-goat .bed,.room--call-goat .radio{animation:jolt .7s ease-in 2}@keyframes jolt{62%{translate:0 5px}70%{translate:0 -2px}}.waker--calling[data-waker=horse] .chicken__art{animation:call-rear 1.5s ease-in-out both}@keyframes call-rear{25%{transform:translateY(-10%) rotate(-16deg)}35%{transform:translateY(-6%) rotate(-10deg)}45%{transform:translateY(-10%) rotate(-16deg)}55%{transform:translateY(-6%) rotate(-10deg)}to{transform:none}}.call-fx{position:absolute;z-index:9;pointer-events:none}.call-fx--orange{width:clamp(22px,5vw,30px);animation:orange-bonk 1.5s ease-in-out both}@keyframes orange-bonk{0%{left:var(--target-x);bottom:calc(var(--target-bottom) + 16%)}40%{left:calc(var(--bed-left, 64%) + 4%);bottom:64%}55%{left:var(--bed-left, 64%);bottom:46%;transform:scale(1.15,.85)}75%{left:calc(var(--bed-left, 64%) - 8%);bottom:58%;transform:rotate(-90deg);opacity:1}to{left:calc(var(--bed-left, 64%) - 16%);bottom:28%;transform:rotate(-200deg);opacity:0}}.call-fx--mud{width:16px;height:12px;border-radius:50%;background:#7a5436;border:2px solid #3b2a4a;animation:mud-fling .7s ease-out both}@keyframes mud-fling{0%{left:var(--target-x);bottom:14%;transform:scale(.5)}50%{left:calc(var(--bed-left, 64%) + 10% + var(--land) / 2);bottom:40%;transform:scale(1)}80%{left:calc(var(--bed-left, 64%) + var(--land));bottom:22%;transform:scale(1.4,.7);opacity:1}to{left:calc(var(--bed-left, 64%) + var(--land));bottom:22%;transform:scale(1.5,.6);opacity:0}}.chicken--dance[data-waker=capybara]{animation:capy-spin 3s ease-in-out infinite;transform-origin:50% 60%}@keyframes capy-spin{0%,70%{transform:none}to{transform:rotate(360deg)}}.chicken--dance[data-waker=cow]{animation:stomp .8s ease-in-out infinite}@keyframes stomp{25%{transform:translate(-8px,-6px)}50%{transform:none}75%{transform:translate(8px,-6px)}}.chicken--dance[data-waker=pig]{animation:wiggle .4s ease-in-out infinite alternate}@keyframes wiggle{0%{transform:rotate(-10deg) translateY(0)}to{transform:rotate(10deg) translateY(-4px)}}.chicken--dance[data-waker=goat]{animation:goat-leap 1.2s ease-in-out infinite}@keyframes goat-leap{0%,to{transform:none}25%{transform:translate(30%,-40%) rotate(8deg)}50%{transform:translate(60%)}75%{transform:translate(30%,-40%) rotate(-8deg)}}.visitor-note{position:absolute;left:50%;top:4%;transform:translate(-50%);z-index:14;display:flex;flex-direction:column;align-items:center;gap:2px;text-align:center;background:#141232e6;border:2px solid var(--card-line);border-radius:14px;padding:8px 14px;max-width:86%;animation:pop .3s ease-out;font-size:.85rem}.visitor-note strong{font-size:1rem}.visitor-note span{color:var(--muted)}.visitor-note .visitor-note__new{color:var(--accent);font-weight:800;text-transform:uppercase;letter-spacing:1px;font-size:.75rem}.toast{position:fixed;left:calc(50% + (var(--safe-left) - var(--safe-right)) / 2);bottom:calc(24px + var(--safe-bottom));transform:translate(-50%);z-index:50;max-width:calc(100% - 32px - var(--safe-left) - var(--safe-right));padding:10px 18px;border-radius:999px;text-align:center;background:#141232f2;border:2px solid var(--card-line);color:var(--ink);font-weight:700;animation:pop .25s ease-out}.pair-turn{display:flex;align-items:center;justify-content:center;gap:8px;background:#ffffff14;border-radius:12px;padding:4px 12px}.pair-turn__art{width:52px;height:52px;flex:none}.pair-turn__next{display:inline-flex;align-items:center;gap:4px;color:var(--muted);font-size:.85rem}.pair-turn__next-art{width:30px;height:30px;opacity:.7}.answer-cards{display:grid;grid-template-columns:1fr 1fr;gap:8px}.answer-card{display:flex;flex-direction:column;align-items:center;gap:2px;background:#ffffff10;border-radius:12px;padding:8px}.answer-card__art{width:56px;height:56px}.answer-card p{margin:0;font-size:.9rem}.chicken--dance-friend{width:min(18%,100px);left:calc(var(--dance-left, 25%) + 17%);bottom:4%;animation-delay:.25s}.sneak{position:absolute;pointer-events:none;filter:brightness(.72) saturate(.85)}.sneak .chicken__art{display:block;width:100%}.sneak--sill{width:var(--chicken-w, 62%);left:62%;bottom:-29%;transform:translate(-50%);animation:sneak-sill 2.2s ease-in-out both}@keyframes sneak-sill{0%{left:24%;bottom:-80%}25%{left:30%;bottom:-27%}80%{left:58%;bottom:-27%}to{left:62%;bottom:-29%}}.sneak--sill.sneak--away{animation:sneak-sill-away .6s ease-in both}@keyframes sneak-sill-away{0%{left:62%;bottom:-29%}30%{bottom:-20%}to{left:72%;bottom:-90%}}.sneak--floor{width:min(15%,90px);left:var(--dance-left, 25%);bottom:3%;transform:translate(-50%);z-index:5;animation:sneak-floor 2.2s ease-out both}.sneak--floor .chicken__art{animation:tiptoe .4s ease-in-out infinite alternate}@keyframes sneak-floor{0%{left:-15%}to{left:var(--dance-left, 25%)}}@keyframes tiptoe{0%{transform:translateY(0) rotate(-3deg)}to{transform:translateY(-8%) rotate(3deg)}}.sneak--floor.sneak--away{animation:sneak-floor-away .7s ease-in both}@keyframes sneak-floor-away{0%{left:var(--dance-left, 25%);transform:translate(-50%) scaleX(-1)}to{left:-20%;transform:translate(-50%) scaleX(-1)}}.sneak--bed{width:min(15%,90px);left:calc(var(--bed-left, 64%) + clamp(88px,24%,136px));bottom:12%;transform:translate(-20%);animation:sneak-bed 2.2s ease-out both}@keyframes sneak-bed{0%{transform:translate(-90%)}30%{transform:translate(-25%) rotate(8deg)}65%{transform:translate(-25%) rotate(-6deg)}to{transform:translate(-20%)}}.sneak--bed.sneak--away{animation:sneak-bed-away .5s ease-in both}@keyframes sneak-bed-away{0%{transform:translate(-20%)}to{transform:translate(-100%)}}.unlock-card{display:flex;align-items:center;gap:12px;text-align:left;background:#ffffff14;border:2px dashed var(--accent);border-radius:14px;padding:8px 12px;animation:pop .3s ease-out}.unlock-card__art{width:64px;height:64px;flex:none;filter:brightness(0) invert(1) opacity(.35)}.unlock-card>div{display:flex;flex-direction:column}.places{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}.place-card{font:inherit;color:inherit;cursor:pointer;text-align:center;gap:8px;width:100%;padding:16px 12px}.place-card:hover:not(:disabled){border-color:var(--accent)}.place-card--chosen{border-color:var(--accent);box-shadow:0 0 0 3px #ffcf5c33}.place-card--locked{cursor:default;border-style:dashed;opacity:.85}.place-card__emoji{font-size:2.6rem;line-height:1}.place-card__visitors{display:flex;gap:4px;justify-content:center}.place-card__visitor{width:40px;height:42px;display:block}.place-card__visitor svg{width:100%;height:100%}.place-card__visitor--unmet{filter:brightness(0) invert(1) opacity(.3)}.place-card__progress{display:flex;flex-direction:column;align-items:center;gap:4px;width:100%}.shop__note{text-align:center;margin:0 0 8px}.unlock-card__emoji{font-size:2.4rem;flex:none}.room--farm{background:linear-gradient(to top,#a8843a 0 22%,transparent 22%),linear-gradient(#4a3222,#3a281c)}.room--farm .window{border-color:#8a5a2b;box-shadow:0 0 0 4px #5b3a26}.farm-lantern__glow{animation:lantern 3s ease-in-out infinite}@keyframes lantern{0%,to{opacity:.14}50%{opacity:.28}}.farm-prop{position:absolute;padding:0;border:0;background:none;cursor:pointer;z-index:8;touch-action:manipulation;min-width:44px;min-height:44px}.farm-prop svg{display:block;width:100%;height:auto;overflow:visible}.farm-prop:focus-visible{outline:3px solid var(--accent);outline-offset:3px;border-radius:12px}.farm-prop--ready{filter:drop-shadow(0 0 10px #ffd95c) drop-shadow(0 0 3px #ffd95c)}.farm-gate{position:absolute;left:24%;bottom:3%;width:min(50%,280px);height:96px;z-index:7}.farm-gate__gate{left:50%;bottom:0;width:112px;translate:-50% 0}.farm-gate__sheep{position:absolute;bottom:4px;left:14%;width:58px;translate:-50% 0;pointer-events:none}.farm-gate__sheep-art{display:block;width:100%;height:auto}.farm-gate__sheep--coming{animation:sheep-trot 1s linear both}.farm-gate__sheep--waiting{animation:bob .6s ease-in-out infinite}.farm-gate__sheep--hopped{animation:sheep-hop .8s ease-out forwards}.farm-gate__sheep--missed{animation:sheep-leave .8s ease-in forwards}@keyframes sheep-trot{0%{left:-20%}to{left:14%}}@keyframes sheep-hop{0%{left:14%;bottom:4px}50%{left:50%;bottom:70px}to{left:90%;bottom:4px;opacity:0}}@keyframes sheep-leave{to{left:-25%;opacity:0}}.farm-bales{position:absolute;left:24%;bottom:3%;width:min(50%,280px);height:170px;z-index:7}.farm-bales__bale{translate:-50% 0;transition:left .35s ease-out,bottom .35s ease-out}.farm-bales__bale--stacked{cursor:default}.farm-bales__bale--wobble{animation:shake .12s 3}.farm-mouse{position:absolute;left:22%;bottom:2%;width:min(52%,290px);height:110px;z-index:7}.farm-mouse__cookie{position:absolute;right:0;bottom:60px;width:48px}.farm-mouse__hole{bottom:0;width:64px;height:56px}.farm-mouse__hole-art{position:absolute;left:0;bottom:0;width:100%}.farm-mouse__mouse{position:absolute;left:50%;bottom:8px;width:46px;translate:-50% 0;animation:pop .2s ease-out both}.farm-fly{position:absolute;width:40px;translate:-50% -50%;z-index:8;pointer-events:none}.farm-fly svg{display:block;width:100%;height:auto}.farm-fly--buzz{animation:fly-buzz 1.1s ease-in-out both}.farm-fly--nose{filter:drop-shadow(0 0 8px #ffd95c);animation:fly-jitter .18s linear infinite}@keyframes fly-buzz{0%{transform:translate(-90px,-70px)}30%{transform:translate(60px,-50px)}60%{transform:translate(-40px,30px)}to{transform:none}}@keyframes fly-jitter{0%,to{transform:translate(-1px)}50%{transform:translate(1px,-1px)}}.farm-fan{left:6%;top:36%;width:64px}.farm-egg{width:48px;translate:-50% 0;animation:pop .25s ease-out both,egg-wobble 1s .25s ease-in-out infinite}@keyframes egg-wobble{0%,to{rotate:-6deg}50%{rotate:6deg}}.farm-basket{position:absolute;right:3%;bottom:2%;width:64px;z-index:7}.room--car .room__wall{height:100%}.window__outside{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none}.room--car .window{top:auto;bottom:69%;border-color:#22263f;box-shadow:0 0 0 3px #30344f}.room--car .window:before,.room--car .window:after{content:"";position:absolute;z-index:2;pointer-events:none}.room--car .window:before{top:22%;right:5%;bottom:24%;left:5%;background:repeating-linear-gradient(transparent 0 13px,#ff9f7a1c 13px,#ff9f7a1c 14px)}.room--car .window:after{left:0;right:0;bottom:0;height:18%;background:radial-gradient(ellipse 75% 140% at 50% 140%,#1b1e31 99%,transparent 100%)}.car-light__glow{animation:glow 4s ease-in-out infinite}.room--car .window__moon{width:14%;left:calc(10% + var(--p) * 70%);top:calc(5% + var(--p) * 8%)}.room--car .window__sun{width:20%;left:74%;bottom:calc(-30% + var(--dawn, 0) * 70%)}.car-road__dash,.car-road__lamp{transform-origin:125px 46px;animation:recede 1.6s linear infinite}.car-road__lamp{animation-duration:3s}@keyframes recede{0%{transform:scale(1.4);opacity:0}4%{opacity:1}8%{transform:scale(.64)}16%{transform:scale(.41)}30%{transform:scale(.25)}50%{transform:scale(.165)}75%{transform:scale(.115)}90%{opacity:1}to{transform:scale(.088);opacity:0}}.side-window{position:absolute;top:var(--side-top);width:var(--side-w);height:var(--side-h);overflow:hidden;z-index:1;border:6px solid #22263f;box-shadow:0 0 0 3px #30344f}.side-window--l{left:var(--side-left);border-radius:34px 10px 10px 16px}.side-window--r{right:var(--side-left);border-radius:10px 34px 16px 10px}.side-window--r .side-window__outside{transform:scaleX(-1)}.car-side__slide{animation:side-slide 1.3s linear infinite}@keyframes side-slide{to{transform:translate(60px)}}.side-window .chicken--window{width:120%;left:36%}.side-window .chicken--show{bottom:-22%;rotate:-10deg}.room--car .window__shutter{background:repeating-linear-gradient(#3a3f5e 0,#3a3f5e 3px,#2a2e48 3px,#2a2e48 6px)}.room__front{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:4;pointer-events:none;filter:brightness(calc(.85 + var(--dawn, 0) * .15))}.folk__startled{display:none}.room--shake .folk__startled,.room--quake .folk__startled{display:inline}.room--shake .folk__calm,.room--quake .folk__calm{display:none}.folk__eyes{animation:folk-blink 5.5s infinite;transform-box:fill-box;transform-origin:center}.room__front>svg:nth-child(2) .folk__eyes{animation-delay:-2.6s}@keyframes folk-blink{0%,94%,to{transform:scaleY(1)}97%{transform:scaleY(.12)}}.folk__steam{animation:steam-curl 2.4s ease-in-out infinite}@keyframes steam-curl{50%{opacity:.15;transform:translateY(-3px)}}.room--quake .room__front{animation:hop .2s 6}.room--car .radio{bottom:1%;z-index:5}.room--car .radio__art{width:clamp(42px,calc(11 * var(--room-vw)),60px)}.room--car .radio__stand{width:var(--radio-w);height:clamp(26px,calc(7 * var(--room-vw)),36px);background:#262a44;box-shadow:inset 0 -6px #1d2036,0 0 14px #7fd3ff44}.room--car .radio__label{background:#10131f;color:#7fd3ff}.room--car .lullaby-pad{left:50%;bottom:calc(1% + clamp(26px,calc(7 * var(--room-vw)),36px) + clamp(42px,calc(11 * var(--room-vw)),60px)*.75)}.room--car .chicken--dance-friend{bottom:var(--dance-bottom)}.room--car .room__decor{top:1%;max-height:17%;z-index:2}.chicken--road{bottom:-90%;opacity:0;transition:none}.chicken--road.chicken--show{bottom:-12%;opacity:1;animation:drive-up .9s cubic-bezier(.5,0,.75,1) both}.chicken--road.chicken--flee{animation:drive-back 1.2s .6s ease-in forwards}@keyframes drive-up{0%{width:calc(var(--chicken-w, 46%) * .5);bottom:20%;filter:brightness(.45)}to{width:var(--chicken-w, 46%);bottom:-12%;filter:none}}@keyframes drive-back{0%{width:var(--chicken-w, 46%);bottom:-12%}15%{rotate:-5deg}85%{opacity:1}to{width:4%;bottom:40%;rotate:0deg;opacity:0}}.sneak--road{left:50%;bottom:20%;width:calc(var(--chicken-w, 46%) * .5);transform:translate(-50%);filter:none;animation:lights-up 2.2s ease-in both}@keyframes lights-up{0%{width:2%;bottom:40%}}.sneak--road .chicken__art{animation:lights-reveal 2.2s ease-in both}@keyframes lights-reveal{0%{filter:brightness(.1) saturate(.3)}to{filter:brightness(.45) saturate(.7)}}.sneak__light{position:absolute;top:66%;width:max(10px,24%);aspect-ratio:1;translate:-50% -50%;border-radius:50%;background:radial-gradient(circle,#fffdf0 0 20%,#ffe89ab3 38%,transparent 70%)}.sneak__light--l{left:21%}.sneak__light--r{left:79%}.sneak--road.sneak--away{animation:pull-out 1.4s ease-in both}.sneak--road.sneak--away .chicken__art{animation:none;filter:brightness(.75)}@keyframes pull-out{to{left:135%;width:calc(var(--chicken-w, 46%) * 1.2);bottom:-30%}}.sneak--run{left:50%;bottom:16%;width:calc(var(--chicken-w, 46%) * .62);transform:translate(-50%);animation:run-across 2.2s linear both}.sneak--run .chicken__art{animation:trot .2s ease-in-out infinite}@keyframes run-across{0%{left:-30%}to{left:130%}}.sneak--run.sneak--away{animation:run-back .8s ease-in both}.sneak--run.sneak--away .chicken__art{scale:-1 1}@keyframes run-back{0%{left:130%}to{left:-30%}}.car-field{position:absolute;z-index:7;overflow:hidden;border-radius:var(--win-radius, 14px);pointer-events:none}.car-cow{bottom:24%;left:105%;width:56px;translate:-50% 0;pointer-events:auto;animation:cow-pass var(--cross, 2.6s) linear both}.car-cow svg{animation:trot .5s ease-in-out infinite}@keyframes cow-pass{0%{left:105%}to{left:-5%}}.car-mist{position:absolute;z-index:8;padding:0;border:0;cursor:pointer;touch-action:manipulation;border-radius:var(--win-radius, 14px);background:radial-gradient(circle at 30% 30%,#ffffff66,transparent 60%),#dfe9f7a6;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:mist-in 1s ease-out both;transition:opacity .7s}.car-mist:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.car-mist--clearing{opacity:0}.car-mist__star{position:absolute;width:44px;translate:-50% -50%;pointer-events:none;animation:pop .25s ease-out both}.car-mist__star svg{display:block;width:100%;height:auto}@keyframes mist-in{0%{opacity:0}}.car-bobble{width:60px;translate:-50% 0}.bobble__head{transform-box:fill-box;transform-origin:50% 100%}.car-bobble--nod .bobble__head{animation:nod .48s ease-in-out}@keyframes nod{30%{transform:rotate(-14deg) translateY(3px)}65%{transform:rotate(10deg) translateY(1px)}}.car-bobble__boing{position:absolute;top:-14px;left:50%;translate:-50% 0;font-size:.75rem;font-weight:800;color:#fff1a8;white-space:nowrap;pointer-events:none}.truck__puff{animation:puff .5s ease-out infinite;transform-box:fill-box;transform-origin:center}@keyframes puff{0%{opacity:1;transform:scale(.6)}to{opacity:0;transform:translateY(-8px) scale(1.3)}}.waker--calling[data-waker=truck] .chicken__art{animation:call-honk .21s ease-in-out 8}@keyframes call-honk{50%{transform:translateY(-6%) scale(1.04,.96)}}.waker--calling[data-waker=icecream] .chicken__art{animation:call-rock .42s ease-in-out 4}@keyframes call-rock{25%{transform:rotate(-7deg)}75%{transform:rotate(7deg)}}.chicken--dance[data-waker=truck]{animation:springs .36s ease-in-out infinite alternate}@keyframes springs{0%{transform:translateY(0) scale(1)}to{transform:translateY(-14px) scale(.96,1.05)}}.chicken--dance[data-waker=icecream]{animation:van-spin 2.4s ease-in-out infinite;transform-origin:50% 70%}@keyframes van-spin{0%{transform:rotate(-8deg)}25%{transform:rotate(8deg) translateY(-6px)}50%{transform:rotate(-8deg)}to{transform:rotate(352deg)}}@media (prefers-reduced-motion: reduce){.car-road__dash,.car-road__lamp{animation:none;transform:var(--still)}.car-side__slide,.car-light__glow,.truck__puff,.car-cow svg,.folk__steam{animation:none}.car-cow{animation:none;left:50%}.car-mist{animation:none;transition:none}.sneak--run{animation:none;left:50%}}.room--grocery{background:#2a2f47}.room--trip .room__wall{height:100%}.room--trip .room__wall,.room--trip .window__ledge{filter:brightness(.88)}.trip__go{transform-origin:200px 112px;animation:trip-step 2.8s linear infinite}@keyframes trip-step{50%{transform:scale(.8)}to{transform:scale(.64)}}.room--stopped .trip__go,.room--stopped .pusher__body,.room--trip-end .pusher__body{animation-play-state:paused}.pusher__body{animation:push-bob .8s ease-in-out infinite}@keyframes push-bob{50%{transform:translateY(3px)}}.room--turning .room__wall,.room--turning .window--nook{animation:aisle-turn .9s ease-in-out}@keyframes aisle-turn{0%{translate:0 0;opacity:1}45%{translate:-30cqw 0;opacity:0}55%{translate:30cqw 0;opacity:0}to{translate:0 0;opacity:1}}.room--turning .bed,.room--turning .room__behind,.room--turning .room__front{transform-origin:50% 100%;animation:trolley-lean .9s ease-in-out}@keyframes trolley-lean{50%{rotate:-3deg}}.checkout__receipt{transform-box:fill-box;transform-origin:50% 0;transform:scaleY(var(--leg-p, 0))}.checkout__lamp{animation:glow 2.4s ease-in-out infinite}.room__behind{position:absolute;pointer-events:none}.room--trip .room__behind,.room--trip .room__front{inset:auto;left:calc(var(--bed-left) - var(--bed-w) / 2);bottom:calc(var(--bed-bottom) - var(--bed-w) * .51);width:var(--bed-w);height:auto;overflow:visible}.room--quake .room__behind{animation:hop .2s 6}.room--trip .radio{bottom:calc(var(--bed-bottom) - var(--bed-w) * .313);z-index:3}.room--trip .radio__art{width:clamp(30px,calc(8 * var(--room-vw)),44px)}.room--trip .radio__stand{width:var(--radio-w);height:clamp(16px,calc(4.5 * var(--room-vw)),24px);background:#30344f;box-shadow:inset 0 -5px #262a44}.room--trip .radio__label{background:#1d2036;color:#9be37a;font-size:.56rem}.room--trip .lullaby-pad{left:calc(var(--bed-left) + var(--bed-w) / 2 + 30px);bottom:calc(var(--bed-bottom) - var(--bed-w) * .2)}.room--grocery .chicken--dance-friend{left:66%;bottom:24%}.room--trip .room__decor{top:0;max-height:12%}.window--nook{top:0;height:var(--win-h);aspect-ratio:auto;border:0;border-radius:0;background:none}.window__ledge{position:absolute;pointer-events:none}.window--nook .chicken--window{bottom:-105%}.window--nook .chicken--show{bottom:calc(31% - var(--chicken-w) * .3)}.window--nook .chicken--flee{animation:duck .8s .6s ease-in forwards}@keyframes duck{0%{bottom:calc(31% - var(--chicken-w) * .3)}25%{bottom:calc(38% - var(--chicken-w) * .3);rotate:-8deg}to{bottom:-105%;rotate:0deg}}.window--nook .sneak--sill{left:50%;bottom:calc(31% - var(--chicken-w) * .47);animation:sneak-shelf 2.2s ease-in-out both}@keyframes sneak-shelf{0%{left:78%;bottom:-105%}25%{left:72%;bottom:calc(31% - var(--chicken-w) * .47)}80%{left:54%;bottom:calc(31% - var(--chicken-w) * .47)}to{left:50%;bottom:calc(31% - var(--chicken-w) * .5)}}.window--nook .sneak--sill.sneak--away{animation:sneak-shelf-away .6s ease-in both}.room--trip .sneak--floor{left:var(--floor-x);transform:translate(-50%) scaleX(-1);animation-name:sneak-floor-trip}@keyframes sneak-floor-trip{0%{left:115%}to{left:var(--floor-x)}}.room--trip .sneak--floor.sneak--away{animation-name:sneak-floor-trip-away}@keyframes sneak-floor-trip-away{0%{left:var(--floor-x);transform:translate(-50%)}to{left:120%;transform:translate(-50%)}}@keyframes sneak-shelf-away{0%{left:50%;bottom:calc(31% - var(--chicken-w) * .5)}to{left:66%;bottom:-105%}}.visitor--hang{bottom:calc(var(--target-bottom) - 10%);width:min(22%,112px);animation:hang-drop .8s cubic-bezier(.3,1.5,.5,1) both}.visitor--hang:before,.sneak--hang:before{content:"";position:absolute;left:calc(50% - 2px);bottom:98%;width:4px;height:600%;background:#1d2036}@keyframes hang-drop{0%{translate:0 -240%}}.visitor--hang.visitor--flee{animation:hang-up .9s .6s ease-in forwards}@keyframes hang-up{25%{translate:0 8%}to{translate:0 -280%}}.sneak--hang{left:var(--hang-x, 78%);top:0;width:min(20%,100px);transform:translate(-50%,-70%);animation:hang-peek 2.2s ease-in-out both}@keyframes hang-peek{0%{transform:translate(-50%,-120%)}40%{transform:translate(-50%,-64%) rotate(6deg)}70%{transform:translate(-50%,-67%) rotate(-5deg)}to{transform:translate(-50%,-70%)}}.sneak--hang.sneak--away{animation:hang-zip .5s ease-in both}@keyframes hang-zip{0%{transform:translate(-50%,-70%)}to{transform:translate(-50%,-140%)}}.passer{position:absolute;width:6%;translate:-50% 0;pointer-events:none;animation:pass-r 3.4s cubic-bezier(.5,0,.9,.7) both}.passer--l{animation-name:pass-l}.passer__art{display:block;width:100%;height:auto;overflow:visible}.passer__leg{animation:stride .45s ease-in-out infinite alternate;transform-box:fill-box;transform-origin:50% 0}.passer__leg--2{animation-direction:alternate-reverse}@keyframes stride{0%{transform:rotate(9deg)}to{transform:rotate(-9deg)}}@keyframes pass-r{0%{left:54%;bottom:47%;width:min(6%,8cqh)}to{left:104%;bottom:-16%;width:min(44%,58cqh)}}@keyframes pass-l{0%{left:46%;bottom:47%;width:min(6%,8cqh)}to{left:-4%;bottom:-16%;width:min(44%,58cqh)}}.passer__says{position:absolute;left:50%;bottom:96%;translate:-50% 0;white-space:nowrap;background:#fff;color:#3a2a00;border:2px solid #3b2a4a;border-radius:12px;padding:1px 8px;font-size:clamp(.62rem,2.4vw,.8rem);font-weight:800;animation:passer-says 3.4s both}@keyframes passer-says{0%,25%{opacity:0;scale:.6}35%,75%{opacity:1;scale:1}90%,to{opacity:0}}.room--stir .bed .toy-layers{animation:stir .5s ease-in-out 2}@keyframes stir{50%{transform:translateY(-3px) rotate(-3deg)}}.bed__grumble--stir{background:#e8e4ff;font-size:clamp(.7rem,2.6vw,.9rem)}.grocery-cans{position:absolute;left:2%;right:2%;bottom:2%;height:170px;z-index:7}.grocery-cans__can{width:44px;translate:-50% 0;transition:left .35s ease-out,bottom .35s ease-out}.grocery-cans__can--stacked{cursor:default}.grocery-cans__can--wobble{animation:shake .12s 3}.grocery-cans__stand{position:absolute;bottom:-4px;width:54px;height:8px;translate:-50% 0;background:#b8854e;border:2px solid #3b2a4a;border-radius:4px}.grocery-list{position:absolute;left:0;top:0;display:flex;gap:4px;padding:4px 6px;background:#fffaf0;border:2px solid #3b2a4a;border-radius:8px;rotate:-3deg;box-shadow:0 3px #0003}.grocery-list__item{width:30px;height:30px;border-radius:6px;display:grid;place-items:center}.grocery-list__item svg{display:block;width:26px;height:26px}.grocery-list__item--now{background:#ffd95c;box-shadow:0 0 0 2px #e0a92e}.grocery-list__item--done{opacity:.3}.grocery-veg{position:absolute;right:2%;bottom:2%;width:min(42%,250px);height:130px;z-index:7}.grocery-veg__crate{position:absolute;left:0;bottom:0;width:100%;height:34px}.grocery-veg__pipe{position:absolute;left:0;bottom:100px;width:100%;height:12px;overflow:visible}.grocery-veg__veg{bottom:18px;width:46px;translate:-50% 0}.grocery-veg__veg .veg__top{transform-box:view-box;transform-origin:24px 62px;transition:transform .3s ease-out,filter .3s}.grocery-veg__veg--droopy .veg__top{transform:rotate(26deg) scale(.94,.84);filter:saturate(.45) brightness(.85)}.grocery-veg__mist{position:absolute;left:50%;top:-20px;width:46px;height:30px;translate:-50% 0;pointer-events:none;background:radial-gradient(ellipse at 50% 30%,#e6f6ffcc,#bfe9ff66 55%,transparent 70%);animation:mist-puff .7s ease-out both}@keyframes mist-puff{0%{opacity:0;scale:.4}30%{opacity:1}to{opacity:0;scale:1.3;translate:-50% 16px}}.grocery-lane{position:absolute;left:0;right:0;bottom:1%;height:64px;z-index:8;pointer-events:none}.grocery-bag{position:absolute;left:calc(var(--radio-left, 5%) + var(--radio-w, 80px) + 8px);bottom:0;width:52px}.grocery-orange{bottom:4px;left:104%;width:46px;translate:-50% 0;pointer-events:auto;animation:orange-roll var(--roll, 2.8s) linear both}.grocery-orange svg{animation:orange-spin .7s linear infinite}@keyframes orange-roll{0%{left:104%}to{left:-6%}}@keyframes orange-spin{to{rotate:-360deg}}.waker--calling[data-waker=scanner] .chicken__art{animation:call-scan .26s ease-in-out 6}@keyframes call-scan{50%{transform:translateY(-10%) scale(1.03,.97)}}.scanner__laser{animation:laser-sweep .5s ease-in-out infinite alternate;transform-box:view-box;transform-origin:46px 84px}@keyframes laser-sweep{0%{transform:rotate(-8deg)}to{transform:rotate(8deg)}}.waker--calling .scanner__light{animation:blink .25s steps(2) infinite}.waker--calling[data-waker=trolley] .chicken__art{animation:call-rattle .14s linear 10}@keyframes call-rattle{25%{transform:translate(-3%) rotate(-3deg)}75%{transform:translate(3%) rotate(3deg)}}.trolley__wheel{animation:wheel-wobble .3s ease-in-out infinite alternate;transform-box:fill-box;transform-origin:50% 0}@keyframes wheel-wobble{0%{transform:rotate(-14deg)}to{transform:rotate(14deg)}}.trolley__squeak{animation:blink .2s steps(2) infinite}.waker--calling[data-waker=speaker] .chicken__art{transform-origin:50% 0;animation:call-blare .22s ease-in-out 8}@keyframes call-blare{50%{transform:rotate(-6deg) scale(1.06)}}.speaker__cone{transform-box:fill-box;transform-origin:center;animation:cone-pump .18s ease-in-out infinite alternate}@keyframes cone-pump{to{transform:scale(1.18)}}.waker--calling .speaker__light{animation:blink .25s steps(2) infinite}.chicken--dance[data-waker=scanner]{animation:scan-bop .38s ease-in-out infinite alternate}@keyframes scan-bop{0%{transform:translateY(0) rotate(-4deg)}to{transform:translateY(-10px) rotate(4deg)}}.chicken--dance[data-waker=trolley]{animation:wheelie 1.6s ease-in-out infinite;transform-origin:80% 100%}@keyframes wheelie{0%,to{transform:none}30%,60%{transform:rotate(-14deg)}45%{transform:rotate(-10deg)}}.chicken--dance[data-waker=speaker]{animation:swing .9s ease-in-out infinite alternate;transform-origin:50% 0}@keyframes swing{0%{transform:rotate(-12deg)}to{transform:rotate(12deg)}}@media (prefers-reduced-motion: reduce){.trip__go{animation:none}.pusher__body,.passer__leg,.checkout__lamp,.speaker__cone,.scanner__laser,.trolley__wheel,.trolley__squeak,.grocery-orange svg{animation:none}.grocery-orange{animation:none;left:50%}.grocery-cans__can,.grocery-veg__veg .veg__top{transition:none}.grocery-veg__mist{animation:none;opacity:.8}.passer{animation:none;left:84%;bottom:8%;width:min(22%,30cqh)}.passer--l{left:16%}.passer__says{animation:none}}.room--school{background:linear-gradient(to top,transparent 0 22%,#2f4558 22%),repeating-linear-gradient(90deg,#6b4a33 0,#6b4a33 46px,#5b3e2b 46px,#5b3e2b 48px)}.room--school .window{border-color:#e6ecf6;box-shadow:0 0 0 4px #8a93a8}.room--school .window__shutter{background:repeating-linear-gradient(#f3e3b5 0,#f3e3b5 7px,#d9c49a 7px,#d9c49a 9px)}.room--school .radio__stand{background:#a8703e;box-shadow:inset 0 -10px #8a5a2b}.room--school .radio__label{background:#3b2a4a;color:#ffe89a}.school-board{position:absolute;z-index:8;animation:pop .3s ease-out both}.school-board__chalk{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;overflow:visible;pointer-events:none}.school-dot{width:44px;height:44px;translate:-50% -50%;border-radius:50%;border:2px dashed #fffaf0aa;display:grid;place-items:center;color:#fffaf0;font:800 1.15rem "Baloo 2",sans-serif}.school-dot--joined{border-style:solid;background:#fffaf022;cursor:default}.school-dot--wobble{animation:shake .12s 3}.school-sky{position:absolute;left:0;right:0;top:10%;height:46%;z-index:9;pointer-events:none}.school-plane{left:-10%;top:25%;width:56px;translate:-50% -50%;pointer-events:auto;animation:plane-glide var(--glide, 3s) ease-in-out both}.school-plane--low{animation-name:plane-glide-low}@keyframes plane-glide{0%{left:-10%;top:25%}50%{left:50%;top:60%}to{left:110%;top:20%}}@keyframes plane-glide-low{0%{left:-10%;top:70%}50%{left:50%;top:35%}to{left:110%;top:75%}}.school-fish{left:26%;bottom:3%;width:80px}.fish__swim{transform-box:view-box;transition:transform .25s ease-out;animation:fish-swim 2.4s ease-in-out infinite}.fish__swim--up{animation:none;transform:translateY(-22px)}@keyframes fish-swim{0%,to{transform:translate(-10px,2px)}50%{transform:translate(10px,-2px)}}.school-fish__blub{position:absolute;top:-12px;left:50%;translate:-50% 0;font-size:.75rem;font-weight:800;color:#bfe9ff;white-space:nowrap;pointer-events:none}.waker--calling[data-waker=bell] .chicken__art{animation:call-ring .08s linear 18}@keyframes call-ring{50%{transform:rotate(4deg)}}.waker--calling .bell__hammer{animation:bell-hammer .07s linear infinite alternate;transform-box:view-box;transform-origin:74px 98px}@keyframes bell-hammer{0%{transform:rotate(-12deg)}to{transform:rotate(6deg)}}.waker--calling[data-waker=whistle] .chicken__art{animation:call-blow .48s ease-in-out 3}@keyframes call-blow{30%{transform:scale(1.1,.92)}60%{transform:scale(.96,1.05) translateY(-4%)}}.whistle__blow{animation:blink .2s steps(2) infinite}.chicken--dance[data-waker=bell]{animation:bell-swing .6s ease-in-out infinite alternate;transform-origin:50% 10%}@keyframes bell-swing{0%{transform:rotate(-12deg)}to{transform:rotate(12deg)}}.chicken--dance[data-waker=whistle]{animation:whistle-skip .5s ease-in-out infinite}@keyframes whistle-skip{0%,50%,to{transform:none}25%{transform:translate(6px,-12px) rotate(6deg)}75%{transform:translate(-6px,-12px) rotate(-6deg)}}@media (prefers-reduced-motion: reduce){.school-board,.bell__hammer,.whistle__blow{animation:none}.school-plane{animation:none;left:50%;top:45%}.fish__swim{animation:none;transition:none}}.room--mall{background:#2a2546}.exit__door--l{transform:translate(calc(var(--leg-p, 0) * -66px))}.exit__door--r{transform:translate(calc(var(--leg-p, 0) * 66px))}.room--mall .radio__stand{background:#2f7f78;box-shadow:inset 0 -5px #24635d}.room--mall .radio__label{background:#3b2a4a;color:#ffd6e8}.room--mall .chicken--dance-friend{left:3%;bottom:5%}.mall-pool__ripple{animation:glow 2.6s ease-in-out infinite}.mall-escalator,.mall-wish{position:absolute;right:1%;z-index:7;pointer-events:none;animation:pop .3s ease-out both}.mall-escalator{bottom:4%;width:min(40%,220px,50cqh);aspect-ratio:160 / 120}.mall-wish{bottom:2%;width:min(42%,230px,52cqh);aspect-ratio:200 / 60}.mall-escalator__art,.mall-wish__pool{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.mall-rider{width:40px;translate:-50% -100%;pointer-events:auto;left:var(--on-x);top:var(--on-y);animation:rider-up var(--ride, 1.7s) linear both}.mall-rider{height:50px;display:flex;align-items:flex-end;justify-content:center}.mall-rider svg{width:32px;animation:trot .4s ease-in-out infinite}.mall-rider--top{left:var(--off-x);top:var(--off-y);animation:none}.mall-rider--top svg{animation:none}.mall-rider--away{left:var(--away-x);top:var(--away-y);animation:rider-away var(--away, .6s) ease-in both}@keyframes rider-up{0%{left:var(--on-x);top:var(--on-y)}to{left:var(--top-x);top:var(--top-y)}}@keyframes rider-away{0%{left:var(--off-x);top:var(--off-y)}to{left:var(--away-x);top:var(--away-y);opacity:0}}.mall-balloons{position:absolute;top:0;right:0;bottom:0;left:0;z-index:9;pointer-events:none;--tie-x: calc(var(--bed-left) - var(--bed-w) * .367);--tie-y: calc(var(--bed-bottom) + var(--bed-w) * .71)}.mall-tied{position:absolute;left:var(--tie-x);bottom:var(--tie-y);width:58px;translate:-50% 0}.mall-balloon{left:calc(var(--tie-x) + var(--lane, 0px));bottom:var(--tie-y);width:44px;translate:-50% 0;pointer-events:auto;animation:balloon-rise var(--rise, 3.2s) ease-in both}.mall-balloon svg{animation:balloon-sway 1.4s ease-in-out infinite alternate;transform-origin:50% 100%}@keyframes balloon-rise{0%{bottom:var(--tie-y)}to{bottom:108%}}@keyframes balloon-sway{0%{rotate:-8deg;translate:-6px 0}to{rotate:8deg;translate:6px 0}}.mall-coin{width:44px;translate:-50% -84%;pointer-events:auto}.mall-coin--tossed{animation:coin-toss .7s ease-in both}@keyframes coin-toss{40%{transform:translateY(-45%) rotateY(360deg) scale(.9)}to{transform:translateY(10%) scale(.4);opacity:0}}.mall-coin__twinkle{animation:blink .3s steps(2) infinite}.mall-coin__splash{position:absolute;width:40px;height:12px;translate:-50% -50%;border:2px solid #e6f6ff;border-radius:50%;animation:splash-ring .7s .3s ease-out both}@keyframes splash-ring{0%{scale:.3;opacity:1}to{scale:1.7;opacity:0}}.waker--calling[data-waker=monkey] .chicken__art{animation:call-march .21s ease-in-out 8}@keyframes call-march{50%{transform:translateY(-6%) rotate(3deg)}}.monkey__clash{animation:clash .21s ease-in-out infinite alternate;transform-box:view-box;transform-origin:60px 84px}@keyframes clash{to{transform:scaleX(1.8)}}.monkey__key{animation:key-turn .6s linear infinite;transform-box:view-box;transform-origin:104px 88px}@keyframes key-turn{50%{transform:scaleY(.35)}}.waker--calling[data-waker=fountain] .chicken__art{animation:call-sploosh .5s ease-out 3}@keyframes call-sploosh{40%{transform:translateY(-8%) scale(1.04,.96)}}.fountain__jet{animation:jet .25s ease-in-out infinite alternate;transform-box:view-box;transform-origin:60px 20px}@keyframes jet{to{transform:scaleY(1.12)}}.call-fx--splash{width:12px;height:16px;border-radius:50%/60% 60% 40% 40%;background:#7fd3ff;border:2px solid #3b2a4a;animation:splash-fling .8s ease-out both}@keyframes splash-fling{0%{left:var(--target-x);bottom:calc(var(--target-bottom) + 6%);transform:scale(.5)}50%{left:calc(var(--bed-left, 64%) - 10% + var(--land) / 2);bottom:72%;transform:scale(1)}85%{left:calc(var(--bed-left, 64%) + var(--land));bottom:46%;opacity:1}to{left:calc(var(--bed-left, 64%) + var(--land));bottom:42%;transform:scale(1.4,.6);opacity:0}}.chicken--dance[data-waker=monkey]{animation:monkey-march .4s ease-in-out infinite alternate}@keyframes monkey-march{0%{transform:translateY(0) rotate(-6deg)}to{transform:translateY(-10px) rotate(6deg)}}.chicken--dance[data-waker=fountain]{animation:fountain-sway 1.2s ease-in-out infinite alternate;transform-origin:50% 100%}@keyframes fountain-sway{0%{transform:rotate(-4deg)}to{transform:scale(1.04,.96) rotate(4deg)}}.fountain__dance{animation:jet .4s ease-in-out infinite alternate;transform-box:view-box;transform-origin:60px 18px}@media (prefers-reduced-motion: reduce){.mall-escalator,.mall-wish,.mall-pool__ripple,.monkey__clash,.monkey__key,.fountain__jet,.fountain__dance,.mall-coin__twinkle,.mall-rider svg,.mall-balloon svg{animation:none}.mall-rider{animation:none;left:var(--off-x);top:var(--off-y);opacity:0}.mall-rider--top{opacity:1}.mall-balloon{animation:none;bottom:calc(var(--tie-y) + 18%)}.mall-coin--tossed{animation:none;opacity:.3}.exit__door--l{transform:translate(-66px)}.exit__door--r{transform:translate(66px)}.mall-coin__splash{animation:none;opacity:.8}}@media (prefers-reduced-motion: reduce){.farm-gate__sheep--coming,.farm-gate__sheep--waiting,.farm-fly--buzz,.farm-fly--nose,.farm-egg,.farm-lantern__glow{animation:none}.farm-gate__sheep--hopped{animation:none;left:90%;opacity:.6}.farm-gate__sheep--missed{animation:none;opacity:0}.farm-bales__bale{transition:none}}.visitors__intro{text-align:center}.visitors__group{margin:14px 0 2px;text-align:left;font-size:1.05rem}.visitors{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}.visitor-card{text-align:center;gap:6px}.visitor-card__art{width:96px;height:100px}.visitor-card--locked .visitor-card__art{filter:brightness(0) invert(1) opacity(.22)}.visitor-card small{line-height:1.3}.journal{display:flex;flex-direction:column;align-items:center;gap:4px;margin-top:4px}.journal__stickers{display:flex;gap:4px}.sticker{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;border:2px dashed var(--card-line);color:var(--muted);font-weight:800;font-size:.85rem}.sticker--seen{border:2px solid var(--accent);background:#ffcf5c26;font-size:1rem}.sticker-book{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}.goal-card{text-align:center;gap:6px}.goal-card small{line-height:1.3}.goal-card__emoji{font-size:2.4rem;line-height:1;filter:grayscale(1);opacity:.4}.goal-card--got{border-color:var(--accent);background:#ffcf5c14}.goal-card--got .goal-card__emoji{filter:none;opacity:1}.goal-card__done{color:var(--accent);font-weight:800}.goal-card__pay{font-weight:700;color:var(--muted)}.goal-card__bar{width:80%;height:8px;border-radius:4px;background:var(--card-line);overflow:hidden}.goal-card__bar>span{display:block;height:100%;background:var(--accent)}.play-spot{position:absolute;top:0;right:0;bottom:0;left:0;z-index:7;padding:0;border:0;border-radius:14px;background:transparent;cursor:pointer;-webkit-tap-highlight-color:transparent;animation:spot-hint 1.6s ease-in-out 1.2s 2}.play-spot:focus-visible{outline:3px solid var(--accent);outline-offset:-3px}@keyframes spot-hint{50%{box-shadow:inset 0 0 0 4px #ffd95c99,0 0 18px #ffd95c66}}.window .play-spot{z-index:4;border-radius:0}.play-bed{aspect-ratio:300 / 232;pointer-events:none;z-index:7}.play-bed .play-spot{pointer-events:auto;transform:translate(-50%,-50%);min-width:44px;min-height:44px;border-radius:50%}.play-bed .play-spot--toy{inset:auto;left:50%;top:32%;width:28%;height:42%}.play-bed .play-spot--lovey{inset:auto;left:65.3%;top:59.5%;width:17%;height:22%}.play-heart{position:absolute;left:calc(65% + (var(--i) - 1) * 8%);top:46%;pointer-events:none;font-size:clamp(1rem,4vw,1.4rem);animation:heart-up 1.3s ease-out calc(var(--i) * .15s) both}@keyframes heart-up{0%{transform:translate(-50%) scale(.5);opacity:0}30%{opacity:1}to{transform:translate(-50%,-160%) scale(1.1);opacity:0}}.bed--hug .bed__lovey{animation:hug 1.4s ease-in-out}.bed--hug .bed__paw--r{animation:hug-paw 1.4s ease-in-out}.bed--hug .bed-art--bare :is(.toy__arm,.toy__lovey){animation:hug 1.4s ease-in-out}.bed--giggle .bed__sleeper{animation:giggle .16s ease-in-out 6 alternate}@keyframes hug{0%,to{transform:none}25%,75%{transform:var(--hug, translate(-19px, -26px) rotate(-8deg))}}@keyframes hug-paw{0%,to{transform:none}25%,75%{transform:translate(-4px,-6px)}}@keyframes giggle{0%{transform:rotate(-4deg)}to{transform:rotate(4deg) translateY(-3px)}}.window__shutter{position:absolute;top:0;bottom:0;width:50%;z-index:3;background:repeating-linear-gradient(#9a84bd 0,#9a84bd 10px,#7d68a3 10px,#7d68a3 13px);border:3px solid #3b2a4a;transform:scaleX(0);transition:transform .45s cubic-bezier(.3,1.3,.5,1)}.window__shutter--l{left:0;transform-origin:left}.window__shutter--r{right:0;transform-origin:right}.window--shut .window__shutter{transform:scaleX(1)}.window__shutter:after{content:"";position:absolute;top:50%;width:8px;height:8px;transform:translateY(-50%);border-radius:50%;background:#ffd95c;border:2px solid #3b2a4a}.window__shutter--l:after{right:4px}.window__shutter--r:after{left:4px}.room--farm .window__shutter{background:repeating-linear-gradient(90deg,#a8703e 0,#a8703e 12px,#8b5a2b 12px,#8b5a2b 15px)}.room:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:14;pointer-events:none;background:#0f0e26;opacity:0;transition:opacity .45s}.room--shut:after{opacity:.35}.chicken--dance.chicken--resting,.chicken--dance.chicken--resting[data-waker]{animation:none}.chicken--hop .chicken__art{animation:poke-hop .45s ease-out 2}@keyframes poke-hop{50%{transform:translateY(-14px)}}.play-hint{font-size:.9rem}@media (prefers-reduced-motion: reduce){.play-spot{animation:none}.window__shutter,.room:after{transition:none}.play-heart{animation:none;transform:translate(-50%,-80%)}.bed--hug .bed__lovey{animation:none;transform:translate(-19px,-26px) rotate(-8deg)}.bed--hug .bed__paw--r{animation:none;transform:translate(-4px,-6px)}.bed--hug .bed-art--bare :is(.toy__arm,.toy__lovey){animation:none;transform:var(--hug)}}.together__setup{display:flex;flex-direction:column;gap:10px}.together__setup h3{font-size:1.05rem;margin-top:6px}.together__intro{text-align:center}.together__choices{display:grid;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:8px}.together__toy{padding:8px 4px;min-height:44px}.together__toy:disabled{opacity:.35}.together__toy:hover:not(:disabled){border-color:var(--accent)}.together__dice{font-size:2.6rem;line-height:64px}.together__animal{width:64px;height:64px}.together__animal--big{width:110px;height:110px;align-self:center}.together__panel{align-items:center}.together__pair{display:flex;align-items:flex-end;justify-content:center;gap:12px}.together__hide{display:grid;grid-template-columns:1fr 1fr;gap:12px;width:100%}.together__item{padding:16px 8px;min-height:44px}.together__item:hover{border-color:var(--accent)}.together__item-art{width:72px;height:72px}.together__scores{display:grid;grid-template-columns:1fr 1fr;gap:12px;width:100%}.together__score{display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 6px;border-radius:14px;border:2px solid var(--card-line)}.together__score--won{border-color:var(--accent)}.together__score small{color:var(--muted)}.versus-line{font-weight:700}.clues-switch{display:grid;grid-template-columns:1fr 1fr;gap:6px;width:min(320px,100%);margin:0 auto;padding:4px;border-radius:999px;background:var(--card);border:1px solid var(--card-line)}.clues-switch__option{min-height:44px;border:none;border-radius:999px;background:transparent;font-weight:700}.clues-switch__option--on{background:var(--ink);color:var(--night-1)}.clues-switch__note{text-align:center}.together__modes{display:flex;flex-direction:column;gap:12px}.together__mode{padding:14px 12px;text-align:center}.together__mode:hover{border-color:var(--accent)}.together__mode-emoji{font-size:2.4rem;line-height:1.1}.together__mode small{max-width:34ch}.code{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;width:100%;counter-reset:code}.code__pic{position:relative;display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 4px 6px;border-radius:14px;background:var(--card);border:2px solid var(--card-line);counter-increment:code}.code__pic:before{content:counter(code);position:absolute;top:4px;left:8px;font-size:.75rem;font-weight:800;color:var(--accent)}.code__art{width:100%;max-width:60px;height:auto;aspect-ratio:1}.code__pic small{font-size:.8rem;line-height:1.1;color:var(--ink);text-align:center}.keypad{display:flex;flex-direction:column;gap:10px;text-align:center}.keypad__slots{position:sticky;top:0;z-index:2;display:grid;grid-template-columns:repeat(var(--slots, 6),minmax(0,1fr)) 44px;gap:4px;align-items:center;padding:8px 0;background:var(--night-1)}.keypad__slot{aspect-ratio:1;min-width:0;padding:3px;display:grid;place-items:center;border-radius:12px;border:2px dashed var(--card-line);background:var(--card)}.keypad__slot:disabled{opacity:1;cursor:default}.keypad__slot:not(:disabled){border-style:solid}.keypad__slot--changing{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent)}.keypad__slot-art{width:100%;height:100%}@media (max-width: 359px){.keypad__slots{grid-template-columns:repeat(var(--slots, 6),minmax(0,1fr))}.keypad__back{grid-column:5 / -1}}.keypad__back{height:44px;border-radius:12px;border:2px solid var(--card-line);background:var(--card);font-size:1.3rem}.keypad__keys{display:grid;grid-template-columns:repeat(auto-fill,minmax(64px,1fr));gap:8px}.keypad__key{min-height:64px;padding:6px 2px;gap:2px;border-radius:14px}.keypad__key:hover{border-color:var(--accent)}.keypad__key:active{transform:scale(.95)}.keypad__art{width:44px;height:44px}.keypad__key small{font-size:.68rem;line-height:1.1;color:var(--ink);text-align:center}.keypad__suggest{display:flex;flex-direction:column;align-items:center;gap:8px;padding:10px;border-radius:14px;border:2px dashed var(--accent);background:var(--card)}@media (prefers-reduced-motion: reduce){.keypad__key:active{transform:none}}.online__note{text-align:center}.online__kinds{display:grid;grid-template-columns:1fr 1fr;gap:8px}.online__kinds .together__mode{padding:10px 8px}.online__throws{list-style:none;margin:4px 0 0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:4px}.online__throw{width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:var(--card);border:2px solid var(--card-line);font-size:.9rem}.online__throw--right{border-color:#7ddc8a;box-shadow:0 0 0 2px #7ddc8a55}.online__throw-art{width:22px;height:22px}.online__off{align-self:center;font-size:.85rem}.online__preview{width:min(100%,280px);align-self:center}.online__preview .mini-room{width:100%}.friends{display:flex;flex-direction:column;gap:8px}.friends__head{display:flex;align-items:center;justify-content:space-between;gap:8px}.friends__head h3{margin:0}.friends__list{display:grid;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:8px;width:100%}.friends__friend{padding:8px 4px;min-height:44px;display:flex;flex-direction:column;align-items:center;gap:2px}.friends__friend:hover{border-color:var(--accent)}.friends__face{position:relative;display:inline-grid;place-items:center}.friends__badge{position:absolute;right:-6px;bottom:-4px;width:30px;height:30px;border-radius:50%;background:var(--card);border:2px solid var(--card-line);display:grid;place-items:center}.friends__badge-art{width:22px;height:22px}.friends__hint{text-align:center;font-size:.85rem;margin:0}.friends__invite{padding:12px;display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;border-color:var(--accent)}.friends__invite p{margin:0}.friends__new{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center}.friends__pictures{display:grid;grid-template-columns:repeat(auto-fill,minmax(44px,1fr));gap:6px;width:100%}.friends__picture{min-width:44px;min-height:44px;border-radius:12px;background:var(--card);border:2px solid var(--card-line);display:grid;place-items:center;padding:4px;cursor:pointer}.friends__picture--on{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent)}.friends__picture-art{width:32px;height:32px}.friends__row{padding:10px;display:flex;flex-direction:column;align-items:center;gap:6px}.friends__with{display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center}.friends__with h3{margin:0}.friends__remove-all{align-self:center;font-size:.85rem}.friends__head .link,.friends__row .btn,.friends__remove-all{min-height:44px;min-width:44px}.title__invite{width:min(100%,360px);margin:0 auto 12px}.title__invite:empty{display:none}.online-night__round{font-size:.8rem;font-weight:700;color:var(--muted)}.online-night__hidden{display:flex;align-items:center;justify-content:center;gap:10px}.online-night__hidden-art{width:48px;height:48px}.clue--friend{background:#ff8fa81f;color:#ffb3c4}.tray__item--friend{position:relative}.tray__out--friend{color:#ff8fa8}.room--two-beds .sneak--bed{left:calc(var(--bed-left, 64%) + clamp(44px,15%,92px))}.room--two-beds .sneak--bed.sneak--at-friend{left:calc(var(--bed2-left, 45%) + clamp(44px,15%,92px))}.title__trail{display:flex;flex-direction:column;align-items:center;line-height:1.2}.title__trail small{font-size:.8rem;font-weight:700;opacity:.75}.trail{gap:12px;padding-bottom:calc(40px + var(--safe-bottom))}.trail-meter{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;font-weight:700;background:var(--card);border:2px solid var(--card-line);border-radius:var(--radius);padding:10px 12px}.trail__waiting{text-align:center;font-size:.9rem}.trail-chapter{display:flex;flex-direction:column;gap:4px}.trail-chapter--locked .trail-path{opacity:.6}.trail-chapter__banner{display:flex;align-items:center;gap:10px;background:linear-gradient(90deg,#4a3f7a,#2c2a5a);border:2px solid var(--card-line);border-radius:var(--radius);padding:8px 12px}.trail-chapter__emoji{font-size:2rem;line-height:1}.trail-chapter__name{display:flex;flex-direction:column;flex:1;min-width:0;text-align:left}.trail-chapter__name small{color:var(--muted);font-size:.78rem}.trail-chapter__name strong{font-size:1.15rem}.trail-chapter__trophy{width:44px;height:auto;flex:none;filter:grayscale(1) brightness(.55) opacity(.6)}.trail-chapter__trophy--won{filter:drop-shadow(0 0 8px #ffd35c88)}.trail-path{position:relative}.trail-path__line{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;overflow:visible}.trail-path__line path{fill:none;stroke:#8f8cff59;stroke-width:10;stroke-linecap:round;stroke-dasharray:1 17}.trail-path__spot{position:absolute;transform:translate(-50%,-50%)}.trail-stop{position:relative;width:72px;height:72px;border-radius:50%;padding:0;display:grid;place-items:center;background:#3d3a72;border:3px solid var(--card-line)}.trail-stop--big{width:88px;height:88px;background:#4a3f7a;border-color:var(--accent)}.trail-stop--won{border-color:var(--accent)}.trail-stop--current{border-color:var(--ink);animation:trail-pulse 1.8s ease-out infinite}.trail-stop:disabled{opacity:.7}.trail-stop__faces{display:flex;justify-content:center;align-items:center;width:78%}.trail-stop__face{flex:1 1 0;min-width:0;width:100%;height:auto;overflow:visible}.trail-stop__faces>:not(:first-child){margin-left:-22%}.trail-stop__face--unmet{filter:brightness(0) invert(1) opacity(.3)}.trail-stop__number{position:absolute;top:-6px;left:-6px;min-width:26px;height:26px;padding:0 4px;border-radius:13px;display:grid;place-items:center;background:var(--accent);color:var(--accent-ink);font-weight:800;font-size:.85rem;border:2px solid #3b2a4a}.trail-stop__lock{position:absolute;bottom:-4px;right:-6px;font-size:1.1rem}.trail-stop__below{position:absolute;top:100%;left:50%;transform:translate(-50%);margin-top:3px;white-space:nowrap;font-size:.95rem}.trail-gift{display:flex;flex-direction:column;align-items:center;width:150px;text-align:center}.trail-gift__box{font-size:2.4rem;line-height:1;animation:bob 3s ease-in-out infinite}.trail-gift--open .trail-gift__box{animation:none}.trail-gift small{color:var(--muted);font-size:.75rem;line-height:1.25}.trail-sign{display:flex;flex-direction:column;align-items:center;gap:4px;padding:14px;text-align:center;color:var(--muted);border:2px dashed var(--card-line);border-radius:var(--radius)}.trail-sign span{font-size:2rem}.trail-card{position:fixed;left:calc(50% + (var(--safe-left) - var(--safe-right)) / 2);bottom:calc(12px + var(--safe-bottom));transform:translate(-50%);z-index:30;width:min(420px,calc(100% - 24px - var(--safe-left) - var(--safe-right)));padding:14px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:8px;background:#2c2a5a;border:2px solid var(--accent);border-radius:var(--radius);box-shadow:0 12px 40px #0009;animation:pop .2s ease-out}.trail-card__faces{display:flex;gap:6px;justify-content:center}.trail-card__face{width:72px;height:auto;overflow:visible}@keyframes trail-pulse{0%{box-shadow:0 0 #fdf6ec80}to{box-shadow:0 0 0 16px #fdf6ec00}}.trail-panel{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center}.trail-panel__line{font-weight:700}.trail-panel__note{font-size:.85rem}.trail-award{display:flex;flex-direction:column;align-items:center;gap:4px;background:#ffffff14;border:2px dashed var(--accent);border-radius:14px;padding:10px 12px;animation:pop .4s ease-out}.trail-award__trophy{width:72px;height:auto;filter:drop-shadow(0 0 10px #ffd35c99);animation:trophy-in 1.2s cubic-bezier(.3,1.5,.5,1) both}.trail-award__toy{width:90px;height:auto;overflow:visible}.trail-award__emoji{font-size:2rem}@keyframes trophy-in{0%{transform:scale(.2) rotate(-20deg);opacity:0}70%{transform:scale(1.15) rotate(4deg);opacity:1}}.room{container-type:size}.shelf{--trophy-w: clamp(28px, calc(6 * var(--room-vw) + 6px), 36px);--shelf-row: calc((var(--trophy-w) - 6px) * 7 / 6 + 6px);position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%);z-index:1;pointer-events:none;display:flex;flex-wrap:wrap-reverse;align-items:flex-end;justify-content:center;row-gap:4px;width:calc(2 * var(--trophy-w));filter:brightness(calc(.75 + var(--dawn, 0) * .25))}@container (min-aspect-ratio: 5 / 4){.shelf,.shelf.shelf--full{top:calc(55% - var(--shelf-row));bottom:auto;left:var(--shelf-beside-left, calc(100% + 12px) );right:var(--shelf-beside-right, auto);transform:none;flex-wrap:wrap}}.shelf--full{--trophy-w: 27px;width:calc(3 * var(--trophy-w));left:var(--shelf-full-left, 50%);right:var(--shelf-full-right, auto);transform:translate(var(--shelf-full-shift, -50%))}.shelf__trophy{width:var(--trophy-w);height:auto;overflow:visible;padding:0 3px;border-bottom:6px solid #8a5a2b}.shelf__trophy--new{animation:trophy-drop 1.4s ease-out both}@keyframes trophy-drop{0%{transform:translateY(-120px) scale(1.6);opacity:0}60%{transform:translateY(4px) scale(1);opacity:1}}.calendar-card{display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 10px;background:var(--card);border:1px solid var(--card-line);border-radius:18px}.calendar-card__title{font-weight:700;font-size:.9rem}.calendar-card small,.calendar-stamp small{color:var(--muted);font-size:.8rem;line-height:1.3}.moons{display:flex;gap:4px}.moons__space{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-size:1rem;line-height:1;background:#ffffff0d;border:2px dashed var(--card-line)}.moons__space--gift{border-style:solid}.moons__space--gift:not(.moons__space--on){opacity:.75}.moons__space--on{background:#3d3a72;border:2px solid var(--accent)}.moons__space--landing{animation:moon-land .9s cubic-bezier(.3,1.5,.5,1) .3s both}@keyframes moon-land{0%{transform:translateY(-40px) scale(1.6);opacity:0}70%{transform:translateY(3px) scale(.95);opacity:1}}.calendar-stamp{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center}.calendar-gift{display:flex;flex-direction:column;align-items:center;gap:4px;background:#ffffff14;border:2px dashed var(--accent);border-radius:14px;padding:10px 12px;animation:pop .4s ease-out 1.1s both}
