:root{--jj-ink:#0e1726;--jj-ink-2:#2a3344;--jj-ink-3:#5b6577;--jj-ink-4:#8a93a4;--jj-ink-5:#b7becb;--jj-ink-6:#d9dde4;--jj-ink-7:#eceff3;--jj-surface:#fff;--jj-canvas:#eef2f8;--jj-canvas-2:#edf1f6;--jj-glass-1:#ffffff8c;--jj-glass-2:#fff6;--jj-glass-3:#ffffffb3;--jj-glass-tint:#e8eef773;--jj-glass-border:#ffffffa6;--jj-hairline:#0e172614;--jj-hairline-2:#0e17260a;--jj-accent:#1a2854;--jj-accent-soft:#1a28546b;--jj-chart-1:#1a2854;--jj-chart-2:#384d92;--jj-positive:#10b981;--jj-positive-soft:#96c3af4d;--jj-attention:#c9420f;--jj-attention-soft:#ff783c6b;--jj-neutral-soft:var(--jj-ink-7);--jj-sale:#f2b311;--jj-black:#07090c;--jj-menopause-accent:#be6e84;--jj-menopause-card-bg:#fdf5f7;--jj-menopause-card-border:#f0dee4;--jj-menopause-icon-bg:#f6e4ea;--jj-menopause-program-border:#eac7d1;--jj-jill-brand:#dd7e7c;--jj-jill-brand-soft:#ecacaa;--jj-jill-brand-glow:#dd7e7c33;--jj-jill-brand-line:#dd7e7c21;--jj-jill-on-brand:#2a1220;--jj-jill-plum:#241322;--jj-jill-plum-glow:#7a264080;--jj-jill-paper:#fdf6f5;--jj-jill-paper-text:#fdf6f5bf;--jj-jill-paper-muted:#fdf6f58c;--jj-jill-paper-fill:#fdf6f512;--jj-jill-paper-fill-hover:#fdf6f51c;--jj-jill-paper-line:#fdf6f52e;--jj-share-whatsapp:#25d366;--jj-share-messages:#34c759;--jj-ink-hsl:214 43% 10%;--jj-ink-2-hsl:219 21% 22%;--jj-ink-3-hsl:219 13% 41%;--jj-canvas-hsl:216 42% 95%;--jj-canvas-2-hsl:214 23% 94%;--jj-accent-hsl:226 53% 22%;--jj-chart-1-hsl:226 53% 22%;--jj-chart-2-hsl:226 45% 40%;--jj-positive-hsl:160 84% 39%;--jj-attention-hsl:17 86% 42%;--fg-1:var(--jj-ink);--bg-app:var(--jj-canvas);--bg-surface:var(--jj-surface);--bg-glass:var(--jj-glass-1);--border-glass:var(--jj-glass-border);--color-bg-base:var(--jj-surface);--color-surface-card:var(--jj-canvas);--color-action-primary:var(--jj-ink);--color-text-primary:var(--jj-ink);--color-status-success:var(--jj-positive);--blur-md:blur(22px) saturate(160%);--blur-lg:blur(40px) saturate(180%);--shadow-glass-sm:0 1px 2px #0e17260a, 0 4px 16px #0e17260a;--shadow-glass-md:0 1px 2px #0e17260a, 0 8px 28px #0e17260f;--shadow-glass-lg:0 1px 2px #0e17260a, 0 18px 48px #0e17261a;--jj-shadow-soft:var(--shadow-glass-md);--border-radius-base:6px;--border-radius-card:16px;--border-radius-pill:999px;--border-radius-input-pill:20px}.jj-canvas{background:radial-gradient(1200px 800px at 10% -10%, #bbcee38c, transparent 60%), radial-gradient(900px 700px at 110% 10%, #d6dce880, transparent 55%), radial-gradient(800px 700px at 50% 110%, #c4d2e073, transparent 55%), var(--jj-canvas)}.glass-header{background-color:hsl(var(--background) / .92);-webkit-backdrop-filter:var(--blur-lg);backdrop-filter:var(--blur-lg);box-shadow:0 1px 0 0 var(--jj-hairline);flex-shrink:0}.glass-footer{-webkit-backdrop-filter:var(--blur-md);backdrop-filter:var(--blur-md);flex-shrink:0}.glass-pill{background:var(--jj-glass-3);-webkit-backdrop-filter:var(--blur-md);border:1px solid var(--border-glass);box-shadow:var(--shadow-glass-sm);transition:background-color .15s,box-shadow .15s}.glass-pill:hover:not(:disabled){background:color-mix(in srgb, white 72%, var(--jj-glass-tint))}.glass-strong{background:var(--jj-glass-3);-webkit-backdrop-filter:var(--blur-lg);border:1px solid var(--border-glass);border-radius:var(--border-radius-card);box-shadow:var(--shadow-glass-lg);transition:background-color .2s,border-color .2s,box-shadow .2s,transform .2s}button.glass-strong:hover:not(:disabled):not([data-state=on]){background:color-mix(in srgb, white 78%, var(--jj-glass-tint));border-color:color-mix(in srgb, hsl(var(--primary)) 12%, var(--border-glass));box-shadow:var(--shadow-glass-lg);transform:translateY(-1px)}button.glass-strong[data-state=on]{background:var(--jj-surface);border-color:color-mix(in srgb, hsl(var(--primary)) 35%, var(--border-glass));box-shadow:var(--shadow-glass-md)}.glass-input-pill{border-radius:var(--border-radius-input-pill);background:var(--jj-glass-3);-webkit-backdrop-filter:var(--blur-md);border:1px solid var(--border-glass);box-shadow:var(--shadow-glass-sm);flex:1;align-items:center;transition:box-shadow .15s,background-color .15s;display:flex;overflow:hidden}.glass-input-pill:focus-within{background:color-mix(in srgb, white 80%, var(--jj-glass-tint));box-shadow:var(--shadow-glass-sm), 0 0 0 3px hsl(var(--primary) / .1);border-color:color-mix(in srgb, hsl(var(--primary)) 45%, var(--border-glass))}.jj-chat-bubble-incoming{background:var(--jj-glass-3);-webkit-backdrop-filter:var(--blur-md);border:1px solid var(--border-glass);border-radius:var(--border-radius-card);border-top-left-radius:var(--border-radius-base);box-shadow:var(--shadow-glass-sm);color:var(--fg-1)}.jj-chat-bubble-outgoing{background:color-mix(in srgb, var(--jj-accent) 7%, var(--jj-surface));border:1px solid color-mix(in srgb, var(--jj-accent) 18%, var(--jj-hairline));border-radius:var(--border-radius-card);border-bottom-right-radius:var(--border-radius-base);box-shadow:var(--shadow-glass-sm);color:var(--fg-1)}.pb-safe{padding-bottom:env(safe-area-inset-bottom,0px)}.pb-2-safe{padding-bottom:calc(.5rem + env(safe-area-inset-bottom,0px))}.pb-4-safe{padding-bottom:calc(1rem + env(safe-area-inset-bottom,0px))}.jj-scrollbar{scrollbar-width:thin;scrollbar-color:var(--jj-ink-6) transparent}.jj-scrollbar::-webkit-scrollbar{width:6px;height:6px}.jj-scrollbar::-webkit-scrollbar-track{background:0 0}.jj-scrollbar::-webkit-scrollbar-thumb{background-color:color-mix(in srgb, var(--jj-ink) 18%, transparent);border-radius:var(--border-radius-pill);background-clip:padding-box;border:2px solid #0000;transition:background-color .15s}.jj-scrollbar:hover::-webkit-scrollbar-thumb{background-color:color-mix(in srgb, var(--jj-ink) 28%, transparent)}.jj-scrollbar::-webkit-scrollbar-thumb:active{background-color:color-mix(in srgb, var(--jj-ink) 38%, transparent)}
:root{--font-lora:"Lora";--font-schibsted-grotesk:"Schibsted Grotesk"}.theme-jack,.theme-jill,.theme-default{--font-heading:var(--font-lora), serif;--font-body:var(--font-schibsted-grotesk), sans-serif;--h1-size:28px;--h1-weight:600;--h1-leading:1.15;--h2-size:22px;--h2-weight:600;--h2-leading:1.2;--h3-size:18px;--h3-weight:500;--h3-leading:1.25;--h4-size:16px;--h4-weight:500;--h4-leading:1.25;--h5-size:14px;--h5-weight:500;--h5-leading:1.25;--text-eyebrow-size:12px;--text-eyebrow-weight:500;--text-eyebrow-tracking:.06em;--text-lead-size:16px;--text-lead-weight:500;--text-support-size:14px;--text-support-weight:400;--text-body-size:14px;--text-body-weight:400;--text-body-secondary-size:13px;--text-body-secondary-weight:400;--text-caption-size:12px;--text-caption-weight:400;--text-system-size:12px;--text-system-weight:700;--text-label-size:14px;--text-label-weight:500;--text-link-size:14px;--text-link-weight:400;--text-link-small-size:12px;--text-link-small-weight:400;--text-body-strong-size:14px;--text-body-strong-weight:600;--text-mono-size:13px;--text-mono-weight:400;--font-mono:"ui-monospace", "SFMono-Regular", "Menlo", "Monaco", "Consolas", "Liberation Mono", "Courier New", monospace}@media (min-width:768px){.theme-jack,.theme-jill,.theme-default{--h1-size:32px;--h2-size:24px;--h3-size:20px;--h4-size:18px;--h5-size:16px;--text-lead-size:17px;--text-body-size:15px;--text-body-strong-size:15px}}@media (min-width:1024px){.theme-jack,.theme-jill,.theme-default{--h1-size:36px;--h2-size:28px;--h3-size:22px;--h4-size:20px;--h5-size:17px;--text-lead-size:18px;--text-body-size:16px;--text-body-strong-size:16px}}.type-body{font-family:var(--font-body);font-size:var(--text-body-size);font-weight:var(--text-body-weight);line-height:1.5}.type-caption{font-family:var(--font-body);font-size:var(--text-caption-size);font-weight:var(--text-caption-weight);line-height:1.45}.type-system{font-family:var(--font-body);font-size:var(--text-system-size);font-weight:var(--text-system-weight);color:hsl(var(--muted-foreground));line-height:1.45}.type-body-strong{font-family:var(--font-body);font-size:var(--text-body-strong-size);font-weight:var(--text-body-strong-weight);line-height:1.5}.type-link,.type-link-small{font-family:var(--font-body);color:hsl(var(--primary));text-decoration:underline;-webkit-text-decoration-color:hsl(var(--primary));text-decoration-color:hsl(var(--primary));text-underline-position:under;-webkit-text-decoration-skip:ink;text-decoration-skip-ink:auto;cursor:pointer;line-height:1.4;text-decoration-thickness:1px}.type-link{font-size:var(--text-link-size);font-weight:var(--text-link-weight)}.type-link-small{font-size:var(--text-link-small-size);font-weight:var(--text-link-small-weight)}.type-link:hover,.type-link-small:hover,.type-link:active,.type-link-small:active{color:hsl(var(--primary) / .85);-webkit-text-decoration-color:hsl(var(--primary) / .85);text-decoration-color:hsl(var(--primary) / .85)}
.theme-jack,.theme-jill,.theme-default{--background:var(--jj-canvas-hsl);--foreground:var(--jj-ink-hsl);--card:0 0% 100%;--card-foreground:var(--jj-ink-hsl);--popover:0 0% 100%;--popover-foreground:var(--jj-ink-hsl);--primary:var(--jj-ink-hsl);--primary-foreground:0 0% 100%;--secondary:var(--jj-canvas-2-hsl);--secondary-foreground:var(--jj-ink-3-hsl);--muted:var(--jj-canvas-2-hsl);--muted-foreground:var(--jj-ink-3-hsl);--accent:var(--jj-accent-hsl);--accent-foreground:0 0% 100%;--destructive:var(--jj-attention-hsl);--destructive-foreground:0 0% 100%;--border:218 17% 87%;--input:218 17% 87%;--ring:var(--jj-ink-hsl);--radius:var(--border-radius-base);--chart-1:var(--jj-chart-1-hsl);--chart-2:var(--jj-chart-2-hsl);--chart-3:var(--jj-ink-3-hsl);--chart-4:198 18% 65%;--chart-5:var(--jj-attention-hsl)}


@keyframes pulse-border{0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--jj-positive) 57%, transparent)}70%{box-shadow:0 0 0 6px #0000}to{box-shadow:0 0 #0000}}.animate-pulse-border{animation:2s infinite pulse-border}@keyframes circulate-border{0%{opacity:.4;border-color:#f97316 #0000 #0000 #f97316}25%{opacity:.6;border-color:#f97316 #f97316 #0000 #0000}50%{opacity:.8;border-color:#0000 #f97316 #f97316 #0000}75%{opacity:.6;border-color:#0000 #0000 #f97316 #f97316}to{opacity:.4;border-color:#f97316 #0000 #0000 #f97316}}.animate-circulate-border{animation:3s ease-in-out infinite circulate-border,2s ease-in-out infinite pulse-border;box-shadow:0 0 #f9731666}@keyframes slideUpAndFade{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.animate-slideUpAndFade{animation:.25s ease-out both slideUpAndFade}@keyframes messageInLeft{0%{opacity:0;transform:translate(-12px)translateY(4px)scale(.97)}to{opacity:1;transform:translate(0)translateY(0)scale(1)}}@keyframes messageInRight{0%{opacity:0;transform:translate(12px)translateY(4px)scale(.97)}to{opacity:1;transform:translate(0)translateY(0)scale(1)}}.animate-message-in-left{animation:.22s cubic-bezier(.16,1,.3,1) both messageInLeft}.animate-message-in-right{animation:.22s cubic-bezier(.16,1,.3,1) both messageInRight}
