@font-face{font-family:"Baloo 2";src:url(/fonts/baloo2.woff2)format("woff2");font-weight:400 800;font-display:swap}@font-face{font-family:Nunito;src:url(/fonts/nunito.woff2)format("woff2");font-weight:400 800;font-display:swap}:root{--round:"Baloo 2", "Nunito", system-ui, sans-serif;--body:"Nunito", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--ease-out:cubic-bezier(.22, 1, .36, 1);--ease-in:cubic-bezier(.55, 0, 1, .45);--dur-enter:.38s;--dur-exit:.24s;--dur-step:.28s}:root,:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#fff6ee;--card:#fff;--card-glass:#ffffffb3;--ink:#3d2c4e;--muted:#6e5f7c;--faint:#b9adc4;--line:#eadff0;--line-soft:#f0e2ea;--card-shadow:#efe3ec;--surface-2:#f4effa;--dots:#ffdbe5;--dashes:#ffc9d7;--pink:#cf3567;--pink-deep:#a8244f;--pink-soft:#ffe3eb;--pink-text:#cf3567;--pink-text-strong:#a8244f;--purple:#7c5cf0;--purple-soft:#eee8ff;--green-soft:#dcf5ea;--danger:#b23a48;--on-danger:#fff;--warn:#a84a00;--note-bg:#fff3cf;--switch-off:#8a7a96;--overlay:#3d2c4e66;--toast-bg:#3d2c4e;--toast-ink:#fff;--chip-on-bg:#3d2c4e;--chip-on-ink:#fff;--chip-on-heart:#ffb3c8;--hero-sleepy:linear-gradient(165deg, #f1eafb, #fdf5ff);--hero-happy:linear-gradient(165deg, #ffe1ea, #fff3cc);--hero-singing:linear-gradient(165deg, #dfedff, #eee6ff);--sheet-bg:linear-gradient(180deg, #fff6ee, #ffe6ee);--tone-soft-pink:#ffe3eb;--tone-soft-orange:#ffead2;--tone-soft-mint:#dcf5ea;--tone-soft-sky:#e1eeff;--tone-soft-lilac:#eee8ff;--tone-soft-peach:#ffe7dc;--tile-outline:0%;--wave-alpha:35%;--ring:#ff7fa2;--ring-1:.22;--ring-2:.12;--soft-btn:#fff;--soft-btn-edge:transparent}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#11131b;--card:#1f2232;--card-glass:#ffffff14;--ink:#f4f2fa;--muted:#aeadc2;--faint:#6b6e86;--line:#2f3345;--line-soft:#2a2d3e;--card-shadow:#0a0b10;--surface-2:#2a2e40;--dots:#1c1f2b;--dashes:#3a3e55;--pink-deep:#8e1d42;--pink-soft:#3b2232;--pink-text:#ff8db0;--pink-text-strong:#ff8db0;--purple:#b9a2ff;--purple-soft:#2c2a48;--green-soft:#183328;--danger:#ff8a95;--on-danger:#3a1018;--warn:#ffb066;--note-bg:#2e2a1c;--switch-off:#6f7189;--overlay:#040509a6;--toast-bg:#f4f2fa;--toast-ink:#11131b;--chip-on-bg:#f4f2fa;--chip-on-ink:#11131b;--chip-on-heart:#cf3567;--hero-sleepy:radial-gradient(120% 70% at 50% 0%, #b9a2ff29, transparent 70%), #1f2232;--hero-happy:radial-gradient(120% 70% at 50% 0%, #ff8db033, transparent 70%), #1f2232;--hero-singing:radial-gradient(120% 70% at 50% 0%, #6fa0ff33, transparent 70%), #1f2232;--sheet-bg:radial-gradient(90% 50% at 50% 0%, #ff8db01f, transparent 70%), #11131b;--tone-soft-pink:#1f2232;--tone-soft-orange:#1f2232;--tone-soft-mint:#1f2232;--tone-soft-sky:#1f2232;--tone-soft-lilac:#1f2232;--tone-soft-peach:#1f2232;--tile-outline:32%;--wave-alpha:55%;--ring:#ff8db0;--ring-1:.14;--ring-2:.07;--soft-btn:#3b4260;--soft-btn-edge:#ffffff14}:root[data-theme=dark] .tile{box-shadow:0 5px 0 var(--card-shadow)}.tone-pink{--tone:#d94a77;--tone-soft:var(--tone-soft-pink)}.tone-orange{--tone:#e06d0b;--tone-soft:var(--tone-soft-orange)}.tone-mint{--tone:#178a62;--tone-soft:var(--tone-soft-mint)}.tone-sky{--tone:#2a72d6;--tone-soft:var(--tone-soft-sky)}.tone-lilac{--tone:#8a63f5;--tone-soft:var(--tone-soft-lilac)}.tone-peach{--tone:#d35830;--tone-soft:var(--tone-soft-peach)}*{box-sizing:border-box}[hidden]{display:none!important}html{background:var(--bg);-webkit-text-size-adjust:100%;scroll-padding-bottom:150px;font-size:19px}body{transition:background-color var(--dur-step) var(--ease-out), color var(--dur-step) var(--ease-out);color:var(--ink);font-family:var(--body);background:radial-gradient(circle, var(--dots) 1.6px, transparent 1.8px) 0 0 / 24px 24px, var(--bg);margin:0;line-height:1.5}body.sheet-open{overflow:hidden}button{font:inherit;color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}button:disabled{cursor:default}button:not(:disabled):active{filter:brightness(.94)}@media (hover:hover){button:not(:disabled):hover{filter:brightness(1.05)}}button:focus-visible{outline:3px solid var(--ink);outline-offset:3px}button svg{flex:none}h1,h2{font-family:var(--round);letter-spacing:-.01em;text-wrap:balance;font-weight:600}.app{max-width:560px;padding-bottom:calc(var(--dock-h,130px) + 12px);margin:0 auto}body[data-view=album] .app{padding-bottom:calc(30px + env(safe-area-inset-bottom))}.top{z-index:4;padding:calc(10px + env(safe-area-inset-top)) 12px 10px;background:color-mix(in srgb, var(--bg) 86%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);flex-wrap:wrap;align-items:center;gap:8px 10px;display:flex;position:sticky;top:0}.offline-note{background:var(--note-bg);color:var(--ink);text-align:center;border-radius:999px;flex-basis:100%;justify-content:center;align-items:center;gap:8px;margin:0;padding:6px 14px;font-size:.85rem;font-weight:700;line-height:1.3;display:flex}.offline-note[hidden]{display:none}.offline-note .dot{background:var(--warn);border-radius:50%;flex:none;width:9px;height:9px}.tabs{background:var(--surface-2);border-radius:999px;flex:1;gap:4px;min-width:0;padding:4px;display:flex}.tabs[hidden]{display:none}.tab{min-width:0;height:46px;color:var(--muted);font-family:var(--round);white-space:nowrap;transition:background-color var(--dur-step) var(--ease-out), color var(--dur-step) var(--ease-out);background:0 0;border:0;border-radius:999px;flex:1;justify-content:center;align-items:center;gap:7px;padding:0 10px;font-size:1.02rem;font-weight:600;display:inline-flex;position:relative}.tab svg{font-size:1.15rem}.tab[aria-current=page]{background:var(--card);color:var(--ink);box-shadow:0 3px 0 var(--card-shadow)}.tab[aria-current=page] svg{color:var(--pink-text)}.tab-badge{background:var(--pink);color:#fff;min-width:22px;height:22px;font-family:var(--body);border-radius:11px;place-items:center;padding:0 6px;font-size:.75rem;font-weight:800;display:grid;position:absolute;top:-6px;right:-2px}.cog{background:var(--card);width:52px;height:52px;color:var(--muted);box-shadow:0 4px 0 var(--card-shadow);border:0;border-radius:50%;flex:none;place-items:center;font-size:1.4rem;display:grid}.chat,.section,.dock{transition:opacity var(--dur-enter) var(--ease-out)}.booting .chat,.booting .section,.booting .dock{opacity:0}.chat{padding:4px 12px 0}.chat[hidden]{display:none}.thread{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.thread-start,.thread-empty{text-align:center;max-width:21em;color:var(--muted);flex-direction:column;align-self:center;align-items:center;margin:8px auto 6px;font-size:.92rem;font-weight:600;display:flex}.thread-start .bird{width:84px;height:84px}.thread-start strong,.thread-empty strong{color:var(--ink);font-family:var(--round);text-wrap:balance;font-size:1.2rem;font-weight:600;line-height:1.2}.thread-empty{margin-top:12vh;font-size:1rem}.thread-empty .bird{width:150px;height:150px}.thread-empty strong{margin-bottom:4px;font-size:1.6rem}.paste-link{flex-direction:column;gap:10px;width:100%;margin-top:18px;display:flex}.paste-link input{border:2px solid var(--line);background:var(--card);width:100%;min-height:54px;color:var(--ink);font:inherit;border-radius:18px;padding:0 16px}.paste-link .menu-btn{justify-content:center}.paste-error{color:var(--danger);margin:0}.join-actions{flex-direction:column;gap:10px;width:100%;margin-top:22px;display:flex}.join-actions .menu-btn{justify-content:center}.join-actions .menu-btn.primary{min-height:64px;font-size:1.1rem}.scanner{z-index:40;padding:24px 20px calc(24px + env(safe-area-inset-bottom));color:#fff;background:#000;flex-direction:column;justify-content:flex-end;align-items:center;gap:14px;display:flex;position:fixed;inset:0}.scanner video{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.scanner-frame{aspect-ratio:1;border:4px solid #fff;border-radius:28px;width:min(68vw,300px);position:absolute;top:50%;left:50%;translate:-50% -60%;box-shadow:0 0 0 100vmax #00000073}.scanner.failed .scanner-frame{display:none}.scanner-hint,.scanner .menu-btn{text-align:center;max-width:22em;position:relative}.scanner-hint{text-wrap:balance;margin:0;font-weight:700}.scanner .menu-btn{justify-content:center;width:min(100%,22em)}.thread-start .bird-body,.thread-empty .bird-body{transform-origin:60px 110px;animation:3.2s ease-in-out infinite breathe}.day{align-self:center;margin:12px 0 2px}.day-btn{background:var(--card-glass);min-height:32px;color:var(--muted);border:0;border-radius:999px;padding:4px 14px;font-size:.8rem;font-weight:800;display:block}.day-pill{top:calc(var(--top-h,74px) + 6px);z-index:3;background:var(--card);min-height:40px;color:var(--ink);white-space:nowrap;box-shadow:0 3px 0 var(--card-shadow), 0 8px 20px #3d2c4e24;animation:pill-in var(--dur-step) var(--ease-out);border:0;border-radius:999px;align-items:center;gap:7px;padding:0 16px;font-size:.88rem;font-weight:800;display:inline-flex;position:fixed;left:50%;transform:translate(-50%)}.day-pill[hidden]{display:none}.day-pill svg{color:var(--pink-text);font-size:1rem}@keyframes pill-in{0%{opacity:0;transform:translate(-50%,-6px)}}.cal-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.cal-head strong{font-family:var(--round);font-size:1.15rem;font-weight:600}.cal-nav{background:var(--surface-2);width:48px;height:48px;color:var(--ink);border:0;border-radius:50%;place-items:center;font-size:1.3rem;display:grid}.cal-nav.next svg{transform:scaleX(-1)}.cal-nav:disabled{opacity:.35}.cal-grid{grid-template-columns:repeat(7,1fr);gap:4px;margin:4px 0 8px;display:grid}.cal-weekday{text-align:center;color:var(--muted);padding:4px 0;font-size:.75rem;font-weight:800}.cal-day{aspect-ratio:1;max-height:52px;color:var(--faint);background:0 0;border:0;border-radius:50%;place-items:center;font-size:.95rem;font-weight:700;display:grid}.cal-day.has{background:var(--pink-soft);width:100%;color:var(--pink-text-strong);justify-self:center;font-weight:800}.cal-day.today{outline:2px solid var(--line);outline-offset:-2px}.cal-day.current{background:var(--pink);color:#fff}.msg{flex-direction:column;max-width:100%;display:flex}.msg.theirs{align-items:flex-start}.msg.ours{--tone:var(--pink-text);align-items:flex-end}.msg-who{color:var(--muted);margin:4px 16px 2px;font-size:.8rem;font-weight:800}.msg-line{align-items:center;gap:2px;max-width:100%;display:flex}.ours .msg-line{flex-direction:row-reverse}.bubble{text-align:left;width:min(290px,100vw - 120px);transition:transform .12s var(--ease-out);-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;border:0;border-radius:28px;align-items:center;gap:10px;padding:8px 14px 8px 8px;display:flex}.bubble:active,.bubble.holding{transform:scale(.97)}.msg-more{width:44px;height:44px;color:var(--faint);background:0 0;border:0;border-radius:50%;flex:none;place-items:center;font-size:1.2rem;display:grid}.msg-more:not(:focus-visible){clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.msg-hearts,.msg-kept{align-items:center;gap:4px;display:inline-flex}.msg-hearts{color:var(--pink-text-strong);font-weight:800}.msg-kept svg{color:#f2b01e}.theirs .bubble{background:var(--tone-soft);outline:2px solid color-mix(in srgb, var(--tone) var(--tile-outline), transparent);outline-offset:-2px;box-shadow:0 4px 0 color-mix(in srgb, var(--tone) 30%, var(--tone-soft));border-bottom-left-radius:10px}.ours .bubble{background:var(--card);box-shadow:0 4px 0 var(--card-shadow);border-bottom-right-radius:10px}.bubble-play{background:var(--tone);color:#fff;border-radius:50%;flex:none;place-items:center;width:50px;height:50px;font-size:1.2rem;display:grid}.ours .bubble-play{background:var(--pink-soft);color:var(--pink-text-strong)}.ours.playing .bubble-play{background:var(--pink);color:#fff}.bubble-play svg{margin-left:3px}.playing .bubble-play svg{margin-left:0}.theirs.new .bubble-play,.theirs.playing .bubble-play{animation:1.2s ease-out infinite pulse-ring}.bubble .wave{flex:1;min-width:0;height:30px}.bubble .wave i:nth-child(2n){display:none}.bubble .wave{gap:3px}.bubble-len{color:color-mix(in srgb, var(--ink) 70%, var(--tone));font-variant-numeric:tabular-nums;flex:none;font-size:.85rem;font-weight:800}.msg-act{width:44px;height:44px;color:var(--faint);background:0 0;border:0;border-radius:50%;flex:none;place-items:center;font-size:1.15rem;display:grid}.msg-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:2px 8px;margin:5px 10px 0;font-size:.8rem;font-weight:700;display:flex}.ours .msg-meta{justify-content:flex-end}.msg-new{background:var(--pink);color:#fff;font-family:var(--round);border-radius:999px;padding:1px 9px;font-weight:600}.msg-for,.msg-heard{align-items:center;gap:4px;display:inline-flex}.msg-for.mine,.msg-heard{color:var(--pink-text-strong);font-weight:800}.invite{background:var(--card);box-shadow:0 5px 0 var(--card-shadow);border-radius:28px;grid-template-columns:auto 1fr;gap:4px 14px;margin:18px 0 0;padding:16px 18px;display:grid}.invite-icon{background:var(--pink-soft);width:44px;height:44px;color:var(--pink-text-strong);border-radius:50%;place-items:center;font-size:1.3rem;display:grid}.invite p{color:var(--muted);margin:0;font-size:.95rem}.invite p strong{color:var(--ink);font-size:1rem;display:block}.invite-actions{flex-wrap:wrap;grid-column:2;gap:8px;margin-top:8px;display:flex}a.small-btn,a.menu-btn{color:var(--ink);align-items:center;gap:6px;text-decoration:none;display:inline-flex}a.menu-btn{display:flex}a.small-btn svg{width:18px;height:18px}.small-btn.primary{border-color:var(--pink);background:var(--pink);color:#fff}.toy-button{background:var(--pink);color:#fff;font-family:var(--round);box-shadow:0 6px 0 var(--pink-deep), 0 14px 26px #cf35674d;transition:transform 80ms, box-shadow 80ms, opacity var(--dur-step) var(--ease-out);border:0;font-weight:600}.toy-button:active:not(:disabled){box-shadow:0 1px 0 var(--pink-deep), 0 6px 14px #cf356740;transform:translateY(5px)}.section{margin:14px 14px 0}.section h2{align-items:center;gap:10px;margin:0 8px 14px;font-size:1.3rem;display:flex}.section h2:after{content:"";background:repeating-linear-gradient(90deg, var(--dashes) 0 8px, transparent 8px 14px);border-radius:2px;flex:1;height:3px}.section[hidden]{display:none}.album-empty{text-align:center;color:var(--muted);margin:30px 20px;font-weight:600}.tiles{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px;display:grid}.tile{background:var(--tone-soft);outline:2px solid color-mix(in srgb, var(--tone) var(--tile-outline), transparent);outline-offset:-2px;box-shadow:0 5px 0 color-mix(in srgb, var(--tone) 30%, var(--tone-soft));transition:transform .12s var(--ease-out), background-color var(--dur-step) var(--ease-out), box-shadow var(--dur-step) var(--ease-out);border-radius:32px;flex-direction:column;align-items:center;padding:18px 10px 8px;display:flex;position:relative}.tile-main{width:100%;transition:transform .12s var(--ease-out);background:0 0;border:0;border-radius:24px;flex-direction:column;align-items:center;gap:12px;padding:4px 4px 12px;display:flex}.tile-main:active{transform:scale(.97)}.tile-actions{border-top:2px dashed color-mix(in srgb, var(--tone) 28%, transparent);gap:6px;width:100%;padding-top:6px;display:flex}.tile-act{min-width:0;min-height:52px;color:color-mix(in srgb, var(--ink) 78%, var(--tone));transition:background-color var(--dur-step) var(--ease-out), color var(--dur-step) var(--ease-out);background:0 0;border:0;border-radius:18px;flex-direction:column;flex:1 1 0;justify-content:center;align-items:center;gap:2px;font-size:.78rem;font-weight:800;display:flex}.tile-act svg{font-size:1.2rem}.tile-act.keep[aria-pressed=true]{background:var(--card-glass);color:var(--pink-text)}.tile-act.keep[aria-pressed=true] svg{animation:heart-pop .35s var(--ease-out)}.tile-play{background:var(--tone);color:#fff;width:66px;height:66px;box-shadow:0 5px 0 color-mix(in srgb, var(--tone) 70%, #000);border-radius:50%;place-items:center;font-size:1.5rem;display:grid}.tile-play svg,.row-play svg{margin-left:3px}.playing .tile-play svg,.playing .row-play svg{margin-left:0}.tile.playing .tile-play{animation:1.2s ease-out infinite pulse-ring}.tile-foot{color:color-mix(in srgb, var(--ink) 70%, var(--tone));flex-direction:column;align-items:center;font-size:.85rem;font-weight:800;line-height:1.25;display:flex}.tile-foot small{opacity:.8;font-size:.78rem;font-weight:700}.tile-for{background:var(--card-glass);max-width:100%;color:color-mix(in srgb, var(--ink) 75%, var(--tone));white-space:nowrap;text-overflow:ellipsis;border-radius:999px;align-items:center;gap:4px;padding:2px 10px;font-size:.75rem;font-weight:800;display:inline-flex;overflow:hidden}.tile-for.mine{color:var(--pink-text)}.ribbon{z-index:1;white-space:nowrap;background:var(--pink);color:#fff;font-family:var(--round);border-radius:999px;padding:3px 12px;font-size:.8rem;font-weight:600;position:absolute;top:0;left:50%;transform:translate(-50%,-50%);box-shadow:0 3px 8px #cf356759}.wave{align-items:center;gap:2px;width:100%;height:28px;display:flex}.wave i{min-width:2px;height:calc(var(--h) * 100%);background:color-mix(in srgb, var(--tone,var(--ink)) var(--wave-alpha), transparent);border-radius:3px;flex:1;transition:background .15s}.playing .wave i.on{background:var(--tone,var(--ink))}.tile .wave i:nth-child(2n){display:none}.tile .wave{gap:3px}.row-play{background:var(--purple-soft);width:54px;height:54px;color:var(--purple);border:0;border-radius:50%;flex:none;place-items:center;font-size:1.25rem;display:grid}.row-text{flex-direction:column;flex:1;min-width:0;line-height:1.3;display:flex}.row-text strong{font-family:var(--round);font-size:1.05rem;font-weight:600}.row-text span{color:var(--muted);font-size:.85rem}.dock{z-index:5;padding:22px 12px calc(12px + env(safe-area-inset-bottom));background:linear-gradient(to bottom, transparent, var(--bg) 34%);pointer-events:none;flex-direction:column;align-items:center;gap:10px;display:flex;position:fixed;bottom:0;left:0;right:0}.dock[hidden]{display:none}.dock>*{pointer-events:auto}.news-pill{background:var(--card);max-width:100%;min-height:54px;color:var(--pink-text-strong);font-family:var(--round);box-shadow:0 4px 0 var(--card-shadow), 0 10px 24px #3d2c4e24;border:0;border-radius:999px;align-items:center;gap:10px;padding:0 24px 0 18px;font-size:1.08rem;font-weight:600;display:inline-flex}.news-pill svg{font-size:1.2rem}.news-pill.stop{color:#5260e6}:root[data-theme=dark] .news-pill.stop{color:#a9b2ff}.composer{background:var(--card);width:100%;max-width:528px;box-shadow:0 0 0 2px var(--line-soft), 0 14px 34px #3d2c4e2e;border-radius:34px;flex-direction:column;gap:12px;padding:14px;display:flex}.composer-hint{text-align:center;color:var(--muted);margin:0 8px;font-weight:700}.composer.ending .composer-hint,.composer.ending .rec-timer{color:var(--warn);transition:color var(--dur-step) var(--ease-out)}.composer-row{align-items:center;gap:10px;display:flex}.round-btn{background:var(--surface-2);width:60px;height:60px;color:var(--muted);border:0;border-radius:50%;flex:none;place-items:center;font-size:1.3rem;display:grid}.rec-live{flex:1;justify-content:center;align-items:center;gap:14px;display:flex}.rec-dot{width:18px;height:18px;box-shadow:0 0 0 calc(4px + var(--level) * 16px) #e5484d33;background:#e5484d;border-radius:50%;transition:box-shadow .12s ease-out}.rec-live.waking .rec-dot{background:var(--faint);box-shadow:none;animation:1.4s ease-in-out infinite breathe}.rec-timer{font-family:var(--round);font-variant-numeric:tabular-nums;transition:opacity var(--dur-step) var(--ease-out);font-size:1.7rem;font-weight:600;line-height:1}.rec-live.waking .rec-timer{opacity:.35}.pill-btn{min-width:0;min-height:60px;font-family:var(--round);white-space:nowrap;border:0;border-radius:999px;flex:1;justify-content:center;align-items:center;gap:8px;padding:0 16px;font-size:1.15rem;font-weight:600;display:inline-flex}.pill-btn.primary{background:var(--pink);color:#fff;box-shadow:0 5px 0 var(--pink-deep);transition:transform 80ms,box-shadow 80ms}.pill-btn.primary:active:not(:disabled){box-shadow:0 1px 0 var(--pink-deep);transform:translateY(4px)}.pill-btn.primary:disabled{opacity:.7}.pill-btn.ghost{background:var(--surface-2);color:var(--ink)}.composer .review{background:var(--surface-2);width:100%;box-shadow:none;gap:10px;padding:8px 4px 8px 8px}.toy-button{text-align:left;pointer-events:auto;border-radius:999px;align-items:center;gap:14px;width:100%;max-width:528px;min-height:80px;margin:0 auto;padding:9px 22px 9px 10px;font-size:1.2rem;line-height:1.15;display:flex}.toy-button:disabled{opacity:.6}.toy-label{flex-direction:column;display:flex}.toy-label small{font-family:var(--body);opacity:.9;font-size:.9rem;font-weight:700}.toy-cap{background:#ffffff40;border-radius:50%;flex:none;place-items:center;width:62px;height:62px;font-size:1.8rem;display:grid;box-shadow:inset 0 -4px #00000014}.enter{animation:step-in var(--dur-step) var(--ease-out) both;animation-delay:calc(var(--i,0) * 40ms)}.arrive{animation:step-in var(--dur-enter) var(--ease-out) both}.review{--tone:var(--pink-text);background:var(--card);width:min(380px,100%);box-shadow:0 5px 0 var(--card-shadow);border-radius:30px;align-items:center;gap:14px;padding:12px 18px 12px 12px;display:flex}.review .row-play{background:var(--pink-soft);color:var(--pink-text-strong)}.review.playing .row-play{background:var(--pink);color:#fff}.review .wave{height:34px}.length{font-variant-numeric:tabular-nums;color:var(--muted);font-weight:800}.spinner{border:3px solid #ffffff73;border-top-color:#fff;border-radius:50%;width:22px;height:22px;animation:.8s linear infinite spin}.menu{z-index:25;background:var(--overlay);animation:fade-in var(--dur-enter) var(--ease-out);justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.menu.closing{animation:fade-out var(--dur-exit) var(--ease-in) forwards;pointer-events:none}.menu-panel{width:100%;max-width:560px;padding:24px 18px calc(18px + env(safe-area-inset-bottom));background:var(--card);animation:sheet-up var(--dur-enter) var(--ease-out);border-radius:32px 32px 0 0;flex-direction:column;gap:10px;display:flex;box-shadow:0 -10px 40px #3d2c4e33}.menu.closing .menu-panel{animation:sheet-down var(--dur-exit) var(--ease-in) forwards}.menu-panel h2{text-align:center;margin:0;font-size:1.4rem}.menu-panel>p{text-align:center;color:var(--muted);margin:-6px 0 8px;font-weight:700}.menu-btn{background:var(--surface-2);min-height:72px;color:var(--ink);text-align:left;font-family:var(--round);border:0;border-radius:22px;align-items:center;gap:16px;padding:10px 20px;font-size:1.15rem;font-weight:600;line-height:1.2;display:flex}.menu-btn svg{font-size:1.5rem}.menu-btn span{flex-direction:column;display:flex}.menu-btn small{font-family:var(--body);color:var(--muted);font-size:.85rem;font-weight:700}.menu-btn.primary{background:var(--pink);color:#fff;box-shadow:0 5px 0 var(--pink-deep)}.menu-btn.danger{color:var(--danger)}.menu-btn.primary small{color:#ffffffe6}.confirm{z-index:30}.confirm .menu-panel{align-items:stretch}.confirm-icon{background:var(--surface-2);width:64px;height:64px;color:var(--pink-deep);border-radius:22px;align-self:center;place-items:center;margin-bottom:4px;font-size:1.8rem;display:grid}.confirm-icon.danger{color:var(--danger)}.confirm .menu-panel>p{text-wrap:pretty;margin:0 8px 8px}.confirm-btn{text-align:center;justify-content:center;min-height:64px}.confirm-btn.danger{background:var(--danger);color:var(--on-danger);box-shadow:0 5px 0 color-mix(in srgb, var(--danger) 70%, black)}.menu-btn.ghost{min-height:56px;color:var(--muted);background:0 0;justify-content:center;font-size:1.05rem}.settings{z-index:22;padding:0 14px calc(40px + env(safe-area-inset-bottom));background:radial-gradient(circle, var(--dots) 1.6px, transparent 1.8px) 0 0 / 24px 24px, var(--bg);animation:page-in var(--dur-enter) var(--ease-out);position:fixed;inset:0;overflow-y:auto}.settings.closing{animation:page-out var(--dur-exit) var(--ease-in) forwards;pointer-events:none}.settings>*{max-width:560px;margin-inline:auto}.settings-head{z-index:1;padding:calc(10px + env(safe-area-inset-top)) 0 10px;background:var(--bg);align-items:center;gap:8px;display:flex;position:sticky;top:0}.settings-head h2{margin:0;font-size:1.6rem}.back{background:var(--card);width:52px;height:52px;box-shadow:0 4px 0 var(--card-shadow);border:0;border-radius:50%;flex:none;place-items:center;font-size:1.5rem;display:grid}.settings-loading{text-align:center;color:var(--muted);font-weight:700}.card{background:var(--card);box-shadow:0 4px 0 var(--card-shadow);border-radius:28px;margin-top:16px;padding:18px 18px 20px}.card h3{font-family:var(--round);align-items:center;gap:8px;margin:0 0 10px;font-size:1.25rem;font-weight:600;display:flex}.card .count{background:var(--surface-2);border-radius:999px;padding:1px 10px;font-size:.9rem}.muted{color:var(--muted);margin:2px 0;font-size:.9rem;font-weight:600}.status-line{align-items:center;gap:10px;display:flex}.status-line .dot{background:var(--faint);border-radius:50%;flex:none;width:12px;height:12px;animation:none}.status-line .dot.on{box-shadow:0 0 0 4px var(--green-soft);background:#178a62}.setting{border-top:2px dashed var(--line-soft);justify-content:space-between;align-items:center;gap:16px;margin-top:18px;padding-top:16px;display:flex}.setting strong{font-family:var(--round);font-size:1.1rem;font-weight:600}.status-rows{flex-direction:column;gap:14px;display:flex}.status-row{align-items:center;gap:14px;display:flex}.status-icon{background:var(--surface-2);width:44px;height:44px;color:var(--pink-deep);border-radius:14px;flex:none;place-items:center;font-size:1.2rem;display:grid}.status-icon .dot{background:var(--faint);border-radius:50%;width:12px;height:12px}.status-icon .dot.on{box-shadow:0 0 0 4px var(--green-soft);background:#178a62}.status-text{flex-direction:column;min-width:0;display:flex}.status-text strong{font-family:var(--round);font-size:1.1rem;font-weight:600}.status-text span{color:var(--muted);font-size:.9rem;font-weight:600}.switch{background:var(--switch-off);width:64px;height:40px;transition:background-color var(--dur-step) var(--ease-out);border:0;border-radius:999px;flex:none;position:relative}.switch span{background:var(--card);width:32px;height:32px;transition:transform var(--dur-step) var(--ease-out);border-radius:50%;position:absolute;top:4px;left:4px;box-shadow:0 2px 4px #00000026}.switch:disabled{opacity:.5}.switch[aria-checked=true]{background:var(--pink)}.switch[aria-checked=true] span{transform:translate(24px)}.times{gap:12px;margin-top:10px;display:flex}.times.off{opacity:.5}.times label{flex:1 1 0;align-items:center;gap:8px;min-width:0;font-weight:700;display:flex}.times input{flex:1 1 0;width:100%;min-width:0}.times.limit{flex-wrap:wrap}.times.limit label{flex:auto}.times select{flex:none}.times select,.times input,.add-form input[name=name],.text-input{border:2px solid var(--line);background:var(--card);min-height:48px;color:var(--ink);font:inherit;border-radius:14px;padding:0 12px;font-weight:700}.pref{flex-direction:column;gap:8px;margin-top:16px;display:flex}.pref+.pref{border-top:2px dashed var(--line-soft);padding-top:16px}.pref strong{font-family:var(--round);font-size:1.1rem;font-weight:600}.segmented{background:var(--surface-2);border-radius:999px;gap:4px;padding:4px;display:flex}.segmented button{min-height:48px;color:var(--muted);font-family:var(--round);transition:background-color var(--dur-step) var(--ease-out), color var(--dur-step) var(--ease-out);background:0 0;border:0;border-radius:999px;flex:1;font-size:1rem;font-weight:600}.segmented button[aria-checked=true]{background:var(--card);color:var(--ink);box-shadow:0 2px 0 var(--card-shadow), 0 2px 8px #00000014}.wide-btn{background:var(--surface-2);width:100%;min-height:56px;font-family:var(--round);border:0;border-radius:18px;justify-content:center;align-items:center;gap:10px;margin:6px 0 12px;font-size:1.05rem;font-weight:600;display:flex}.wide-btn.danger{color:var(--danger)}.wide-btn.primary{background:var(--pink);color:#fff;box-shadow:0 4px 0 var(--pink-deep)}.all-list,.family-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.all-row,.family-list li{border-top:1px solid var(--line-soft);align-items:center;gap:10px;padding:10px 0;display:flex}.all-row .to{color:var(--muted);font-size:.85rem}.family-list li{flex-wrap:wrap}.family-list .row-text{min-width:8em}.row-actions{flex-wrap:wrap;justify-content:flex-end;gap:4px;margin-left:auto;display:flex}.link-box.pairing p{margin:0}.card-dot{background:var(--card-colour);border-radius:50%;flex:none;width:18px;height:18px}.swatches{flex-wrap:wrap;gap:6px;width:100%;display:flex}.swatches button{border:3px solid var(--card);background:var(--card-colour);width:36px;height:36px;transition:box-shadow var(--dur-step) var(--ease-out);border-radius:50%;padding:0;box-shadow:0 0 0 2px #0000}.swatches button[aria-checked=true]{box-shadow:0 0 0 2px var(--ink)}.link-box .swatches button{border-color:var(--note-bg)}.icon-btn{width:46px;height:46px;color:var(--muted);background:0 0;border:0;border-radius:50%;flex:none;place-items:center;font-size:1.15rem;display:grid}.icon-btn.danger{color:var(--danger)}.small-btn{border:2px solid var(--line);background:var(--card);border-radius:999px;flex:none;min-height:44px;padding:0 16px;font-size:.9rem;font-weight:800}.small-btn.ghost{color:var(--muted);border-color:#0000}.link-box{background:var(--note-bg);border-radius:18px;flex-direction:column;gap:8px;margin:12px 0;padding:14px;display:flex}.link-box code{background:var(--card);word-break:break-all;border-radius:10px;padding:8px 10px;font-size:.8rem}.link-actions{flex-wrap:wrap;gap:8px;display:flex}.clip-status{margin:0;font-weight:700}.voice-clip .small-btn{align-items:center;gap:6px;display:inline-flex}.voice-clip .small-btn svg{width:18px;height:18px}.wide-btn.recording{background:var(--danger);color:#fff;box-shadow:0 4px 0 color-mix(in srgb, var(--danger) 70%, black)}.rec-dot{background:#fff;border-radius:50%;flex:none;width:12px;height:12px;animation:1s ease-in-out infinite rec-blink}@keyframes rec-blink{50%{opacity:.3}}@media (prefers-reduced-motion:reduce){.rec-dot{animation:none}}.add-form{border-top:2px dashed var(--line-soft);flex-direction:column;gap:10px;margin-top:16px;padding-top:16px;display:flex}.choice{flex-wrap:wrap;gap:8px 16px;font-weight:700;display:flex}.choice label{align-items:center;gap:8px;min-height:44px;display:flex}.choice input{width:22px;height:22px;accent-color:var(--pink)}.settings-page.slide-forward{animation:subpage-forward var(--dur-enter) var(--ease-out)}.settings-page.slide-back{animation:subpage-back var(--dur-enter) var(--ease-out)}.page-intro{color:var(--muted);margin:12px 4px 0;font-weight:700}.nav-list{flex-direction:column;gap:12px;margin-top:16px;display:flex}.nav-row{background:var(--card);width:100%;min-height:76px;color:var(--ink);text-align:left;box-shadow:0 4px 0 var(--card-shadow);transition:transform var(--dur-step) var(--ease-out);border:0;border-radius:24px;align-items:center;gap:14px;padding:14px 14px 14px 16px;display:flex}.nav-row:active{box-shadow:0 2px 0 var(--card-shadow);transform:translateY(2px)}.nav-icon{background:var(--surface-2);width:46px;height:46px;color:var(--pink-deep);border-radius:16px;flex:none;place-items:center;font-size:1.3rem;display:grid}.nav-text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.nav-text strong{font-family:var(--round);font-size:1.15rem;font-weight:600}.nav-text>span{color:var(--muted);font-size:.9rem;font-weight:600;display:block}.nav-text .dot{vertical-align:middle;background:var(--faint);border-radius:50%;width:9px;height:9px;margin:0 6px 1px 0;display:inline-block}.nav-text .dot.on{background:#178a62}.nav-chevron{color:var(--faint);flex:none;font-size:1.3rem}.h3-icon{color:var(--pink-deep);font-size:1.1rem;display:inline-grid}.card>.pref:first-child{margin-top:0}.card>.add-form{border-top:0;margin-top:0;padding-top:0}@keyframes subpage-forward{0%{opacity:0;transform:translate(40px)}}@keyframes subpage-back{0%{opacity:0;transform:translate(-40px)}}@media (prefers-reduced-motion:reduce){.settings-page.slide-forward,.settings-page.slide-back{animation:none}}@keyframes page-in{0%{transform:translate(100%)}}@keyframes page-out{to{transform:translate(100%)}}.toast{left:50%;bottom:calc(var(--dock-h,126px) + 8px);z-index:30;background:var(--toast-bg);width:min(520px,100% - 32px);color:var(--toast-ink);text-align:center;border-radius:22px;padding:16px 20px;font-weight:700;animation:.2s ease-out toast-in;position:fixed;transform:translate(-50%);box-shadow:0 12px 32px #0003}body:has(#settings:not([hidden])) .toast{bottom:calc(16px + env(safe-area-inset-bottom))}@keyframes hop{0%,to{transform:translateY(0)scale(1)}40%{transform:translateY(-8px)scale(.97,1.03)}55%{transform:translateY(0)scale(1.04,.96)}70%{transform:translateY(0)scale(1)}}@keyframes sway{0%,to{transform:rotate(-5deg)}50%{transform:rotate(5deg)}}@keyframes flap{to{transform:rotate(-22deg)}}@keyframes breathe{0%,to{transform:scale(1)}50%{transform:scale(1.03,.97)}}@keyframes twinkle{0%,to{opacity:.4;transform:scale(.7)rotate(0)}50%{opacity:1;transform:scale(1.15)rotate(15deg)}}@keyframes float-up{0%{opacity:0;transform:translateY(10px)}30%{opacity:1}to{opacity:0;transform:translateY(-34px)}}@keyframes pulse-ring{0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--tone) 55%, transparent)}to{box-shadow:0 0 0 18px #0000}}@keyframes sheet-up{0%{border-radius:40px 40px 0 0;transform:translateY(100%)}}@keyframes sheet-down{to{border-radius:40px 40px 0 0;transform:translateY(100%)}}@keyframes fade-in{0%{opacity:0}}@keyframes fade-out{to{opacity:0}}@keyframes heart-pop{50%{transform:scale(1.35)}}@keyframes step-in{0%{opacity:0;transform:translateY(12px)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,8px)}}@media (prefers-reduced-motion:reduce){*,:before{transition:none!important;animation:none!important}}.pref.volume{border-top:2px dashed var(--line-soft);margin-top:18px;padding-top:16px}.thread-more{min-height:60px;color:var(--muted);justify-content:center;align-items:center;gap:10px;font-size:.9rem;font-weight:700;display:flex}.spinner.dark{border-color:var(--line);border-top-color:var(--pink);width:20px;height:20px}.msg.in-run{margin-top:-4px}.new-line{color:var(--pink-text-strong);font-family:var(--round);align-items:center;gap:10px;margin:10px 4px 2px;font-size:.85rem;font-weight:600;display:flex}.new-line:before,.new-line:after{content:"";background:color-mix(in srgb, var(--pink) 40%, transparent);border-radius:1px;flex:1;height:2px}.msg-reply{background:var(--card-glass);max-width:100%;min-height:32px;color:var(--muted);text-align:left;border:0;border-radius:999px;align-items:center;gap:6px;margin:2px 12px 4px;padding:2px 12px;font-size:.8rem;font-weight:700;display:inline-flex}.msg-reply svg{color:var(--pink-text);flex:none}.msg.pending .bubble{opacity:.75}.msg-waiting,.msg-failed{align-items:center;gap:5px;display:inline-flex}.msg-failed{color:var(--danger);font-weight:800}.msg.flash .bubble{animation:flash 1.6s var(--ease-out)}@keyframes flash{0%,60%{box-shadow:0 0 0 4px var(--pink), 0 4px 0 var(--card-shadow)}}.msg.loading .wave{animation:.9s ease-in-out infinite breathe-wave}@keyframes breathe-wave{50%{opacity:.4}}.to-end{right:max(14px,50% - 266px);bottom:calc(var(--dock-h,126px) + 10px);z-index:4;background:var(--card);width:52px;height:52px;color:var(--ink);box-shadow:0 3px 0 var(--card-shadow), 0 8px 20px #3d2c4e29;animation:pill-in var(--dur-step) var(--ease-out);border:0;border-radius:50%;place-items:center;font-size:1.35rem;display:grid;position:fixed}.to-end[hidden]{display:none}.to-end-count{background:var(--pink);color:#fff;border-radius:11px;place-items:center;min-width:22px;height:22px;padding:0 6px;font-size:.75rem;font-weight:800;display:grid;position:absolute;top:-6px;right:-4px}.reply-chip{background:var(--pink-soft);color:var(--pink-text-strong);border-radius:999px;align-items:center;gap:8px;padding:2px 4px 2px 14px;font-size:.85rem;font-weight:800;display:flex}.reply-chip span{flex:1;min-width:0}.reply-chip .msg-act{width:40px;height:40px;color:inherit}.toast-action{background:color-mix(in srgb, var(--toast-ink) 18%, transparent);color:var(--toast-ink);border:0;border-radius:999px;margin-left:12px;padding:6px 14px;font-weight:800}.qr{background:#fff;border-radius:16px;width:min(220px,70%);margin:10px auto;padding:8px}.qr svg{width:100%;height:auto;display:block}.welcome{z-index:26}.welcome .menu-panel{text-align:center;gap:14px;max-height:92vh;padding-top:30px;overflow-y:auto}.welcome-step{flex-direction:column;align-items:center;gap:10px;display:flex}.welcome-step .bird{width:110px;height:110px}.welcome-logo{width:min(240px,70%);height:auto}.welcome-step h2{margin:0;font-size:1.5rem;line-height:1.2}.welcome-step p{max-width:24em;color:var(--muted);margin:0;font-weight:600}.welcome-icon{background:var(--pink-soft);width:72px;height:72px;color:var(--pink-text-strong);border-radius:50%;place-items:center;font-size:2rem;display:grid}.welcome-list,.welcome-steps{text-align:left;flex-direction:column;gap:10px;width:100%;margin:4px 0 0;padding:0;font-weight:700;list-style:none;display:flex}.welcome-list li{background:var(--surface-2);border-radius:18px;align-items:center;gap:12px;padding:10px 14px;display:flex}.welcome-list svg{color:var(--pink-text);flex:none;font-size:1.3rem}.welcome-steps{counter-reset:step}.welcome-steps li{counter-increment:step;align-items:center;gap:10px;display:flex}.welcome-steps li:before{content:counter(step);background:var(--pink);color:#fff;border-radius:50%;flex:none;place-items:center;width:30px;height:30px;font-weight:800;display:grid}.welcome-steps svg{vertical-align:-3px}.welcome .menu-btn{justify-content:center;min-height:60px}.welcome-dots{justify-content:center;gap:8px;display:flex}.welcome-dots i{background:var(--line);border-radius:50%;width:8px;height:8px}.welcome-dots i.on{background:var(--pink);border-radius:4px;width:22px}.setup .menu-panel{padding-top:18px}.setup-count{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;margin:0;font-size:.85rem;font-weight:800}.setup-tip{background:var(--note-bg);border-radius:16px;padding:10px 14px;color:var(--ink)!important}.setup-network{border:2px dashed var(--pink);background:var(--pink-soft);font-family:var(--round);letter-spacing:.02em;-webkit-user-select:all;user-select:all;border-radius:18px;padding:12px 22px;font-size:1.5rem;color:var(--pink-text-strong)!important;font-weight:700!important}.setup-status{background:var(--surface-2);border-radius:18px;justify-content:center;align-items:center;gap:10px;width:100%;padding:12px 14px;display:flex}.setup-status.ok{background:var(--green-soft);color:var(--ink)!important}.setup-people{flex-direction:column;gap:8px;width:100%;display:flex}.setup-person{background:var(--surface-2);width:100%;min-height:60px;color:inherit;font:inherit;text-align:left;border:0;border-radius:18px;grid-template-columns:auto 1fr auto;align-items:center;gap:2px 12px;padding:10px 14px;font-weight:800;display:grid}.setup-person>svg:first-child{color:var(--pink-text);grid-row:span 2;font-size:1.3rem}.setup-person>svg:last-child:not(:first-child){color:var(--muted);grid-area:1/3/span 2}.setup-person small{color:var(--pink-text);grid-column:2;font-size:.85rem}.setup-person.done small{color:var(--muted)}.setup-nav{justify-content:space-between;width:100%;display:flex}.link-btn{min-height:44px;color:var(--muted);font:inherit;background:0 0;border:0;align-items:center;gap:4px;padding:0 8px;font-weight:800;display:inline-flex}.card>h3+.setting,.card>h3+.pref{border-top:0;margin-top:0;padding-top:0}.setting+.pref{border-top:2px dashed var(--line-soft);padding-top:16px}.head-action{color:var(--pink-deep);margin-left:auto}.sheet-form .add-form{border:0;margin:0 0 6px;padding:0}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.confirm .menu-panel{max-height:100%;overflow-y:auto}.setup .welcome-step .menu-btn{align-self:stretch}
