:root{--bg:#17121a;--card:#2a2130;--card-strong:#33283a;--line:#ffdeb41a;--ink:#f2e6d8;--ink-soft:#b9a798;--ink-faint:#85766c;--amber:#f2a65a;--amber-bright:#ffcf8a;--emerald:#2f6b57;--plum:#5a3a5e;--shadow:#00000073;--grain:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1 0 0 0 0 0.9 0 0 0 0 0.8 0 0 0 0.5 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");--brickwork:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='192' height='88' viewBox='0 0 192 88'%3E%3Cg fill='%234a2f2c' stroke='%23271c1c' stroke-width='3'%3E%3Cpath d='M0 0h96v44H0zM96 0h96v44H96zM-48 44h96v44h-96zM48 44h96v44H48zM144 44h96v44h-96z'/%3E%3C/g%3E%3Cpath d='M2 3h91M98 3h91M2 47h43M50 47h91M146 47h43' stroke='%23715547' stroke-opacity='.18' stroke-width='2'/%3E%3C/svg%3E");--serif:"Fraunces", "Iowan Old Style", Georgia, serif;--sans:"DM Sans", "Inter", system-ui, sans-serif;--ease:cubic-bezier(.25, .8, .25, 1);font-family:var(--sans);color:var(--ink);background:var(--bg);-webkit-tap-highlight-color:transparent;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{background-color:var(--bg);overscroll-behavior-y:none;background-image:radial-gradient(at 50% -10%,#f2a65a29,#0000 55%),radial-gradient(at 100% 100%,#5a3a5e59,#0000 50%),radial-gradient(at 0 80%,#2f6b572e,#0000 45%);background-attachment:fixed}body:after{content:"";background-image:var(--grain);opacity:.0675;pointer-events:none;z-index:100;position:fixed;inset:0}button{font:inherit;color:inherit;cursor:pointer}button:disabled{cursor:default}h1,h2,h3{font-family:var(--serif);letter-spacing:-.01em;margin:0;font-weight:600}.app{max-width:480px;min-height:100dvh;padding:12px 16px calc(24px + env(safe-area-inset-bottom));margin:0 auto;position:relative}.loading{min-height:100dvh;font-family:var(--serif);color:var(--ink-soft);place-items:center;font-size:1.3rem;font-style:italic;display:grid}.card{background:linear-gradient(180deg, var(--card-strong), var(--card));border:1px solid var(--line);box-shadow:0 12px 32px var(--shadow);border-radius:18px;position:relative}.chip{border:1px solid var(--line);transition:background .2s var(--ease), border-color .2s var(--ease);background:#ffffff0a;border-radius:999px;padding:8px 14px;font-size:.92rem;font-weight:500}.chip:hover{background:#ffffff14;border-color:#ffdeb433}.chip:active{transform:scale(.98)}.chip-large{padding:10px 16px}.chip-present{color:var(--amber-bright);background:#f2a65a1f;border-color:#f2a65a73;animation:2.8s ease-in-out infinite soft-pulse}.badge{background:var(--amber);color:#241a14;border-radius:10px;place-items:center;min-width:19px;height:19px;margin-left:5px;padding:0 5px;font-size:.72rem;font-weight:600;display:inline-grid}.big-button{letter-spacing:.01em;color:#241a14;background:linear-gradient(180deg, var(--amber-bright), var(--amber));width:100%;transition:transform .15s var(--ease), box-shadow .2s var(--ease);border:none;border-radius:14px;margin-top:16px;padding:15px 18px;font-size:1.05rem;font-weight:600;display:block;box-shadow:inset 0 0 0 1px #ffd29666,0 8px 28px #f2a65a4d}.big-button:hover{box-shadow:inset 0 0 0 1px #ffd29680,0 8px 36px #f2a65a73}.big-button:active{transform:scale(.985)}.big-button:disabled{opacity:.5}.text-button{color:var(--ink-soft);text-underline-offset:3px;background:0 0;border:none;padding:8px;-webkit-text-decoration:underline #ffdeb440;text-decoration:underline #ffdeb440}.icon-button{border:1px solid var(--line);width:40px;height:40px;color:var(--ink-soft);background:#ffffff0a;border-radius:50%;flex:none;font-size:1.1rem}.field{width:100%;font:inherit;color:var(--ink);border:1px solid var(--line);background:#00000040;border-radius:12px;outline:none;padding:13px 15px;font-size:1.1rem;transition:border-color .2s,box-shadow .2s}.field:focus{border-color:#f2a65a99;box-shadow:0 0 0 3px #f2a65a26}.fine-print{color:var(--ink-soft);font-size:.85rem;line-height:1.45}.enter-flutter{animation:rise-in .6s var(--ease) both}.onboarding{flex-direction:column;justify-content:flex-start;align-items:center;min-height:100dvh;padding:24px 18px;display:flex}.welcome-room{width:min(100%,440px);animation:rise-in .9s var(--ease) both;border-radius:14px;position:relative;box-shadow:0 30px 60px #0000008c,0 0 80px #f2a65a1f}.welcome-card{z-index:1;width:min(92%,400px);margin-top:-40px}.onboarding-card{text-align:center;width:min(100%,420px);padding:26px 22px 22px}.onboarding-card h2{margin-bottom:16px;font-size:1.45rem}.logo{color:var(--amber-bright);font-size:2.6rem;font-weight:600;animation:4s ease-in-out infinite logo-glow}.join-note{color:var(--amber-bright);background:#f2a65a1a;border-radius:10px;padding:8px 12px}.pet-picker{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.pet-option{border:1px solid var(--line);transition:border-color .25s var(--ease), background .25s var(--ease), box-shadow .25s var(--ease);background:#0003;border-radius:16px;flex-direction:column;align-items:center;padding:6px 4px 10px;font-size:.9rem;font-weight:500;display:flex}.pet-option.is-selected{background:radial-gradient(circle at 50% 40%,#f2a65a38,#0003 70%);border-color:#f2a65a99;box-shadow:0 0 24px #f2a65a33}.profile-switch{flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;margin-top:18px;display:flex}.home-topbar{justify-content:space-between;align-items:center;margin:2px 0 10px;display:flex}.icon-chip{border:1px solid var(--line);width:38px;height:38px;color:var(--ink);background:#ffffff0d;border-radius:50%;font-size:1.05rem}.week-dot{background:#ffffff0a;border:1px solid #ffdeb438;border-radius:50%;width:9px;height:9px}.week-dot.is-future{opacity:.45}.week-dot.is-today{border-color:#ffcf8ab3}.week-dot.is-done.is-today{animation:2.6s ease-in-out infinite lamp-pulse}.week-dots.is-large{gap:14px;margin:10px 0 4px}.type-dismiss{color:var(--ink-faint)}.log-button.is-nudging .log-button-face{animation:nudge .8s var(--ease)}@keyframes nudge{0%,to{transform:none}20%{transform:translate(-5px)}40%{transform:translate(5px)}60%{transform:translate(-3px)}80%{transform:translate(2px)}}.room-wrap{transform-origin:0 0;border-radius:14px;position:relative;box-shadow:0 24px 50px #0000008c,0 0 60px #f2a65a14}.room-wrap:after,.visit-room:after,.window-glass:after{content:"";background-image:var(--grain);mix-blend-mode:overlay;opacity:.108;pointer-events:none;border-radius:inherit;position:absolute;inset:0}.room-scene{--energy:.32;--tempo:1.2;-webkit-user-select:none;user-select:none;border-radius:12px;width:100%;height:auto;display:block}.home.is-editing .room-scene{--energy:.32;--tempo:1.2;touch-action:none}.log-panel{margin-top:8px}.log-button-wrap{position:relative}.log-button{background:0 0;border:none;border-radius:18px;width:100%;padding:0;position:relative}.log-button:before{content:"";filter:blur(10px);pointer-events:none;background:radial-gradient(#ffb46473,#0000 70%);border-radius:24px;animation:3.4s ease-in-out infinite lamp-pulse;position:absolute;inset:-6px}.log-button-face{letter-spacing:.01em;color:#241a14;background:linear-gradient(180deg, #ffd497, var(--amber) 60%, #e08e48);border-radius:inherit;transition:transform .15s var(--ease);padding:19px 18px;font-size:1.2rem;font-weight:600;display:block;position:relative;box-shadow:inset 0 0 0 1px #ffdca080,0 10px 30px #f2a65a59}.log-button:active .log-button-face{transform:scale(.985)}.type-row{flex-wrap:wrap;justify-content:center;gap:6px;margin-top:12px;display:flex}.type-chip{border:1px solid var(--line);background:#0003;border-radius:999px;padding:7px 12px;font-size:.88rem;transition:border-color .2s,background .2s}.type-chip:hover{background:#f2a65a1a;border-color:#f2a65a80}.home-actions{justify-content:center;gap:8px;margin-top:14px;display:flex}.drawer{margin-top:14px;padding:12px 12px 14px}.drawer-header{justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.drawer-tabs{gap:4px;display:flex}.drawer-tabs button{color:var(--ink-soft);background:0 0;border:none;border-radius:10px;padding:7px 12px;font-weight:500}.drawer-tabs button.is-active{color:var(--ink);background:#ffffff12}.done-button{background:var(--emerald);color:#eaf5ef;border:none;border-radius:10px;padding:8px 14px;font-weight:600;box-shadow:0 0 18px #2f6b5766}.drawer-row{scroll-snap-type:x proximity;gap:10px;padding:6px 2px 8px;display:flex;overflow-x:auto}.drawer-card{border:1px solid var(--line);width:82px;color:var(--ink-soft);scroll-snap-align:start;touch-action:pan-x;-webkit-user-select:none;user-select:none;transition:border-color .2s var(--ease), box-shadow .2s var(--ease), transform .2s var(--ease);background:#00000038;border-radius:14px;flex-direction:column;flex:none;align-items:center;gap:3px;padding:6px 4px 9px;font-size:.74rem;line-height:1.2;display:flex}.drawer-card.is-held{color:var(--ink);border-color:#f2a65ab3;transform:translateY(-3px);box-shadow:0 0 22px #f2a65a40}.item-thumb{display:block;overflow:visible}.drag-ghost{z-index:70;pointer-events:none;filter:drop-shadow(0 12px 16px #00000080)drop-shadow(0 0 12px #f2a65a59);position:fixed;transform:translate(-50%,-80%)scale(1.08)}.item-menu{z-index:20;text-align:center;min-width:150px;animation:rise-in .3s var(--ease) both;padding:12px;position:absolute;transform:translate(-50%,calc(-100% - 22px))}.item-menu strong{font-family:var(--serif);margin-bottom:8px;font-weight:600;display:block}.item-menu-swatches{justify-content:center;gap:7px;margin-bottom:10px;display:flex}.swatch{border:2px solid #ffffff26;border-radius:50%;width:28px;height:28px}.swatch.is-current{border-color:var(--amber-bright);box-shadow:0 0 12px #f2a65a80}.item-menu-actions{justify-content:center;gap:6px;display:flex}.placed-item.is-grabbable{cursor:grab}.slot-marker rect{fill:#ffc8821a;stroke:var(--amber-bright);stroke-width:1.4px;stroke-dasharray:5 5;animation:1.8s ease-in-out infinite slot-pulse}.slot-marker text{fill:var(--amber-bright);font-family:var(--sans);text-anchor:middle;font-size:13px;font-weight:600}.slot-marker{cursor:pointer}.slot-marker.is-occupied rect{fill:#8caae61f}.slot-marker.is-hover rect,.slot-marker:focus-visible rect{fill:#ffc88247;stroke-dasharray:none;stroke-width:2px}.box-label{font-family:var(--serif);fill:#4a3324;font-size:12px;font-weight:600}.present-box{cursor:pointer}.present-box-body{transform-box:fill-box;transform-origin:50% 100%}.present-box.is-ready .present-box-body{animation:3.2s ease-in-out infinite box-wiggle}.room-scene .anim{transform-box:fill-box}.room-scene .anim.anim-pivot{transform-box:view-box}.is-animated .anim-sway{transform-origin:50% 100%;animation:sway calc(6s * var(--tempo,1)) ease-in-out infinite alternate}.is-animated .anim-sway-top{transform-origin:50% 0;animation:sway calc(7s * var(--tempo,1)) ease-in-out infinite alternate}.is-animated .anim-drift{transform-origin:50% 0;animation:drift calc(8s * var(--tempo,1)) ease-in-out infinite alternate}.is-animated .anim-drift:nth-child(odd){animation-delay:-3s}.room-scene .anim-twinkle{animation:twinkle calc(3.2s * var(--tempo,1)) ease-in-out infinite}.room-scene .anim-twinkle:nth-child(3n){animation-delay:-1.1s}.room-scene .anim-twinkle:nth-child(3n+1){animation-delay:-2.2s}.is-animated .anim-spin{transform-origin:50%;animation:spin calc(.9s * var(--tempo,1)) linear infinite}.is-animated .anim-bob{animation:anim-bob calc(3.4s * var(--tempo,1)) ease-in-out infinite}.is-animated .anim-swim{animation:swim calc(7s * var(--tempo,1)) ease-in-out infinite}.room-scene .anim-glow,.room-scene .anim-flicker-soft{animation:candle calc(4s * var(--tempo,1)) linear infinite}.room-scene .anim-flicker{transform-origin:50% 100%;animation:flame calc(1.3s * var(--tempo,1)) ease-in-out infinite}.room-scene .anim-flicker:nth-child(2n){animation-duration:calc(1.7s * var(--tempo,1));animation-delay:-.4s}.room-scene .anim-flicker:nth-child(3n){animation-duration:calc(1.1s * var(--tempo,1));animation-delay:-.8s}.is-animated .anim-tick{animation:spin calc(60s * var(--tempo,1)) steps(60) infinite}.is-animated .anim-float{animation:float-up calc(3.2s * var(--tempo,1)) ease-out infinite}.is-animated .anim-float:nth-child(2n){animation-delay:-1.5s}.is-animated .anim-wag{transform-origin:50% 0;animation:wag calc(3.4s * var(--tempo,1)) ease-in-out infinite alternate}.is-animated .anim-wag:nth-child(2n){animation-delay:-1.4s}.ambient-light,.glow-pass{mix-blend-mode:screen}.room-scene .glow-layer{animation:candle calc(3.6s * var(--tempo,1)) linear infinite}.room-scene .glow-pass>g:nth-child(2n) .glow-layer{animation-duration:calc(4.4s * var(--tempo,1));animation-delay:-1.3s}.room-scene .glow-pass>g:nth-child(3n) .glow-layer{animation-duration:calc(5.1s * var(--tempo,1));animation-delay:-2.6s}.room-scene .bulb-glow,.room-scene .bulb-core{animation:bulb-flicker calc(7s * var(--tempo,1)) linear infinite}.is-animated .cloud-drift{animation:clouds calc(60s * var(--tempo,1)) linear infinite alternate}.is-animated .dust{animation:dust calc(9s * var(--tempo,1)) ease-in-out infinite}.dust-1{animation-delay:-2.5s!important}.dust-2{animation-delay:-5s!important}.dust-3{animation-delay:-7s!important}.item-enter{transform-box:fill-box;transform-origin:50% 100%;animation:settle-in calc(.9s * var(--tempo,1)) var(--ease) both}.pet-position{transition-property:transform;transition-timing-function:linear}.pet-facing{transition:transform .3s var(--ease);cursor:pointer}.pet-body{animation:3.6s ease-in-out infinite breathe}.pet-eyes-open{transform-box:fill-box;transform-origin:50%;animation:5.6s infinite blink}.pet-eyes-closed,.pet-zzz,.pet-crumbs,.pet-happy-face{display:none}.pet-tail{animation:3.8s ease-in-out infinite tail-flick}.pet-dog .pet-tail{animation:.5s ease-in-out infinite alternate wag-fast}.pet-bunny .pet-ears,.pet-cat .pet-ears{animation:8s ease-in-out infinite ear-twitch}.pet-frog .pet-body{animation:3s ease-in-out infinite frog-throat}.pet.is-walk .pet-hop{animation:.32s ease-in-out infinite alternate walk-bob}.pet.is-walk .pet-legs-front{animation:.32s ease-in-out infinite alternate legs}.pet.is-walk .pet-legs-back{animation:.32s ease-in-out infinite alternate-reverse legs}.pet.is-sit .pet-head{animation:3.6s ease-in-out infinite alternate head-tilt}.pet.is-sleep .pet-eyes-open{display:none}.pet.is-sleep .pet-eyes-closed,.pet.is-sleep .pet-zzz{display:inline}.pet.is-sleep .pet-body{animation:4.8s ease-in-out infinite breathe-sleep}.pet.is-sleep .pet-head{transform:translate(-1px,3px)rotate(9deg)}.pet.is-sleep .pet-tail{animation:none}.pet.is-sleepy.is-idle .pet-eyes-open,.pet.is-sleepy.is-sit .pet-eyes-open{animation-duration:2.6s}.pet.is-happy .pet-hop{animation:hop .6s var(--ease) infinite}.pet.is-happy .pet-shadow{transform-box:fill-box;transform-origin:50%;animation:shadow-hop .6s var(--ease) infinite}.pet.is-happy .pet-happy-face{display:inline}.pet.is-happy .pet-tail{animation:.28s ease-in-out infinite alternate wag-fast}.pet.is-eat .pet-head{animation:.45s ease-in-out infinite alternate nom}.pet.is-eat .pet-crumbs{animation:.9s ease-out infinite crumbs;display:inline}.zzz{font-family:var(--serif);fill:#d9c8b8;font-size:8px;font-style:italic;animation:3.4s ease-in-out infinite zzz}.zzz-2{font-size:9px;animation-delay:.8s}.zzz-3{font-size:11px;animation-delay:1.6s}.pet-portrait{overflow:visible}.unpack-backdrop{z-index:60;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:radial-gradient(circle at 50% 42%,#7846288c,#0f0a12f7 65%);place-items:center;padding:18px;animation:.4s both fade-in;display:grid;position:fixed;inset:0;overflow-y:auto}.unpack-later{border:1px solid var(--line);color:var(--ink-soft);background:#ffffff0d;border-radius:999px;padding:6px 14px;position:absolute;top:14px;right:14px}.unpack-box{filter:drop-shadow(0 0 40px #f2a65a40);background:0 0;border:none;flex-direction:column;align-items:center;display:flex}.unpack-box svg{overflow:visible}.unpack-box-body{transform-box:fill-box;transform-origin:50% 100%}.unpack-box.stage-box .unpack-box-body{animation:2.4s ease-in-out infinite box-wiggle}.unpack-flap,.unpack-bow{transform-box:fill-box}.unpack-flap-left{transform-origin:0 100%}.unpack-flap-right{transform-origin:100% 100%}.stage-opening .unpack-box-body{animation:box-pop .75s var(--ease) both}.stage-opening .unpack-flap-left{animation:flap-left .6s var(--ease) both}.stage-opening .unpack-flap-right{animation:flap-right .6s var(--ease) both}.stage-opening .unpack-bow{transform-origin:50%;animation:.6s ease-in both bow-fly}.unpack-choices{text-align:center;width:100%;max-width:460px}.choice-row{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.choice-card{color:var(--ink);animation:card-rise .8s var(--ease) both;animation-delay:calc(var(--i) * .12s + .1s);transition:transform .25s var(--ease), border-color .25s, box-shadow .25s;flex-direction:column;align-items:center;gap:4px;padding:16px 6px 12px;display:flex}.choice-card:hover,.choice-card:focus-visible{border-color:#f2a65a80;transform:translateY(-5px);box-shadow:0 16px 40px #00000080,0 0 30px #f2a65a33}.choice-card strong{font-family:var(--serif);font-size:.92rem;font-weight:600;line-height:1.15}.tier-3.choice-card,.rarity-surprise.choice-card{box-shadow:0 12px 32px var(--shadow), 0 0 26px #f2a65a26;border-color:#f2a65a59}.unpack-picked{text-align:center;width:min(100%,360px);padding:26px 20px 18px;position:relative;overflow:hidden}.unpack-picked h2{margin-top:6px}.unpack-picked p{color:var(--ink-soft)}.unpack-picked .item-thumb{margin:0 auto;position:relative}.picked-glow{pointer-events:none;background:radial-gradient(circle,#ffbe6e73,#0000 65%);border-radius:50%;width:300px;height:300px;margin:-150px 0 0 -150px;animation:3.2s ease-in-out infinite lamp-pulse;position:absolute;top:96px;left:50%}.picked-actions{position:relative}.picked-actions .text-button{margin-top:6px}.app.tab-building{max-width:none;margin:0;padding:0}.building-screen{width:100%;height:100dvh;overflow:hidden}.street-scene{isolation:isolate;background:linear-gradient(#56677d,#c9a07e 90%);border-radius:0;height:100%;position:relative;overflow:hidden}.phase-dawn .street-scene{background:linear-gradient(#3e3554,#d99a76 90%)}.phase-dusk .street-scene{background:linear-gradient(#211b3a,#4a2f52 50%,#b8644c 95%)}.phase-night .street-scene{background:linear-gradient(#090c1d,#1a1f3d 70%,#2a2440)}.sky-layer{z-index:-3;pointer-events:none;position:absolute;inset:0}.phase-night .sky-layer:before,.phase-dusk .sky-layer:before{content:"";opacity:.7;background-image:radial-gradient(1px 1px at 12% 18%,#fff 50%,#0000 51%),radial-gradient(1px 1px at 28% 8%,#fff 50%,#0000 51%),radial-gradient(1.2px 1.2px at 44% 22%,#fff 50%,#0000 51%),radial-gradient(1px 1px at 63% 12%,#fff 50%,#0000 51%),radial-gradient(1.4px 1.4px at 82% 26%,#fff 50%,#0000 51%),radial-gradient(1px 1px at 92% 6%,#fff 50%,#0000 51%),radial-gradient(1px 1px at 6% 36%,#fff 50%,#0000 51%),radial-gradient(1px 1px at 74% 40%,#fff 50%,#0000 51%);animation:5s ease-in-out infinite twinkle;position:absolute;inset:0 0 50%}.sky-cloud{filter:blur(2px);background:#fff0e659;border-radius:20px;width:90px;height:18px;animation:80s linear infinite sky-clouds;position:absolute}.sky-cloud:before,.sky-cloud:after{content:"";background:inherit;border-radius:50%;position:absolute}.sky-cloud:before{width:34px;height:30px;top:-14px;left:16px}.sky-cloud:after{width:26px;height:22px;top:-9px;left:44px}.cloud-a{top:30px;left:-100px}.cloud-b{animation-delay:-30s;top:120px;left:-100px}.cloud-c{animation-delay:-55s;top:230px;left:-100px}.phase-night .sky-cloud{background:#7882b42e}.sky-orb{fill:#ffe2b0;filter:drop-shadow(0 0 16px #ffc88c73);width:34px;height:34px;position:absolute;top:18px;right:28px;overflow:visible}.phase-night .sky-orb{fill:#f3e6c8;filter:drop-shadow(0 0 12px #f3e6c84d)}.building{--roof-height:108px;width:380px;transform:scale(var(--building-scale,1));transform-origin:bottom;margin:0;position:relative}.building-side{top:var(--roof-height);clip-path:polygon(0 0,100% 3%,100% 100%,0 100%);background-color:#2b1a19;background-image:repeating-linear-gradient(-3deg,#00000040 0 1.5px,#0000 1.5px 17px),linear-gradient(90deg,#ffbe780d,#00000073);width:54px;position:absolute;bottom:0;left:100%}.roof{height:var(--roof-height);position:relative}.roof-garden{background:linear-gradient(#55413a,#302325);border-radius:4px 4px 0 0;height:8px;position:absolute;bottom:0;left:8px;right:8px;box-shadow:inset 0 -3px #4e3430}.roof-plant{transform-origin:50% 100%;background:#2f4f43;border-radius:50% 50% 40% 40%;width:24px;height:20px;animation:7s ease-in-out infinite alternate sway;position:absolute;bottom:8px;box-shadow:inset -4px -3px #223a31}.roof-plant:after{content:"";background:#7a4a32;border-radius:2px 2px 4px 4px;width:12px;height:12px;position:absolute;bottom:-10px;left:6px}.plant-a{left:18px}.plant-b{animation-delay:-2s;left:50px}.plant-c{background:#46624f;animation-delay:-3.5s;right:96px}.water-tower{background:repeating-linear-gradient(90deg,#4a3326 0 6px,#3e2a1f 6px 8px);border-radius:5px 5px 3px 3px;width:32px;height:38px;position:absolute;bottom:8px;right:8px}.water-tower:before{content:"";clip-path:polygon(50% 0,100% 100%,0 100%);background:#2e1f1a;height:14px;position:absolute;top:-12px;left:-4px;right:-4px}.chimney{background:#4a2a26;border-radius:2px;width:16px;height:26px;position:absolute;bottom:8px;right:55px}.smoke{filter:blur(2px);background:#c8bed259;border-radius:50%;width:12px;height:12px;animation:5s ease-out infinite smoke;position:absolute;top:-12px;left:2px}.smoke-2{animation-delay:-2.5s}.roof-sign{pointer-events:none;width:300px;height:112px;font-family:var(--serif);letter-spacing:.025em;font-size:86px;font-style:italic;font-weight:600;position:absolute;bottom:3px;left:50%;overflow:visible;transform:translate(-50%)}.roof-neon{fill:none;stroke-linejoin:round;animation:8s ease-in-out infinite roof-neon-breathe}.roof-neon-tube{stroke:#ff9c78;stroke-width:2.5px;filter:drop-shadow(0 0 3px #ff9472)drop-shadow(0 0 9px #ff80576b)}.roof-neon-core{stroke:#ffe5bb;stroke-width:.85px}@keyframes roof-neon-breathe{0%,to{opacity:.94}50%{opacity:1}}.facade{background-color:#4a2f2c;background-image:linear-gradient(180deg, #0000001a, #00000059), var(--brickwork);background-size:auto,76px 35px;border-radius:3px 3px 0 0;position:relative;box-shadow:inset 0 0 60px #00000059}.floor{grid-template-columns:1fr 1fr;gap:18px;padding:20px 18px 14px;display:grid;position:relative}.floor-ledge{background:#5e3d38;height:6px;position:absolute;bottom:0;left:-6px;right:-6px;box-shadow:0 4px 8px #00000059}.flat-slot{flex-direction:column;align-items:center;display:flex;position:relative}.flat-window{--glow:.5;aspect-ratio:374/434;width:100%;transition:transform .3s var(--ease);background:linear-gradient(90deg,#1b1418 0 7px,#2b2228 7px);border:none;border-radius:6px 6px 3px 3px;padding:6px 6px 5px 8px;position:relative;box-shadow:inset 0 0 0 1px #ffdcb414,0 6px 10px #0006}.flat-window:not(.is-opening):hover,.flat-window:not(.is-opening):focus-visible{transform:translateY(-2px)}.flat-window .window-glass{box-shadow:inset 0 9px 10px -4px #000000bf, inset 8px 0 10px -5px #0000008c, 0 0 calc(6px + var(--glow) * 34px) calc(var(--glow) * 9px) rgba(255, 190, 100, calc(var(--glow) * .85));animation:4.6s linear infinite window-candle}.flat-slot:nth-child(2) .window-glass{animation-duration:5.7s;animation-delay:-2s}.is-me .flat-window{box-shadow:inset 0 0 0 1px #f2a65a73,0 6px 10px #0006}.window-glass{background:#1e171c;border-radius:3px;width:100%;height:100%;position:relative;overflow:hidden}.window-glass .room-scene{--energy:.32;--tempo:1.2;border-radius:0;width:100%;height:100%}.window-dim,.window-warm{pointer-events:none;position:absolute;inset:0}.window-dim{opacity:calc((1 - var(--glow)) * .72);background:#0c0a18}.window-warm{mix-blend-mode:screen;opacity:calc(var(--glow) * .3);background:radial-gradient(circle at 50% 35%,#ffd28ce6,#ffa05033 70%);animation:3.8s linear infinite candle}.glass-sheen{pointer-events:none;background:linear-gradient(130deg,#ffffff1f 0 14%,#0000 14% 24%,#ffffff0f 24% 29%,#0000 29%);position:absolute;inset:0}.window-panes{pointer-events:none;display:flex;position:absolute;inset:5px}.pane{backface-visibility:hidden;background:linear-gradient(#0000 calc(50% - 1.25px),#2b2228 calc(50% - 1.25px) calc(50% + 1.25px),#0000 calc(50% + 1.25px)),linear-gradient(160deg,#ffffff0f,#ffffff03);border:2.5px solid #2b2228;flex:1;transition:transform .7s cubic-bezier(.4,0,.2,1)}.pane-left{transform-origin:0}.pane-right{transform-origin:100%}.flat-window.is-opening .pane-left{transform:perspective(700px)rotateY(-118deg)}.flat-window.is-opening .pane-right{transform:perspective(700px)rotateY(118deg)}.flat-window.is-opening{transform:scale(1.03)}.window-lintel{background:#5e3d38;border-radius:3px 3px 0 0;height:8px;position:absolute;top:-8px;left:-5px;right:-5px}.window-lintel:after{content:"";clip-path:polygon(0 0,100% 0,80% 100%,20% 100%);background:#6e4a43;width:14px;height:11px;margin-left:-7px;position:absolute;top:-3px;left:50%}.flower-box{z-index:1;width:90%;margin-top:-3px;position:relative}.flower-row{justify-content:space-around;align-items:flex-end;height:12px;display:flex}.flower{transform-origin:50% 100%;border-radius:50%;width:9px;height:9px;position:relative}.flower.is-bloom{background:radial-gradient(circle, #ffe2a0 0 25%, var(--flower) 30%);animation:sway 5s ease-in-out infinite alternate, bloom .8s var(--ease) both;animation-delay:calc(var(--i) * -.9s), calc(var(--i) * .1s);box-shadow:0 5px 0 -3px #3f5a48,0 0 8px #ffbe7859}.flower.is-sprout{background:#3f5a48;border-radius:5px 5px 0;width:5px;height:7px}.flower-planter{background:#6b3a2a;border-radius:2px 2px 4px 4px;height:10px;box-shadow:0 3px 6px #00000059,inset 0 2px #ffffff14}.name-tag{text-align:center;border:1px solid var(--line);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#140e16bf;border-radius:10px;flex-direction:column;align-items:center;margin-top:8px;padding:4px 12px 5px;line-height:1.25;display:flex;position:relative}.name-tag strong{font-family:var(--serif);font-size:.98rem;font-weight:600}.name-tag-string{display:none}.name-tag .name-tag-demo{letter-spacing:.1em;text-transform:uppercase;background:var(--plum);color:#e6d6ea;border-radius:6px;padding:1px 6px;font-size:.6rem;position:absolute;top:-8px;right:-6px}.flat-slot.is-empty{padding-bottom:38px}.flat-window.is-vacant .window-glass{background:#15121c;animation:none;box-shadow:inset 0 4px 12px #08070c}.vacancy-interior{filter:blur(2.5px)brightness(.45);opacity:.55;width:100%;height:100%;display:block}.is-vacant .glass-sheen{opacity:.35}.lobby{justify-content:center;align-items:flex-end;height:150px;padding-top:26px;display:flex;position:relative}.awning{z-index:2;background:repeating-linear-gradient(90deg,#6b2a33 0 15px,#b8a284 15px 30px);border-radius:4px 4px 0 0;width:150px;height:28px;margin-left:-75px;position:absolute;top:6px;left:50%;-webkit-mask-image:radial-gradient(circle at 7.5px 28px,#0000 7px,#000 7.5px);mask-image:radial-gradient(circle at 7.5px 28px,#0000 7px,#000 7.5px);-webkit-mask-size:15px 100%;mask-size:15px 100%}.front-door{background:#223a31;border:5px solid #5e3d38;border-bottom:none;border-radius:36px 36px 0 0;width:70px;height:108px;position:relative;box-shadow:0 0 40px #ffbe6e40}.door-window{background:#ffc46e;border-radius:15px 15px 2px 2px;width:30px;height:22px;margin-left:-15px;animation:4s linear infinite candle;position:absolute;top:12px;left:50%;box-shadow:0 0 16px #ffbe6eb3}.door-knob{background:#c9a050;border-radius:50%;width:6px;height:6px;position:absolute;top:58px;right:9px}.mailbox{letter-spacing:.12em;color:#d8c3a0;background:#2a3350;border-radius:6px 6px 3px 3px;padding:5px 8px;font-size:.64rem;font-weight:600;position:absolute;bottom:30px;left:16%;box-shadow:0 4px 8px #0006}.lobby-plant{background:radial-gradient(circle at 50% 30%,#2f4f43 0 13px,#0000 14px);width:30px;height:46px;position:absolute;bottom:0;right:16%}.lobby-plant:after{content:"";background:#6b3a2a;border-radius:3px 3px 6px 6px;width:20px;height:18px;position:absolute;bottom:0;left:5px}.visit{z-index:50;position:fixed;inset:0;overflow-y:auto}.building-camera{transform-origin:0 0;position:fixed;inset:0}.visit-backdrop{background-color:#291e20;background-image:radial-gradient(ellipse at 50% 42%, transparent 10%, #0c0a12a6 95%), linear-gradient(#120c1285, #120c1285), var(--brickwork);position:fixed;inset:0}.visit-content{max-width:480px;margin:0 auto;padding:12px 16px 30px;position:relative}.visit-name{font-size:1.3rem;font-weight:600}.visit-header{align-items:center;gap:12px;margin-bottom:12px;display:flex}.back-button{border:1px solid var(--line);width:40px;height:40px;color:var(--ink-soft);white-space:nowrap;background:#ffffff0a;border-radius:999px;font-size:1.1rem;font-weight:500}.visit-room{transform-origin:0 0;border-radius:12px;position:relative;overflow:hidden;box-shadow:0 24px 50px #0000008c,0 0 60px #f2a65a1a}.visit.is-closing .visit-header,.visit.is-closing .reaction-bar{animation:.18s forwards fade-out}@keyframes fade-out{0%{opacity:1}to{opacity:0}}.reaction-bar{text-align:center;margin-top:16px}.reaction-buttons{justify-content:center;gap:18px;display:flex}.reaction-button{border:1px solid var(--line);width:64px;height:64px;color:var(--amber-bright);text-shadow:0 0 12px #f2a65a99;transition:transform .15s var(--ease), box-shadow .25s var(--ease);background:#ffffff0a;border-radius:50%;place-items:center;font-size:1.6rem;display:grid}.reaction-button:hover:not(:disabled){box-shadow:0 0 22px #f2a65a33}.reaction-button:active{transform:scale(.97)}.reaction-button:disabled{opacity:.45}.reaction-emoji{color:var(--amber-bright);text-shadow:0 0 12px #f2a65a99;font-size:1.5rem;line-height:1.1}.reaction-button.tone-blush{color:#f0a0aa;text-shadow:0 0 12px #dc6e8299}.reaction-button.tone-mint{color:#9fd2b8;text-shadow:0 0 12px #50a07899}.flying-reaction{z-index:70;color:var(--amber-bright);text-shadow:0 0 14px #ffbe6e80;pointer-events:none;will-change:transform;font-size:2rem;position:fixed;top:0;left:0}.toasts{z-index:90;pointer-events:none;flex-direction:column;gap:8px;width:min(92vw,420px);display:flex;position:fixed;top:12px;left:50%;transform:translate(-50%)}.toast{text-align:left;color:var(--ink);pointer-events:auto;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:toast-in .5s var(--ease) both;background:#241c28eb;align-items:center;gap:12px;padding:11px 15px;font-size:.92rem;display:flex}.toast-icon{color:var(--amber-bright);text-shadow:0 0 10px #f2a65ab3;font-size:1.05rem}.sheet-backdrop{z-index:65;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#08050a99;justify-content:center;align-items:flex-end;animation:.3s both fade-in;display:flex;position:fixed;inset:0}.sheet{width:min(100%,480px);max-height:88dvh;padding:22px 18px calc(24px + env(safe-area-inset-bottom));animation:sheet-up .45s var(--ease) both;border-radius:24px 24px 0 0;overflow-y:auto}.sheet p{color:var(--ink-soft)}.sheet-title{margin-bottom:10px;font-size:1.4rem}.sheet-close{z-index:1;border:1px solid var(--line);width:34px;height:34px;color:var(--ink-soft);background:#ffffff0a;border-radius:50%;position:absolute;top:12px;right:14px}.settings-section{border-top:1px solid var(--line);flex-wrap:wrap;gap:8px;padding:12px 0;display:flex}.settings-section h3{width:100%;font-size:.7rem;font-family:var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-faint)}.settings-section .fine-print{width:100%;margin:0}.reminder-row{gap:8px;width:100%;display:flex}.reminder-row .field{width:130px}.sheet .invite-code{font-family:var(--serif);letter-spacing:.2em;text-align:center;color:var(--amber-bright);text-shadow:0 0 20px #f2a65a73;margin:8px 0;font-size:2.2rem;font-weight:600}.recap-sheet{text-align:center}.sheet .recap-row{flex-wrap:wrap;justify-content:center;gap:10px;margin:12px 0;display:flex}.recap-pet{flex-direction:column;align-items:center;font-size:.85rem;display:flex}.recap-pet.is-star{background:radial-gradient(circle at 50% 40%,#f2a65a40,#0000 70%);border-radius:16px;padding:0 8px 6px}.embers{z-index:80;pointer-events:none;position:fixed;inset:0;overflow:hidden}.embers-glow{background:radial-gradient(at 50% 100%,#ff964666,#0000 65%);height:70%;animation:2.6s ease-out both ember-flash;position:absolute;bottom:-30%;left:0;right:0}.ember{background:currentColor;border-radius:50%;animation-name:ember-rise;animation-timing-function:cubic-bezier(.2,.6,.4,1);animation-fill-mode:both;position:absolute;bottom:-12px;box-shadow:0 0 6px 2px,0 0 16px 4px #ff964680}@keyframes candle{0%{opacity:1}7%{opacity:calc(1 - .16 * var(--energy,1))}11%{opacity:calc(1 - .03 * var(--energy,1))}21%{opacity:calc(1 - .2 * var(--energy,1))}29%{opacity:1}44%{opacity:calc(1 - .1 * var(--energy,1))}51%{opacity:calc(1 - .02 * var(--energy,1))}63%{opacity:calc(1 - .17 * var(--energy,1))}71%{opacity:1}85%{opacity:calc(1 - .12 * var(--energy,1))}to{opacity:1}}@keyframes window-candle{0%,to{filter:brightness()}13%{filter:brightness(.92)}27%{filter:brightness(1.06)}48%{filter:brightness(.95)}66%{filter:brightness(1.04)}82%{filter:brightness(.93)}}@keyframes flame{0%,to{opacity:1;transform:scale(1)skew(0)}25%{transform:scale(calc(1 - .08 * var(--energy,1)), calc(1 + .08 * var(--energy,1))) skewX(calc(-3deg * var(--energy,1)));opacity:calc(1 - .1 * var(--energy,1))}50%{transform:scale(calc(1 + .04 * var(--energy,1)), calc(1 - .06 * var(--energy,1))) skewX(calc(2deg * var(--energy,1)))}75%{transform:scale(calc(1 - .04 * var(--energy,1)), calc(1 + .05 * var(--energy,1))) skewX(calc(-1deg * var(--energy,1)));opacity:calc(1 - .05 * var(--energy,1))}}@keyframes bulb-flicker{0%,38%,41%,44%,72%,to{opacity:1}39%{opacity:calc(1 - .5 * var(--energy,1))}40%{opacity:calc(1 - .05 * var(--energy,1))}42%{opacity:calc(1 - .35 * var(--energy,1))}43%{opacity:1}73%{opacity:calc(1 - .18 * var(--energy,1))}74%{opacity:1}}@keyframes neon{0%,18%,22%,60%,to{opacity:1}19%{opacity:.4}20%{opacity:.9}21%{opacity:.55}61%{opacity:.75}}@keyframes lamp-pulse{0%,to{opacity:.65;transform:scale(1)}50%{opacity:1;transform:scale(1.04)}}@keyframes soft-pulse{0%,to{box-shadow:0 0 #f2a65a00}50%{box-shadow:0 0 22px #f2a65a59}}@keyframes logo-glow{0%,to{text-shadow:0 0 22px #f2a65a59}50%{text-shadow:0 0 34px #f2a65a99}}@keyframes sway{0%{transform:rotate(calc(-6deg * var(--energy,.27)))}to{transform:rotate(calc(6deg * var(--energy,.27)))}}@keyframes drift{0%{transform:skewX(calc(-5deg * var(--energy,.24))) scaleX(1)}to{transform:skewX(calc(6deg * var(--energy,.3))) scaleX(calc(1 - .04 * var(--energy,.3)))}}@keyframes twinkle{0%,to{opacity:1}50%{opacity:calc(1 - .55 * var(--energy,1))}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes anim-bob{0%,to{transform:translateY(0)}50%{transform:translateY(calc(-7px * var(--energy,.23)))}}@keyframes swim{0%{transform:translateX(calc(-12px * var(--energy,.42)))}45%{transform:translateX(calc(16px * var(--energy,.44)))}50%{transform:translateX(calc(16px * var(--energy,.44))) scaleX(-1)}95%{transform:translateX(calc(-12px * var(--energy,.42))) scaleX(-1)}to{transform:translateX(calc(-12px * var(--energy,.42)))}}@keyframes float-up{0%{opacity:0;transform:translateY(2px)}30%{opacity:.9}to{transform:translateY(calc(-24px * var(--energy,.33)));opacity:0}}@keyframes wag{0%{transform:rotate(calc(-18deg * var(--energy,.28)))}to{transform:rotate(calc(18deg * var(--energy,.28)))}}@keyframes clouds{0%{transform:translate(-26px)}to{transform:translate(30px)}}@keyframes dust{0%,to{opacity:0;transform:translate(0)}30%{opacity:.7}60%{opacity:.45;transform:translate(10px,-14px)}}@keyframes settle-in{0%{opacity:0;filter:brightness(1.8);transform:translateY(-14px)scale(.92)}60%{opacity:1;transform:translateY(1px)scale(1.01)}to{filter:brightness();transform:none}}@keyframes rise-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1}}@keyframes breathe{0%,to{transform:scale(1)}50%{transform:scale(1.02,1.04)}}@keyframes breathe-sleep{0%,to{transform:scale(1.03,.9)}50%{transform:scale(1.05,.95)}}@keyframes frog-throat{0%,to{transform:scale(1)}40%{transform:scale(1.04,1.03)}}@keyframes blink{0%,93%,to{transform:scaleY(1)}95%{transform:scaleY(.1)}}@keyframes tail-flick{0%,55%,to{transform:rotate(0)}68%{transform:rotate(12deg)}82%{transform:rotate(-7deg)}}@keyframes wag-fast{0%{transform:rotate(-14deg)}to{transform:rotate(14deg)}}@keyframes ear-twitch{0%,88%,to{transform:rotate(0)}91%{transform:rotate(-6deg)}94%{transform:rotate(3deg)}}@keyframes walk-bob{0%{transform:translateY(0)rotate(.6deg)}to{transform:translateY(-1.8px)rotate(-1.2deg)}}@keyframes legs{0%{transform:translate(-1.3px)}to{transform:translate(1.6px)}}@keyframes head-tilt{0%{transform:rotate(-5deg)}to{transform:rotate(6deg)}}@keyframes hop{0%,to{transform:translateY(0)scale(1.04,.95)}45%{transform:translateY(-11px)scale(.97,1.04)}70%{transform:translateY(-2px)}}@keyframes shadow-hop{0%,to{transform:scale(1)}45%{transform:scale(.65)}}@keyframes nom{0%{transform:rotate(0)}to{transform:translateY(2.5px)rotate(13deg)}}@keyframes crumbs{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(3px)}}@keyframes zzz{0%{opacity:0;transform:translateY(4px)}30%{opacity:.85}to{opacity:0;transform:translate(4px,-6px)}}@keyframes slot-pulse{0%,to{opacity:.55}50%{opacity:1}}@keyframes box-wiggle{0%,70%,to{transform:none}76%{transform:translateY(-3px)rotate(-3deg)}82%{transform:rotate(2.5deg)}88%{transform:rotate(-1.5deg)}}@keyframes box-pop{0%{transform:scale(1)}35%{transform:scale(1.08,.9)}65%{transform:scale(.96,1.06)}to{transform:scale(1)}}@keyframes flap-left{to{transform:rotate(-120deg)}}@keyframes flap-right{to{transform:rotate(120deg)}}@keyframes bow-fly{to{opacity:0;transform:translateY(-60px)rotate(30deg)scale(.6)}}@keyframes card-rise{0%{opacity:0;filter:brightness(1.6);transform:translateY(40px)scale(.92)}to{opacity:1;filter:brightness();transform:none}}@keyframes sky-clouds{0%{transform:translate(0)}to{transform:translate(calc(100vw + 200px))}}@keyframes smoke{0%{opacity:.8;transform:translate(0)scale(.5)}to{opacity:0;transform:translate(10px,-34px)scale(1.8)}}@keyframes bloom{0%{transform:scale(0)}to{transform:scale(1)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes toast-in{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:none}}@keyframes sheet-up{0%{transform:translateY(100%)}to{transform:none}}@keyframes ember-rise{0%{opacity:0;transform:translate(0)scale(1)}10%{opacity:1}50%{transform:translate(calc(var(--drift) * .5), -50vh) scale(.85);opacity:.9}to{transform:translate(var(--drift), -95vh) scale(.3);opacity:0}}@keyframes ember-flash{0%{opacity:0}20%{opacity:1}to{opacity:0}}.building-anchor{width:380px;position:absolute;bottom:100px;left:calc(50% - 206px)}.neighbourhood{pointer-events:none;z-index:-1;position:absolute;inset:0}.townhouses,.neighbour-apartments{align-items:flex-end;gap:8px;display:flex;position:absolute;bottom:100px}.townhouses{right:calc(50% + var(--building-left) + 52px)}.neighbour-apartments{left:calc(50% + var(--building-right) + 32px);gap:26px}.townhouse,.neighbour-apartment{--house:#59433f;--roof:#34343d;height:calc(var(--neighbour-height) * var(--height-ratio,.84));--window-rows:3;filter:brightness(.82);flex-direction:column;flex-shrink:0;width:clamp(130px,13vw,205px);display:flex;position:relative}.townhouse-0{--height-ratio:.72;--house:#485452;--roof:#2c353c}.townhouse-1{--height-ratio:.96;--window-rows:4;--house:#68564b;transform:translateY(-1px)}.townhouse-2{--house:#624347;--roof:#3b3038}.neighbour-facade{background-color:var(--house);background-image:repeating-linear-gradient(0deg,#00000016 0 1.5px,#0000 1.5px 18px),repeating-linear-gradient(90deg,#ffe7c008 0 1px,#0000 1px 38px),linear-gradient(90deg,#ffffff05,#00000020);flex-direction:column;flex:1;min-height:0;padding:24px 18px 0;display:flex;position:relative;box-shadow:inset 0 0 30px #00000030}.townhouse-roof{background:var(--roof);clip-path:polygon(50% 0,100% 88%,100% 100%,0 100%,0 88%);flex-shrink:0;height:65px;position:relative;box-shadow:inset 0 -6px #0004}.little-chimney{background:#483638;border-top:5px solid #66504c;width:19px;height:32px;position:absolute;top:-27px;right:22%}.townhouse-roof .little-chimney{top:15px}.neighbour-windows{grid-template-rows:repeat(var(--window-rows), minmax(0, 1fr));gap:clamp(12px, calc(var(--neighbour-height) * .035), 28px) 17px;flex:1;grid-template-columns:repeat(2,1fr);min-height:0;display:grid}.neighbour-window{background:radial-gradient(at 60% 30%,#a28a65,#4a3d3c 65%);border:5px solid #30282c;border-radius:16px 16px 2px 2px;min-height:0;display:block;position:relative;overflow:hidden;box-shadow:0 -4px #baa08833,0 5px #2c252a,0 0 16px #ffcc8815}.neighbour-window:before{content:"";z-index:1;background:linear-gradient(90deg,#9b827777 0 18%,#0000 18% 80%,#9b827777 80%),linear-gradient(#0000 48%,#30282c 48% 52%,#0000 52%),linear-gradient(90deg,#0000 47%,#30282c 47% 53%,#0000 53%);position:absolute;inset:0}.neighbour-window i{filter:blur(4px);background:#282b2c77;border-radius:8px 8px 2px 2px;width:18px;height:32px;position:absolute;bottom:3px;left:8px;transform:rotate(-8deg)}.neighbour-window.window-1{background:radial-gradient(at 40% 45%,#b49c75,#5c4642 65%)}.neighbour-window.window-2{background:#38343e}.neighbour-window.window-3{background:radial-gradient(at 60% 70%,#8b775d,#4a4047 65%)}.neighbour-door{background:#263e3b;border:4px solid #342b2c;border-radius:20px 20px 0 0;flex-shrink:0;width:43px;height:73px;margin:30px auto 0;position:relative;box-shadow:0 0 0 3px #b99b7322}.neighbour-door span{background:#c5a97666;border-radius:12px 12px 0 0;width:23px;height:27px;margin:5px auto;display:block}.neighbour-door:after{content:"";background:#c2a368;border-radius:50%;width:3px;height:3px;position:absolute;bottom:22px;right:4px}.neighbour-stoop{background:linear-gradient(#76645b 0 3px,#51454a 3px 6px,#76645b 6px);flex-shrink:0;width:65px;height:9px;margin:auto;position:relative}.neighbour-planter{background:linear-gradient(#3c5748 65%,#745044 65%);border-radius:50% 50% 20% 20%;width:18px;height:26px;position:absolute;bottom:6px;left:10%}.neighbour-side{clip-path:polygon(0 0,100% 4%,100% 100%,0 100%);background:#30262b;width:20px;position:absolute;top:65px;bottom:0;left:100%}.neighbour-apartment{--height-ratio:.98;--window-rows:4;--house:#485055;width:clamp(180px,18vw,280px)}.neighbour-apartment.apartment-1{--height-ratio:.8;--window-rows:3;--house:#574a47}.neighbour-apartment .neighbour-windows{grid-template-columns:repeat(3,1fr);column-gap:15px}.neighbour-apartment .neighbour-window{border-radius:3px}.neighbour-apartment .neighbour-side{width:32px;top:0}.apartment-cornice{z-index:1;background:linear-gradient(#635e5b 0 4px,#39383e 4px 10px,#73706a 10px 13px,#39383e 13px);height:16px;position:absolute;top:-16px;left:-8px;right:-8px}.street-ground{z-index:-2;background:linear-gradient(#3a3440 0 2px,#423a43 2px 55px,#292730 55px 59px,#24232c 59px);height:145px;position:absolute;inset:auto 0 0}.street-ground:after{content:"";background:repeating-linear-gradient(90deg,#a9987b66 0 45px,#0000 45px 95px);height:2px;position:absolute;bottom:25px;left:0;right:0}.street-details{pointer-events:none;z-index:-1;width:100%;height:240px;position:absolute;bottom:46px}.building-hint{bottom:max(10px, env(safe-area-inset-bottom));text-align:center;font-family:var(--serif);color:#e8cfac;text-shadow:0 2px 8px #17121a;margin:0;font-size:.85rem;position:absolute;left:0;right:0}.sky-orb{top:9%;right:16%}.room-hint{text-align:center;color:var(--ink-soft);margin:12px 0;font-size:.78rem;line-height:1.5}.visit-content{width:min(480px,100%,86.2dvh - 166.26px);min-width:min(100%,310px);padding-top:max(12px, env(safe-area-inset-top));padding-bottom:max(24px, env(safe-area-inset-bottom))}.visit .home{width:100%}.room-scene [role=button]{cursor:pointer;outline:none}.room-scene [role=button]:focus-visible{filter:drop-shadow(0 0 4px #ffe4ae)}.room-scene [data-motion-level=max] .cloud-drift{animation-duration:1.333s}.surface-response{animation:1.8s ease-in-out room-shimmer}@keyframes room-shimmer{0%,to{filter:brightness()}50%{filter:brightness(1.225)}}.item-reaction{animation-duration:1.8s;animation-timing-function:ease-in-out;animation-fill-mode:both}.room-scene .item-reaction .anim,.room-scene .item-reaction .glow-layer,.room-scene .item-reaction .bulb-core,.room-scene .item-reaction .bulb-glow{animation:none}.reaction-squish{animation-name:respond-squish}.reaction-rustle{animation-name:respond-rustle}.reaction-book{animation-name:respond-book;animation-duration:1.5s}.reaction-curtain{animation-name:respond-curtain;animation-duration:2.6s}.reaction-flicker{animation-name:respond-flicker;animation-duration:2.2s}.reaction-warm{animation-name:respond-warm;animation-duration:2.2s}.reaction-ripple{animation-name:respond-ripple}.reaction-straighten{animation-name:respond-straighten}.reaction-clock{animation-name:respond-clock;animation-duration:1.6s}.reaction-steam{animation-name:respond-steam;animation-duration:2.4s}.reaction-flame{animation-name:respond-flame;animation-duration:2.2s}.reaction-screen{animation-name:respond-screen}.reaction-yarn{animation-name:respond-yarn}.reaction-record{animation-name:respond-record;animation-duration:2.6s}.reaction-note{animation-name:respond-note;animation-duration:2.6s}.reaction-fish{animation-name:respond-fish;animation-duration:2.6s}.reaction-bubble{animation-name:respond-bubble;animation-duration:2.4s}.reaction-lava{animation-name:respond-lava;animation-duration:2.6s}.reaction-swing{animation-name:respond-swing;animation-duration:2.8s}.reaction-gleam{animation-name:respond-gleam}.reaction-fan{animation-name:respond-fan;animation-duration:2.8s}.reaction-snail{animation-name:respond-snail;animation-duration:2.8s}.reaction-clink{animation-name:respond-clink;animation-duration:1.4s}@keyframes respond-squish{0%,to{transform:none}24%{transform:scale(1.06,.82)}48%{transform:scale(.9775,1.06)}72%{transform:scale(1.015,.97)}}@keyframes respond-rustle{0%,to{transform:none}22%{transform:rotate(-9deg)}48%{transform:rotate(6deg)}72%{transform:rotate(-3deg)}}@keyframes respond-book{0%,to{transform:none}30%{transform:translateY(-3px)rotate(-13.5deg)}58%{transform:translateY(-.75px)rotate(4.5deg)}80%{transform:rotate(-1.5deg)}}@keyframes respond-curtain{0%,to{transform:none}28%{transform:skew(4.5deg)scaleX(.94)}58%{transform:skew(-2.4deg)scaleX(1.03)}80%{transform:skew(1.05deg)}}@keyframes respond-flicker{0%,to{opacity:1;filter:brightness()}18%,42%{opacity:.43;filter:brightness(.85)}29%,60%{opacity:1;filter:brightness(1.375)}}@keyframes respond-warm{0%,to{filter:brightness()}18%,42%{filter:brightness(.775)}29%,60%{filter:brightness(1.33)}}@keyframes respond-ripple{0%,to{transform:none}28%{transform:scale(1.0225,.91)}58%{transform:scale(.9925,1.0375)}}@keyframes respond-straighten{0%,to{transform:none}25%{transform:rotate(-6deg)}52%{transform:rotate(3deg)}78%{transform:rotate(-1.05deg)}}@keyframes respond-clock{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes respond-steam{0%,to{opacity:1;transform:none}40%{opacity:.325;transform:translateY(-7.5px)scaleX(1.45)}65%{opacity:0;transform:translateY(-12px)scaleX(1.75)}66%{opacity:0;transform:translateY(3px)}}@keyframes respond-flame{0%,to{filter:brightness();transform:none}22%,60%{filter:brightness(1.225);transform:scale(.775,1.375)skew(-7.5deg)}40%,78%{transform:scale(1.12,.88)skew(4.5deg)}}@keyframes respond-screen{0%,to{filter:brightness()}20%{filter:brightness(.55)saturate(.3)}45%{filter:brightness(1.375)saturate(.8)}68%{filter:brightness(.925)}}@keyframes respond-yarn{0%,to{transform:none}28%{transform:translateY(-4.5px)rotate(-27deg)}60%{transform:translateY(-1.5px)rotate(10.5deg)}}@keyframes respond-record{0%{transform:scaleY(.283333)rotate(0)scaleY(3.52941)}to{transform:scaleY(.283333)rotate(1080deg)scaleY(3.52941)}}@keyframes respond-note{0%,to{opacity:1;transform:none}45%{opacity:.85;transform:translate(3px,-9px)rotate(18deg)}70%{opacity:0;transform:translate(6px,-15px)}71%{opacity:0;transform:translateY(3px)}}@keyframes respond-fish{0%,to{transform:none}28%{transform:translate(6px,-3px)rotate(-7.5deg)}62%{transform:translate(-4.5px,1.5px)rotate(4.5deg)}}@keyframes respond-bubble{0%,to{opacity:1;transform:none}60%{opacity:0;transform:translate(1.5px,-13.5px)scale(.55)}61%{opacity:0;transform:translateY(4.5px)}}@keyframes respond-lava{0%,to{transform:none}32%{transform:translateY(-6px)scale(.775,1.27)}67%{transform:translateY(3px)scale(1.12,.85)}}@keyframes respond-swing{0%,to{transform:none}22%{transform:rotate(-7.5deg)}48%{transform:rotate(5.25deg)}72%{transform:rotate(-2.4deg)}}@keyframes respond-gleam{0%,to{filter:brightness();opacity:1}32%{filter:brightness(1.75);opacity:.475}58%{filter:brightness(1.375);opacity:1}}@keyframes respond-fan{0%{transform:rotate(0)}to{transform:rotate(2160deg)}}@keyframes respond-snail{0%,to{transform:none}35%{transform:translate(4.5px)}65%{transform:translate(4.5px)scaleY(.91)}}@keyframes respond-clink{0%,to{transform:none}24%{transform:rotate(-12deg)}48%{transform:rotate(6deg)}72%{transform:rotate(-1.5deg)}}.pet-love{pointer-events:none;animation:1.1s ease-out both pet-love}.present-arrival{animation:.85s cubic-bezier(.22,.7,.25,1) both present-drop}.present-sparkles{pointer-events:none;fill:#ffdf8c;font-size:12px}.present-sparkles text{animation:2.1s ease-in-out infinite present-sparkle;animation-delay:calc(var(--i) * -.45s);transform-box:fill-box;transform-origin:50%}.present-box.is-ready .present-box-body{animation-duration:2.3s}@keyframes present-drop{0%{opacity:0;transform:translateY(-280px)rotate(-12deg)}55%{opacity:1;transform:translateY(0)rotate(4deg)scaleY(.85)}75%{transform:translateY(-18px)rotate(-3deg)}to{transform:none}}@keyframes present-sparkle{0%,to{opacity:.15;transform:scale(.6)}50%{opacity:1;transform:scale(1.25)rotate(20deg)}}@keyframes pet-love{0%{opacity:0;transform:translateY(5px)scale(.8)}30%{opacity:1}to{opacity:0;transform:translateY(-25px)scale(1.2)}}@media (width<=600px){.roof-sign-center-support{display:none}.street-details{opacity:.6}.sky-orb{top:4%;right:8%}}@media (prefers-reduced-motion:reduce){.surface-response,.present-arrival,.present-sparkles text,.item-reaction,.pet-love,.visit-header,.reaction-bar{animation:none}.pet-love{opacity:1}*,:before,:after{scroll-behavior:auto!important;animation-iteration-count:1!important}.room-scene .anim,.room-scene .glow-layer,.room-scene .bulb-glow,.room-scene .bulb-core,.pet *,.sky-cloud,.smoke,.roof-plant,.flower,.log-button:before,.present-box-body,.window-warm,.window-glass,.roof-sign,.roof-neon,.door-window,.logo{animation:none!important}.pet.is-happy .pet-happy-face{display:inline}.ember{animation-duration:1.4s!important}.pane,.pet-position,.pet-facing{transition:none!important}}.room-key-entry{color:var(--ink-soft);margin:18px 0 4px;font-size:.85rem}.room-key-entry summary{cursor:pointer}.room-key-entry form{gap:10px;margin-top:14px;display:grid}:root{--bg:#120d0a;--card:#1a130f;--card-strong:#241b14;--ink:#f3e6d0;--ink-soft:#b8a68a;--ink-faint:#ac997c;--line:#f3e6d01f;--amber:#e8a24a;--amber-bright:#f0c580}body{background:var(--bg)}body:after{opacity:.035}button:focus-visible,input:focus-visible,summary:focus-visible,a:focus-visible{outline-offset:4px;outline:2px solid #f0c580}button:disabled{opacity:.55}.big-button,.log-button-face{color:#1d130b;background:linear-gradient(#f0b25c,#d98f37);box-shadow:0 5px 24px #e8a24a16}.big-button{border-radius:11px}.card{background:linear-gradient(150deg,#261d16,#1a130f);border-radius:16px;box-shadow:0 14px 50px #0005}.chip{border-radius:9px;min-height:40px}.back-button,.icon-button{color:var(--ink);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#120d0a80;width:42px;height:42px}.field{color:var(--ink);background:#100c09;border-radius:10px}.fine-print{line-height:1.6}.brownstone-street .street-scene{background:linear-gradient(#0a0b1c,#18172a 65%,#15121b)}.brownstone-world{transform-origin:top;width:1440px;height:800px;position:absolute;top:50%;left:50%}.street-architecture{pointer-events:none;width:1440px;height:auto;display:block;overflow:visible}.street-header{z-index:2;top:max(22px, env(safe-area-inset-top));left:max(28px, env(safe-area-inset-left));right:max(28px, env(safe-area-inset-right));justify-content:space-between;align-items:center;gap:16px;display:flex;position:absolute}.street-header h1{font-size:22px;font-weight:500}.street-header p{color:var(--ink-soft);margin:6px 0 0;font-size:12px}.street-header .chip{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#120d0a80;font-size:13px}.brownstone-unit{width:110px;height:100px;position:absolute}.brownstone-resident{width:100%;height:100%;position:relative}.brownstone-resident .flat-window{aspect-ratio:auto;width:110px;height:100px;box-shadow:0 0 26px 9px rgb(255 184 102/calc(var(--glow) * .16));background:#23170e;border-radius:0;padding:3px}.brownstone-resident .window-glass{box-shadow:0 0 18px rgb(255 184 102/calc(var(--glow) * .7));border-radius:0;animation:none}.brownstone-resident .room-scene{width:100%;height:auto;position:absolute;bottom:-7px}.brownstone-resident .window-dim{opacity:calc((1 - var(--glow)) * .6)}.brownstone-resident .window-warm{opacity:calc(var(--glow) * .24);animation:none}.brownstone-resident .glass-sheen{opacity:.3}.brownstone-resident .window-panes{inset:2px}.brownstone-resident .pane{background:linear-gradient(#0000 48%,#54432b 48% 51%,#0000 51%);border:1.4px solid #54432b;transition-duration:.45s}.brownstone-planter{text-align:center;color:#e8d6b4;white-space:nowrap;background:linear-gradient(#35261c,#241a13);border-top:1px solid #6a5135;width:114px;height:16px;font-size:10px;line-height:15px;position:absolute;top:106px;left:-2px}.brownstone-planter>span:last-child{text-overflow:ellipsis;padding:0 3px;display:block;overflow:hidden}.is-me .brownstone-planter{color:#f0b25c}.live-flowers{pointer-events:none;justify-content:space-around;height:14px;display:flex;position:absolute;top:-15px;left:4px;right:4px}.live-flowers i{width:2px;height:12px;transform:rotate(calc((var(--i) - 3) * 8deg));background:#536e3a;position:relative}.live-flowers i:before{content:"";background:#ddb083;border-radius:50%;width:6px;height:5px;position:absolute;top:-1px;left:-2px;box-shadow:0 0 2px #f0bc5e40}.live-flowers i:nth-child(2n):before{background:#c38c82}.live-flowers i:after{content:"";background:#526d3d;border-radius:100% 0;width:7px;height:3px;position:absolute;top:6px;left:0}.window-stars{color:#e2b86d;text-shadow:0 1px 2px #241509;overflow-wrap:anywhere;flex-direction:column;width:10px;font-size:12px;line-height:12px;display:flex;position:absolute;top:3px;left:-7px}.brownstone-vacancy{background:linear-gradient(155deg,#192137,#101222);border:3px solid #51402c;width:110px;height:100px;position:relative;box-shadow:inset 0 15px #30271e}.brownstone-vacancy:after{content:"";pointer-events:none;background:linear-gradient(90deg,#0000 49%,#51402c 49% 51%,#0000 51%);position:absolute;inset:0}.brownstone-vacancy span{z-index:1;font-family:var(--serif);color:#39291c;background:#dfd3b9;padding:5px 8px;font-size:10px;line-height:1.2;position:absolute;top:48px;left:14px;transform:rotate(-4deg);box-shadow:0 3px 8px #0008}.brass-invite{color:#291c0c;letter-spacing:1px;background:linear-gradient(135deg,#e4c780,#997238);border:1px solid #d0b275;border-radius:2px;width:50px;height:23px;font-size:9px;font-weight:700;position:absolute;top:632px;left:842px;box-shadow:0 2px 5px #0006}.street-reflections{pointer-events:none;position:absolute;inset:0;overflow:hidden}.street-reflections span{filter:blur(3px);background:repeating-linear-gradient(0deg,#0000 0 3px,#ffbf76 4px 5px,#0000 6px 9px);width:110px;height:50px;position:absolute;top:742px;transform:skew(-12deg)}.street-footer{bottom:max(16px, env(safe-area-inset-bottom));text-align:center;position:absolute;left:12px;right:12px}.street-footer p{font-family:var(--serif);margin:0 0 6px;font-size:18px}.street-footer>span{color:var(--ink-soft);font-size:11px}.building-pages{justify-content:center;align-items:center;gap:10px;margin-bottom:10px;font-size:12px;display:flex}.visit-backdrop{background:radial-gradient(#2b2016,#120d0a 65%)}.visit-content{width:min(440px,100%,65dvh - 133.9px);min-width:min(100%,320px);padding:0 0 max(18px, env(safe-area-inset-bottom));background:#120d0a;box-shadow:0 0 100px #0006}.visit .home{position:relative}.home-topbar,.visit-header{z-index:3;top:max(16px, env(safe-area-inset-top));margin:0;position:absolute;left:20px;right:20px}.visit-header{width:auto}.visit-name{font-size:18px}.room-wrap,.visit-room{width:100%;box-shadow:none;border-radius:0;margin:0;overflow:visible}.room-scene{border-radius:0;width:100%;height:auto;display:block;overflow:hidden}.room-frame,.room-wrap:after,.visit-room:after{display:none}.room-summary{z-index:1;text-align:left;margin:-12px 0 16px;padding:0 24px;position:relative}.room-summary h2{font-size:27px;font-weight:500}.room-summary p{color:var(--ink-soft);margin:6px 0 0;font-size:12px;line-height:1.5}.room-hint{margin:10px 0;padding:0 20px;font-size:12px}.log-panel{margin:0;padding:0 24px}.log-button{width:100%;box-shadow:none;border-radius:10px;padding:0}.log-button-face{border-radius:10px;padding:15px 12px;font-size:15px;font-weight:700}.home-actions{gap:8px;margin-top:12px;display:flex}.home-actions>button{flex:1;padding:10px 8px;font-size:13px}.week-dots{justify-content:center;gap:18px;margin:15px 0 0;display:flex}.week-dot{background:#352a1e;border:1px solid #79674e;width:8px;height:8px;display:flex;position:relative}.week-dot.is-done{background:#e8a24a;border-color:#e8a24a;box-shadow:0 0 8px #e8a24a50}.week-dot small{color:#b8a68a;font-size:9px;font-weight:400;position:absolute;top:13px;left:50%;transform:translate(-50%)}.week-dots{margin-bottom:28px}.week-dots.is-large .week-dot{width:10px;height:10px}.logged-message{font-family:var(--serif);color:#e7cfa6;text-align:center;margin:4px 0 0;font-size:17px}.type-row{gap:5px;margin-top:16px}.type-chip{font-size:11px}.drawer{border-radius:12px;margin:0 12px;padding:13px 10px}.drawer-tabs button{min-height:38px;font-size:12px}.drawer-row{gap:8px;padding:8px 2px 3px}.drawer-card{background:#120e0a;border-radius:8px;width:88px;min-width:88px;height:106px}.drawer-card span{padding:0 3px;font-size:10px;line-height:1.2;display:block}.drawer-empty{color:var(--ink-soft);margin:0;padding:12px;font-size:12px;line-height:1.6}.placement-guidance{background:#241b12;border:1px solid #e8a24a40;border-radius:10px;justify-content:space-between;align-items:center;gap:10px;margin:0 16px 10px;padding:10px 12px;font-size:12px;display:flex}.placement-guidance .chip{min-height:30px;padding:5px 8px;font-size:11px}.item-menu{z-index:10}.item-menu-name{text-align:center;margin:0 0 8px;font-size:12px}.slot-marker rect{fill:#e8a24a18;stroke:#f0c580;stroke-width:1.4px;stroke-dasharray:3 4}.slot-marker text{fill:#f3e6d0}.light-warmup{animation:.6s ease-out both light-warmup}.light-candle{animation:5.8s ease-in-out infinite light-candle}@keyframes light-warmup{0%{opacity:.12}to{opacity:1}}@keyframes light-candle{0%,to{opacity:.95}37%{opacity:.84}41%{opacity:.96}75%{opacity:.9}}.onboarding{background:radial-gradient(at 36% 48%,#332419,#120d0a 65%);justify-content:center;min-height:100dvh;padding:40px 24px}.onboarding.is-welcome{grid-template-columns:minmax(280px,390px) minmax(280px,390px);place-content:center;gap:64px;display:grid}.welcome-room{border-radius:2px;width:100%;animation:none;overflow:hidden;box-shadow:0 24px 80px #0006}.welcome-card{text-align:left;width:100%;box-shadow:none;background:0 0;border:none;margin:0;padding:0}.logo{color:#f3e6d0;font-size:clamp(54px,7vw,80px);font-style:italic;font-weight:500;animation:none}.welcome-lede{font:500 29px/1.3 var(--serif);max-width:15ch;margin:20px 0 14px}.welcome-copy{color:var(--ink-soft);max-width:33ch;margin-bottom:28px;font-size:14px;line-height:1.8}.welcome-caption{color:var(--ink-soft);text-align:center;font-size:11px;line-height:1.6}.onboarding-card:not(.welcome-card){padding:30px}.onboarding-card label{text-align:left;color:var(--ink-soft);margin:22px 0 8px;font-size:13px;display:block}.onboarding-card .step-back{margin:0 0 16px;font-size:12px}.onboarding-card h2{font-size:26px;font-weight:500}.onboarding-card>p{color:var(--ink-soft);font-size:13px;line-height:1.6}.pet-picker{grid-template-columns:repeat(3,1fr)}.pet-option{border-radius:10px}.pet-option span{font-size:12px}.room-key-entry summary{color:var(--ink-soft);font-size:13px}.reaction-bar{padding:0 22px}.reaction-bar .room-hint{text-align:left;padding:0}.reaction-buttons{grid-template-columns:1fr 1fr 1.4fr;gap:8px;display:grid}.reaction-button{width:auto;height:auto;min-height:48px;box-shadow:none;background:#261b14;border-radius:10px;justify-content:center;align-items:center;gap:7px;font-size:17px;display:flex}.reaction-button span{font-size:11px}.reaction-explainer{color:var(--ink-soft);margin:12px 0;font-size:11px;line-height:1.65}.unpack-backdrop{background:radial-gradient(#332418,#100c09 68%)}.unpack-heading{text-align:center;margin:0 20px 22px}.unpack-heading h2{font-size:31px;font-weight:500}.unpack-heading p{color:var(--ink-soft);max-width:35ch;margin:10px auto;font-size:13px;line-height:1.6}.choice-card{border-radius:12px;min-height:210px;padding:18px 12px}.choice-card strong{font-size:15px}.choice-card small{color:var(--ink-soft);margin-top:8px;font-size:11px;font-weight:400;line-height:1.5;display:block}.sheet{background:#1a130f}@media (width<=650px){.street-header{top:max(16px, env(safe-area-inset-top));left:18px;right:18px}.street-header h1{font-size:18px}.street-header p{display:none}.street-header .chip{min-height:36px;padding:8px 10px;font-size:11px}.street-footer p{font-size:16px}.street-footer>span{font-size:10px}.onboarding.is-welcome{flex-direction:column;justify-content:flex-start;gap:0;padding:0 0 24px;display:flex}.welcome-room{border-radius:0;width:min(100%,390px);max-height:56dvh;overflow:hidden}.welcome-room .room-scene{margin-top:-30px}.welcome-card{background:linear-gradient(#0000,#120d0a 24px);max-width:390px;margin-top:-26px;padding:24px 28px 0}.logo{font-size:48px}.welcome-lede{max-width:none;margin:10px 0;font-size:24px}.welcome-copy{max-width:none;margin:10px 0 16px;font-size:12px;line-height:1.65}.welcome-card .big-button{margin-top:0}.room-summary h2{font-size:25px}.choice-row{gap:8px;padding:0 12px}.choice-card{min-height:220px;padding:14px 8px}.choice-card .item-thumb,.choice-card .surface-thumb{width:76px;height:76px}.choice-card strong{font-size:13px}}@media (prefers-reduced-motion:reduce){.light-warmup,.light-candle,.kit-pet{animation:none!important}}.studio-controls{z-index:200;background:#211810;border-bottom:1px solid #6c5032;flex-wrap:wrap;align-items:center;gap:12px;padding:16px;display:flex;position:relative}.studio-controls button{color:var(--ink);background:#3b2b1d;border:1px solid #70533a;border-radius:8px;padding:8px 14px}.studio-gallery{grid-template-columns:repeat(auto-fit,minmax(360px,1fr));gap:20px;padding:24px;display:grid}.studio-gallery article{background:#30271e;border-radius:12px;padding:18px}.studio-gallery h2{font-size:20px}.studio-gallery article>div{flex-wrap:wrap;display:flex}.studio-gallery figure{text-align:center;margin:4px;font-size:11px}.item-menu-actions{gap:8px}.placed-item:focus-visible{filter:drop-shadow(0 0 3px #ffe6ac);outline:none}.pet-body{transform-box:fill-box;transform-origin:50% 100%}.studio-room{width:min(390px,100%);margin:auto;position:relative}.present-tier-1{--parcel-body:#ad875c;--parcel-edge:#7c5937;--parcel-top:#c09a6c;--parcel-ribbon:#d8c9a7}.present-tier-2{--parcel-body:#2f4a35;--parcel-edge:#172e22;--parcel-top:#48694b;--parcel-ribbon:#d4ad67}.present-tier-3{--parcel-body:#24324f;--parcel-edge:#141d33;--parcel-top:#384a70;--parcel-ribbon:#dcbe79}.kit-react-furniture{transform-box:fill-box;transform-origin:50% 100%;animation:.7s ease-out kit-settle}.kit-react-hanging{transform-box:fill-box;transform-origin:50% 0;animation:1.2s ease-in-out kit-swing}.kit-react-plant{transform-box:fill-box;transform-origin:50% 100%;animation:1.2s ease-in-out kit-swing}.kit-react-light{animation:1.1s ease-out kit-light}@keyframes kit-settle{30%{transform:scale(1.025,.97)}60%{transform:scale(.99,1.01)}}@keyframes kit-swing{20%{transform:rotate(-2deg)}50%{transform:rotate(1.6deg)}75%{transform:rotate(-.6deg)}}@keyframes kit-light{25%{filter:brightness(1.7)}}@media (prefers-reduced-motion:reduce){.kit-react-furniture,.kit-react-hanging,.kit-react-plant,.kit-react-light,.light-warmup,.light-candle{animation:none!important}}dialog.sheet-backdrop,dialog.unpack-backdrop{width:100%;max-width:none;height:100dvh;max-height:none;color:var(--ink);border:0;margin:0}dialog::backdrop{background:#080504aa}.unpack-backdrop{flex-direction:column;justify-content:center;align-items:center;gap:38px;display:flex}.unpack-heading{flex:none;margin:0}.unpack-box{flex:none}.parcel-hint{color:var(--ink-soft);margin-top:22px;font-size:13px}@media (height<=620px){.unpack-backdrop{justify-content:flex-start;gap:20px;padding-top:58px}}.save-status{color:#e6bb7d;text-align:center;padding:8px 20px;font-size:12px;line-height:1.5}.is-saving .drawer,.is-saving .item-menu,.is-saving .slot-markers{opacity:.6;pointer-events:none}.street-atmosphere{pointer-events:none;position:absolute;inset:0;overflow:hidden}.street-atmosphere.is-dusk{mix-blend-mode:screen;background:linear-gradient(#6e3e4b45,#0000 44%)}.street-atmosphere i{opacity:.28;position:absolute}.weather-rain i{background:#b6c6da;width:1px;height:19px;animation:1.6s linear infinite street-rain;transform:rotate(15deg)}.weather-snow i{background:#f3e6d0;border-radius:50%;width:3px;height:3px;animation:14s linear infinite street-fall}.weather-leaves i{background:#b56c3b;border-radius:80% 0;width:7px;height:3px;animation:23s linear infinite street-fall}@keyframes street-rain{to{translate:-80px 300px}}@keyframes street-fall{to{translate:50px 300px;rotate:130deg}}.street-atmosphere.is-still i{animation:none}@media (prefers-reduced-motion:reduce){.street-atmosphere i{animation:none}}.done-button{color:#20160e;background:#b78848;box-shadow:0 2px 10px #e8a24a22}.home-room,.neighbour-room{min-width:0;position:relative}.home-panel,.neighbour-panel{min-width:0;padding:22px 24px 6px}.flat-progress{width:100%}.flat-stages{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.flat-stage{text-align:center;color:#9e907d;font-size:11px}.stage-room{opacity:.5;filter:saturate(.35);width:100%;height:68px;margin:0 auto 8px;display:block}.flat-stage.is-reached .stage-room{opacity:.8;filter:none}.flat-stage.is-current{color:#f0c580}.flat-stage.is-current .stage-room{opacity:1;filter:drop-shadow(0 0 10px #e8a24a38)}.flat-progress-track{background:#493b2a;border-radius:4px;height:3px;margin:18px 12.5% 14px;position:relative}.flat-progress-fill{border-radius:inherit;background:#e8b56e;height:100%;transition:width .35s;display:block;box-shadow:0 0 10px #e8a24a48}.flat-progress-track i{background:#251c13;border:1px solid #8d7656;border-radius:50%;width:7px;height:7px;position:absolute;top:50%;transform:translate(-50%,-50%)}.flat-progress-track i.is-reached{background:#efc889;border-color:#efc889}.flat-progress-caption{color:var(--ink-soft);justify-content:space-between;gap:8px;font-size:11px;display:flex}.flat-progress-caption>span:last-child{color:#dcb779}.home-panel .log-panel{border-top:1px solid #f3e6d016;margin:22px 0 0;padding:0}.weekly-overview{justify-content:space-between;align-items:center;gap:12px;padding:12px 0 0;display:flex}.companion-status{align-items:center;gap:9px;display:flex}.companion-status>div{gap:4px;display:grid}.companion-status strong{font-family:var(--serif);font-size:19px;font-weight:500}.companion-status span,.weekly-total span{color:var(--ink-soft);font-size:11px}.weekly-total{text-align:right;gap:2px;display:grid}.weekly-total strong{color:#e7cfa6;font-size:25px;font-weight:500}.home-panel .week-dots{grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;margin:10px 0 31px;display:grid}.home-panel .week-dots .week-dot{background:#241d15;border-color:#f3e6d01a;border-radius:7px;place-items:center;width:100%;height:32px;display:grid}.home-panel .week-dot.is-done{color:#22170d;box-shadow:none;background:#c69552;border-color:#e5b877}.home-panel .week-dot.is-today{outline-offset:3px;outline:1px solid #edc78c}.home-panel .week-dot.is-future{opacity:.4}.home-panel .week-dot small{font-size:10px;top:39px}.week-dot-mark{font-size:16px;line-height:1}.activity-complete{color:#c5cfb0;justify-content:center;align-items:center;gap:7px;min-height:36px;font-size:12px;display:flex}.activity-complete>span{color:#c6d9a5}.parcel-button{width:100%;color:var(--ink);text-align:left;background:#b5813420;border:1px solid #cda36255;border-radius:12px;align-items:center;gap:8px;margin-top:16px;padding:4px 12px 4px 2px;display:flex}.parcel-button>svg{flex:0 0 90px}.parcel-button>span:nth-child(2){flex:1;gap:6px;display:grid}.parcel-button strong{font-size:14px;font-weight:500}.parcel-button small{color:var(--ink-soft);font-size:11px}.parcel-arrow{color:#efc889;font-size:22px}.home-panel .home-actions{margin-top:14px}.home-actions .decorate-button{color:#291b10;background:#e8b46c;border-color:#efc68c;justify-content:center;align-items:center;gap:10px;min-height:48px;font-size:14px;font-weight:600;display:flex}.decorating-title,.neighbour-title{font-family:var(--serif);margin:0 0 20px;font-size:29px;font-weight:500}.home-panel .room-hint{text-align:left;margin:0 0 16px;padding:0}.home-panel .placement-guidance{margin:0 0 16px}.home-panel .drawer{margin:0}.neighbour-panel .reaction-bar{margin-top:28px;padding:0}.neighbour-panel .reaction-explainer{margin-bottom:0}@media (width>=900px){.visit-content{width:min(1200px,100% - 80px);min-width:0;max-width:none;min-height:100dvh;box-shadow:none;background:0 0;align-items:center;padding:24px 0;display:grid}.home,.neighbour-layout{grid-template-columns:minmax(0,1fr) minmax(320px,400px);align-items:center;gap:clamp(32px,5vw,80px);width:100%;max-width:calc(64.982dvh + 368.809px + clamp(32px,5vw,80px));margin-inline:auto;display:grid}.home-room,.neighbour-room{justify-self:end;width:min(100%,64.982dvh - 31.1914px);box-shadow:0 24px 80px #0005}.home-panel,.neighbour-panel{scrollbar-width:thin;scrollbar-color:#725837 transparent;overscroll-behavior:contain;background:linear-gradient(145deg,#241b12d9,#18120ddd);border:1px solid #e7cfa61c;border-radius:18px;max-height:calc(100dvh - 64px);padding:28px;overflow-y:auto}.stage-room{height:82px}.home-panel .drawer{box-shadow:none;background:0 0;border:none;padding:0}.home-panel .drawer-row{scroll-snap-type:none;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;max-height:min(520px,64dvh);padding:14px 3px 3px;display:grid;overflow:auto}.home-panel .drawer-card{width:100%;min-width:0;height:121px;padding-top:12px}.home-panel .drawer-empty{grid-column:1/-1}.home-panel .drawer-card span{font-size:11px}.studio-room{width:min(1200px,100% - 80px);max-width:none}}@media (width<=650px){.home-panel,.neighbour-panel{padding:18px 20px 4px}.stage-room{height:52px;margin-bottom:5px}.flat-stages{gap:6px}.flat-stage{font-size:10px}.flat-progress-track{margin-top:13px;margin-bottom:12px}.flat-progress-caption{font-size:10px}.home-panel .log-panel{margin-top:17px}.companion-status .pet-portrait{width:56px;height:56px}.companion-status strong{font-size:17px}.home-panel .week-dots .week-dot{height:27px}.home-panel .week-dot small{top:32px}}@media (prefers-reduced-motion:reduce){.flat-progress-fill{transition:none}}.selected-item-controls{background:#120d0a55;border:1px solid #e7cfa626;border-radius:12px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;margin:0 0 18px;padding:14px;display:grid}.selected-item-controls .item-menu-name{grid-column:1/-1;margin:0}.selected-item-controls .item-menu-swatches{flex-wrap:wrap;justify-content:flex-start;margin:0}.selected-item-controls .item-menu-actions{justify-content:flex-start}.is-saving .selected-item-controls{pointer-events:none;opacity:.65}.drawer-card .furniture-location{color:var(--muted);margin-top:4px;font-size:10px;display:block}.home-panel .drawer-card{height:142px}.street-scroll{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#755439 #10101d;position:absolute;inset:0;overflow:hidden auto}.street-canvas{width:100%;position:relative}.street-header{pointer-events:none}.street-header button{pointer-events:auto}.street-footer{pointer-events:none;z-index:2;text-shadow:0 2px 8px #08080f}.street-footer button{pointer-events:auto}.more-floors{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#15111bea;border-color:#b99b624d;margin-bottom:10px;font-size:12px}.street-footer.is-scrollable{bottom:18px;left:auto;right:20px}.street-footer.is-scrollable p,.street-footer.is-scrollable>span{display:none}.street-footer.is-scrollable .more-floors{margin:0}.workout-week-nav{justify-content:space-between;align-items:center;gap:12px;margin-top:14px;display:flex}.workout-week-nav .chip{min-width:36px;padding:0 10px;font-size:22px}.workout-week-label{color:var(--ink-soft);font:inherit;cursor:pointer;background:0 0;border:0;font-size:13px}.home-panel .week-dots .week-dot{font:inherit;cursor:pointer;padding:0}.home-panel .week-dot[aria-pressed=true]{box-shadow:0 0 0 2px #edc78c}.home-panel .week-dot:disabled{cursor:default}.home-panel .week-dot:focus-visible{outline-offset:4px;outline:2px solid #fff0d4}.workout-day-hint{text-align:center;color:var(--ink-soft);margin:0 0 14px;font-size:12px}.history-open{color:#e6c28e;width:100%;margin:18px 0 4px;padding:12px}.history-open span{margin-right:6px}.sheet.flat-history{border-radius:24px 24px 0 0;width:min(100%,980px);padding:28px;position:relative}.flat-history .sheet-title{margin:0 0 20px;padding-right:38px}.history-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:32px;display:grid}.history-scene{aspect-ratio:360/554;background:#17120e;border:1px solid #d6ad6c33;border-radius:12px;justify-self:center;width:min(100%,42.2383dvh);position:relative;overflow:hidden}.history-scene .room-scene{width:100%;height:100%;display:block}.history-frame-count{color:#dec7a3;background:#18110dcc;border-radius:20px;padding:5px 10px;font-size:11px;position:absolute;bottom:12px;left:12px}.history-eyebrow{color:var(--ink-soft);font-size:12px}.history-details h3{font-family:var(--serif);margin:12px 0;font-size:clamp(24px,3vw,36px);font-weight:500}.history-quality{color:#c5d3b8;background:#8aa67a24;border-radius:20px;padding:4px 9px;font-size:11px;display:inline-block}.history-quality.is-estimate{color:#dfbd89;background:#c6955224}.history-caption{min-height:44px;line-height:1.5}.history-stats{color:var(--ink-soft);gap:26px;margin:24px 0;font-size:12px;display:flex}.history-stats strong{color:var(--ink);font-family:var(--serif);font-size:30px;font-weight:500;display:block}.history-slider-label{color:var(--ink-soft);margin-bottom:8px;font-size:12px;display:block}.history-details input[type=range]{accent-color:#d6a25b;cursor:pointer;width:100%;padding:0}.history-controls{gap:10px;margin:16px 0;display:flex}.history-controls .primary{color:#24180d;font:inherit;cursor:pointer;background:#c69552;border:0;border-radius:14px;flex:1;padding:12px 16px}.history-controls .chip{min-width:40px}.history-note{font-size:12px;line-height:1.6}@media (width<=620px){.sheet.flat-history{padding:20px 18px}.history-layout{grid-template-columns:1fr;gap:18px}.history-scene{width:auto;max-width:100%;height:42dvh}.history-details h3{margin:8px 0}.history-caption{min-height:0;margin:10px 0}.history-stats{margin:12px 0}.history-stats strong{margin-right:4px;font-size:20px;display:inline}}.history-room-art{width:100%;height:100%}
