.update-banner[data-v-a0d65637]{left:var(--space-4);right:var(--space-4);bottom:calc(var(--nav-space) + var(--space-2));z-index:20;justify-content:space-between;align-items:center;gap:var(--space-3);max-width:30rem;padding:var(--space-2) var(--space-2) var(--space-2) var(--space-4);border-radius:var(--radius);background:var(--color-text);color:var(--color-bg);font-size:var(--font-size-sm);margin:0 auto;display:flex;position:fixed}.sheet[data-v-319b0733]{width:100%;max-width:32rem;max-height:min(85dvh, var(--sheet-max-height,85dvh));margin:auto auto var(--sheet-bottom,0);border-radius:var(--radius) var(--radius) 0 0;background:var(--color-surface);color:var(--color-text);overscroll-behavior:contain;transition:transform var(--sheet-duration) var(--sheet-ease), overlay var(--sheet-duration) allow-discrete, display var(--sheet-duration) allow-discrete;--sheet-duration:.28s;--sheet-ease:cubic-bezier(.32, .72, 0, 1);border:none;padding:0;transform:translateY(100%)}.sheet[open][data-v-319b0733]{transform:none}@starting-style{.sheet[open][data-v-319b0733]{transform:translateY(100%)}}.sheet[data-v-319b0733]::backdrop{transition:background-color .28s ease, overlay .28s allow-discrete, display .28s allow-discrete;background:0 0}.sheet[open][data-v-319b0733]::backdrop{background:#00000073}@starting-style{.sheet[open][data-v-319b0733]::backdrop{background:0 0}}.sheet__content[data-v-319b0733]{padding:var(--space-4) var(--space-4) calc(var(--space-4) + var(--safe-bottom))}.sheet--fill[data-v-319b0733]{height:min(85dvh, var(--sheet-max-height,85dvh))}.sheet--fill .sheet__content[data-v-319b0733]{flex-direction:column;height:100%;display:flex}.sheet--fill .sheet__content[data-v-319b0733]>:last-child{flex:1;min-height:0}.sheet__header[data-v-319b0733]{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.sheet__title[data-v-319b0733]{font-size:var(--font-size-lg)}.sheet__close[data-v-319b0733]{color:var(--color-text-muted);font-size:var(--font-size-lg);padding:var(--space-1) var(--space-2);border-radius:calc(var(--radius) / 1.5);cursor:pointer;background:0 0;border:none}.sheet__close[data-v-319b0733]:focus{outline:none}.sheet__close[data-v-319b0733]:focus-visible{outline:2px solid var(--color-primary)}@media (prefers-reduced-motion:reduce){.sheet[data-v-319b0733]{--sheet-duration:0s}.sheet[data-v-319b0733]::backdrop{transition:none}}.todos[data-v-115bd5da]{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.todo[data-v-115bd5da]{align-items:center;gap:var(--space-3);padding:var(--space-3);color:inherit;touch-action:manipulation;text-decoration:none;transition:transform .1s;display:flex}.todo[data-v-115bd5da]:active{transform:scale(.98)}.todo__icon[data-v-115bd5da]{background:var(--color-primary-soft);border-radius:.5rem;flex:none;place-items:center;width:2.25rem;height:2.25rem;font-size:1.125rem;line-height:1;display:grid}.todo__text[data-v-115bd5da]{flex:1;min-width:0;display:grid}.todo__title[data-v-115bd5da]{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.todo__detail[data-v-115bd5da]{color:var(--color-primary);font-size:var(--font-size-sm);font-weight:600}.todo__chevron[data-v-115bd5da]{color:var(--color-text-muted);font-size:var(--font-size-lg)}.todos__empty[data-v-115bd5da]{padding:var(--space-4) 0;text-align:center}.messages[data-v-0758fa46]{--bubble-radius:1.125rem;--bubble-tail:.3rem;flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.messages__day[data-v-0758fa46]{margin:var(--space-3) 0 var(--space-2);justify-content:center;display:flex}.messages__day[data-v-0758fa46]:first-child{margin-top:0}.messages__day span[data-v-0758fa46]{padding:.125rem var(--space-3);background:var(--color-bg);color:var(--color-text-muted);font-size:var(--font-size-xs);border-radius:999px;font-weight:600}.message[data-v-0758fa46]{flex-direction:column;align-items:flex-start;margin-top:2px;display:flex}.message--start[data-v-0758fa46]{margin-top:var(--space-2)}.messages__day+.message[data-v-0758fa46]{margin-top:0}.message--mine[data-v-0758fa46]{align-items:flex-end}.message__bubble[data-v-0758fa46]{border-radius:var(--bubble-radius);background:color-mix(in srgb, var(--color-text) 7%, var(--color-surface));overflow-wrap:anywhere;max-width:min(80%,26rem);padding:.4375rem .75rem;line-height:1.35}.message:not(.message--mine):not(.message--start) .message__bubble[data-v-0758fa46]{border-top-left-radius:var(--bubble-tail)}.message:not(.message--mine):not(.message--end) .message__bubble[data-v-0758fa46]{border-bottom-left-radius:var(--bubble-tail)}.message--mine:not(.message--start) .message__bubble[data-v-0758fa46]{border-top-right-radius:var(--bubble-tail)}.message--mine:not(.message--end) .message__bubble[data-v-0758fa46]{border-bottom-right-radius:var(--bubble-tail)}.message--mine .message__bubble[data-v-0758fa46]{background:var(--color-primary);color:var(--color-on-primary)}.message--failed .message__bubble[data-v-0758fa46]{opacity:.6}.message__text[data-v-0758fa46]{white-space:pre-line}.message__link[data-v-0758fa46]{color:inherit}.message__meta[data-v-0758fa46]{float:right;opacity:.65;font-variant-numeric:tabular-nums;white-space:nowrap;align-items:center;gap:.2rem;margin:.45em 0 -.25em .6em;font-size:.6875rem;line-height:1;display:inline-flex}.message__tick[data-v-0758fa46]{fill:none;stroke:currentColor;stroke-width:2.5px;stroke-linecap:round;stroke-linejoin:round;width:.8rem;height:.8rem}.message__failed[data-v-0758fa46]{margin-top:var(--space-1);color:var(--color-danger);font-size:var(--font-size-xs)}.message__failed button[data-v-0758fa46]{color:inherit;cursor:pointer;background:0 0;border:none;padding:0;font-weight:700;text-decoration:underline}.message--fresh .message__bubble[data-v-0758fa46]{animation:.22s cubic-bezier(.2,.9,.3,1.2) message-in-0758fa46}.message--mine.message--fresh .message__bubble[data-v-0758fa46]{transform-origin:100% 100%}.message--fresh:not(.message--mine) .message__bubble[data-v-0758fa46]{transform-origin:0 100%}@keyframes message-in-0758fa46{0%{opacity:0;transform:translateY(.5rem)scale(.92)}}@media (prefers-reduced-motion:reduce){.message--fresh .message__bubble[data-v-0758fa46]{animation:none}}.composer[data-v-0167ada4]{--field-radius:1.375rem;--field-line:1.4;gap:var(--space-2);flex-direction:column;display:flex}.composer__quick[data-v-0167ada4]{gap:var(--space-2);scrollbar-width:none;display:flex;overflow-x:auto}.composer__chip[data-v-0167ada4]{padding:var(--space-1) var(--space-3);font-size:var(--font-size-sm);white-space:nowrap;cursor:pointer;touch-action:manipulation;border:none;flex:none}.composer__row[data-v-0167ada4]{align-items:flex-end;gap:var(--space-2);display:flex}.composer__field[data-v-0167ada4]{border:1px solid var(--color-border);border-radius:var(--field-radius);background:var(--color-bg);flex:1;min-width:0;transition:border-color .15s;display:grid}.composer__field[data-v-0167ada4]:focus-within{border-color:color-mix(in srgb, var(--color-primary) 70%, var(--color-border))}.composer__field[data-v-0167ada4]:after{content:attr(data-value) " ";visibility:hidden;white-space:pre-wrap}.composer__field textarea[data-v-0167ada4],.composer__field[data-v-0167ada4]:after{min-height:0;max-height:calc(5lh + 1.125rem);padding:.5625rem var(--space-4);font:inherit;font-size:max(16px,1rem);line-height:var(--field-line);overflow-wrap:anywhere;border:none;grid-area:1/1;margin:0}.composer__field[data-v-0167ada4]:after{overflow:hidden}.composer__field textarea[data-v-0167ada4]{resize:none;border-radius:var(--field-radius);scrollbar-width:none;background:0 0;outline:none;width:100%;overflow-y:auto}.composer__send[data-v-0167ada4]{width:calc(1lh + 1.125rem + 2px);height:calc(1lh + 1.125rem + 2px);line-height:var(--field-line);background:var(--color-primary);color:var(--color-on-primary);cursor:pointer;touch-action:manipulation;border:none;border-radius:50%;flex:none;place-items:center;padding:0;font-size:max(16px,1rem);transition:opacity .15s,transform .1s;display:grid}.composer__send svg[data-v-0167ada4]{fill:none;stroke:currentColor;stroke-width:2.5px;stroke-linecap:round;stroke-linejoin:round;width:1.25rem;height:1.25rem}.composer__send[data-v-0167ada4]:disabled{opacity:.35;cursor:default}.composer__send[data-v-0167ada4]:active:not(:disabled){transform:scale(.92)}.composer__send[data-v-0167ada4]:focus-visible,.composer__chip[data-v-0167ada4]:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.composer__note[data-v-0167ada4]{font-size:var(--font-size-sm)}.composer__count[data-v-0167ada4]{font-size:var(--font-size-xs);text-align:right}.chat[data-v-145e351d]{gap:var(--space-3);flex-direction:column;display:flex}.chat__hint[data-v-145e351d]{font-size:var(--font-size-sm)}.chat__scroller[data-v-145e351d]{overscroll-behavior:contain;min-height:0;margin:0 calc(-1 * var(--space-2));padding:0 var(--space-2);flex-direction:column-reverse;flex:1;display:flex;overflow-y:auto}.chat__history[data-v-145e351d]{flex:none}.chat__empty[data-v-145e351d]{padding:var(--space-8) 0;text-align:center}.scene[data-v-aa4bcb08]{height:calc(2.75rem + 2 * var(--space-1) + 2px);aspect-ratio:120/48;border:1px solid var(--color-border);background:linear-gradient(#0b1430,#1c2752);border-radius:999px;flex-shrink:1;min-width:0;overflow:hidden;box-shadow:0 4px 16px #0f172a1f}.scene svg[data-v-aa4bcb08]{width:100%;height:100%;display:block}.moon[data-v-aa4bcb08]{fill:#fde68a}.star[data-v-aa4bcb08]{fill:#e0e7ff}.floor[data-v-aa4bcb08]{fill:#ffffff0f}.wood[data-v-aa4bcb08]{fill:#8b5a3c}.wood--dark[data-v-aa4bcb08]{fill:#6f4530}.mattress[data-v-aa4bcb08]{fill:#cbd5e1}.pillow[data-v-aa4bcb08]{fill:#f1f5f9}.skin[data-v-aa4bcb08]{fill:#fcd9bd}.skin-stroke[data-v-aa4bcb08]{stroke:#fcd9bd;stroke-width:2.2px;stroke-linecap:round}.skin-stroke--shade[data-v-aa4bcb08]{stroke:#e8b996}.gown[data-v-aa4bcb08]{fill:#f9a8d4;stroke:#f9a8d4;stroke-width:.8px;stroke-linejoin:round}.sleeve[data-v-aa4bcb08]{stroke:#f472b6;stroke-width:2.2px;stroke-linecap:round}.hair[data-v-aa4bcb08]{fill:#7c4a2d}.hair-tie[data-v-aa4bcb08]{fill:#f472b6}.blush[data-v-aa4bcb08]{fill:#f9a8d4;opacity:.8}.eye--open[data-v-aa4bcb08]{fill:#1f2937}.eye--closed[data-v-aa4bcb08]{fill:none;stroke:#1f2937;stroke-width:.6px;stroke-linecap:round}.blanket__cover[data-v-aa4bcb08]{fill:#8b7cf6}.blanket__fold[data-v-aa4bcb08]{fill:#e2e8f0}.blanket__stitch[data-v-aa4bcb08]{fill:none;stroke:#a5b4fc;stroke-width:.5px;stroke-dasharray:1.2 1.2}.zzz[data-v-aa4bcb08]{fill:#e0e7ff;opacity:0;transform-box:fill-box;transform-origin:50%;font:700 6px system-ui,sans-serif}.girl[data-v-aa4bcb08]{transform-origin:0 0;animation:7s both girl-path-aa4bcb08;transform:translate(76px,25.5px)rotate(90deg)scaleX(-1)}@keyframes girl-path-aa4bcb08{0%{animation-timing-function:cubic-bezier(.3,0,.7,1);transform:translate(-12px,43px)rotate(0)scale(1)}60%,63%{transform:translate(84px,43px)rotate(0)scale(1)}67%,70%{animation-timing-function:ease-out;transform:translate(84px,43px)rotate(0)scaleX(-1)}77%{animation-timing-function:ease-in-out;transform:translate(82px,31px)rotate(25deg)scaleX(-1)}84%,to{transform:translate(76px,25.5px)rotate(90deg)scaleX(-1)}}.leg[data-v-aa4bcb08]{transform-origin:0 -7.5px}.leg--front[data-v-aa4bcb08]{animation:.6s linear 7 stride-aa4bcb08}.leg--back[data-v-aa4bcb08],.arm[data-v-aa4bcb08]{animation:.6s linear 7 reverse stride-aa4bcb08}.arm[data-v-aa4bcb08]{transform-origin:0 -15.6px}@keyframes stride-aa4bcb08{0%,to{transform:rotate(0)}25%{transform:rotate(28deg)}75%{transform:rotate(-28deg)}}.girl__bob[data-v-aa4bcb08]{animation:.3s ease-in-out 14 bob-aa4bcb08}@keyframes bob-aa4bcb08{50%{transform:translateY(-1px)}}.ponytail[data-v-aa4bcb08]{transform-origin:-4.3px -24.2px;animation:.3s ease-in-out 14 ponytail-aa4bcb08}@keyframes ponytail-aa4bcb08{50%{transform:rotate(-14deg)}}.eye--open[data-v-aa4bcb08]{opacity:0;animation:7s step-end both eyes-open-aa4bcb08}.eye--closed[data-v-aa4bcb08]{opacity:1;animation:7s step-end both eyes-closed-aa4bcb08}@keyframes eyes-open-aa4bcb08{0%{opacity:1}30%{opacity:0}32%{opacity:1}88%,to{opacity:0}}@keyframes eyes-closed-aa4bcb08{0%{opacity:0}30%{opacity:1}32%{opacity:0}88%,to{opacity:1}}.blanket[data-v-aa4bcb08]{transform-box:fill-box;transform-origin:0;animation:.8s ease-out 5.9s both pull-up-aa4bcb08}@keyframes pull-up-aa4bcb08{0%{transform:scaleX(0)}}.blanket__breathe[data-v-aa4bcb08]{transform-box:fill-box;transform-origin:bottom;animation:4s ease-in-out 7s infinite breathe-aa4bcb08}@keyframes breathe-aa4bcb08{50%{transform:scaleY(1.06)}}.zzz--1[data-v-aa4bcb08]{animation:3s ease-out 7s infinite zzz-aa4bcb08}.zzz--2[data-v-aa4bcb08]{animation:3s ease-out 8s infinite zzz-aa4bcb08}.zzz--3[data-v-aa4bcb08]{animation:3s ease-out 9s infinite zzz-aa4bcb08}@keyframes zzz-aa4bcb08{0%{opacity:0;transform:translate(0)scale(.5)}20%{opacity:1}to{opacity:0;transform:translate(-7px,-15px)scale(1.2)}}.star[data-v-aa4bcb08]{animation:2.4s ease-in-out infinite alternate twinkle-aa4bcb08}.star--2[data-v-aa4bcb08]{animation-delay:-.8s}.star--3[data-v-aa4bcb08]{animation-delay:-1.6s}@keyframes twinkle-aa4bcb08{to{opacity:.25}}@media (prefers-reduced-motion:reduce){.scene svg[data-v-aa4bcb08] *{animation:none!important}.zzz--1[data-v-aa4bcb08]{opacity:.8;transform:translate(-3px,-6px)}}.icon[data-v-3850d3d2]{flex:none;width:1em;height:1em}.nav[data-v-2f63962d]{z-index:5;height:var(--nav-space);padding:0 var(--space-4) max(var(--safe-bottom), var(--space-2));pointer-events:none;position:absolute;bottom:0;left:0;right:0}.nav__inner[data-v-2f63962d]{justify-content:space-between;align-items:center;max-width:32rem;height:100%;margin:0 auto;display:flex}.nav__group[data-v-2f63962d]{gap:var(--space-1);padding:var(--space-1);border:1px solid var(--color-border);background:color-mix(in srgb, var(--color-surface) 80%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);pointer-events:auto;border-radius:999px;display:flex;box-shadow:0 4px 16px #0f172a1f}.nav__scene[data-v-2f63962d]{margin:0 var(--space-2)}.nav-scene-enter-active[data-v-2f63962d],.nav-scene-leave-active[data-v-2f63962d]{transition:opacity .4s,transform .4s}.nav-scene-enter-from[data-v-2f63962d],.nav-scene-leave-to[data-v-2f63962d]{opacity:0;transform:scale(.9)}.nav__button[data-v-2f63962d]{cursor:pointer;width:2.75rem;height:2.75rem;color:var(--color-text-muted);touch-action:manipulation;background:0 0;border:none;border-radius:999px;justify-content:center;align-items:center;padding:0;font-size:1.375rem;display:flex;position:relative}.nav__button--active[data-v-2f63962d]{color:var(--color-primary);background:var(--color-primary-soft)}.nav__badge[data-v-2f63962d]{background:var(--color-danger);color:#fff;text-align:center;border-radius:999px;min-width:1.1rem;height:1.1rem;padding:0 .25rem;font-size:.65rem;font-weight:700;line-height:1.1rem;position:absolute;top:.15rem;right:.1rem}.nav__dot[data-v-2f63962d]{background:var(--color-danger);width:.55rem;height:.55rem;box-shadow:0 0 0 2px var(--color-surface);border-radius:50%;position:absolute;top:.45rem;right:.45rem}.sync-status[data-v-68d077d5]{padding:var(--space-1) var(--space-3);background:var(--color-text);color:var(--color-bg);font-size:var(--font-size-xs);white-space:nowrap;border-radius:999px}.avatar[data-v-703e93e2]{width:var(--avatar-size);height:var(--avatar-size);background:hsl(var(--avatar-hue) 60% 45%);color:#fff;font-size:calc(var(--avatar-size) * .4);-webkit-user-select:none;user-select:none;border-radius:50%;flex:none;place-items:center;font-weight:600;line-height:1;display:inline-grid;overflow:hidden}.avatar__image[data-v-703e93e2]{object-fit:cover;width:100%;height:100%}.chat-toast-region[data-v-ecf0f865]{top:calc(var(--safe-top) + var(--space-2));z-index:20;padding:0 var(--space-4);pointer-events:none;position:fixed;left:0;right:0}.chat-toast[data-v-ecf0f865]{border:1px solid var(--color-border);border-left:4px solid var(--color-primary);border-radius:var(--radius);background:color-mix(in srgb, var(--color-surface) 92%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);pointer-events:auto;align-items:center;max-width:32rem;margin:0 auto;display:flex;box-shadow:0 8px 24px #0f172a33}.chat-toast__body[data-v-ecf0f865]{align-items:center;gap:var(--space-3);min-width:0;padding:var(--space-3);color:inherit;font:inherit;text-align:left;cursor:pointer;touch-action:manipulation;background:0 0;border:none;flex:1;display:flex}.chat-toast__text[data-v-ecf0f865]{min-width:0;display:grid}.chat-toast__name[data-v-ecf0f865]{font-size:var(--font-size-sm);font-weight:700}.chat-toast__preview[data-v-ecf0f865]{-webkit-line-clamp:2;line-clamp:2;overflow-wrap:anywhere;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.chat-toast__close[data-v-ecf0f865]{padding:0 var(--space-3);color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;align-self:stretch}.chat-toast-enter-active[data-v-ecf0f865],.chat-toast-leave-active[data-v-ecf0f865]{transition:transform .25s,opacity .25s}.chat-toast-enter-from[data-v-ecf0f865],.chat-toast-leave-to[data-v-ecf0f865]{opacity:0;transform:translateY(-120%)}@media (prefers-reduced-motion:reduce){.chat-toast-enter-active[data-v-ecf0f865],.chat-toast-leave-active[data-v-ecf0f865]{transition:opacity .2s}.chat-toast-enter-from[data-v-ecf0f865],.chat-toast-leave-to[data-v-ecf0f865]{transform:none}}.eyes[data-v-db631833]{z-index:40;touch-action:none;position:fixed;inset:0;overflow:hidden}.eyes__dim[data-v-db631833]{opacity:0;background:#000;position:absolute;inset:0}.eyes__lids[data-v-db631833]{fill:#000;filter:blur(5px);width:calc(100% + 48px);height:calc(100% + 48px);position:absolute;inset:-24px}.layout[data-v-28b11d17]{height:100dvh;position:relative}.layout__main[data-v-28b11d17]{overscroll-behavior-y:contain;height:100%;overflow-y:auto}.layout__content[data-v-28b11d17]{max-width:32rem;padding:calc(var(--safe-top) + var(--space-4)) var(--space-4) calc(var(--nav-space) + var(--space-4));margin:0 auto}.layout__main--fill[data-v-28b11d17]{overflow:hidden}.layout__main--fill .layout__content[data-v-28b11d17]{height:100%;padding-top:calc(var(--safe-top) + var(--space-2));padding-bottom:calc(var(--nav-space) + var(--space-2));flex-direction:column;display:flex}.layout__main--fill .layout__content[data-v-28b11d17]>*{flex:1;min-height:0}.layout__status[data-v-28b11d17]{top:calc(var(--safe-top) + var(--space-2));z-index:10;position:fixed;left:50%;transform:translate(-50%)}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--color-bg:#f8fafc;--color-surface:#fff;--color-border:#e2e8f0;--color-text:#0f172a;--color-text-muted:#64748b;--color-primary:#0ea5e9;--color-primary-soft:#e0f2fe;--color-on-primary:#fff;--color-danger:#dc2626;--color-success:#16a34a;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-8:2rem;--font-size-xs:.75rem;--font-size-sm:.875rem;--font-size-md:1rem;--font-size-lg:1.125rem;--font-size-xl:1.5rem;--radius:.875rem;--nav-height:3.75rem;--nav-space:calc(var(--nav-height) + max(var(--safe-bottom), var(--space-2)));--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px)}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--color-bg:#0b1120;--color-surface:#111827;--color-border:#1f2937;--color-text:#f1f5f9;--color-text-muted:#94a3b8;--color-primary:#38bdf8;--color-primary-soft:#0c2a3d;--color-on-primary:#0b1120;--color-danger:#f87171;--color-success:#4ade80}}[data-feature=photos]{--color-primary:#4f46e5;--color-primary-soft:#e0e7ff}[data-feature=lessons]{--color-primary:#b45309;--color-primary-soft:#fef3c7}[data-feature=calendar]{--color-primary:#0f766e;--color-primary-soft:#ccfbf1}[data-feature=games]{--color-primary:#7c3aed;--color-primary-soft:#ede9fe}[data-feature=chat]{--color-primary:#db2777;--color-primary-soft:#fce7f3}@media (prefers-color-scheme:dark){[data-feature=photos]{--color-primary:#818cf8;--color-primary-soft:#1e1b4b}[data-feature=lessons]{--color-primary:#fbbf24;--color-primary-soft:#3b2a0b}[data-feature=calendar]{--color-primary:#2dd4bf;--color-primary-soft:#0b3330}[data-feature=games]{--color-primary:#a78bfa;--color-primary-soft:#2a2152}[data-feature=chat]{--color-primary:#f472b6;--color-primary-soft:#3d1730}}:root{--phase-menstrual:#e11d48;--phase-follicular:#059669;--phase-ovulation:#d97706;--phase-luteal:#7c3aed}@media (prefers-color-scheme:dark){:root{--phase-menstrual:#fb7185;--phase-follicular:#34d399;--phase-ovulation:#fbbf24;--phase-luteal:#a78bfa}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;overscroll-behavior-y:none}body{background:var(--color-bg);color:var(--color-text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:var(--font-size-md);margin:0;line-height:1.5}h1,h2,p{margin:0}h1{font-size:var(--font-size-xl)}button,input,select,textarea{font:inherit;color:inherit}.stack{gap:var(--space-4);flex-direction:column;display:flex}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--space-4)}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.back-link{color:var(--color-primary);font-size:var(--font-size-sm);place-self:flex-start start;font-weight:600;text-decoration:none}.muted{color:var(--color-text-muted)}.error{color:var(--color-danger)}.field{gap:var(--space-1);font-size:var(--font-size-sm);display:grid}input,select,textarea{width:100%;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:calc(var(--radius) / 1.5);background:var(--color-bg);font-size:max(16px,1rem)}textarea{resize:vertical;min-height:5rem;line-height:1.4}.button{min-height:2.75rem;padding:var(--space-2) var(--space-4);border:1px solid var(--color-border);border-radius:calc(var(--radius) / 1.5);background:var(--color-surface);cursor:pointer;touch-action:manipulation;font-weight:600}.button--primary{background:var(--color-primary);color:var(--color-on-primary);border-color:#0000}.button:disabled{opacity:.5;cursor:default}.button:active:not(:disabled){transform:scale(.98)}.button--small{min-height:2.25rem;padding:var(--space-1) var(--space-3);font-size:var(--font-size-sm)}.button--danger{color:var(--color-danger)}.chip{padding:.125rem var(--space-2);background:var(--color-primary-soft);color:var(--color-text);font-size:var(--font-size-xs);white-space:nowrap;border-radius:999px;font-weight:600;display:inline-block}.chip--action{background:var(--color-primary);color:var(--color-on-primary)}
