:root{--cream: #fff8f3;--paper: #ffffff;--surface: #ffffff;--line: #f3e1ea;--ink: #5b3f55;--ink-soft: #8d7189;--ink-faint: #d9c6d2;--rose: #ff8fab;--rose-deep: #e8607f;--blush: #ffd3df;--mist: #fff0f4;--lilac: #e6dcff;--mint: #cdeee0;--butter: #fff0bf;--sky: #d7ecff;--pa: #ff8fab;--pb: #8fa8ff;--btn-1: #ffa7be;--btn-2: #ff7f9f;--btn-edge: #d9577a;--head-1: #ffdbe6;--head-2: #ffeef3;--bg-1: #fbe1ea;--bg-2: #ece3fb;--font-display: "Fredoka", ui-rounded, "Segoe UI", system-ui, sans-serif;--font-body: "Nunito", ui-rounded, "Segoe UI", system-ui, sans-serif;color-scheme:light}:root[data-theme=azzurro]{--rose: #7aa7f5;--rose-deep: #4f7fd9;--blush: #d7e6ff;--mist: #eef4ff;--btn-1: #9cbcfa;--btn-2: #6f9af0;--btn-edge: #4a74c9;--head-1: #d9e7ff;--head-2: #eef4ff;--bg-1: #dde9ff;--bg-2: #e6e3fb}:root[data-theme=lilla]{--rose: #a98ce6;--rose-deep: #8565d1;--blush: #e6dcff;--mist: #f4f0ff;--btn-1: #bea6f0;--btn-2: #9a7de0;--btn-edge: #7656bf;--head-1: #e9e0ff;--head-2: #f5f1ff;--bg-1: #ebe2fc;--bg-2: #fbe3f0}:root[data-theme=menta]{--rose: #4fc39a;--rose-deep: #2f9e78;--blush: #cdeee0;--mist: #effaf5;--btn-1: #7fd9b6;--btn-2: #4fc39a;--btn-edge: #2f9473;--head-1: #d4f2e5;--head-2: #effaf5;--bg-1: #ddf3ea;--bg-2: #e3eefb}:root[data-theme=pesca]{--rose: #ff9a6b;--rose-deep: #e8743f;--blush: #ffe0cf;--mist: #fff4ee;--btn-1: #ffb38f;--btn-2: #ff8f5c;--btn-edge: #d96a35;--head-1: #ffe2d2;--head-2: #fff3ec;--bg-1: #ffe6d8;--bg-2: #fbe3ee}html{height:100%;box-sizing:border-box;background:var(--bg-1)}*,*:before,*:after{box-sizing:inherit}body{height:100%;margin:0;font-family:var(--font-body);color:var(--ink);background:radial-gradient(circle at 12px 12px,rgba(255,255,255,.7) 2px,transparent 2.5px) 0 0 / 26px 26px,linear-gradient(160deg,var(--bg-1),var(--bg-2));-webkit-tap-highlight-color:transparent;overscroll-behavior:none}#root{height:100%}button{font:inherit;color:inherit}:focus-visible{outline:3px solid var(--pb);outline-offset:2px;border-radius:12px}.hidden{display:none}.boot-screen{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;font-family:var(--font-display);color:var(--ink);padding:24px 16px;text-align:center}.boot-screen svg{animation:heartbeat 1.2s ease-in-out infinite}.boot-error{max-width:100%;white-space:pre-wrap;font-size:12px;background:var(--surface);padding:12px;border-radius:12px;color:#a33}.app-shell{height:100%;max-width:480px;margin:0 auto;display:flex;flex-direction:column;background:var(--cream);position:relative;overflow:hidden}@media (min-width: 520px){.app-shell{box-shadow:0 0 0 1px #5b3f550f,0 30px 80px -30px #8c507873}}.app-shell{padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px)}.app-header{padding-top:env(safe-area-inset-top,0px)}.boot-screen{padding-top:max(24px,env(safe-area-inset-top,0px));padding-bottom:max(24px,env(safe-area-inset-bottom,0px))}.app-header{flex:none;position:relative;z-index:20;background:linear-gradient(180deg,var(--head-1) 0%,var(--head-2) 100%);border-bottom-left-radius:26px;border-bottom-right-radius:26px;box-shadow:0 8px 20px -14px color-mix(in srgb,var(--rose-deep) 55%,transparent)}.app-main{flex:1;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.screen-enter{animation:screen-in .35s cubic-bezier(.2,.9,.3,1.2)}.couple-heads{display:flex;flex:none}.head-bubble{width:44px;height:44px;border-radius:999px;background:var(--surface);border:2.5px solid #fff;box-shadow:0 3px 8px -3px #8c507873}.head-bubble.is-a{background:#ffe1ea}.head-bubble.is-b{background:#e3e9ff}.head-bubble.is-second{margin-left:-12px}.head-unknown{display:inline-grid;place-items:center;border-radius:999px;background:var(--surface);color:var(--rose-deep);font-family:var(--font-display);font-weight:600;font-size:22px;border:2.5px dashed var(--rose)}.head-bubble.head-unknown{width:44px;height:44px}.head-unknown.is-big{width:110px;height:110px;font-size:54px}.heartbeat{color:var(--rose);display:inline-block;animation:heartbeat 1.4s ease-in-out infinite;font-size:18px}.partner-switch{display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex:none}.partner-switch-label{font-size:10px;text-transform:uppercase;letter-spacing:.12em;font-weight:800;color:var(--ink-soft)}.partner-pill{max-width:76px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-display);font-weight:600;font-size:13px;padding:4px 10px;border-radius:999px;border:2px solid transparent;background:color-mix(in srgb,var(--surface) 70%,transparent);color:var(--ink-soft);cursor:pointer;transition:all .15s}.partner-pill.is-a.is-active{background:var(--pa);color:#fff;box-shadow:0 3px 0 var(--btn-edge)}.partner-pill.is-b.is-active{background:var(--pb);color:#fff;box-shadow:0 3px #6278d6}.bottom-nav{flex:none;display:grid;grid-template-columns:repeat(5,1fr);gap:0;padding:8px 8px calc(8px + env(safe-area-inset-bottom,0px));background:var(--surface);border-top-left-radius:26px;border-top-right-radius:26px;box-shadow:0 -8px 24px -14px #8c507873;position:relative;z-index:20}.nav-btn{display:flex;flex-direction:column;align-items:center;gap:3px;border:0;background:none;cursor:pointer;padding:2px 0;color:var(--ink-soft)}.nav-icon{display:grid;place-items:center;width:42px;height:30px;border-radius:999px;transition:background .2s,transform .2s}.nav-label{font-size:10.5px;font-weight:800;letter-spacing:-.01em;white-space:nowrap}.nav-btn.is-active{color:var(--rose-deep)}.nav-btn.is-active .nav-icon{background:var(--blush);animation:nav-pop .35s cubic-bezier(.2,.9,.3,1.5)}.card{background:var(--paper);border-radius:24px;box-shadow:0 4px 18px -8px #8c50784d}.field-label{font-family:var(--font-display);font-weight:600;font-size:15px;color:var(--ink);margin:0}.input{font:inherit;font-size:16px;color:var(--ink);background:var(--mist);border:2px solid transparent;border-radius:16px;padding:10px 14px;outline:none;transition:border-color .15s,background .15s}.input::placeholder{color:#b9a3b4}.input:focus{border-color:var(--rose);background:var(--surface)}.btn-game{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;font-family:var(--font-display);font-weight:600;font-size:16px;letter-spacing:.01em;border:0;border-radius:999px;padding:.7rem 1.2rem;color:#fff;cursor:pointer;background:linear-gradient(180deg,var(--btn-1),var(--btn-2));box-shadow:0 4px 0 var(--btn-edge),0 10px 18px -8px var(--btn-edge);text-shadow:0 1px 0 rgba(160,40,80,.25);transition:transform .08s,box-shadow .08s,filter .15s}.btn-game:active:not(:disabled){transform:translateY(3px);box-shadow:0 1px 0 var(--btn-edge),0 4px 10px -6px var(--btn-edge)}.btn-game:disabled{filter:grayscale(.5);opacity:.55;cursor:not-allowed}.btn-game.is-white{background:var(--surface);color:var(--ink);text-shadow:none;box-shadow:0 4px 0 var(--blush),0 10px 18px -10px #8c507880}.btn-game.is-white:active{box-shadow:0 1px 0 var(--blush)}.btn-game.is-mint{background:linear-gradient(180deg,#8fe3c2,#5ccaa0);box-shadow:0 4px #3ea883,0 10px 18px -8px #3ea88399;text-shadow:0 1px 0 rgba(30,110,80,.3)}.btn-game.is-mint:active{box-shadow:0 1px #3ea883}.btn-game.is-peach{background:linear-gradient(180deg,#ffc89e,#ffa36f);box-shadow:0 4px #e0814b,0 10px 18px -8px #e0814b99;text-shadow:0 1px 0 rgba(150,70,30,.3)}.btn-game.is-peach:active{box-shadow:0 1px #e0814b}.btn-game.is-danger{background:linear-gradient(180deg,#ff9a9a,#f26d7d);box-shadow:0 4px #cc4a5c}.icon-btn{display:inline-grid;place-items:center;width:36px;height:36px;border-radius:999px;border:0;background:var(--mist);color:var(--ink);cursor:pointer;flex:none;transition:transform .1s}.icon-btn:active{transform:scale(.92)}.mini-btn{border:0;border-radius:999px;padding:3px 10px;font-weight:800;font-size:12px;background:var(--mist);cursor:pointer}.mini-btn.is-danger{background:#f26d7d;color:#fff}.tabs-scroller{display:flex;gap:8px;overflow-x:auto;padding-bottom:2px}.hscroll{position:relative;min-width:0}.hscroll-track{display:flex;gap:8px;overflow-x:auto;padding:2px 2px 5px;cursor:grab}.hscroll.has-right .hscroll-track{mask-image:linear-gradient(90deg,#000 82%,transparent);-webkit-mask-image:linear-gradient(90deg,#000 82%,transparent)}.hscroll.has-left .hscroll-track{mask-image:linear-gradient(90deg,transparent,#000 18%);-webkit-mask-image:linear-gradient(90deg,transparent,#000 18%)}.hscroll.has-left.has-right .hscroll-track{mask-image:linear-gradient(90deg,transparent,#000 16%,#000 84%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 16%,#000 84%,transparent)}.hscroll-arrow{position:absolute;top:calc(50% - 2px);transform:translateY(-50%);z-index:3;width:30px;height:30px;border-radius:999px;border:0;display:grid;place-items:center;background:var(--surface);color:var(--rose-deep);cursor:pointer;box-shadow:0 3px 10px -3px #8c50788c}.hscroll-arrow.is-left{left:-4px}.hscroll-arrow.is-right{right:-4px}.hscroll-arrow:active{transform:translateY(-50%) scale(.9)}.no-scrollbar{scrollbar-width:none}.no-scrollbar::-webkit-scrollbar{display:none}.tab-chip,.room-chip{flex:none;border:0;cursor:pointer;white-space:nowrap;font-family:var(--font-display);font-weight:500;font-size:14px;padding:8px 14px;border-radius:999px;background:var(--surface);color:var(--ink-soft);box-shadow:0 2px 0 var(--line);transition:background .15s,color .15s,transform .1s}.tab-chip.is-small{font-size:13px;padding:6px 12px}.tab-chip.is-on,.room-chip.is-on{background:var(--ink);color:#fff;box-shadow:0 3px #3d2a39}.room-chip.is-on{background:linear-gradient(180deg,var(--btn-1),var(--btn-2));box-shadow:0 3px 0 var(--btn-edge)}.chip{border:2px solid var(--line);background:var(--surface);border-radius:999px;padding:7px 14px;font-weight:700;font-size:14px;cursor:pointer;color:var(--ink-soft)}.chip.is-on{border-color:var(--rose);background:var(--mist);color:var(--rose-deep)}.segmented{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:4px;background:color-mix(in srgb,var(--blush) 50%,var(--surface));padding:4px;border-radius:999px}.segmented button{border:0;background:none;border-radius:999px;padding:9px 8px;font-family:var(--font-display);font-weight:600;font-size:14px;color:var(--ink-soft);cursor:pointer;transition:all .15s}.segmented button.is-on{background:var(--surface);color:var(--ink);box-shadow:0 2px 6px -2px #8c507866}.swatch{width:36px;height:36px;border-radius:999px;border:3px solid #fff;cursor:pointer;display:inline-grid;place-items:center;box-shadow:0 0 0 1.5px var(--blush),0 3px 6px -3px #8c507880;transition:transform .12s}.swatch.is-on{box-shadow:0 0 0 3px var(--rose),0 3px 8px -2px color-mix(in srgb,var(--rose-deep) 60%,transparent);transform:scale(1.08)}.swatch.is-none{background:repeating-linear-gradient(45deg,#fff 0 4px,var(--line) 4px 8px);color:var(--ink-soft)}.swatch.is-pet{width:42px;height:42px}.toggle{width:52px;height:30px;border-radius:999px;border:0;background:#ecd9e3;position:relative;cursor:pointer;flex:none;transition:background .2s}.toggle-knob{position:absolute;top:3px;left:3px;width:24px;height:24px;border-radius:999px;background:var(--surface);box-shadow:0 2px 4px #5b3f554d;transition:transform .2s cubic-bezier(.3,1.4,.5,1)}.toggle.is-on{background:var(--rose)}.toggle.is-busy{opacity:.6;cursor:progress}.toggle.is-on .toggle-knob{transform:translate(22px)}.thumb-card{position:relative;display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 4px;border-radius:18px;border:2.5px solid transparent;background:var(--mist);cursor:pointer;transition:transform .12s,border-color .12s;min-width:0}.thumb-card:active{transform:scale(.95)}.thumb-card.is-on{border-color:var(--rose);background:var(--surface);box-shadow:0 4px 10px -4px color-mix(in srgb,var(--rose-deep) 55%,transparent)}.thumb-svg{display:block;width:100%;height:auto}.is-locked-field .thumb-card{cursor:not-allowed;opacity:.5;filter:grayscale(.45)}.is-locked-field .thumb-card:active{transform:none}.field-locked-note{margin:0;padding:8px 12px;border-radius:14px;background:var(--mist);color:var(--ink-soft);font-size:12.5px;font-weight:700;line-height:1.35}.thumb-label{font-size:11px;font-weight:800;color:var(--ink-soft);text-align:center;line-height:1.15;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.thumb-check{position:absolute;top:4px;right:4px;width:18px;height:18px;border-radius:999px;background:var(--rose);color:#fff;display:grid;place-items:center}.badge{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:800;padding:3px 9px;border-radius:999px;background:#f4e8ee;color:var(--ink-soft)}.badge.is-gold{background:#fff0bf;color:#a57a17}.badge.is-match{background:var(--rose);color:#fff}.notice{background:#fff4d6;border:2px dashed #f5cf6e;color:#8a6514;font-weight:700;font-size:14px;border-radius:18px;padding:10px 14px}.empty-state{text-align:center;padding:36px 16px;border:2.5px dashed var(--line);border-radius:24px;background:var(--surface)}.form-error{color:#c43c58;font-weight:700;font-size:14px;margin:0}.skeleton{border-radius:22px;background:linear-gradient(90deg,var(--mist) 25%,var(--mist) 50%,var(--mist) 75%);background-size:200% 100%;animation:shimmer 1.2s linear infinite}.hint-list{list-style:none;margin:0;padding:0 4px;display:grid;gap:4px;font-size:12px;color:var(--ink-soft)}.hint-list li:before{content:"\2665";color:var(--rose);margin-right:6px}.sheet-root{position:fixed;inset:0;z-index:60;display:flex;align-items:flex-end;justify-content:center}.sheet-backdrop{position:absolute;inset:0;background:#5b3f5559;backdrop-filter:blur(2px);animation:fade-in .2s ease}.sheet-panel{position:relative;width:100%;max-width:480px;max-height:86%;overflow-y:auto;overscroll-behavior:contain;background:var(--surface);border-radius:30px 30px 0 0;box-shadow:0 -20px 50px -20px #5b3f5580;padding-bottom:env(safe-area-inset-bottom,0px);animation:sheet-up .32s cubic-bezier(.2,.9,.3,1.1)}.sheet-head{position:sticky;top:0;z-index:6;background:color-mix(in srgb,var(--surface) 96%,transparent);backdrop-filter:blur(6px);padding:10px 20px 12px}.sheet-grip{display:block;width:44px;height:5px;border-radius:999px;background:var(--blush);margin:0 auto 10px}.sheet-body{padding:4px 20px 24px}.toast-host{position:absolute;left:0;right:0;bottom:96px;display:flex;flex-direction:column;align-items:center;gap:6px;pointer-events:none;z-index:80;padding:0 16px}.toast{background:var(--ink);color:#fff;font-weight:700;font-size:14px;padding:10px 16px;border-radius:999px;box-shadow:0 10px 24px -10px #3a2833b3;animation:toast-in .3s cubic-bezier(.2,.9,.3,1.4);max-width:100%;text-align:center}.toast.is-tap{border:0;font-family:inherit;pointer-events:auto;cursor:pointer}.toast.is-error{background:#c43c58}.toast.is-soft{font-size:12.5px;font-weight:700;padding:7px 14px;background:#5b3f55e6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stage{position:relative;overflow:hidden;border-radius:28px;padding:18px 12px 14px;background:radial-gradient(ellipse at 50% 100%,#fff 0 30%,transparent 31%) bottom / 100% 40% no-repeat,linear-gradient(180deg,color-mix(in srgb,var(--blush) 60%,var(--surface)),#efe6ff);box-shadow:inset 0 -10px #ffffff80,0 6px 20px -10px #8c507873}.stage-spot{position:absolute;inset:-40% 10% auto;height:120%;background:radial-gradient(closest-side,rgba(255,255,255,.8),transparent);pointer-events:none}.name-tag{margin-top:4px;display:inline-flex;align-items:center;gap:4px;font-family:var(--font-display);font-weight:600;font-size:14px;padding:3px 12px;border-radius:999px;color:#fff}.name-tag.is-f{background:#ff8fab;box-shadow:0 3px #d9577a}.name-tag.is-m{background:#7aa7f5;box-shadow:0 3px #4a74c9}.name-tag.is-n{background:#4fc39a;box-shadow:0 3px #2f9473}.memory-contrib{margin-top:6px;padding:10px 12px;border-radius:16px;background:color-mix(in srgb,var(--mist) 70%,var(--surface));display:grid;gap:6px;box-shadow:inset 0 0 0 1.5px var(--blush)}.memory-contrib-by{display:flex;align-items:center;gap:6px;margin:0;font-size:12px;font-weight:800;color:var(--rose-deep)}.memory-contrib-photos{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.memory-contrib-photos img{width:100%;aspect-ratio:1 / 1;object-fit:cover;border-radius:12px}.contrib-thumb{position:relative;aspect-ratio:1 / 1;border-radius:14px;overflow:hidden;background:var(--mist)}.contrib-thumb img{width:100%;height:100%;object-fit:cover;display:block}.contrib-remove{position:absolute;top:4px;right:4px;width:24px;height:24px;background:color-mix(in srgb,var(--surface) 96%,transparent)}.segmented.is-small button{padding:7px 6px;font-size:13px}.when-range{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:8px 10px}.when-range-label{font-size:13px;font-weight:700;color:var(--ink-soft)}.when-line{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;background:#fff1d6;color:#7a5316;font-weight:700;font-size:14px}.badge.is-when{background:#fff1d6;color:#9a6a1c}.badge.is-planned{background:color-mix(in srgb,#8fb8ff 30%,var(--surface));color:#3d63a8}.date-field{position:relative;display:block}.date-field .input{padding-right:52px}.date-field-btn{position:absolute;right:6px;top:50%;translate:0 -50%;width:38px;height:38px;display:grid;place-items:center;padding:0;border:0;border-radius:12px;background:var(--mist);color:var(--rose-deep);cursor:pointer}.date-field-btn:active{transform:scale(.92)}.date-field-native{position:absolute;right:6px;bottom:0;width:1px;height:1px;opacity:0;pointer-events:none;border:0;padding:0}.room-canvas{position:relative;width:100%;aspect-ratio:3 / 4;max-height:62vh;margin:0 auto;overflow:hidden;border-radius:28px;touch-action:none;user-select:none;-webkit-user-select:none;isolation:isolate;box-shadow:0 0 0 4px #fff,0 16px 30px -14px #8c50788c;background:#f7e8ef}.room-wall,.room-floor,.room-floor-pattern,.room-baseboard,.room-light{pointer-events:none;user-select:none;z-index:0}.room-wall{position:absolute;left:0;right:0;top:0;height:58%}.room-floor{position:absolute;left:0;right:0;bottom:0;height:42%;overflow:hidden}.room-floor-pattern{position:absolute;inset:0}.room-floor:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(91,63,85,.2),rgba(91,63,85,.04) 40%,transparent 70%)}.room-baseboard{position:absolute;left:0;right:0;top:57%;height:2.4%;background:var(--surface);box-shadow:0 3px 6px -2px #5b3f5540}.room-light{position:absolute;inset:0;background:radial-gradient(ellipse at 18% 8%,rgba(255,255,255,.55),transparent 55%)}.placed-item{position:absolute;transform:translate(-50%,-100%);touch-action:none;cursor:grab;filter:drop-shadow(0 4px 3px rgba(91,63,85,.2))}.placed-item:active{cursor:grabbing}.placed-svg{display:block;width:100%;height:auto;transition:transform .2s}.placed-item.is-selected{filter:drop-shadow(0 0 0 #fff) drop-shadow(0 6px 10px color-mix(in srgb,var(--rose-deep) 45%,transparent))}.placed-item.is-selected:after{content:"";position:absolute;inset:-6px;border:2.5px dashed var(--rose-deep);border-radius:12px;pointer-events:none;animation:marching 1s linear infinite}.room-couple{position:absolute;transform:translate(-50%,-100%);width:46%;display:flex;touch-action:none;cursor:grab;filter:drop-shadow(0 6px 4px rgba(91,63,85,.18))}.room-avatar{width:50%;height:auto;margin:0 -2%}.room-pet{position:absolute;transform:translate(-50%,-100%);width:17%;border:0;padding:0;background:none;cursor:pointer;transition:left 2.8s ease-in-out,top 2.8s ease-in-out}.room-pet-inner{display:block;animation:pet-hop .9s ease-in-out infinite}.room-pet{transition-timing-function:ease-in-out}.butterfly{position:absolute;z-index:8000;width:0;height:0;pointer-events:none;transition:left 2.6s ease-in-out,top 2.6s ease-in-out}.butterfly-wings{position:absolute;left:-10px;top:-10px;font-size:20px;line-height:1;animation:butterfly-flap .35s ease-in-out infinite alternate}@keyframes butterfly-flap{0%{transform:scaleX(1) translateY(0)}to{transform:scaleX(.45) translateY(-3px)}}@media (prefers-reduced-motion: reduce){.butterfly-wings{animation:none}}.room-pet.is-idle:not(:has(.mood-triste)) .room-pet-inner{animation:pet-breathe 3.4s ease-in-out infinite;transform-origin:50% 100%}.room-pet .mood-triste{filter:saturate(.6)}.room-pet:has(.mood-triste) .room-pet-inner{animation:pet-sad 3s ease-in-out infinite}.burst{position:absolute;z-index:9000;pointer-events:none;transform:translate(-50%,-50%)}.burst span{position:absolute;color:var(--rose-deep);font-size:20px;animation:burst-up 1.1s ease-out forwards}.burst span:nth-child(2){left:-18px;animation-delay:.08s;font-size:15px}.burst span:nth-child(3){left:16px;animation-delay:.16s;font-size:17px}.item-toolbar{position:absolute;left:8px;right:8px;bottom:8px;z-index:9999;background:color-mix(in srgb,var(--surface) 96%,transparent);backdrop-filter:blur(6px);border-radius:22px;padding:8px 6px;box-shadow:0 10px 26px -10px #5b3f5599;animation:toast-in .25s cubic-bezier(.2,.9,.3,1.3)}.tool-btn{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;gap:2px;border:0;background:var(--mist);border-radius:14px;padding:6px 2px 5px;cursor:pointer;color:var(--ink)}.tool-btn:active:not(:disabled){transform:scale(.94)}.tool-btn:disabled{opacity:.35;cursor:not-allowed}.tool-btn.is-danger{background:#ffe1e5;color:#c43c58}.tool-label{font-size:9.5px;font-weight:800;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:-.1px}.tool-scale{align-self:center;font-size:11px;font-weight:800;color:var(--ink-soft);min-width:34px;text-align:center}.tool-sep{width:1px;background:var(--line);margin:4px 2px}.photo-frame{position:absolute;transform:translate(-50%,-50%);touch-action:none;cursor:grab;filter:drop-shadow(0 6px 6px rgba(91,63,85,.28))}.photo-frame.is-selected:after{content:"";position:absolute;inset:-6px;border:2.5px dashed var(--rose-deep);border-radius:12px;pointer-events:none;animation:marching 1s linear infinite}.frame-look{display:block;width:100%}.frame-hanger{display:block;width:46%;margin:0 auto -1px;overflow:visible}.frame-tape{display:block;width:40%;height:10px;margin:0 auto -5px;position:relative;z-index:3;transform:rotate(-4deg);border-radius:1px;background:repeating-linear-gradient(90deg,#ffb3c7e6 0 4px,#ffd6e2e6 4px 8px);box-shadow:0 1px 2px #5b3f5533;clip-path:polygon(0 10%,4% 0,8% 12%,12% 0,16% 10%,100% 0,96% 100%,0 100%)}.frame-outer{position:relative;display:block;padding:9%;border-radius:6px;overflow:hidden}.frame-outer:before{content:"";position:absolute;inset:0;z-index:2;border-radius:inherit;pointer-events:none;box-shadow:inset 1.5px 1.5px #fff9,inset -1.5px -1.5px #3c1e3233,inset 0 0 0 3px #ffffff0f}.frame-mat{position:relative;display:block;padding:8%;aspect-ratio:4 / 5;border-radius:2px;overflow:hidden;background:linear-gradient(145deg,#fffdf8,#f5ecdf);box-shadow:inset 2px 2px 4px #3c1e2833,inset -1px -1px #ffffffe6,0 0 0 1px #3c1e281f}.frame-mat:after{content:"";position:absolute;inset:0;z-index:1;border-radius:inherit;pointer-events:none;background:linear-gradient(125deg,rgba(255,255,255,.42) 0 13%,transparent 14% 27%,rgba(255,255,255,.16) 28% 32%,transparent 33%)}.frame-img{display:block;width:100%;height:100%;object-fit:cover;border-radius:inherit;pointer-events:none;box-shadow:0 0 0 1px #3c1e2826}.frame-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;height:100%;color:#c08aa2;font-size:9px;font-weight:800;border:1.5px dashed var(--blush);border-radius:inherit;background:var(--mist)}.fs-oro .frame-outer{background:linear-gradient(135deg,#fbedc4,#d9b25e 24%,#f9e7b0 46%,#c99a3e 70%,#f3dc9c);box-shadow:inset 0 0 0 1.5px #ffffffb3,inset 0 0 0 3.5px #a06e2866,inset 0 0 0 5px #fff0c899}.fs-oro .frame-outer:after,.fs-argento .frame-outer:after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;--orn: radial-gradient(circle, rgba(255, 255, 255, .95) 0 1.4px, var(--orn-c) 1.5px 3.2px, transparent 3.4px);background:var(--orn) 3px 3px / 9px 9px no-repeat,var(--orn) calc(100% - 3px) 3px / 9px 9px no-repeat,var(--orn) 3px calc(100% - 3px) / 9px 9px no-repeat,var(--orn) calc(100% - 3px) calc(100% - 3px) / 9px 9px no-repeat}.fs-oro .frame-outer:after{--orn-c: #b98a2e}.fs-argento .frame-outer:after{--orn-c: #8f93a6}.fs-argento .frame-outer{background:linear-gradient(135deg,#f4f4f8,#b9bccb 26%,#eef0f6 48%,#a3a7b8 72%,#e3e5ee);box-shadow:inset 0 0 0 1.5px #fffc,inset 0 0 0 3.5px #6e738c59,inset 0 0 0 5px #ffffff80}.fs-legno .frame-outer{background:linear-gradient(180deg,rgba(255,255,255,.18),transparent 30%,rgba(80,40,10,.18)),repeating-linear-gradient(100deg,#c9915f 0 6px,#b97f4f 6px 8px,#d39f6d 8px 13px,#c08654 13px 15px);box-shadow:inset 0 0 0 2px #5a321459,inset 0 0 0 4px #ffdcb440}.fs-noce .frame-outer{background:linear-gradient(180deg,rgba(255,255,255,.14),transparent 30%,rgba(30,10,0,.22)),repeating-linear-gradient(100deg,#8a5a3c 0 6px,#74492f 6px 8px,#96654a 8px 13px,#7d5034 13px 15px);box-shadow:inset 0 0 0 2px #32190a73,inset 0 0 0 4px #d2a06e40}.fs-sbiancato .frame-outer{background:linear-gradient(180deg,rgba(255,255,255,.3),transparent 40%,rgba(120,90,60,.1)),repeating-linear-gradient(100deg,#f3ebe2 0 7px,#e3d7c9 7px 9px,#efe5da 9px 16px);box-shadow:inset 0 0 0 1.5px #96785a4d,inset 0 0 0 3.5px #fff9}.fs-bianco .frame-outer{background:linear-gradient(135deg,#fff,#f4eef2);box-shadow:inset 0 0 0 1.5px #eadde4,inset 0 0 0 4px #fff,inset 0 0 0 5px #efe4ea}.fs-nero .frame-outer{padding:5%;background:linear-gradient(135deg,#4c4858,#2f2c38);box-shadow:inset 0 0 0 1px #ffffff26,inset 0 0 0 3px #3d3a4a,inset 0 0 0 4px #d9b25e}.fs-rosa .frame-outer,.fs-menta .frame-outer,.fs-azzurro .frame-outer,.fs-lilla .frame-outer,.fs-pesca .frame-outer,.fs-burro .frame-outer{background:linear-gradient(160deg,rgba(255,255,255,.55) 0 18%,transparent 40%),linear-gradient(135deg,var(--fc1),var(--fc2));box-shadow:inset 0 0 0 2px #ffffffbf,inset 0 0 0 4px #0000000d,inset 0 0 0 5.5px #ffffff80}.fs-rosa{--fc1: #ffd1dc;--fc2: #ffb3c7}.fs-menta{--fc1: #d7f3e6;--fc2: #a8e0c6}.fs-azzurro{--fc1: #dcecff;--fc2: #a9cbf2}.fs-lilla{--fc1: #ece4ff;--fc2: #c7b6f5}.fs-pesca{--fc1: #ffe6d6;--fc2: #ffbf9c}.fs-burro{--fc1: #fff6cf;--fc2: #ffe08a}.fs-fiori .frame-outer{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cg fill='%23ffffff'%3E%3Ccircle cx='5' cy='3' r='1.6'/%3E%3Ccircle cx='7' cy='5' r='1.6'/%3E%3Ccircle cx='5' cy='7' r='1.6'/%3E%3Ccircle cx='3' cy='5' r='1.6'/%3E%3C/g%3E%3Ccircle cx='5' cy='5' r='1.1' fill='%23ffd66b'/%3E%3Cg fill='%23ffd1dc'%3E%3Ccircle cx='13' cy='11' r='1.2'/%3E%3Ccircle cx='14.6' cy='12.6' r='1.2'/%3E%3Ccircle cx='13' cy='14.2' r='1.2'/%3E%3Ccircle cx='11.4' cy='12.6' r='1.2'/%3E%3C/g%3E%3C/svg%3E") 0 0 / 16px 16px,linear-gradient(135deg,#c9eed6,#9fd8b2);box-shadow:inset 0 0 0 2px #8fd19e,inset 0 0 0 4px #ffffff80}.fs-cuori .frame-outer{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14'%3E%3Cpath d='M4 6c-1-1.6-3.6-1-3 1 .3 1.2 2 2.2 3 3 1-.8 2.7-1.8 3-3 .6-2-2-2.6-3-1z' fill='%23ff8fab'/%3E%3Cpath d='M11 12.6c-.6-.9-2-.6-1.7.6.2.7 1.1 1.2 1.7 1.7.6-.5 1.5-1 1.7-1.7.3-1.2-1.1-1.5-1.7-.6z' fill='%23ffc2d1'/%3E%3C/svg%3E") 0 0 / 14px 14px,#fff0f4;box-shadow:inset 0 0 0 2px #ffc2d1,inset 0 0 0 4px #ffffffb3}.fs-stelle .frame-outer{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14'%3E%3Cpath d='M4 1l.9 2.2 2.3.2-1.8 1.5.6 2.3L4 6 2 7.2l.6-2.3L.8 3.4l2.3-.2z' fill='%23fff1b8'/%3E%3Ccircle cx='11' cy='10' r='.9' fill='%23ffffff'/%3E%3C/svg%3E") 0 0 / 14px 14px,linear-gradient(135deg,#4d5a80,#333d5c);box-shadow:inset 0 0 0 2px #ffffff40,inset 0 0 0 4px #fff1b840}.fs-conchiglie .frame-outer{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath d='M5 9 Q1 7 2 3.5 Q5 1 8 3.5 Q9 7 5 9Z' fill='%23ffffff' stroke='%23e9c3ad' stroke-width='.6'/%3E%3Cpath d='M5 8.6 L4 3.4 M5 8.6 L5 3 M5 8.6 L6.6 3.6' stroke='%23e9c3ad' stroke-width='.5'/%3E%3Ccircle cx='12.5' cy='12.5' r='1.3' fill='%23fff6ee' stroke='%23e9c3ad' stroke-width='.5'/%3E%3C/svg%3E") 0 0 / 16px 16px,linear-gradient(135deg,#fdf3ea,#f4d9c8);box-shadow:inset 0 0 0 2px #e9c3ad,inset 0 0 0 4px #fff9}.fs-bambu .frame-outer{background:linear-gradient(90deg,rgba(255,255,255,.25),transparent 35%,rgba(90,70,20,.2)),repeating-linear-gradient(0deg,#ddc883 0 11px,#a88f45 11px 12.5px,#efe0a6 12.5px 13.5px),#d8c27a;box-shadow:inset 0 0 0 2px #785f1e66,inset 0 0 0 4px #fff5c84d}.fs-vimini .frame-outer{background:repeating-linear-gradient(45deg,#e6c48f 0 3px,#cfa66b 3px 6px),repeating-linear-gradient(-45deg,transparent 0 3px,rgba(150,105,50,.35) 3px 6px);box-shadow:inset 0 0 0 2px #825a2866,inset 0 0 0 4.5px #f3dcb3,inset 0 0 0 5.5px #825a284d}.fs-velluto .frame-outer{background:radial-gradient(circle at 30% 20%,#ef9fb8,#b5577a 70%,#9a4466);box-shadow:inset 0 0 0 2px #ffffff59,inset 0 0 8px #50142873,inset 0 0 0 4px #e9c47a}.fs-polaroid .frame-outer{padding:6% 6% 22%;background:linear-gradient(180deg,#fff,#f8f5f2);border-radius:2px;box-shadow:inset 0 0 0 1px #ece3e8}.fs-polaroid .frame-outer:after{content:"\2665";position:absolute;left:0;right:0;bottom:5%;text-align:center;font-size:9px;line-height:1;color:#ff8fab;transform:rotate(-6deg)}.fs-polaroid .frame-mat{padding:0}.fs-polaroid .frame-mat:after{background:linear-gradient(125deg,rgba(255,255,255,.22) 0 20%,transparent 21%)}.shape-orizzontale .frame-mat{aspect-ratio:5 / 4}.shape-quadrato .frame-mat,.shape-tondo .frame-mat,.shape-cuore .frame-mat{aspect-ratio:1 / 1}.shape-ovale .frame-outer,.shape-ovale .frame-mat,.shape-tondo .frame-outer,.shape-tondo .frame-mat{border-radius:50%}.shape-cuore .frame-outer,.shape-cuore .frame-mat{clip-path:url(#pocketus-heart-clip);border-radius:0}.shape-cuore .frame-outer{padding:12%}.frame-thumb{display:grid;place-items:center;width:100%;aspect-ratio:1 / 1;padding:4px 14%}.frame-thumb .frame-look{width:100%;filter:drop-shadow(0 3px 3px rgba(91,63,85,.25))}.photo-viewer{position:fixed;inset:0;z-index:90;display:flex;align-items:center;justify-content:center;background:#160e18f2;animation:toast-in .2s ease-out}.photo-viewer img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;padding:max(64px,env(safe-area-inset-top)) 8px max(84px,env(safe-area-inset-bottom));box-sizing:border-box;user-select:none;-webkit-user-drag:none}.photo-viewer-close{position:absolute;top:max(14px,env(safe-area-inset-top));right:14px;width:46px;height:46px;display:grid;place-items:center;padding:0;cursor:pointer;border:0;border-radius:50%;background:color-mix(in srgb,var(--surface) 96%,transparent);color:var(--ink);box-shadow:0 4px 14px #0006}.photo-viewer-close:active{transform:scale(.92)}.photo-viewer-actions{position:absolute;left:0;right:0;bottom:max(18px,env(safe-area-inset-bottom));display:flex;justify-content:center;gap:10px;padding:0 16px}.photo-viewer-btn{display:inline-flex;align-items:center;gap:6px;border:0;border-radius:999px;padding:9px 16px;cursor:pointer;font-family:var(--font-display);font-weight:600;font-size:14px;background:#ffffff29;color:#fff;backdrop-filter:blur(6px);box-shadow:inset 0 0 0 1.5px #ffffff59}.photo-viewer-btn.is-danger{background:#c43c588c}.photo-viewer-btn:active{transform:scale(.95)}.photo-view{border-radius:22px;overflow:hidden;padding:14px;background:linear-gradient(135deg,#fbedc4,#d9b25e 30%,#f9e7b0 55%,#c99a3e)}.photo-view img{display:block;width:100%;max-height:52vh;object-fit:contain;background:#fffaf2;border-radius:6px}.catalog-card{display:flex;flex-direction:column;align-items:center;gap:4px;border:0;padding:10px 6px 8px;background:var(--mist);border-radius:20px;cursor:pointer;transition:transform .12s;min-width:0}.catalog-card:active{transform:scale(.95)}.catalog-preview{display:grid;place-items:center;width:100%;aspect-ratio:1 / 1;padding:6px}.catalog-preview svg{width:100%;height:100%}.catalog-name{font-size:12px;font-weight:800;text-align:center;line-height:1.15;color:var(--ink)}.catalog-price{font-size:10px;font-weight:800;color:#3ea883;background:#ddf6ea;padding:1px 8px;border-radius:999px}.surface-card{position:relative;display:flex;flex-direction:column;gap:6px;border:2.5px solid transparent;background:var(--surface);border-radius:20px;padding:6px;cursor:pointer;box-shadow:0 2px 0 var(--line)}.surface-card.is-on{border-color:var(--rose)}.surface-preview{display:block;width:100%;aspect-ratio:1 / 1;border-radius:14px;box-shadow:inset 0 0 0 1px #5b3f5514}.surface-name{font-size:12px;font-weight:800;text-align:center;color:var(--ink)}.pet-preview{display:flex;flex-direction:column;align-items:center;padding:14px;border-radius:28px;background:radial-gradient(circle at 50% 60%,#fff 0 38%,transparent 39%),linear-gradient(180deg,#e6f6ee,#fff3d6)}.pet-scene{position:relative;overflow:hidden;border-radius:28px;padding:16px 16px 12px;--sky1: #bfe6ff;--sky2: #fff0f6;--hill1: #bfeaa8;--hill2: #9bdc9a;--grass: #8fd48f;background:radial-gradient(circle at 84% 14%,#fff7c2 0 22px,rgba(255,240,160,.55) 23px 44px,transparent 46px),radial-gradient(120% 55% at 18% 100%,var(--hill1) 0 60%,transparent 61%),radial-gradient(130% 50% at 88% 100%,var(--hill2) 0 60%,transparent 61%),linear-gradient(180deg,var(--sky1) 0%,var(--sky2) 62%,var(--grass) 62.2% 100%);box-shadow:0 0 0 4px #fff,0 0 0 7px color-mix(in srgb,var(--blush) 70%,var(--surface)),0 16px 30px -14px #8c50788c}.pet-scene:before{content:"";position:absolute;left:50%;bottom:96px;width:74%;height:24%;transform:translate(-50%);border-radius:50%;background:radial-gradient(ellipse at 50% 40%,#fff 0 38%,#ffe3ee 39% 70%,#ffc9dd 71% 100%);box-shadow:0 8px 0 -2px #ff96b959,0 12px 18px -8px #8c507873,inset 0 0 0 3px #fffc}.pet-scene-deco{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:0}.pet-scene-deco i{position:absolute;font-style:normal;line-height:1;filter:drop-shadow(0 2px 2px rgba(91,63,85,.12))}.pet-scene-deco .c1{left:6%;top:24%;font-size:30px;opacity:.9;animation:cloud-drift 9s ease-in-out infinite alternate}.pet-scene-deco .c2{right:18%;top:36%;font-size:22px;opacity:.8;animation:cloud-drift 12s ease-in-out infinite alternate-reverse}.pet-scene-deco .f1{left:7%;bottom:112px;font-size:20px;animation:flower-sway 3.4s ease-in-out infinite alternate;transform-origin:50% 100%}.pet-scene-deco .f2{right:8%;bottom:120px;font-size:18px;animation:flower-sway 4.1s ease-in-out infinite alternate-reverse;transform-origin:50% 100%}.pet-scene-deco .f3{left:22%;bottom:100px;font-size:14px;animation:flower-sway 3.8s ease-in-out infinite alternate;transform-origin:50% 100%}@keyframes cloud-drift{0%{transform:translate(-8px)}to{transform:translate(10px)}}@keyframes flower-sway{0%{transform:rotate(-7deg)}to{transform:rotate(7deg)}}.pet-scene.mood-triste{--sky1: #cfd6e8;--sky2: #eceaf3;--hill1: #c1d4c6;--hill2: #aec6b4;--grass: #a9c2b0}.pet-scene.mood-triste:before{background:radial-gradient(ellipse at 50% 40%,#f4f1f7 0 38%,#e2dcec 39% 70%,#d1c9e0 71% 100%)}.pet-scene.mood-felice:after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 20% 20%,rgba(255,255,255,.8) 2px,transparent 3px) 0 0 / 40px 40px;animation:twinkle 3s linear infinite}.pet-care-row{position:relative;z-index:10;display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:10px}.pet-care-btn{--c1: #ffd6bd;--c2: #ffa36f;--edge: #f0c3a6;display:grid;justify-items:center;gap:6px;padding:10px 8px 9px;border:0;border-radius:20px;cursor:pointer;background:var(--surface);color:var(--ink);font-family:var(--font-display);font-weight:600;font-size:14px;box-shadow:0 4px 0 var(--edge),0 8px 16px -10px #5b3f5580;transition:transform .08s,box-shadow .08s}.pet-care-btn.is-peach{--c1: #ffe0cc;--c2: #ff9a6b;--edge: #f3c6aa}.pet-care-btn.is-mint{--c1: #fff1b8;--c2: #f4c64a;--edge: #f1dc9a}.pet-care-btn.is-sky{--c1: #d7ecff;--c2: #6fa9ec;--edge: #bcd7f3}.pet-care-btn:active{transform:translateY(3px);box-shadow:0 1px 0 var(--edge)}.pet-care-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:50%;font-size:20px;line-height:1;background:radial-gradient(circle at 35% 30%,#fff 0 18%,var(--c1) 60%,var(--c2));box-shadow:inset 0 -3px #00000014,0 2px 0 var(--edge)}.pet-care-btn:active .pet-care-icon{animation:nav-pop .35s cubic-bezier(.2,.9,.3,1.5)}.pet-care-top{display:block;white-space:nowrap}.pet-care-meter.stat-track{display:block;width:100%;height:9px}.pet-care-meter .stat-fill{display:block;height:100%}.pet-stage{position:relative;z-index:1;display:block;width:min(56%,34vh);margin:0 auto;border:0;padding:0;background:none;cursor:pointer}.pet-stage-inner{display:block;transform-origin:50% 95%}.pet-particle{position:absolute;bottom:60%;font-size:26px;color:var(--rose-deep);pointer-events:none;animation:float-up 1.4s ease-out forwards}.mood-chip{display:inline-block;margin-top:4px;font-size:12px;font-weight:800;padding:3px 10px;border-radius:999px}.mood-chip.is-felice{background:color-mix(in srgb,var(--blush) 60%,var(--surface));color:var(--rose-deep)}.mood-chip.is-normale{background:#e3f4ec;color:#2f8a69}.mood-chip.is-triste{background:#e7e4f0;color:#6b5f86}.stat-track{position:relative;height:18px;border-radius:999px;overflow:hidden;background:repeating-linear-gradient(90deg,rgba(255,255,255,.55) 0 2px,transparent 2px 10%),var(--line);box-shadow:inset 0 2px 4px #5b3f5529,0 0 0 2px #fff,0 2px 0 2px #f1dde7}.stat-fill{--g1: #8be3b9;--g2: #3fbf8c;position:relative;height:100%;border-radius:999px;transition:width .6s cubic-bezier(.2,.9,.3,1.2);background:linear-gradient(180deg,#fff9 0 38%,#fff0 55%),repeating-linear-gradient(115deg,rgba(255,255,255,.22) 0 7px,transparent 7px 14px),linear-gradient(90deg,var(--g1),var(--g2));background-size:100% 100%,28px 100%,100% 100%;animation:bar-stripes 1.6s linear infinite;box-shadow:inset 0 -2px #0000001a}.stat-fill:after{content:"";position:absolute;right:3px;top:50%;width:8px;height:8px;margin-top:-4px;border-radius:50%;background:var(--surface);box-shadow:0 0 0 2px #ffffff73,0 0 6px #ffffffe6;opacity:.9}.pet-care-meter .stat-fill:after{width:5px;height:5px;margin-top:-2.5px;right:2px}@keyframes bar-stripes{to{background-position:0 0,28px 0,0 0}}.stat-track.is-hunger .stat-fill{--g1: #ffc27a;--g2: #ff8a4c}.stat-track.is-happiness .stat-fill{--g1: #ffb3d1;--g2: #ff6fa3}.stat-track.is-hygiene .stat-fill{--g1: #9fdcff;--g2: #4aa8f0}.stat-track.is-growth .stat-fill{--g1: #d8b8ff;--g2: #ff8fc1}.stat-track.is-hunger.is-mid .stat-fill,.stat-track.is-happiness.is-mid .stat-fill,.stat-track.is-hygiene.is-mid .stat-fill{filter:saturate(.85)}.stat-track.is-low .stat-fill{--g1: #ffb0b0;--g2: #ef5b6b;animation:bar-stripes 1.6s linear infinite,low-pulse 1.4s ease-in-out infinite}.stat-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;font-size:18px;line-height:1;background:radial-gradient(circle at 35% 30%,#fff 0 20%,var(--ib1, #ffe0cc) 65%,var(--ib2, #ffb88a));box-shadow:inset 0 -3px #00000014,0 2px #5b3f551f}.stat.is-hunger{--ib1: #ffe3c7;--ib2: #ffae78}.stat.is-happiness{--ib1: #ffd9e8;--ib2: #ff8fb6}.stat.is-hygiene{--ib1: #d7efff;--ib2: #7fc0f2}.stat-pill{font-size:11px;font-weight:800;padding:2px 9px;border-radius:999px;background:#fff3f8;color:var(--rose-deep);box-shadow:0 1px 0 var(--blush);white-space:nowrap}.stat-pill.is-low{background:#ffe6e6;color:#c93f55}.pet-sprite .pet-tail,.pet-sprite .pet-wing-l,.pet-sprite .pet-wing-r{transform-box:view-box}.mood-felice .pet-tail{animation:wag .5s ease-in-out infinite alternate}.mood-normale .pet-tail{animation:wag 1.4s ease-in-out infinite alternate}.mood-felice .pet-wing-l{animation:flap-l .4s ease-in-out infinite alternate}.mood-felice .pet-wing-r{animation:flap-r .4s ease-in-out infinite alternate}.pet-tear{animation:tear 2.4s ease-in infinite}.pet-heart{animation:heart-float 2s ease-in-out infinite;transform-box:fill-box;transform-origin:center}.pet-sprite.mood-triste{filter:saturate(.7)}.pet-anim-idle{animation:pet-stroll 6s ease-in-out infinite}.pet-anim-happy{animation:pet-hop .8s ease-in-out infinite}.pet-anim-sad{animation:pet-sad 3.2s ease-in-out infinite}.pet-anim-feed{animation:pet-munch .3s ease-in-out 3}.pet-anim-play{animation:pet-spin .8s cubic-bezier(.3,1.4,.5,1)}.pet-anim-cuddle{animation:pet-squish .5s ease-in-out}.memories-hero,.quiz-hero{border-radius:26px;padding:16px;background:linear-gradient(135deg,#fff0bf,color-mix(in srgb,var(--blush) 60%,var(--surface)) 60%,#e6dcff);box-shadow:0 6px 18px -10px #8c507873}.memories-hero{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}.timeline{list-style:none;margin:0;padding:0 0 0 4px;position:relative;display:grid;gap:14px}.timeline:before{content:"";position:absolute;left:31px;top:10px;bottom:10px;width:4px;border-radius:4px;background:repeating-linear-gradient(180deg,var(--blush) 0 10px,transparent 10px 16px)}.timeline-item{display:grid;grid-template-columns:56px 1fr;gap:10px;align-items:start}.timeline-date{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;width:56px;height:62px;background:var(--surface);border-radius:18px;color:var(--rose-deep);box-shadow:0 3px 0 var(--blush),0 6px 14px -8px color-mix(in srgb,var(--rose-deep) 60%,transparent)}.memory-card{min-width:0;background:var(--surface);border-radius:22px;overflow:hidden;box-shadow:0 4px 16px -8px #8c507859}.memory-card.is-start{box-shadow:0 0 0 2.5px #f5cf6e,0 6px 18px -8px #c8962899}.memory-photo{display:block;width:100%;max-height:220px;object-fit:cover}.moment-switch{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:5px;border-radius:24px;background:color-mix(in srgb,var(--blush) 45%,var(--surface))}.moment-switch button{display:flex;align-items:center;justify-content:center;gap:9px;padding:9px 10px;border:0;border-radius:19px;background:transparent;cursor:pointer;color:var(--ink-soft);text-align:left;transition:background .15s,box-shadow .15s,color .15s}.moment-switch button.is-on{background:var(--surface);color:var(--ink);box-shadow:0 3px 0 var(--blush),0 8px 14px -10px #8c507899}.moment-switch-icon{font-size:24px;line-height:1}.moment-switch-text{display:grid;line-height:1.15}.moment-switch-text strong{font-family:var(--font-display);font-size:16px;font-weight:600}.moment-switch-text small{font-size:11.5px;font-weight:700;opacity:.8}.view-toggle{display:inline-flex;gap:2px;padding:3px;border-radius:999px;background:color-mix(in srgb,var(--blush) 40%,var(--surface));margin-left:auto}.view-toggle button{display:inline-flex;align-items:center;gap:5px;border:0;border-radius:999px;padding:6px 11px;background:none;font-weight:800;font-size:12.5px;color:var(--ink-soft);cursor:pointer}.view-toggle button.is-on{background:var(--surface);color:var(--ink);box-shadow:0 1px 4px #8c50784d}.todo-hint{border:0;border-radius:999px;padding:7px 12px;background:#f6f2ff;color:#6a52b3;font-weight:800;font-size:12.5px;cursor:pointer}.memory-open{display:block;width:100%;padding:0;border:0;background:none;text-align:left;font:inherit;color:inherit;cursor:pointer}.memory-photo-wrap{position:relative;display:block}.memory-photo-more{position:absolute;right:8px;bottom:8px;padding:2px 9px;border-radius:999px;background:#3a2833b8;color:#fff;font-size:11px;font-weight:800}.memory-card.is-idea{box-shadow:0 0 0 2px #cdeee0,0 4px 16px -8px #3ea88373}.timeline-date.is-idea{color:#2f8a69;box-shadow:0 3px #cdeee0,0 6px 14px -8px #3ea88380}.idea-card.is-todo{padding:0 12px 0 0;gap:8px;cursor:default;box-shadow:0 0 0 2px var(--line) inset,0 4px 16px -10px #8c50784d;background:var(--surface)}.idea-card-main{display:flex;align-items:center;gap:12px;flex:1;min-width:0;padding:12px 0 12px 12px;border:0;background:none;text-align:left;font:inherit;cursor:pointer}.idea-check{flex:none;display:grid;place-items:center;width:30px;height:30px;border-radius:999px;border:2px dashed #cdbdf0;background:transparent;color:transparent;cursor:pointer;transition:color .15s,border-color .15s,background .15s}.idea-check:hover,.idea-check:focus-visible{color:#2a7f60;border-color:#7fcfae;background:#e6f9f0}.idea-author{flex:none;width:28px;height:28px;border-radius:999px;background:var(--mist)}.badge.is-todo{background:#efe8ff;color:#6a52b3}.timeline-end{position:relative;z-index:1;display:grid;place-items:center;width:40px;height:40px;margin-left:12px;border-radius:999px;background:var(--surface);color:var(--rose);font-size:20px;box-shadow:0 3px 0 var(--blush),0 6px 14px -8px #8c507880}.timeline-year{position:relative;z-index:1;padding-left:4px}.timeline-jumper-slot{position:sticky;top:0;z-index:6;margin:0 -4px}.timeline-jumper{display:grid;gap:6px;padding:8px;border-radius:18px;background:color-mix(in srgb,var(--surface) 96%,transparent);backdrop-filter:blur(6px);box-shadow:0 6px 16px -10px #8c507899}.jumper-months{display:grid;grid-template-columns:repeat(6,1fr);gap:4px}.jumper-months .month-pill:disabled{opacity:.35;cursor:default}.timeline-item,.timeline-year{scroll-margin-top:130px}.timeline-year span{display:inline-block;font-family:var(--font-display);font-weight:600;font-size:15px;color:#fff;background:var(--ink);padding:3px 14px;border-radius:999px;box-shadow:0 3px #3d2a39}.memory-card.is-new{animation:flash-new 2.2s ease}.quiz-focus{border-radius:1.5rem;animation:flash-new 2.2s ease}@keyframes flash-new{0%,60%{box-shadow:0 0 0 4px var(--rose),0 8px 20px -8px color-mix(in srgb,var(--rose-deep) 70%,transparent)}}.sex-icon{display:inline-grid;place-items:center;border-radius:999px;vertical-align:-4px;color:#fff;box-shadow:0 2px #5b3f5533;flex:none}.sex-icon.is-F{background:var(--pa)}.sex-icon.is-M{background:var(--pb)}.sex-icon.is-N{background:#4fc39a}.cal-select{font:inherit;font-family:var(--font-display);font-weight:600;font-size:15px;color:var(--ink);background:var(--mist);border:0;border-radius:999px;padding:7px 12px;min-width:0;cursor:pointer}.month-strip{display:grid;grid-template-columns:repeat(6,1fr);gap:5px}.month-pill{position:relative;border:0;border-radius:12px;padding:6px 0 8px;font-size:12px;font-weight:800;text-transform:capitalize;color:var(--ink-soft);background:#faf3f6;cursor:pointer}.month-pill.has-mem{color:var(--rose-deep);background:color-mix(in srgb,var(--blush) 60%,var(--surface))}.month-pill.is-on{background:var(--ink);color:#fff}.month-dot{position:absolute;left:50%;bottom:3px;width:5px;height:5px;margin-left:-2.5px;border-radius:999px;background:var(--rose)}.month-pill.is-on .month-dot{background:var(--surface)}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.cal-weekday{text-align:center;font-size:11px;font-weight:800;color:var(--ink-faint);padding:2px 0}.cal-day{position:relative;aspect-ratio:1 / 1;border:0;border-radius:12px;background:#fdf8fa;font-weight:700;font-size:14px;color:var(--ink);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;cursor:pointer;font-variant-numeric:tabular-nums}.cal-day.has-mem{background:color-mix(in srgb,var(--blush) 60%,var(--surface));color:var(--rose-deep);box-shadow:inset 0 0 0 2px var(--blush)}.cal-heart{font-size:10px;line-height:1;font-weight:800;color:var(--rose-deep)}.cal-day.is-on .cal-heart{color:#fff}.cal-day.has-plan{background:#eaf3ff;color:#3d63a8;box-shadow:inset 0 0 0 2px #cfe2ff}.cal-day.has-mem.has-plan{background:linear-gradient(135deg,color-mix(in srgb,var(--blush) 60%,var(--surface)) 50%,#eaf3ff 50%);color:var(--ink)}.cal-day.is-today{box-shadow:inset 0 0 0 2px var(--pb)}.cal-day.is-on{background:var(--rose);color:#fff;box-shadow:0 3px 0 var(--btn-edge)}.cal-marks{display:flex;gap:3px;align-items:center;line-height:1}.cal-plan{font-size:10px;font-weight:800;color:#4f7fd9}.cal-day.is-on .cal-plan{color:#fff}.month-dots{position:absolute;left:0;right:0;bottom:2px;display:flex;justify-content:center;gap:3px}.month-dots i,.cal-legend i{display:inline-block;width:5px;height:5px;border-radius:999px}.month-dots .is-lived,.cal-legend .is-lived{background:var(--rose)}.month-dots .is-planned,.cal-legend .is-planned{background:#78b6f2}.month-dots .is-anniv,.cal-legend .is-anniv{background:#f2b541}.cal-anniv{font-size:10px;line-height:1;font-weight:800;color:#d99a1f}.cal-day.is-on .cal-anniv{color:#fff}.cal-day.has-anniv{background:#fff6dc;color:#a8761f;box-shadow:inset 0 0 0 2px #fde6a8}.cal-day.has-anniv.is-on{background:var(--rose);color:#fff;box-shadow:0 3px 0 var(--btn-edge)}.cal-group.is-anniv{color:#a8761f}.planned-row.is-anniv{box-shadow:0 0 0 2px #fde6a8 inset,0 4px 16px -10px #d99a1f80}.planned-row.is-anniv .planned-row-emoji{background:#fff6dc}.planned-row.is-static{cursor:default}.month-pill.is-on .month-dots i{box-shadow:0 0 0 1.5px #fff}.cal-legend{display:flex;justify-content:center;gap:16px;margin-top:10px;font-size:12px;font-weight:700;color:var(--ink-soft)}.cal-legend i{width:9px;height:9px;margin-right:4px;vertical-align:-1px}.cal-add{display:grid;gap:8px;padding:12px;border-radius:20px;background:var(--surface);box-shadow:0 4px 16px -10px #8c507873}.cal-add-title{font-size:13px;font-weight:800;color:var(--ink-soft);text-align:center}.cal-group{font-family:var(--font-display);font-size:15px;font-weight:600}.cal-group.is-planned{color:#3d63a8}.cal-group.is-lived{color:var(--rose-deep)}.planned-row{display:flex;align-items:center;gap:12px;width:100%;padding:10px 14px 10px 10px;border:0;border-radius:20px;background:var(--surface);box-shadow:0 0 0 2px #cfe2ff inset,0 4px 16px -10px #4f90d680;font:inherit;cursor:pointer}.planned-row-emoji{display:grid;place-items:center;width:42px;height:42px;flex:none;border-radius:14px;background:#eaf3ff;font-size:22px}.moment-switch.is-three{grid-template-columns:1fr 1fr 1fr;gap:4px}.moment-switch.is-three button{flex-direction:column;gap:3px;padding:8px 4px;text-align:center}.moment-switch.is-three .moment-switch-icon{font-size:22px}.moment-switch.is-three .moment-switch-text strong{font-size:14.5px}.moment-switch.is-three .moment-switch-text small{font-size:10.5px}.upload-box{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;padding:16px;border-radius:18px;border:2.5px dashed var(--blush);background:var(--mist);color:var(--rose-deep);font-weight:800;cursor:pointer}.start-toggle{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border-radius:18px;background:#fff7dc;cursor:pointer;font-size:14px}.start-toggle input{width:20px;height:20px;margin-top:2px;accent-color:var(--rose-deep);flex:none}.quiz-progress{height:12px;border-radius:999px;background:color-mix(in srgb,var(--surface) 70%,transparent);overflow:hidden}.quiz-progress span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--pa),var(--pb));transition:width .5s}.quiz-card{background:var(--surface);border-radius:24px;padding:16px;box-shadow:0 4px 16px -8px #8c507859;animation:screen-in .4s ease both}.quiz-card.is-revealed{background:linear-gradient(180deg,var(--surface),var(--mist))}.quiz-status{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;padding:3px 10px;border-radius:999px}.quiz-status.is-open{background:var(--sky);color:#4b67b8}.quiz-status.is-waiting{background:#fff0bf;color:#a57a17}.quiz-status.is-revealed{background:color-mix(in srgb,var(--blush) 60%,var(--surface));color:var(--rose-deep)}.wyr-option{width:100%;display:flex;align-items:center;gap:10px;text-align:left;border:2.5px solid var(--line);background:var(--surface);border-radius:18px;padding:11px 12px;font-weight:700;font-size:15px;color:var(--ink);cursor:pointer;min-height:52px;transition:transform .1s,border-color .15s}.wyr-option:active:not(:disabled){transform:scale(.98)}.wyr-option:disabled{cursor:default}.wyr-option.is-locked:not(.is-mine):not(.is-theirs){opacity:.6}.wyr-option.is-mine{border-color:var(--pa);background:var(--mist)}.wyr-option.is-theirs{border-color:var(--pb);background:#f0f3ff}.wyr-option.is-mine.is-theirs{border-color:var(--rose-deep);background:linear-gradient(90deg,var(--mist),#f0f3ff)}.wyr-letter{flex:none;display:grid;place-items:center;width:28px;height:28px;border-radius:10px;background:var(--mist);font-family:var(--font-display);font-weight:600;color:var(--rose-deep)}.wyr-head{width:30px;height:30px;border-radius:999px;background:var(--surface);border:2px solid #fff;box-shadow:0 2px 4px #5b3f5540}.waiting{margin-top:10px;display:flex;align-items:center;justify-content:center;gap:8px;font-size:13px;font-weight:800;color:#a57a17;background:#fff7dc;border-radius:14px;padding:9px}.waiting-dots{display:inline-flex;gap:3px}.waiting-dots i{width:6px;height:6px;border-radius:999px;background:#e8b84a;animation:dot 1.2s ease-in-out infinite}.waiting-dots i:nth-child(2){animation-delay:.15s}.waiting-dots i:nth-child(3){animation-delay:.3s}.partner-ready{margin:10px 0 0;display:flex;align-items:center;gap:6px;font-size:13px;font-weight:700;color:#4b67b8;background:#eef2ff;border-radius:14px;padding:9px 12px}.bubble{display:flex;gap:8px;align-items:flex-start;padding:10px 12px;border-radius:18px;font-size:15px;line-height:1.45;overflow-wrap:anywhere}.bubble.is-mine{background:var(--mist)}.bubble.is-theirs{background:#f0f3ff}.bubble-head{width:34px;height:34px;flex:none;border-radius:999px;background:var(--surface)}.bubble-name{display:block;font-family:var(--font-display);font-weight:600;font-size:13px;color:var(--ink-soft)}.reveal-pop{animation:reveal .5s cubic-bezier(.2,.9,.3,1.4)}.chibi-idle{animation:chibi-bob 2.6s ease-in-out infinite;transform-origin:50% 100%;transform-box:fill-box}.chibi-delay .chibi-idle{animation-delay:-1.3s}@keyframes chibi-bob{0%,to{transform:translateY(0) scaleY(1)}50%{transform:translateY(-2px) scaleY(1.012)}}@keyframes heartbeat{0%,to{transform:scale(1)}15%{transform:scale(1.25)}30%{transform:scale(1)}45%{transform:scale(1.15)}}@keyframes screen-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes nav-pop{0%{transform:scale(.8)}to{transform:scale(1)}}@keyframes fade-in{0%{opacity:0}}@keyframes sheet-up{0%{transform:translateY(100%)}}@keyframes toast-in{0%{opacity:0;transform:translateY(12px) scale(.95)}}@keyframes shimmer{to{background-position:-200% 0}}@keyframes marching{50%{opacity:.55}}@keyframes burst-up{0%{opacity:0;transform:translateY(0) scale(.5)}20%{opacity:1}to{opacity:0;transform:translateY(-46px) scale(1.2)}}@keyframes float-up{0%{opacity:0;transform:translateY(0) scale(.6)}15%{opacity:1}to{opacity:0;transform:translateY(-90px) scale(1.15) rotate(12deg)}}@keyframes wag{0%{transform:rotate(-9deg)}to{transform:rotate(9deg)}}@keyframes flap-l{0%{transform:rotate(0)}to{transform:rotate(18deg)}}@keyframes flap-r{0%{transform:rotate(0)}to{transform:rotate(-18deg)}}@keyframes tear{0%{opacity:0;transform:translateY(-3px)}20%{opacity:1}80%{opacity:1;transform:translateY(6px)}to{opacity:0;transform:translateY(9px)}}@keyframes heart-float{0%,to{transform:translateY(0) scale(1);opacity:.9}50%{transform:translateY(-6px) scale(1.1);opacity:1}}@keyframes pet-hop{0%,to{transform:translateY(0) scale(1)}40%{transform:translateY(-7%) scale(.97,1.04)}80%{transform:translateY(0) scale(1.05,.95)}}@keyframes pet-stroll{0%,to{transform:translate(0) scaleX(1)}24%{transform:translate(16%) scaleX(1)}26%{transform:translate(16%) scaleX(-1)}74%{transform:translate(-16%) scaleX(-1)}76%{transform:translate(-16%) scaleX(1)}}@keyframes pet-sad{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(2%) rotate(-2deg) scaleY(.97)}}@keyframes pet-munch{50%{transform:scale(1.06,.94)}}@keyframes pet-spin{0%{transform:translateY(0) rotateY(0) scale(1)}15%{transform:translateY(0) rotateY(0) scale(1.08,.92)}45%{transform:translateY(-16%) rotateY(180deg) scale(1)}75%{transform:translateY(-10%) rotateY(330deg) scale(1)}90%{transform:translateY(0) rotateY(360deg) scale(1.08,.92)}to{transform:translateY(0) rotateY(360deg) scale(1)}}@keyframes pet-squish{30%{transform:scale(1.1,.9)}60%{transform:scale(.95,1.06)}}@keyframes twinkle{50%{opacity:.4}}@keyframes low-pulse{50%{filter:brightness(1.12)}}@keyframes dot{0%,to{transform:translateY(0);opacity:.5}50%{transform:translateY(-4px);opacity:1}}@keyframes reveal{0%{opacity:0;transform:scale(.9) translateY(6px)}}.room-char{position:absolute;transform:translate(-50%,-100%);width:21%;touch-action:none;transition:left .55s ease,top .55s ease;filter:drop-shadow(0 6px 4px rgba(91,63,85,.18))}.room-char.is-walking{transition-timing-function:ease-in-out}.room-char.is-walking .room-char-body{animation:walk-bob .32s ease-in-out infinite}@keyframes walk-bob{0%,to{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-4%) rotate(3deg)}}.walk-target{position:absolute;width:9%;aspect-ratio:2 / 1;translate:-50% -50%;border-radius:50%;pointer-events:none;z-index:1;border:2.5px solid #fff;background:color-mix(in srgb,var(--rose) 35%,transparent);animation:walk-target .9s ease-out forwards}@keyframes walk-target{0%{opacity:1;scale:.4}to{opacity:0;scale:1.3}}.room-char.is-dragging{transition:none}.room-char.is-me{cursor:grab}.room-char .room-avatar{display:block;width:100%;height:auto;margin:0}.room-char.is-sleep{width:12%;transform:translate(-50%,-50%)}.room-char.is-bath{width:18.3%}.room-char.anim-rock .room-avatar{animation:rock 2.4s ease-in-out infinite;transform-origin:50% 100%}.room-char.anim-swing .room-avatar{animation:swing 2s ease-in-out infinite;transform-origin:50% calc(100% - var(--swing-pivot, 120px))}.swing-seat{transform-box:fill-box;transform-origin:50% 0;animation:swing 2s ease-in-out infinite}.room-char.anim-bounce .room-avatar{animation:hop .6s ease-in-out infinite}.room-char.anim-jump .room-avatar{animation:big-jump 1s ease-in-out infinite}.room-char-body{display:block;transform-origin:50% 100%;transition:transform .4s ease}.room-char.anim-dance .room-avatar{animation:couple-dance 1s ease-in-out infinite;transform-origin:50% 100%}.room-char.anim-shake .room-avatar{animation:giggle .35s ease-in-out infinite;transform-origin:50% 100%}.room-avatar .steam,.room-avatar .drops{animation:rise 1.4s ease-in-out infinite}.room-avatar .notes{animation:hop 1s ease-in-out infinite}.gesture-card{display:flex;flex-direction:column;align-items:center;gap:6px;border:0;padding:8px 8px 10px;border-radius:20px;background:var(--mist);cursor:pointer;transition:transform .12s}.gesture-preview{position:relative;display:block;width:100%;overflow:hidden;border-radius:14px;background:linear-gradient(180deg,#fff1f6,#fff9fb);box-shadow:inset 0 0 0 1.5px #ffe0ea}.gp-char{position:absolute;top:3%;transform-origin:50% 100%}.gp-char .room-avatar{display:block;width:100%;height:auto;margin:0;overflow:visible}.room-char.anim-snuggle .room-avatar,.gp-char.anim-snuggle .room-avatar{animation:snuggle 1.5s ease-in-out infinite;transform-origin:50% 100%}.room-char.anim-stroll .room-avatar,.gp-char.anim-stroll .room-avatar{animation:stroll 1.8s ease-in-out infinite;transform-origin:50% 100%}.room-char.anim-giggle .room-avatar,.gp-char.anim-giggle .room-avatar{animation:giggle .45s ease-in-out infinite;transform-origin:50% 100%}.room-char.anim-twirl .room-avatar,.gp-char.anim-twirl .room-avatar{animation:twirl 1.2s ease-in-out infinite;transform-origin:50% 100%}@keyframes snuggle{0%,to{transform:scale(1)}50%{transform:scale(.975,1.018)}}@keyframes stroll{0%,to{transform:rotate(-1.5deg) translateY(0)}50%{transform:rotate(1.5deg) translateY(-1.5%)}}@keyframes twirl{0%{transform:scaleX(1)}25%{transform:scaleX(.06) translateY(-3%)}50%{transform:scaleX(-1)}75%{transform:scaleX(-.06) translateY(-3%)}to{transform:scaleX(1)}}.gesture-card:active{transform:scale(.94)}.gesture-emoji{font-size:32px;line-height:1}@keyframes couple-dance{0%,to{transform:translateY(0) rotate(-6deg)}25%{transform:translateY(-6%) rotate(0)}50%{transform:translateY(0) rotate(6deg)}75%{transform:translateY(-6%) rotate(0)}}@keyframes giggle{0%,to{transform:rotate(-3deg)}50%{transform:rotate(3deg) translateY(-2%)}}@keyframes rise{0%{opacity:0;transform:translateY(4px)}40%{opacity:1}to{opacity:0;transform:translateY(-6px)}}.me-marker{position:absolute;left:50%;bottom:-12px;transform:translate(-50%);font-size:9px;font-weight:800;color:#fff;background:var(--ink);border-radius:999px;padding:0 6px;line-height:14px;pointer-events:none}.room-char.is-sleep .me-marker{bottom:-10px}.placed-item:not(.is-editing){pointer-events:none}.placed-item:not(.is-editing) svg *,.placed-item:not(.is-editing) img{pointer-events:visiblePainted}.room-char{pointer-events:none}.room-char .room-avatar *,.room-char .speech-wrap,.room-char .speech-bubble{pointer-events:auto}.room-char .room-avatar *{pointer-events:visiblePainted}.room-pet{pointer-events:none}.room-pet svg *{pointer-events:visiblePainted}.placed-item:not(.is-editing){cursor:default}.placed-item.is-usable{cursor:pointer}.placed-item.is-usable:hover{filter:drop-shadow(0 0 6px color-mix(in srgb,var(--rose) 90%,transparent)) drop-shadow(0 4px 3px rgba(91,63,85,.2))}.pendulum{transform-box:fill-box;transform-origin:50% 0;animation:rock 2s ease-in-out infinite}@keyframes rock{0%,to{transform:rotate(-4deg)}50%{transform:rotate(4deg)}}@keyframes swing{0%,to{transform:rotate(-12deg)}50%{transform:rotate(12deg)}}@keyframes hop{0%,to{transform:translateY(0)}50%{transform:translateY(-6%)}}@keyframes big-jump{0%,to{transform:translateY(0) scale(1.03,.97)}50%{transform:translateY(-30%) scale(.98,1.03)}}@keyframes float-emote{0%,to{margin-bottom:0}50%{margin-bottom:4px}}@keyframes bubble-in{0%{opacity:0;scale:.6}}.pet-anim-play-spin{animation:pet-spin 1.1s ease-in-out}.pet-anim-play-flip{animation:play-flip 1.1s ease-in-out;transform-origin:50% 60%}.pet-anim-play-zoomies{animation:play-zoomies 1.3s ease-in-out}.pet-anim-play-wiggle{animation:play-wiggle .9s ease-in-out}.pet-anim-play-jump{animation:play-jump 1.1s cubic-bezier(.3,.7,.4,1)}.pet-anim-play-roll{animation:play-roll 1.8s ease-in-out;transform-origin:50% 70%}.pet-anim-play-tail{animation:play-tail 1.3s linear}.pet-anim-play-dance{animation:play-dance 1.2s ease-in-out}@keyframes play-flip{0%{transform:translateY(0) rotate(0) scale(1)}16%{transform:translateY(0) rotate(0) scale(1.14,.82)}32%{transform:translateY(-38%) rotate(-80deg) scale(.94,1.06)}50%{transform:translateY(-56%) rotate(-190deg) scale(1)}68%{transform:translateY(-34%) rotate(-310deg) scale(1)}82%{transform:translateY(0) rotate(-360deg) scale(1.16,.8)}92%{transform:translateY(-4%) rotate(-360deg) scale(.95,1.06)}to{transform:translateY(0) rotate(-360deg) scale(1)}}@keyframes play-zoomies{0%{transform:translate(0) scaleX(1)}20%{transform:translate(32%) scaleX(1)}22%{transform:translate(32%) scaleX(-1)}50%{transform:translate(-32%) scaleX(-1)}52%{transform:translate(-32%) scaleX(1)}80%{transform:translate(14%) scaleX(1)}to{transform:none}}@keyframes play-wiggle{0%,to{transform:rotate(0)}15%{transform:rotate(-10deg) scale(1.04)}30%{transform:rotate(10deg)}45%{transform:rotate(-8deg) scale(1.04)}60%{transform:rotate(8deg)}75%{transform:rotate(-4deg)}}@keyframes play-jump{0%{transform:scale(1.1,.85)}30%{transform:translateY(-45%) scale(.92,1.08)}55%{transform:translateY(-45%) scale(1)}85%{transform:translateY(0) scale(1.12,.86)}to{transform:none}}@keyframes play-roll{0%{transform:translate(0) rotate(0)}18%{transform:translate(-6%,4%) rotate(-95deg)}32%{transform:translate(-10%,10%) rotate(-180deg)}40%{transform:translate(-10%,10%) rotate(-168deg)}48%{transform:translate(-10%,10%) rotate(-192deg)}56%{transform:translate(-10%,10%) rotate(-170deg)}64%{transform:translate(-10%,10%) rotate(-190deg)}72%{transform:translate(-10%,10%) rotate(-180deg)}88%{transform:translate(-3%,2%) rotate(-40deg)}94%{transform:translate(0) rotate(6deg) scale(1.06,.94)}to{transform:translate(0) rotate(0) scale(1)}}@keyframes play-tail{0%{transform:rotateY(0)}25%{transform:rotateY(180deg) translate(8%)}50%{transform:rotateY(360deg)}75%{transform:rotateY(540deg) translate(-8%)}to{transform:rotateY(720deg)}}@keyframes play-dance{0%,to{transform:translate(0) rotate(0)}20%{transform:translate(-10%,-8%) rotate(-12deg)}40%{transform:translate(0) rotate(0) scale(1.05,.95)}60%{transform:translate(10%,-8%) rotate(12deg)}80%{transform:translate(0) scale(1.05,.95)}}.header-chat{position:relative;flex:none;display:grid;place-items:center;width:40px;height:40px;border-radius:999px;border:0;background:var(--surface);color:var(--rose-deep);cursor:pointer;box-shadow:0 3px 0 var(--line)}.header-chat:active{transform:translateY(2px);box-shadow:0 1px 0 var(--line)}.sync-focus{border-radius:22px;animation:sync-glow 2.6s ease-out 1}@keyframes sync-glow{0%{box-shadow:0 0 #ff5a7aa6}25%{box-shadow:0 0 0 7px #ff5a7a59}to{box-shadow:0 0 #ff5a7a00}}.notify-group{padding:12px 14px;border-radius:20px;background:#fff7fa;box-shadow:inset 0 0 0 1.5px #f8e0ea}.notify-group-title{margin:0;font-family:var(--font-display);font-weight:600;font-size:15px;color:var(--ink)}.notify-sub{padding-top:10px;border-top:1.5px dashed #f1d2de}.header-dot{position:absolute;top:5px;right:5px;width:12px;height:12px;border-radius:50%;background:#ff5a7a;border:2.5px solid #fff;animation:heartbeat 1.6s ease-in-out infinite}.activity-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}.activity-item{position:relative;display:flex;align-items:center;gap:12px;width:100%;padding:10px 12px;border:0;text-align:left;cursor:pointer;border-radius:18px;background:var(--surface);color:var(--ink);box-shadow:0 2px 0 var(--line),inset 0 0 0 1.5px var(--line)}.activity-item.is-new{background:color-mix(in srgb,var(--blush) 38%,var(--surface));box-shadow:0 2px 0 var(--blush),inset 0 0 0 1.5px var(--blush)}.activity-item:active{transform:translateY(2px);box-shadow:none}.activity-icon{flex:none;width:40px;height:40px;display:grid;place-items:center;border-radius:50%;font-size:20px;line-height:1;background:radial-gradient(circle at 35% 30%,#fff,var(--mist));box-shadow:inset 0 -3px #0000000f,0 2px #5b3f551a}.activity-body{display:grid;gap:2px;min-width:0;flex:1}.activity-text{font-size:14px;font-weight:700;line-height:1.3;overflow-wrap:anywhere}.activity-time{font-size:11px;font-weight:700;color:var(--ink-soft, #8d7189)}.activity-dot{flex:none;width:11px;height:11px;border-radius:50%;background:#ff5a7a;box-shadow:0 0 0 3px #ff5a7a2e}.header-badge{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--rose-deep);color:#fff;font-size:11px;font-weight:800;display:grid;place-items:center;border:2px solid #fff;animation:heartbeat 1.4s ease-in-out infinite}.message-banner{flex:none;display:flex;align-items:center;gap:10px;margin:8px 16px 0;padding:8px 12px;border:0;border-radius:18px;cursor:pointer;background:linear-gradient(90deg,color-mix(in srgb,var(--blush) 60%,var(--surface)),var(--mist));color:var(--ink);box-shadow:0 0 0 2px var(--rose),0 8px 18px -10px color-mix(in srgb,var(--rose-deep) 80%,transparent);animation:toast-in .4s cubic-bezier(.2,.9,.3,1.4)}.banner-envelope{font-size:22px;animation:heartbeat 1.6s ease-in-out infinite}.chat-list{display:flex;flex-direction:column;gap:8px;max-height:46vh;overflow-y:auto;padding:4px 2px 8px}.chat-day{align-self:center;font-size:11px;font-weight:800;color:var(--ink-soft);background:var(--line);border-radius:999px;padding:2px 10px;margin:6px 0 2px;text-transform:capitalize}.chat-row{display:flex;align-items:flex-end;gap:6px;max-width:86%}.chat-row.is-mine{align-self:flex-end;flex-direction:row-reverse}.chat-head{width:30px;height:30px;border-radius:999px;background:var(--surface);flex:none}.chat-bubble{display:flex;flex-direction:column;gap:2px;padding:8px 12px;border-radius:18px 18px 18px 6px;background:#f0f3ff;min-width:0}.chat-bubble.is-mine{background:color-mix(in srgb,var(--blush) 60%,var(--surface));border-radius:18px 18px 6px}.chat-emoji{font-size:20px;line-height:1.1}.chat-emoji.is-big{font-size:34px}.chat-text{font-size:15px;line-height:1.4;overflow-wrap:anywhere}.chat-meta{font-size:10px;font-weight:700;color:var(--ink-soft)}.chat-row{transition:transform .2s}.chat-row.is-flash .chat-bubble{box-shadow:0 0 0 3px color-mix(in srgb,var(--rose) 45%,transparent)}.chat-reply-btn{flex:none;align-self:center;width:28px;height:28px;border-radius:999px;border:0;background:transparent;color:var(--ink-soft);font-size:15px;font-weight:800;opacity:.55;cursor:pointer}.chat-reply-btn:hover,.chat-reply-btn:focus-visible{opacity:1;background:#fff4f7}.chat-quote{display:grid;gap:1px;text-align:left;margin:-2px -4px 3px;padding:5px 8px;border:0;border-left:3px solid var(--rose);border-radius:10px;background:#ffffffa6;font:inherit;cursor:pointer;min-width:0}.chat-quote strong{font-size:11px;color:var(--rose-deep, var(--rose))}.chat-quote span,.chat-replying span{display:block;font-size:12px;color:var(--ink-soft);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:220px}.chat-replying{display:flex;align-items:center;gap:8px;padding:6px 8px 6px 10px;border-left:3px solid var(--rose);border-radius:12px;background:#fff4f7}.chat-replying strong{display:block;font-size:12px;color:var(--ink)}.chat-replying-x{flex:none;width:28px;height:28px;border:0;border-radius:999px;background:var(--surface);color:var(--ink-soft);font-weight:800;cursor:pointer}.wa-root{position:fixed;left:0;right:0;width:min(100%,560px);margin-inline:auto;z-index:70;display:flex;flex-direction:column;background:var(--mist);color:var(--ink);animation:wa-in .16s ease-out}@keyframes wa-in{0%{opacity:0;transform:translate(18px)}to{opacity:1;transform:none}}.wa-head{flex:none;display:flex;align-items:center;gap:10px;padding:calc(8px + env(safe-area-inset-top,0px)) 12px 8px 4px;background:var(--surface);border-bottom:1.5px solid var(--line)}.wa-back{flex:none;width:40px;height:40px;border:0;border-radius:50%;background:none;color:var(--rose-deep);font-size:34px;line-height:1;cursor:pointer;padding-bottom:4px}.wa-head-avatar{flex:none;width:40px;height:40px;border-radius:50%;background:var(--blush)}.wa-head-text{min-width:0;display:flex;flex-direction:column;line-height:1.2}.wa-head-text strong{font-size:16px;font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wa-head-text span{font-size:12px;color:var(--ink-soft)}.wa-body{position:relative;flex:1 1 auto;min-height:0;display:flex}.wa-list{flex:1;min-width:0;overflow-y:auto;overscroll-behavior:contain;padding:10px 10px 8px;display:flex;flex-direction:column;gap:2px;-webkit-overflow-scrolling:touch;background-image:radial-gradient(color-mix(in srgb,var(--blush) 55%,transparent) 1.4px,transparent 1.6px);background-size:22px 22px}.wa-empty{margin:auto;text-align:center;font-size:14px;color:var(--ink-soft);padding:24px}.wa-older{align-self:center;margin:6px 0;padding:6px 14px;border:0;border-radius:999px;background:color-mix(in srgb,var(--surface) 92%,transparent);box-shadow:0 1px 2px #0000001a;font-size:12px;font-weight:800;color:var(--ink-soft);cursor:pointer}.wa-day{align-self:center;margin:10px 0 6px;padding:3px 12px;border-radius:999px;background:color-mix(in srgb,var(--surface) 90%,transparent);box-shadow:0 1px 1px #0000000f;font-size:11px;font-weight:800;color:var(--ink-soft);text-transform:capitalize}.wa-row{display:flex;flex-direction:column;align-items:flex-start;max-width:84%}.wa-row.is-mine{align-self:flex-end;align-items:flex-end}.wa-row.is-first{margin-top:6px}.wa-bubble{position:relative;min-width:0;padding:6px 9px 4px;border-radius:12px 12px 12px 4px;background:var(--surface);box-shadow:0 1px 1px #00000014;font-size:15px;line-height:1.35;cursor:pointer;-webkit-tap-highlight-color:transparent}.wa-bubble.is-mine{background:color-mix(in srgb,var(--blush) 80%,var(--surface));border-radius:12px 12px 4px}.wa-bubble.is-flash{box-shadow:0 0 0 3px color-mix(in srgb,var(--rose) 45%,transparent)}.wa-bubble .chat-quote{display:grid;width:100%;margin:0 0 4px;background:color-mix(in srgb,var(--ink) 8%,transparent);color:var(--ink)}.wa-bubble .chat-quote span{max-width:none}.wa-text{white-space:pre-wrap;overflow-wrap:anywhere}.wa-meta{float:right;margin:7px 0 0 10px;display:inline-flex;align-items:center;gap:3px;font-size:10px;font-weight:700;color:var(--ink-soft);line-height:1}.wa-tick{font-size:11px;letter-spacing:-2px;margin-right:2px}.wa-tick.is-read{color:#3b9be0}.wa-reply{margin-top:3px;padding:4px 12px;border:0;border-radius:999px;background:var(--surface);color:var(--rose-deep);font-size:12px;font-weight:800;box-shadow:0 1px 2px #0000001f;cursor:pointer}.wa-down{position:absolute;right:12px;bottom:10px;width:42px;height:42px;border:0;border-radius:50%;background:var(--surface);color:var(--rose-deep);font-size:20px;font-weight:800;box-shadow:0 3px 10px #00000038;cursor:pointer}.wa-down span{position:absolute;top:-6px;right:-4px;min-width:18px;height:18px;padding:0 4px;border-radius:999px;background:var(--rose-deep);color:#fff;font-size:11px;line-height:18px}.wa-compose{flex:none;display:flex;flex-direction:column;gap:6px;padding:6px 8px calc(6px + env(safe-area-inset-bottom,0px));background:var(--mist);border-top:1.5px solid var(--line)}.wa-compose-row{display:flex;align-items:flex-end;gap:6px}.wa-emoji-btn{flex:none;width:40px;height:44px;border:0;background:none;font-size:25px;cursor:pointer;padding:0}.wa-emoji-btn.is-on{filter:saturate(1.2)}.wa-input{flex:1;min-width:0;resize:none;border:0;outline:0;border-radius:22px;padding:11px 15px;background:var(--surface);color:var(--ink);font:inherit;font-size:16px;line-height:1.3;max-height:120px;box-shadow:inset 0 0 0 1.5px var(--line)}.wa-input:focus{box-shadow:inset 0 0 0 2px var(--rose)}.wa-send{flex:none;width:44px;height:44px;border:0;border-radius:50%;background:var(--rose-deep);color:#fff;display:grid;place-items:center;cursor:pointer;box-shadow:0 2px #00000026}.wa-send:disabled{opacity:.45;box-shadow:none}.wa-count{margin:0;text-align:right;font-size:11px;color:var(--ink-soft)}.wa-picker{margin:0}.wa-picker .emoji-grid{max-height:202px}.chat-compose{position:sticky;bottom:0;background:var(--surface);padding-top:10px;border-top:1.5px solid var(--line);display:grid;grid-template-columns:minmax(0,1fr);gap:8px}.chat-compose>*,.chat-compose .input{min-width:0}.chat-compose{padding-bottom:max(6px,env(safe-area-inset-bottom,0px))}.emoji-picker{box-sizing:border-box;max-width:100%}.emoji-toggle{flex:none;width:44px;height:44px;border:0;border-radius:16px;background:var(--mist);font-size:22px;cursor:pointer;display:grid;place-items:center;padding:0}.emoji-toggle.is-on{background:var(--blush);box-shadow:inset 0 0 0 2px var(--rose)}.emoji-picker{background:var(--mist);border-radius:18px;padding:6px}.emoji-tabs{display:flex;gap:2px;overflow-x:auto;padding-bottom:4px;border-bottom:1.5px solid var(--line);scrollbar-width:none}.emoji-tabs::-webkit-scrollbar{display:none}.emoji-tabs button{flex:none;width:38px;height:34px;border:0;background:none;border-radius:10px;font-size:19px;cursor:pointer;opacity:.6}.emoji-tabs button.is-on{background:var(--surface);opacity:1;box-shadow:0 2px 0 var(--rose)}.emoji-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(38px,1fr));gap:2px;max-height:202px;overflow-y:auto;padding-top:4px;overscroll-behavior:contain}.emoji-grid button{height:38px;border:0;background:none;border-radius:10px;font-size:24px;cursor:pointer}.emoji-grid button:active{background:var(--surface);transform:scale(1.15)}.idea-card{width:100%;display:flex;align-items:center;gap:12px;padding:12px;border:0;border-radius:22px;background:var(--surface);cursor:pointer;box-shadow:0 4px 16px -8px #8c507859;text-align:left}.idea-card:active{transform:scale(.99)}.idea-card.is-done{background:linear-gradient(90deg,#f1fbf6,#fff)}.idea-emoji{flex:none;display:grid;place-items:center;width:48px;height:48px;border-radius:16px;background:var(--mist);font-size:24px}.idea-emoji.is-big{width:56px;height:56px;font-size:28px}.idea-thumb{flex:none;width:48px;height:48px;border-radius:16px;object-fit:cover}.badge.is-done{background:#ddf6ea;color:#2f8a69}.done-box{border-radius:18px;padding:12px;background:#f6f2ff;display:grid;gap:8px}.done-box.is-done{background:#ddf6ea}.review-card{border-radius:18px;padding:12px;background:var(--mist)}.review-card.is-partner{background:#f0f3ff}.star-btn{border:0;padding:0;background:none;cursor:pointer;transition:transform .1s}.star-btn:active{transform:scale(.85)}.idea-photo{position:relative;aspect-ratio:1 / 1;border-radius:14px;overflow:hidden;background:var(--mist)}.idea-photo img{width:100%;height:100%;object-fit:cover;display:block}.idea-photo-x{position:absolute;top:4px;right:4px;width:24px;height:24px;border-radius:999px;border:0;background:color-mix(in srgb,var(--surface) 96%,transparent);display:grid;place-items:center;cursor:pointer}.catalog-tools{display:grid;gap:10px;margin-bottom:10px}.chip-count{font-size:10px;opacity:.65;margin-left:2px}.catalog-group{display:flex;align-items:center;gap:8px;font-family:var(--font-display);font-weight:600;font-size:16px;color:var(--ink);margin:6px 0 8px}.catalog-group span{font-size:11px;font-weight:800;color:var(--ink-soft);background:var(--line);border-radius:999px;padding:1px 8px}.catalog-card{position:relative}.catalog-use{position:absolute;top:6px;right:6px;font-size:13px;background:var(--surface);border-radius:999px;width:24px;height:24px;display:grid;place-items:center;box-shadow:0 2px 6px -2px #5b3f5566}.couple-heads{position:relative;border:0;padding:0;background:none;cursor:pointer}.head-bubble.is-waiting{filter:grayscale(.8);opacity:.55}.invite-dot{position:absolute;right:-4px;bottom:-2px;width:18px;height:18px;border-radius:999px;background:var(--rose-deep);color:#fff;font-size:13px;font-weight:800;line-height:18px;text-align:center;border:2px solid #fff}.invite-strip{display:block;width:calc(100% - 32px);margin:0 16px 6px;border:0;border-radius:14px;padding:4px 12px;background:var(--surface);color:var(--ink-soft);font-size:12px;cursor:pointer;box-shadow:0 0 0 1.5px var(--blush)}.invite-strip strong{color:var(--rose-deep)}.onboarding{min-height:100%;display:flex;align-items:center;justify-content:center;padding:max(24px,env(safe-area-inset-top,0px)) max(16px,env(safe-area-inset-right,0px)) max(24px,env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px))}.onboarding-card{width:100%;max-width:420px;background:var(--surface);border-radius:32px;padding:28px 22px;box-shadow:0 30px 60px -30px #8c50788c;animation:screen-in .45s cubic-bezier(.2,.9,.3,1.2)}.onboarding-hero{display:flex;align-items:flex-end;justify-content:center;gap:0;padding:12px;border-radius:26px;background:radial-gradient(ellipse at 50% 100%,#fff 0 32%,transparent 33%),linear-gradient(180deg,color-mix(in srgb,var(--blush) 60%,var(--surface)),#efe6ff)}.pocketus-logo{display:flex;flex-direction:column;align-items:center;gap:2px}.pocketus-mark{width:170px;max-width:100%;height:auto;overflow:visible}.pocketus-heart{transform-box:fill-box;transform-origin:50% 100%;animation:pocket-peek 2.6s ease-in-out infinite}.pocketus-sparkle{transform-box:fill-box;transform-origin:center;animation:twinkle-star 1.8s ease-in-out infinite}.pocketus-sparkle.is-late{animation-delay:-.9s}.pocketus-name{margin:0;font-family:var(--font-display);font-weight:600;font-size:38px;line-height:1;letter-spacing:-.01em;color:var(--ink)}.pocketus-name span{color:var(--rose-deep)}@keyframes pocket-peek{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-6px) scale(1.04)}}@keyframes twinkle-star{0%,to{transform:scale(1) rotate(0);opacity:1}50%{transform:scale(.6) rotate(20deg);opacity:.6}}.onboarding-heart{font-size:26px;color:var(--rose);margin:0 -6px 60px;animation:heartbeat 1.4s ease-in-out infinite}.back-link{border:0;background:none;color:var(--ink-soft);font-weight:800;font-size:14px;cursor:pointer;padding:0}.code-input{font-family:var(--font-display);font-size:24px;letter-spacing:.18em;text-align:center;text-transform:uppercase}.code-tiles{display:flex;justify-content:center;align-items:center;gap:6px}.code-tile{display:grid;place-items:center;width:42px;height:54px;border-radius:14px;background:var(--mist);font-family:var(--font-display);font-size:28px;font-weight:600;color:var(--rose-deep);box-shadow:inset 0 -3px 0 var(--blush)}.code-dash{font-size:24px;color:var(--ink-faint);font-weight:800}.pairing-status{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px;border-radius:16px;background:#fff7dc;color:#8a6514;font-weight:800;font-size:14px}.pairing-status.is-joined{background:#ddf6ea;color:#2f8a69}.member-row{display:flex;align-items:center;gap:12px;padding:12px;border-radius:20px;background:var(--mist);flex-wrap:wrap}.role-chip{font-size:10px;font-weight:800;padding:2px 8px;border-radius:999px;color:#fff}.role-chip.is-a{background:var(--pa)}.role-chip.is-b{background:var(--pb)}.pairing-box{display:grid;gap:8px;padding:14px;border-radius:20px;background:var(--mist);box-shadow:inset 0 0 0 2px var(--blush)}.pairing-box.is-joined{background:#f4fbf7;box-shadow:inset 0 0 0 2px #cdeee0}.pairing-code{flex:1;font-family:var(--font-display);font-size:26px;font-weight:600;letter-spacing:.12em;color:var(--rose-deep)}.message-banner{position:relative;z-index:15;margin-bottom:10px}.room-chip{position:relative;display:inline-flex;align-items:center;gap:4px}.room-chip-people{display:inline-flex;margin-left:2px}.room-chip-head{width:22px;height:22px;border-radius:999px;background:var(--surface);border:1.5px solid #fff;box-shadow:0 1px 3px #5b3f5559}.room-chip-head+.room-chip-head{margin-left:-7px}.celebration-strip{margin:0 16px 10px;padding:6px 12px;border-radius:14px;background:#fff7dc;color:#8a6514;font-size:12px;font-weight:800;text-align:center}.answer-times{display:flex;flex-wrap:wrap;gap:4px 12px;margin:10px 0 0;font-size:11px;font-weight:700;color:var(--ink-soft)}.answer-times span:before{content:"\1f552  "}.theme-card{display:flex;flex-direction:column;align-items:center;gap:4px;border:0;background:none;cursor:pointer;padding:0}.theme-swatch{display:grid;place-items:center;width:46px;height:46px;border-radius:16px;color:#fff;box-shadow:0 0 0 2px #fff,0 3px 8px -3px #5b3f5580}.theme-card.is-on .theme-swatch{box-shadow:0 0 0 3px var(--ink),0 3px 8px -3px #5b3f5580}.link-btn{border:0;background:none;padding:0;color:var(--rose-deep);font-weight:800;cursor:pointer;text-decoration:underline}.lang-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:8px}.lang-card{display:flex;align-items:center;gap:10px;padding:10px 12px;border:0;cursor:pointer;border-radius:18px;background:var(--surface);box-shadow:inset 0 0 0 2px var(--blush),0 3px color-mix(in srgb,var(--blush) 80%,#d9c6d2);transition:transform .12s,box-shadow .15s}.lang-card:active{transform:translateY(2px)}.lang-card.is-on{background:var(--mist);box-shadow:inset 0 0 0 2.5px var(--rose),0 3px 0 var(--btn-edge)}.lang-card .flag-icon,.lang-card .flag-fallback{width:32px;height:22px;flex:none;font-size:18px;line-height:22px;text-align:center}.lang-name{flex:1;text-align:left;font-family:var(--font-display);font-weight:600;font-size:15px;color:var(--ink)}.music-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:8px}.music-card{position:relative;display:grid;justify-items:center;gap:1px;padding:12px 6px 9px;border:0;cursor:pointer;border-radius:18px;background:var(--surface);box-shadow:inset 0 0 0 2px var(--blush),0 3px color-mix(in srgb,var(--blush) 80%,#d9c6d2);transition:transform .12s,box-shadow .15s}.music-card:active{transform:translateY(2px)}.music-card.is-on{background:var(--mist);box-shadow:inset 0 0 0 2.5px var(--rose),0 3px 0 var(--btn-edge)}.music-card.is-locked .music-icon,.music-card.is-locked .music-name{opacity:.6}.music-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;font-size:20px;background:var(--mist);margin-bottom:3px}.music-card.is-on .music-icon{background:var(--surface);box-shadow:0 0 0 2px var(--blush)}.music-icon.is-playing{animation:music-bob 1.6s ease-in-out infinite}@keyframes music-bob{0%,to{transform:translateY(0) rotate(-4deg)}50%{transform:translateY(-3px) rotate(4deg)}}.music-name{font-family:var(--font-display);font-weight:600;font-size:14px;color:var(--ink);line-height:1.1}.music-mood{font-size:10.5px;font-weight:700;color:var(--ink-soft);line-height:1.1}.music-card .plus-lock{top:4px;left:auto;right:4px}.volume-card{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:22px;background:var(--surface);box-shadow:inset 0 0 0 2px var(--blush),0 3px color-mix(in srgb,var(--blush) 80%,#d9c6d2)}.volume-badge{display:grid;place-items:center;width:36px;height:36px;flex:none;border-radius:50%;color:var(--rose-deep);background:var(--mist)}.volume-step{display:grid;place-items:center;width:32px;height:32px;flex:none;border:0;border-radius:50%;cursor:pointer;color:#fff;background:linear-gradient(180deg,var(--btn-1),var(--btn-2));box-shadow:0 3px 0 var(--btn-edge);transition:transform .1s,box-shadow .1s}.volume-step:active{transform:translateY(2px);box-shadow:0 1px 0 var(--btn-edge)}.volume-step:disabled{opacity:.4;cursor:default}.volume-step svg{stroke-width:3}.volume-meter{flex:1;height:34px;display:flex;align-items:flex-end;gap:4px;padding:0 2px;cursor:pointer;touch-action:none;border-radius:10px}.volume-meter:focus-visible{outline:3px solid var(--rose);outline-offset:3px}.volume-tick{flex:1;height:var(--h);border-radius:6px;background:var(--mist);box-shadow:inset 0 0 0 1.5px var(--blush);transition:background .15s,transform .15s}.volume-tick.is-on{background:linear-gradient(180deg,var(--btn-1),var(--btn-2));box-shadow:inset 0 -2px 0 var(--btn-edge)}.volume-card.is-off .volume-tick.is-on{filter:grayscale(.7);opacity:.55}.quiz-free-note{margin-top:10px;display:flex;align-items:center;gap:8px;width:100%;padding:7px 10px;border:0;border-radius:14px;cursor:pointer;background:#fff7dc;color:#8a6514;font-size:12px;font-weight:800;text-align:left}.quiz-free-note .plus-lock{position:static;flex:none}.resume-box{display:grid;gap:8px;padding:14px;border-radius:20px;background:var(--mist);box-shadow:inset 0 0 0 2px var(--blush)}.btn-game.is-sky{background:linear-gradient(180deg,#a9d3fb,#78b6f2);box-shadow:0 4px #4f90d6,0 10px 18px -8px #4f90d699;text-shadow:0 1px 0 rgba(30,80,140,.3)}.btn-game.is-sky:active{box-shadow:0 1px #4f90d6}.growth-badge{font-size:28px}.stat-track .growth-fill{background-color:var(--rose)}.pet-anim-wash{animation:pet-wash .9s ease-in-out}@keyframes pet-wash{0%,to{transform:rotate(0)}20%{transform:rotate(-6deg) scale(1.03)}40%{transform:rotate(6deg)}60%{transform:rotate(-4deg) scale(1.03)}80%{transform:rotate(3deg)}}.pet-stink path{animation:rise 1.6s ease-in-out infinite}.pet-fly{animation:fly 1.4s ease-in-out infinite}@keyframes fly{0%,to{transform:translate(0)}25%{transform:translate(-6px,-4px)}50%{transform:translate(-2px,3px)}75%{transform:translate(4px,-3px)}}.float-soft{animation:hop 2.4s ease-in-out infinite}.rock-soft{transform-box:fill-box;transform-origin:50% 0;animation:rock-soft 3.2s ease-in-out infinite}@keyframes rock-soft{0%,to{transform:rotate(-2deg)}50%{transform:rotate(2deg)}}@media (prefers-reduced-motion: reduce){.rock-soft{animation:none}}html.is-paused *,html.is-paused *:before,html.is-paused *:after{animation-play-state:paused!important}.fx-swim{animation:fx-swim var(--t, 8s) ease-in-out infinite;animation-delay:var(--d, 0s)}.fx-swim>g{transform-box:fill-box;transform-origin:center;animation:fx-turn var(--t, 8s) steps(1) infinite;animation-delay:var(--d, 0s)}@keyframes fx-swim{0%,to{transform:translate(0)}25%{transform:translate(calc(var(--dx) / 2),-2px)}50%{transform:translate(var(--dx))}75%{transform:translate(calc(var(--dx) / 2),2px)}}@keyframes fx-turn{0%{transform:scaleX(1)}50%,to{transform:scaleX(-1)}}.fx-bubble{animation:fx-bubble 3.2s ease-in infinite;animation-delay:var(--d, 0s)}@keyframes fx-bubble{0%{transform:translateY(0);opacity:0}15%{opacity:.9}to{transform:translateY(var(--rise, -26px));opacity:0}}.fx-sway{transform-box:fill-box;transform-origin:50% 100%;animation:fx-sway 2.8s ease-in-out infinite alternate;animation-delay:var(--d, 0s)}@keyframes fx-sway{0%{transform:rotate(-7deg)}to{transform:rotate(7deg)}}.fx-steam{animation:fx-steam 2.4s ease-out infinite;animation-delay:var(--d, 0s)}@keyframes fx-steam{0%{transform:translateY(2px);opacity:0}30%{opacity:.9}to{transform:translateY(-6px);opacity:0}}.fx-spin{transform-box:fill-box;transform-origin:center;animation:fx-spin var(--t, 1.4s) linear infinite}@keyframes fx-spin{to{transform:rotate(360deg)}}.pendulum-clock{transform-box:fill-box;transform-origin:50% 0;animation:pendulum-clock 2s ease-in-out infinite}@keyframes pendulum-clock{0%,to{transform:rotate(-11deg)}50%{transform:rotate(11deg)}}.sky-drift{animation:sky-drift 26s ease-in-out infinite alternate}.sky-drift.is-slow{animation-duration:38s;animation-direction:alternate-reverse}@keyframes sky-drift{0%{transform:translate(-6%)}to{transform:translate(6%)}}.room-sky{position:absolute;left:0;top:0;width:100%;height:58%;display:block;pointer-events:none;z-index:0}.room-night{position:absolute;inset:0;pointer-events:none;z-index:4999;background:linear-gradient(180deg,#1018408c,#101840e6);mix-blend-mode:multiply;transition:opacity 2s}.fx-twinkle{animation:fx-twinkle 1.6s ease-in-out infinite alternate;animation-delay:var(--d, 0s)}@keyframes fx-twinkle{0%{opacity:.35}to{opacity:1}}.flame{transform-box:fill-box;transform-origin:50% 100%;animation:flicker .5s ease-in-out infinite alternate}@keyframes flicker{0%{transform:scale(1)}to{transform:scale(.85,1.15)}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.speech-wrap{--bub: #ff8fab;--bub-soft: #fff0f4;position:absolute;left:50%;bottom:calc(100% + 10px);z-index:3;width:max-content;max-width:160px;translate:-50% 0;transform-origin:50% 100%;animation:bubble-in .45s cubic-bezier(.2,.9,.3,1.5),bubble-float 3s ease-in-out .45s infinite}.speech-wrap.is-b{--bub: #8fb8ee;--bub-soft: #eef5ff}.speech-bubble{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:3px;width:100%;border:2.5px solid var(--bub);background:linear-gradient(180deg,var(--surface) 55%,var(--bub-soft));color:var(--ink);cursor:pointer;border-radius:20px;padding:6px 12px 7px;font-size:12px;font-weight:700;line-height:1.25;text-align:left;box-shadow:0 7px 16px -8px #5b3f558c,inset 0 -3px #fff9}.speech-bubble:before,.speech-bubble:after{content:"";position:absolute;left:50%;border-radius:50%;background:var(--surface);border:2.5px solid var(--bub)}.speech-bubble:before{width:11px;height:11px;top:calc(100% + 1px);transform:translate(-30%)}.speech-bubble:after{width:6px;height:6px;top:calc(100% + 13px);transform:translate(-10%);border-width:2px}.speech-body{display:flex;align-items:center;gap:5px;min-width:0}.speech-emoji{flex:none;font-size:17px;line-height:1}.speech-text{overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.speech-wrap.is-new .speech-bubble{box-shadow:0 0 0 4px var(--bub-soft),0 8px 18px -6px var(--bub);animation:new-pulse 1.2s ease-in-out .45s infinite}.speech-wrap.is-leaving{animation:none;opacity:0;transform:translateY(-8px) scale(.92);pointer-events:none;transition:opacity .35s ease,transform .35s ease}@keyframes bubble-float{0%,to{margin-bottom:0}50%{margin-bottom:4px}}@keyframes new-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}.action-badge{--act: #ff8fab;position:absolute;left:50%;bottom:calc(100% + 2px);translate:-50% 0;z-index:4;pointer-events:none;display:flex;align-items:center;gap:4px;white-space:nowrap;padding:2px 8px 2px 2px;border-radius:999px;background:var(--surface);border:2px solid var(--act);color:var(--ink);font-size:10px;font-weight:800;box-shadow:0 4px 10px -4px #5b3f5580;animation:badge-in .4s cubic-bezier(.2,.9,.3,1.5)}.action-badge.is-b{--act: #8fb8ee}.speech-wrap.has-badge{bottom:calc(100% + 56px)}.room-char.is-sleep .speech-wrap.has-badge{bottom:calc(92% + 56px)}.room-char.is-sleep .action-badge{bottom:92%}.room-char.edge-r .speech-wrap,.room-char.edge-r .action-badge{left:auto;right:0;translate:none;transform-origin:85% 100%}.room-char.edge-l .speech-wrap,.room-char.edge-l .action-badge{left:0;translate:none;transform-origin:15% 100%}.action-icon{width:22px;height:22px;display:grid;place-items:center;flex:none;border-radius:50%;font-size:13px;line-height:1;background:radial-gradient(circle at 35% 30%,#fff,color-mix(in srgb,var(--act) 35%,var(--surface)));animation:icon-bob 1.4s ease-in-out infinite}.action-dots{display:inline-flex;gap:2px}.action-dots i{width:3px;height:3px;border-radius:50%;background:var(--act);animation:dot-wave 1.2s ease-in-out infinite}.action-dots i:nth-child(2){animation-delay:.15s}.action-dots i:nth-child(3){animation-delay:.3s}@keyframes badge-in{0%{opacity:0;scale:.5}}@keyframes icon-bob{0%,to{transform:translateY(0) rotate(-6deg)}50%{transform:translateY(-2px) rotate(6deg)}}@keyframes dot-wave{0%,60%,to{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}.room-avatar .arm{transform-box:view-box}.room-avatar .arm-R{transform-origin:123px 166px}.room-avatar .arm-L{transform-origin:77px 166px}.room-char-body{transform-origin:50% 100%}.act-cook .arm-R{animation:arm-stir 1.1s ease-in-out infinite}.act-dish .arm-R,.act-dish .arm-L{animation:arm-scrub .7s ease-in-out infinite}.act-dish .arm-L{animation-delay:-.35s}.act-brush .arm-R{animation:arm-brush .28s ease-in-out infinite}.act-makeup .arm-R{animation:arm-dab 1.4s ease-in-out infinite}.act-mirror .arm-R{animation:arm-comb 1.2s ease-in-out infinite}.act-mirror .arm-L{animation:arm-hip 2.4s ease-in-out infinite}.act-shower .arm-R,.act-shower .arm-L{animation:arm-scrub .6s ease-in-out infinite}.act-shower .arm-L{animation-delay:-.3s}.act-paint .arm-R{animation:arm-stroke 1.6s ease-in-out infinite}.act-mic .arm-R{animation:arm-sing 2s ease-in-out infinite}.act-water .arm-R{animation:arm-pour 2.2s ease-in-out infinite}.act-drink .arm-R{animation:arm-sip 3s ease-in-out infinite}.act-type .arm-R,.act-type .arm-L,.act-game .arm-R,.act-game .arm-L{animation:arm-tap .3s ease-in-out infinite}.act-type .arm-L,.act-game .arm-L{animation-delay:-.15s}.act-drum .arm-R{animation:arm-drum .42s ease-in-out infinite}.act-drum .arm-L{animation:arm-drum-l .42s ease-in-out -.21s infinite}.act-cheer .arm-R{animation:arm-wave-r 1s ease-in-out infinite}.act-cheer .arm-L{animation:arm-wave-l 1s ease-in-out infinite}.act-clay .arm-R,.act-clay .arm-L{animation:arm-scrub 1.4s ease-in-out infinite}.act-clay .arm-L{animation-direction:reverse}.act-pet .arm-R,.act-patR .arm-R{animation:arm-pat .6s ease-in-out infinite}.act-patL .arm-L{animation:arm-pat-l .6s ease-in-out infinite}.act-play .arm-R{animation:arm-wave-r .8s ease-in-out infinite}.room-avatar .foam-bubbles circle{animation:foam-pop 1.2s ease-in-out infinite;transform-box:fill-box;transform-origin:center}.room-avatar .foam-bubbles circle:nth-child(2n){animation-delay:-.4s}.room-avatar .foam-bubbles circle:nth-child(3n){animation-delay:-.8s}@keyframes arm-stir{0%,to{transform:rotate(-7deg) translate(0)}50%{transform:rotate(6deg) translate(-2px)}}@keyframes arm-scrub{0%,to{transform:rotate(-6deg)}50%{transform:rotate(7deg)}}@keyframes arm-brush{0%,to{transform:rotate(-4deg)}50%{transform:rotate(4deg)}}@keyframes arm-dab{0%,40%,to{transform:rotate(0)}20%{transform:rotate(-6deg)}60%{transform:rotate(3deg)}}@keyframes arm-comb{0%,to{transform:rotate(-4deg) translateY(0)}50%{transform:rotate(8deg) translateY(3px)}}@keyframes arm-hip{0%,to{transform:rotate(0)}50%{transform:rotate(5deg)}}@keyframes arm-stroke{0%,to{transform:rotate(-10deg)}30%{transform:rotate(6deg)}60%{transform:rotate(-2deg)}}@keyframes arm-sing{0%,to{transform:rotate(0)}50%{transform:rotate(-6deg)}}@keyframes arm-pour{0%,to{transform:rotate(0)}40%,70%{transform:rotate(16deg)}}@keyframes arm-sip{0%,55%,to{transform:rotate(0)}70%,85%{transform:rotate(-22deg)}}@keyframes arm-tap{0%,to{transform:translateY(0)}50%{transform:translateY(-2px)}}@keyframes arm-drum{0%,to{transform:rotate(0)}50%{transform:rotate(-16deg)}}@keyframes arm-drum-l{0%,to{transform:rotate(0)}50%{transform:rotate(16deg)}}@keyframes arm-wave-r{0%,to{transform:rotate(0)}50%{transform:rotate(-14deg)}}@keyframes arm-wave-l{0%,to{transform:rotate(0)}50%{transform:rotate(14deg)}}@keyframes arm-pat{0%,to{transform:rotate(0)}50%{transform:rotate(10deg) translateY(2px)}}@keyframes arm-pat-l{0%,to{transform:rotate(0)}50%{transform:rotate(-10deg) translateY(2px)}}@keyframes foam-pop{0%,to{transform:scale(.7);opacity:.7}50%{transform:scale(1.15);opacity:1}}.room-char.doing-read .room-char-body{animation:body-nod 3.2s ease-in-out infinite}.room-char.doing-cook .room-char-body,.room-char.doing-dish .room-char-body{animation:body-sway 2.2s ease-in-out infinite}.room-char.doing-mirror .room-char-body{animation:body-pose 3.6s ease-in-out infinite}.room-char.doing-makeup .room-char-body{animation:body-nod 2.6s ease-in-out infinite}.room-char.doing-shower .room-char-body,.room-char.doing-bath .room-char-body{animation:body-wiggle 1.6s ease-in-out infinite}.room-char.doing-guitar .room-char-body{animation:body-sway 1.4s ease-in-out infinite}.room-char.doing-mic .room-char-body,.room-char.doing-cheer .room-char-body{animation:body-groove .9s ease-in-out infinite}.room-char.doing-drum .room-char-body{animation:body-bop .42s ease-in-out infinite}.room-char.doing-pedal .room-char-body{animation:body-pedal .5s ease-in-out infinite}.room-char.doing-yoga .room-char-body{animation:body-stretch 4s ease-in-out infinite}.room-char.doing-game .room-char-body{animation:body-lean 2.4s ease-in-out infinite}.room-char.doing-eat .room-char-body,.room-char.doing-drink .room-char-body{animation:body-nod 3s ease-in-out infinite}.room-char.doing-paint .room-char-body,.room-char.doing-water .room-char-body,.room-char.doing-flowers .room-char-body{animation:body-sway 3s ease-in-out infinite}.room-char.doing-pet .room-char-body,.room-char.doing-play .room-char-body{animation:body-bop .8s ease-in-out infinite}.room-char.doing-type .room-char-body{animation:body-nod 4s ease-in-out infinite}.room-char.doing-clay .room-char-body{animation:body-nod 2.4s ease-in-out infinite}.placed-item .fx-rain{animation:rain-fall .5s linear infinite}.placed-item .flame{transform-box:fill-box;transform-origin:50% 100%;animation:flicker 1s ease-in-out infinite}.placed-item .spin-dash{animation:dash-spin .6s linear infinite}@keyframes rain-fall{0%{transform:translateY(-3px);opacity:.6}to{transform:translateY(4px);opacity:1}}@keyframes flicker{0%,to{transform:scale(1)}50%{transform:scale(.85,1.15)}}@keyframes dash-spin{to{stroke-dashoffset:-10}}@keyframes body-nod{0%,to{transform:rotate(0)}50%{transform:rotate(-2deg) translateY(1%)}}@keyframes body-sway{0%,to{transform:rotate(-2.5deg)}50%{transform:rotate(2.5deg)}}@keyframes body-pose{0%,to{transform:rotate(0) scale(1)}25%{transform:rotate(-3deg)}50%{transform:rotate(0) scale(1.03,.98)}75%{transform:rotate(3deg)}}@keyframes body-wiggle{0%,to{transform:rotate(-2deg) translate(0)}50%{transform:rotate(2deg) translate(1%)}}@keyframes body-groove{0%,to{transform:rotate(-4deg) translateY(0)}50%{transform:rotate(4deg) translateY(-3%)}}@keyframes body-bop{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-2%) scale(1.02,.98)}}@keyframes body-pedal{0%,to{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-2.5%) rotate(1deg)}}@keyframes body-stretch{0%,to{transform:scale(1)}45%,60%{transform:scale(.98,1.05) translateY(-2%)}}@keyframes body-lean{0%,to{transform:rotate(0)}30%{transform:rotate(-5deg)}70%{transform:rotate(5deg)}}@media (prefers-reduced-motion: reduce){.room-avatar .arm,.room-char-body,.speech-wrap,.speech-bubble,.action-icon,.action-dots i,.room-avatar .foam-bubbles circle{animation:none!important}}.room-pet-flip{display:block}.room-pet.pet-doing-sleep .room-pet-inner{animation:pet-breathe 3s ease-in-out infinite;transform-origin:50% 100%}.room-pet.pet-doing-scratch .room-pet-inner{animation:play-wiggle .9s ease-in-out infinite;transform-origin:50% 100%}.room-pet.pet-doing-eat .room-pet-inner,.room-pet.pet-doing-drink .room-pet-inner{animation:pet-munch .45s ease-in-out infinite;transform-origin:50% 100%}.room-pet.pet-doing-fetch .room-pet-inner,.room-pet.pet-doing-zoomies .room-pet-inner{animation:play-zoomies 1.3s ease-in-out infinite}.room-pet.pet-doing-jump .room-pet-inner{animation:play-jump 1.1s cubic-bezier(.3,.7,.4,1) infinite;transform-origin:50% 100%}.room-pet.pet-doing-wash .room-pet-inner{animation:pet-wash .9s ease-in-out infinite;transform-origin:50% 100%}.room-pet.pet-doing-climb .room-pet-inner{animation:pet-hop .6s ease-in-out infinite}.room-pet.pet-doing-sleep .room-pet-emote{animation:zzz 2.4s ease-in-out infinite}.room-pet-emote{position:absolute;left:78%;bottom:80%;font-size:14px;line-height:1;pointer-events:none;background:var(--surface);border-radius:999px;padding:3px 5px;box-shadow:0 3px 8px -3px #5b3f5573;animation:icon-bob 1.4s ease-in-out infinite}@keyframes pet-breathe{0%,to{transform:scale(1)}50%{transform:scale(1.04,.95)}}@keyframes zzz{0%{opacity:0;transform:translateY(4px) scale(.8)}30%{opacity:1}to{opacity:0;transform:translate(6px,-8px) scale(1.1)}}@media (prefers-reduced-motion: reduce){.room-pet-inner,.room-pet-emote,.placed-item .fx-rain,.placed-item .flame{animation:none!important}}.sheet-head-extra{margin-top:10px}.decor-sticky{display:grid;gap:8px}.decor-sticky .input{padding-top:8px;padding-bottom:8px}.avatar-float-anchor{position:sticky;top:0;height:0;z-index:20;margin:0!important}.avatar-float{position:absolute;left:-16px;right:-16px;top:-12px;height:92px;display:flex;justify-content:center;align-items:center;padding:4px 0 6px;border:0;border-bottom:2.5px solid var(--blush);border-radius:0 0 26px 26px;pointer-events:none;cursor:pointer;background:linear-gradient(180deg,color-mix(in srgb,var(--surface) 97%,transparent),color-mix(in srgb,var(--mist) 92%,var(--surface)));box-shadow:0 10px 18px -12px #5b3f5599;opacity:0;transform:translateY(-14px);transition:opacity .2s ease,transform .25s cubic-bezier(.2,.9,.3,1.2),height .25s cubic-bezier(.2,.9,.3,1.2)}.avatar-float>svg{height:100%;width:auto;max-width:100%}.avatar-float.is-on{opacity:1;transform:none;pointer-events:auto}.avatar-float.is-big{height:min(46vh,300px)}.avatar-float-zoom{position:absolute;right:18px;bottom:10px;width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:var(--rose);color:#fff;box-shadow:0 2px 0 var(--btn-edge)}.room-icon-badge{width:26px;height:26px;flex:none;display:inline-grid;place-items:center;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff,var(--mist));box-shadow:inset 0 0 0 1.5px var(--blush),0 2px 4px -2px #5b3f5559;transition:transform .2s cubic-bezier(.2,.9,.3,1.5)}.room-icon{width:20px;height:20px;display:block}.room-chip.is-on .room-icon-badge{background:var(--surface);transform:rotate(-8deg) scale(1.1);box-shadow:inset 0 0 0 1.5px #fff,0 3px 6px -2px #5b3f5573}.app-main.is-fixed{overflow:hidden}.app-main.is-fixed>.screen-enter{height:100%}.house-tab{height:100%;display:flex;flex-direction:column;gap:4px;padding:8px 8px 6px}.house-tab>*{flex:none}.partner-away{margin:0 4px;padding:6px 12px;border-radius:14px;background:color-mix(in srgb,var(--blush) 70%,var(--surface));color:var(--ink);font-size:12px;font-weight:700;line-height:1.3;text-align:center;box-shadow:inset 0 0 0 1.5px var(--blush);animation:toast-in .3s ease-out}.house-tab>.room-stage{flex:1 1 auto;min-height:0;container-type:size;display:flex;justify-content:center;align-items:center;padding:0}.room-stage .room-frame{position:relative;width:min(100cqw,calc(var(--room-aspect, .75) * 100cqh))}.room-stage .room-canvas{width:100%;max-height:none;margin:0;aspect-ratio:var(--room-aspect, .75)}.house-bar{display:flex;align-items:center;gap:8px}.house-bar>.hscroll{flex:1 1 auto;min-width:0}.house-bar .hscroll-track{padding:2px 2px 6px}.room-dock{position:absolute;top:7px;left:50%;translate:-50% 0;z-index:30;display:flex;align-items:center;gap:6px;max-width:calc(100% - 16px);padding:3px;border-radius:999px;background:color-mix(in srgb,var(--surface) 96%,transparent);backdrop-filter:blur(6px);box-shadow:0 0 0 1.5px var(--blush),0 8px 18px -8px #5b3f558c}.room-dock-modes{display:flex;gap:2px;padding:2px;border-radius:999px;background:color-mix(in srgb,var(--blush) 35%,var(--surface))}.room-dock-modes button{display:inline-flex;align-items:center;gap:5px;border:0;border-radius:999px;padding:6px 12px;background:none;cursor:pointer;white-space:nowrap;font-family:var(--font-display);font-weight:600;font-size:13.5px;color:var(--ink-soft);transition:background .15s,color .15s}.room-dock-modes button.is-on{background:var(--surface);color:var(--rose-deep);box-shadow:0 2px 6px -2px #8c507880}.room-dock{align-items:stretch}.room-dock:empty{display:none}.room-dock-add,.room-dock-visit{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:0;border-radius:999px;padding:0 16px 0 14px;min-width:128px;cursor:pointer;white-space:nowrap;font-family:var(--font-display);font-weight:600;font-size:13.5px;transition:transform .1s,box-shadow .1s}.room-dock-add{color:#fff;background:linear-gradient(180deg,var(--btn-1),var(--btn-2));box-shadow:0 2px 0 var(--btn-edge);text-shadow:0 1px 0 rgba(0,0,0,.15)}.room-dock-visit{color:var(--rose-deep);background:color-mix(in srgb,var(--blush) 55%,var(--surface));box-shadow:0 2px 0 var(--blush)}.room-dock-add:active,.room-dock-visit:active{transform:translateY(1px);box-shadow:none}.room-dock-add svg,.room-dock-visit svg{flex:none}.room-dock-hint{position:absolute;top:56px;left:50%;translate:-50% 0;z-index:29;margin:0;width:max-content;max-width:calc(100% - 32px);pointer-events:none;padding:5px 12px;border-radius:999px;background:#5b3f55d1;color:#fff;font-size:11.5px;font-weight:700;line-height:1.3;text-align:center;animation:toast-in .3s ease-out}.account-box{padding:14px;border-radius:18px;background:var(--mist);box-shadow:inset 0 0 0 2px var(--blush)}.account-box.is-saved{background:#f2fbf6;box-shadow:inset 0 0 0 2px #cdeee0}.account-box .btn-game svg{flex:none}.or-divider{display:flex;align-items:center;gap:10px;color:var(--ink-soft);font-size:12px;font-weight:800}.or-divider:before,.or-divider:after{content:"";flex:1;height:1.5px;background:var(--blush)}.plus-lock{position:absolute;top:5px;left:5px;z-index:1;padding:1px 6px;border-radius:999px;pointer-events:none;font-size:9.5px;font-weight:800;color:#8a6514;background:linear-gradient(135deg,#fff6c9,#ffe08a);box-shadow:0 0 0 1.5px #fff,0 2px 4px -1px #8a651466}.pet-thumb .plus-lock{position:static;align-self:center;margin-top:1px;padding:1px 7px;white-space:nowrap;line-height:1.3}.catalog-card.is-locked .catalog-preview,.surface-card.is-locked .surface-preview,.thumb-card.is-locked>:is(svg,.frame-thumb){opacity:.55;filter:saturate(.6)}.theme-card.is-locked .theme-swatch{opacity:.6}.mini-lock{position:absolute;right:-4px;bottom:-4px;font-size:11px}.theme-swatch{position:relative}.plus-reason{margin:0;padding:10px 12px;border-radius:14px;background:#fff7dc;color:#8a6514;font-size:13px;font-weight:700}.plus-hero{position:relative;display:grid;gap:6px;padding:18px 16px 16px;border-radius:24px;text-align:center;background:radial-gradient(circle at 20% 15%,rgba(255,255,255,.9) 2px,transparent 3px) 0 0 / 26px 26px,linear-gradient(135deg,#fff6c9,#ffe1ea 55%,#e6dcff);box-shadow:inset 0 0 0 2px #fff,0 10px 22px -14px #8c507899}.plus-hero-badge{justify-self:center;padding:2px 12px;border-radius:999px;font-weight:800;font-size:12px;color:#8a6514;background:var(--surface);box-shadow:0 2px #f3d97a}.plus-price{margin:0;font-family:var(--font-display);font-size:28px;font-weight:600;color:var(--ink)}.plus-price span{font-family:var(--font-body);font-size:12px;font-weight:700;color:var(--ink-soft)}.plus-perks{list-style:none;margin:0;padding:0;display:grid;gap:8px}.plus-perks li{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:700;color:var(--ink)}.plus-perks li span{width:32px;height:32px;flex:none;display:grid;place-items:center;border-radius:50%;background:var(--mist);font-size:16px}.plus-teaser{position:relative;width:100%;display:grid;gap:4px;justify-items:center;text-align:center;padding:26px 16px 18px;border:0;cursor:pointer;border-radius:24px;background:linear-gradient(135deg,#fff6c9,#ffe1ea);box-shadow:inset 0 0 0 2px #fff,0 8px 18px -12px #8c507899}.plus-teaser .plus-lock{position:static}.permission-hero{font-size:46px;text-align:center;line-height:1.2;padding:10px 0 2px}.memory-gallery{position:relative}.memory-gallery-thumbs{position:absolute;left:8px;bottom:8px;display:flex;gap:6px}.memory-gallery-thumbs button{width:36px;height:36px;padding:0;border:2px solid rgba(255,255,255,.8);border-radius:10px;overflow:hidden;opacity:.85;background:none;cursor:pointer}.memory-gallery-thumbs button.is-on{opacity:1;border-color:#fff;box-shadow:0 0 0 2px var(--rose-deep)}.memory-gallery-thumbs img{width:100%;height:100%;object-fit:cover;display:block}.moment-reviews{display:grid;gap:6px;padding-top:4px}.moment-review{display:block;padding:7px 9px;border-radius:12px;background:color-mix(in srgb,var(--rose) 14%,white)}.moment-review-head{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:800;color:var(--ink)}.moment-review-note{display:block;margin-top:3px;font-size:13px;line-height:1.45;color:var(--ink-soft);white-space:pre-line}:root[data-theme=notte]{color-scheme:dark;--cream: #1c1624;--paper: #2b2235;--surface: #2b2235;--line: #433352;--ink: #f3e8f1;--ink-soft: #bfa9bd;--ink-faint: #7d6a7d;--rose: #ff8fab;--rose-deep: #ff86a3;--blush: #4b3248;--mist: #33263a;--btn-1: #d8738f;--btn-2: #b9506f;--btn-edge: #8c3550;--head-1: #3a2842;--head-2: #2c2036;--bg-1: #1a141f;--bg-2: #261b30}:root[data-theme=notte] body{background:radial-gradient(circle at 12px 12px,rgba(255,255,255,.09) 2px,transparent 2.5px) 0 0 / 26px 26px,linear-gradient(160deg,var(--bg-1),var(--bg-2))}:root[data-theme=notte] .badge.is-gold,:root[data-theme=notte] .notice,:root[data-theme=notte] .when-line,:root[data-theme=notte] .badge.is-when,:root[data-theme=notte] .cal-day.has-anniv,:root[data-theme=notte] .planned-row.is-anniv .planned-row-emoji,:root[data-theme=notte] .start-toggle,:root[data-theme=notte] .quiz-status.is-waiting,:root[data-theme=notte] .pairing-status,:root[data-theme=notte] .celebration-strip,:root[data-theme=notte] .quiz-free-note,:root[data-theme=notte] .plus-reason{background:#f2c86729;color:#f2c867;border-color:#f2c86773}:root[data-theme=notte] .waiting,:root[data-theme=notte] .cal-group.is-anniv,:root[data-theme=notte] [class~="text-[#a8761f]"]{color:#f2c867}:root[data-theme=notte] .badge.is-planned,:root[data-theme=notte] .cal-day.has-plan,:root[data-theme=notte] .planned-row-emoji,:root[data-theme=notte] .wyr-option.is-theirs,:root[data-theme=notte] .bubble.is-theirs,:root[data-theme=notte] .chat-bubble,:root[data-theme=notte] .review-card.is-partner,:root[data-theme=notte] .partner-ready,:root[data-theme=notte] .quiz-status.is-open{background:#7da0ff2b;color:#9dbcff}:root[data-theme=notte] .cal-day.has-plan{box-shadow:inset 0 0 0 2px #7da0ff66}:root[data-theme=notte] .cal-group.is-planned,:root[data-theme=notte] .cal-plan,:root[data-theme=notte] [class~="text-[#3d63a8]"]{color:#9dbcff}:root[data-theme=notte] .chat-bubble.is-mine{background:color-mix(in srgb,var(--rose) 28%,var(--surface))}:root[data-theme=notte] .catalog-price,:root[data-theme=notte] .mood-chip.is-normale,:root[data-theme=notte] .idea-check:hover,:root[data-theme=notte] .badge.is-done,:root[data-theme=notte] .done-box.is-done,:root[data-theme=notte] .pairing-status.is-joined,:root[data-theme=notte] .pairing-box.is-joined,:root[data-theme=notte] .account-box.is-saved,:root[data-theme=notte] .timeline-date.is-idea{background:#5fd6aa29;color:#7fe0bb}:root[data-theme=notte] .todo-hint,:root[data-theme=notte] .badge.is-todo,:root[data-theme=notte] .done-box,:root[data-theme=notte] .mood-chip.is-triste{background:#aa8cf033;color:#c9b9f5}:root[data-theme=notte] .done-box.is-done{background:#5fd6aa29}:root[data-theme=notte] .stat-pill.is-low,:root[data-theme=notte] .tool-btn.is-danger{background:#ff788c2e;color:#ff8da1}:root[data-theme=notte] .form-error{color:#ff8da1}:root[data-theme=notte] .stat-pill,:root[data-theme=notte] .notify-group,:root[data-theme=notte] .cal-day,:root[data-theme=notte] .chat-reply-btn:hover{background:color-mix(in srgb,var(--blush) 55%,var(--surface))}:root[data-theme=notte] .cal-day.has-mem,:root[data-theme=notte] .cal-day.has-mem.has-plan{background:color-mix(in srgb,var(--rose) 28%,var(--surface));color:#ffd3df}:root[data-theme=notte] .idea-card.is-done{background:linear-gradient(90deg,rgba(95,214,170,.16),var(--surface))}:root[data-theme=notte] .toggle{background:#4a3a52}:root[data-theme=notte] .toggle-knob,:root[data-theme=notte] .stat-fill:after,:root[data-theme=notte] .month-pill.is-on .month-dot,:root[data-theme=notte] .room-chip.is-on .room-icon-badge{background:#fff}:root[data-theme=notte] .plus-lock,:root[data-theme=notte] .plus-hero-badge{color:#7a5316;background:linear-gradient(135deg,#fff6c9,#ffe08a)}:root[data-theme=notte] .sheet,:root[data-theme=notte] .onboarding-card{box-shadow:0 -20px 50px -20px #000000b3}:root[data-theme=notte] .memory-contrib,:root[data-theme=notte] .moment-review{background:color-mix(in srgb,var(--rose) 14%,var(--surface))}:root[data-theme=notte] .photo-view img{background:var(--surface)}:root[data-theme=notte] .btn-game.is-white{box-shadow:0 4px 0 var(--line),0 10px 18px -10px #0009}:root[data-theme=notte] .memories-hero,:root[data-theme=notte] .quiz-hero{background:linear-gradient(135deg,#4a3f2c,#4b3248 60%,#3a3157);box-shadow:0 6px 18px -10px #0009}:root[data-theme=notte] .plus-hero{background:linear-gradient(135deg,#4a3f2c,#4b3248 55%,#3a3157)}:root[data-theme=notte] .pairing-box.is-joined,:root[data-theme=notte] .account-box.is-saved{box-shadow:inset 0 0 0 2px #5fd6aa66}:root[data-theme=notte] .badge{background:color-mix(in srgb,var(--rose) 22%,var(--surface));color:var(--ink)}:root[data-theme=notte] .pet-preview,:root[data-theme=notte] .pet-scene{--ink: #5b3f55;--ink-soft: #8d7189;--surface: #ffffff;--line: #f3e1ea;--blush: #ffd3df;--mist: #fff0f4}.pet-picker{display:flex;gap:8px;overflow-x:auto;padding:2px 2px 6px}.pet-picker button{flex:none;display:flex;align-items:center;gap:6px;padding:4px 12px 4px 6px;border:2px solid transparent;border-radius:999px;background:var(--surface);color:var(--ink);font-weight:800;font-size:13px;cursor:pointer;box-shadow:0 2px 0 var(--blush)}.pet-picker button.is-on{border-color:var(--rose);background:color-mix(in srgb,var(--blush) 55%,var(--surface))}:root[data-theme=notte] .tab-chip.is-on,:root[data-theme=notte] .room-chip.is-on{background:var(--rose-deep);color:#fff;box-shadow:0 3px 0 var(--btn-edge)}:root[data-theme=notte] .toast,:root[data-theme=notte] .timeline-year span,:root[data-theme=notte] .month-pill.is-on,:root[data-theme=notte] .me-marker{background:#6a5170;color:#fff}:root[data-theme=notte] .stage{background:linear-gradient(180deg,#3b2a46,#2b2140);box-shadow:inset 0 -10px #ffffff0a,0 6px 20px -10px #0009}:root[data-theme=notte] .stage-spot{opacity:.18}.code-tiles.is-small{gap:4px}.code-tiles.is-small .code-tile{width:30px;height:40px;font-size:20px;border-radius:10px}.visit-recent{display:flex;align-items:center;gap:6px}.visit-recent-go{flex:1;min-width:0;display:flex;align-items:center;gap:8px;padding:8px 12px;border:0;border-radius:14px;background:color-mix(in srgb,var(--blush) 40%,var(--surface));color:var(--ink);font-weight:800;font-size:14px;cursor:pointer}.visit-banner{margin:0 4px 6px;padding:6px 8px 6px 12px;border-radius:16px;background:color-mix(in srgb,var(--blush) 70%,var(--surface));color:var(--ink);display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:13px;font-weight:800}.guestbook-row{display:flex;align-items:center;gap:10px;padding:6px 10px;border-radius:14px;background:color-mix(in srgb,var(--blush) 40%,var(--surface));font-size:14px;color:var(--ink)}.guestbook-head{flex:none;width:34px;height:34px;border-radius:50%;background:var(--surface);display:grid;place-items:center;font-size:20px}.stats-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.stat-card{display:grid;justify-items:start;gap:2px;padding:12px;border-radius:18px;background:color-mix(in srgb,var(--blush) 40%,var(--surface));min-width:0}.stat-emoji{font-size:22px;line-height:1}.stat-value{font-family:var(--font-display, inherit);font-size:26px;font-weight:700;line-height:1.1;color:var(--ink);font-variant-numeric:tabular-nums}.stat-label{font-size:12px;font-weight:700;color:var(--ink-soft);line-height:1.25}.trophy-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}.trophy{display:flex;gap:12px;align-items:flex-start;padding:12px;border-radius:18px;background:var(--mist);opacity:.85}.trophy.is-on{opacity:1;background:linear-gradient(135deg,color-mix(in srgb,#ffe28a 45%,var(--surface)),color-mix(in srgb,var(--blush) 55%,var(--surface)));box-shadow:0 0 0 2px color-mix(in srgb,#ffc94d 70%,transparent)}.trophy-emoji{flex:none;display:grid;place-items:center;width:44px;height:44px;border-radius:14px;background:var(--surface);font-size:24px}.trophy-title{display:block;font-size:15px;color:var(--ink)}.trophy-desc{margin:1px 0 4px;font-size:12px;color:var(--ink-soft)}.trophy-bar{height:8px;border-radius:999px;background:var(--line);overflow:hidden}.trophy-bar span{display:block;height:100%;border-radius:999px;background:var(--rose)}.trophy-reward{margin:4px 0 0;font-size:11px;font-weight:800;color:var(--ink-soft)}.trophy-reward.is-on{color:var(--rose-deep)}.visit-banner.is-knock{flex-wrap:wrap;justify-content:flex-end;background:color-mix(in srgb,#ffe08a 45%,var(--surface))}.visit-banner.is-knock>:first-child{flex:1 1 140px}.guest-tag{position:absolute;left:50%;bottom:-12px;transform:translate(-50%);max-width:92px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:9px;font-weight:800;color:#fff;background:#8a6a96;border-radius:999px;padding:0 6px;line-height:14px;pointer-events:none}.speech-wrap.is-g,.speech-wrap.is-v{--bub: #9bd3a8;--bub-soft: #eefaf0}.room-frame>.visit-chat{position:absolute;left:10px;right:10px;top:10px;z-index:30;display:flex;flex-direction:column-reverse;gap:6px;pointer-events:none}.visit-history{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.visit-history-line{align-self:flex-start;max-width:85%;display:flex;flex-direction:column;gap:2px}.visit-history-line.is-mine{align-self:flex-end;align-items:flex-end}.visit-history-name{font-size:11px;font-weight:700;color:var(--ink-soft)}.visit-history-text{padding:8px 12px;border-radius:16px 16px 16px 4px;background:color-mix(in srgb,var(--blush) 45%,var(--surface));color:var(--ink);font-size:14px;overflow-wrap:anywhere}.visit-history-line.is-mine .visit-history-text{border-radius:16px 16px 4px;background:var(--rose-deep);color:#fff}.room-dock:not(:empty)~.visit-chat{top:62px}.room-frame>.visit-chat.is-closed{left:auto;right:10px;width:auto}.visit-chat-fab{pointer-events:auto;position:relative;display:inline-flex;align-items:center;gap:6px;height:40px;padding:0 14px 0 12px;border:0;border-radius:999px;font-size:13px;font-weight:800;line-height:1;cursor:pointer;color:#fff;--chat-dot: var(--rose-deep);background:var(--rose-deep);box-shadow:0 3px #0000001f,0 8px 16px -8px #5b3f5599;animation:chat-fab-nudge 3.2s ease-in-out 1s infinite}@keyframes chat-fab-nudge{0%,88%,to{transform:translateY(0)}92%{transform:translateY(-4px)}96%{transform:translateY(0)}}.visit-chat-badge{position:absolute;top:-6px;right:-4px;min-width:18px;height:18px;padding:0 4px;border-radius:999px;background:#ffd23f;color:#5b3f55;font-size:11px;font-weight:800;line-height:18px;text-align:center}.visit-chat-log{list-style:none;margin:0;padding:6px 12px;max-height:5.6em;overflow-y:hidden;border-radius:14px;background:color-mix(in srgb,var(--surface) 82%,transparent);color:var(--ink);font-size:12px;line-height:1.4;box-shadow:0 4px 14px -8px #5b3f5580}.visit-chat-form{pointer-events:auto;padding:5px;border-radius:999px;background:color-mix(in srgb,var(--surface) 88%,transparent);box-shadow:0 6px 16px -8px #5b3f558c}.visit-chat-log li{overflow-wrap:anywhere}.visit-chat-log li b{font-weight:800}.visit-chat-log li.is-mine b{color:var(--rose-deep)}.visit-chat-form{display:flex;align-items:center;gap:6px}.visit-chat-form .input{border-radius:999px}.visit-chat-form .input{flex:1;min-width:0;padding:8px 12px;font-size:14px}:root[data-theme=notte] .toggle.is-on{background:var(--rose-deep)}:root[data-theme=notte] .room-canvas{--surface: #ffffff;--line: #f3e1ea;--blush: #ffd3df;--mist: #fff0f4;--ink: #5b3f55;--ink-soft: #8d7189;--ink-faint: #d9c6d2}:root[data-theme=notte] .month-pill{background:color-mix(in srgb,var(--blush) 40%,var(--surface))}:root[data-theme=notte] .wyr-option.is-mine.is-theirs{background:linear-gradient(90deg,var(--mist),rgba(125,160,255,.17))}:root[data-theme=notte] .gesture-preview{--ink: #5b3f55;--ink-soft: #8d7189}:root[data-theme=notte] .chat-replying{background:#ff8fab29}:root[data-theme=notte] .plus-teaser{background:linear-gradient(135deg,#4a3f2c,#4b3248);box-shadow:inset 0 0 0 2px #ffffff14,0 8px 18px -12px #000000b3}:root[data-theme=notte] .onboarding-hero{--ink: #5b3f55;--ink-soft: #8d7189;--surface: #ffffff;--blush: #ffd3df;--mist: #fff0f4}

*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*! tailwindcss v3.4.16 | MIT License | https://tailwindcss.com*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.visible{visibility:visible}.static{position:static}.absolute{position:absolute}.relative{position:relative}.right-1{right:.25rem}.top-1{top:.25rem}.z-10{z-index:10}.m-2{margin:.5rem}.mb-0\.5{margin-bottom:.125rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.block{display:block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.aspect-square{aspect-ratio:1/1}.\!h-7{height:1.75rem!important}.\!h-8{height:2rem!important}.\!h-9{height:2.25rem!important}.h-12{height:3rem}.h-2{height:.5rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-32{height:8rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-\[21px\]{height:21px}.h-\[22px\]{height:22px}.h-auto{height:auto}.h-full{height:100%}.min-h-\[110px\]{min-height:110px}.min-h-\[70px\]{min-height:70px}.min-h-\[84px\]{min-height:84px}.min-h-\[96px\]{min-height:96px}.\!w-7{width:1.75rem!important}.\!w-8{width:2rem!important}.\!w-9{width:2.25rem!important}.w-12{width:3rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-4{width:1rem}.w-44{width:11rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-8{width:2rem}.w-9{width:2.25rem}.w-\[21px\]{width:21px}.w-\[22px\]{width:22px}.w-full{width:100%}.min-w-0{min-width:0}.max-w-\[170px\]{max-width:170px}.flex-1{flex:1 1 0%}.flex-\[2\]{flex:2}.flex-none{flex:none}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.cursor-pointer{cursor:pointer}.resize-y{resize:vertical}.resize{resize:both}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-center{align-items:center}.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-2\.5{gap:.625rem}.gap-3{gap:.75rem}.-space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-.5rem*var(--tw-space-x-reverse));margin-left:calc(-.5rem*(1 - var(--tw-space-x-reverse)))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem*var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.375rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem*var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem*var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem*var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.25rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.25rem*var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem*var(--tw-space-y-reverse))}.overflow-hidden,.truncate{overflow:hidden}.truncate{text-overflow:ellipsis}.truncate,.whitespace-nowrap{white-space:nowrap}.whitespace-pre-line{white-space:pre-line}.rounded-2xl{border-radius:1rem}.rounded-full{border-radius:9999px}.border-0{border-width:0}.bg-rose-mist{background-color:var(--mist)}.bg-transparent{background-color:transparent}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-white\/90{background-color:hsla(0,0%,100%,.9)}.object-cover{-o-object-fit:cover;object-fit:cover}.\!p-1\.5{padding:.375rem!important}.p-0{padding:0}.p-3\.5{padding:.875rem}.p-4{padding:1rem}.\!px-3{padding-left:.75rem!important;padding-right:.75rem!important}.\!px-4{padding-left:1rem!important;padding-right:1rem!important}.\!py-1\.5{padding-top:.375rem!important;padding-bottom:.375rem!important}.\!py-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.\!py-2\.5{padding-top:.625rem!important;padding-bottom:.625rem!important}.px-2{padding-left:.5rem;padding-right:.5rem}.px-4{padding-left:1rem;padding-right:1rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.pb-1{padding-bottom:.25rem}.pb-2{padding-bottom:.5rem}.pb-2\.5{padding-bottom:.625rem}.pb-8{padding-bottom:2rem}.pt-1{padding-top:.25rem}.pt-3{padding-top:.75rem}.text-left{text-align:left}.text-center{text-align:center}.font-display{font-family:Fredoka,ui-rounded,system-ui,sans-serif}.\!text-\[11px\]{font-size:11px!important}.\!text-sm{font-size:.875rem!important;line-height:1.25rem!important}.\!text-xs{font-size:.75rem!important;line-height:1rem!important}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[16px\]{font-size:16px}.text-\[17px\]{font-size:17px}.text-\[26px\]{font-size:26px}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.\!font-semibold{font-weight:600!important}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.capitalize{text-transform:capitalize}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.leading-snug{line-height:1.375}.leading-tight{line-height:1.25}.tracking-\[\.12em\]{letter-spacing:.12em}.tracking-wider{letter-spacing:.05em}.text-\[\#3d63a8\]{--tw-text-opacity:1;color:rgb(61 99 168/var(--tw-text-opacity,1))}.text-\[\#a8761f\]{--tw-text-opacity:1;color:rgb(168 118 31/var(--tw-text-opacity,1))}.text-ink{color:var(--ink)}.text-ink-faint{color:var(--ink-faint)}.text-ink-soft{color:var(--ink-soft)}.text-rose-deep{color:var(--rose-deep)}.opacity-70{opacity:.7}.opacity-95{opacity:.95}.shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.outline{outline-style:solid}.blur{--tw-blur:blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.\!filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)!important}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}