@font-face{font-family:Playfair Display;font-style:normal;font-weight:400 900;font-display:swap;src:url(../media/65c558afe41e89d6-s.3jppgd0xzx-0d.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Playfair Display;font-style:normal;font-weight:400 900;font-display:swap;src:url(../media/14e23f9b59180572-s.0t8ljjjn9wtsx.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Playfair Display;font-style:normal;font-weight:400 900;font-display:swap;src:url(../media/b49b0d9b851e4899-s.2zyohmvb-ks7f.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Playfair Display;font-style:normal;font-weight:400 900;font-display:swap;src:url(../media/2a65768255d6b625-s.p.3u4lli0-axodc.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Playfair Display Fallback;src:local(Times New Roman);ascent-override:97.25%;descent-override:22.56%;line-gap-override:0.0%;size-adjust:111.26%}.playfair_display_d5eda251-module__JGL7aG__className{font-family:Playfair Display,Playfair Display Fallback;font-style:normal}.playfair_display_d5eda251-module__JGL7aG__variable{--font-playfair:"Playfair Display", "Playfair Display Fallback"}
@font-face{font-family:DM Sans;font-style:normal;font-weight:100 1000;font-display:swap;src:url(../media/c3cb240f9c892514-s.3z_x6eowsw16y.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-weight:100 1000;font-display:swap;src:url(../media/5c285b27cdda1fe8-s.p.2_mbdogr7ni8i.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans Fallback;src:local(Arial);ascent-override:94.9%;descent-override:29.66%;line-gap-override:0.0%;size-adjust:104.53%}.dm_sans_78e3e10c-module__ZPtN2q__className{font-family:DM Sans,DM Sans Fallback;font-style:normal}.dm_sans_78e3e10c-module__ZPtN2q__variable{--font-dm-sans:"DM Sans", "DM Sans Fallback"}
@theme inline{--color-background: var(--background); --color-foreground: var(--foreground); --color-primary: #6b9e80; --color-primary-foreground: #fff; --color-secondary: #c47a5a; --color-secondary-foreground: #fff; --color-accent: #c4959e; --color-accent-foreground: #3d2c35; --color-muted: #f5ede8; --color-muted-foreground: #8a7a72; --color-card: #fff; --color-card-foreground: #3d2c35; --color-border: #ede0d8; --color-destructive: #d95f5f; --font-sans: var(--font-dm-sans), system-ui, sans-serif; --font-serif: var(--font-playfair), Georgia, serif; --radius: 1rem;}:root{--background:#09070e;--foreground:#ffffffbf;--bg:#09070e;--bg-mid:#0d0a16;--bg-dark:#080c12;--text:#ffffffbf;--text-strong:#ffffffe0;--text-muted:#ffffff52;--text-faint:#ffffff2e;--violet:#9b7cc8;--violet-light:#c4b8e0;--violet-dark:#7a52b0;--violet-deep:#5a3d8a;--terracotta:#c47a5a;--gold:#c9a96e;--gold-dark:#a8843a;--border:#ffffff0f;--border-strong:#ffffff17;--grad-primary:linear-gradient(135deg, #2d8b7a 0%, #1e6b55 100%);--grad-sage:linear-gradient(135deg, #6b9e80 0%, #4a7a5b 100%);--grad-hero:linear-gradient(148deg, #1e6b55 0%, #2d8b7a 40%, #3d7a68 75%, #4a7a5b 100%);--grad-dark:linear-gradient(148deg, #1a1220 0%, #2a1e30 55%, #1e2a28 100%);--grad-premium:linear-gradient(135deg, #c9a96e, #a8843a);--grad-text:linear-gradient(135deg, #2d8b7a 0%, #9b8ab8 60%, #c4959e 100%)}@keyframes orb-a{0%,to{transform:translate(0)scale(1)}50%{transform:translate(44px,-28px)scale(1.06)}}@keyframes orb-b{0%,to{transform:translate(0)}50%{transform:translate(-32px,36px)scale(1.04)}}@keyframes orb-c{0%,to{transform:translate(0)}50%{transform:translate(18px,14px)}}@keyframes glow-breathe{0%,to{opacity:.5}50%{opacity:.9}}@keyframes speak-ring{0%,to{opacity:.35;transform:scale(1)}50%{opacity:.7;transform:scale(1.06)}}@keyframes speak-ring2{0%,to{opacity:.2;transform:scale(1)}50%{opacity:.45;transform:scale(1.12)}}@keyframes wave-bar{0%,to{transform:scaleY(.25)}50%{transform:scaleY(1)}}@keyframes screen-in{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes bar-in{0%{transform-origin:0;transform:scaleX(0)}to{transform-origin:0;transform:scaleX(1)}}@keyframes dot-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(1.6)}}@keyframes chat-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-up{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes bar-scale-in{0%{transform-origin:bottom;transform:scaleY(0)}to{transform-origin:bottom;transform:scaleY(1)}}.glass{-webkit-backdrop-filter:blur(24px)saturate(130%);background:#ffffff0a;border:1px solid #ffffff17}.glass-strong{-webkit-backdrop-filter:blur(32px);background:#fff1;border:1px solid #ffffff1f}.glass-violet{-webkit-backdrop-filter:blur(20px);background:#8b6db512;border:1px solid #8b6db52e}.glass-dark{background:#8b6db512;border:1px solid #8b6db52e}.lift{cursor:pointer;transition:transform .26s cubic-bezier(.22,1,.36,1)}.lift:hover{transform:translateY(-2px)}.nav-item{cursor:pointer;color:#ffffff52;text-align:left;background:0 0;border:none;border-radius:12px;align-items:center;gap:12px;width:100%;padding:10px 14px;font-family:DM Sans,system-ui,sans-serif;font-size:13px;font-weight:300;transition:background .18s,color .18s;display:flex;position:relative}.nav-item:hover{color:#ffffffa6;background:#ffffff0d}.nav-item.on{color:#c4b8e0e6;background:#8b6db51f;font-weight:400}.nav-item.on:before{content:"";background:linear-gradient(#9b7cc8,#c4b8e0);border-radius:0 2px 2px 0;width:2px;height:16px;position:absolute;top:50%;left:0;transform:translateY(-50%)}.bubble-ai{color:#ffffff9e;background:#ffffff0a;border:1px solid #ffffff17;border-radius:3px 18px 18px;align-self:flex-start;max-width:80%;padding:14px 18px;font-size:13.5px;font-weight:300;line-height:1.75;animation:.28s cubic-bezier(.22,1,.36,1) chat-in}.bubble-user{color:#ffffffc7;background:#8b6db52e;border:1px solid #8b6db547;border-radius:18px 3px 18px 18px;align-self:flex-end;max-width:72%;padding:12px 18px;font-size:13.5px;font-weight:300;line-height:1.75;animation:.28s cubic-bezier(.22,1,.36,1) chat-in}.btn-primary{color:#fff;height:52px;font-size:14px;font-weight:400;font-family:var(--font-dm-sans), system-ui, sans-serif;cursor:pointer;background:linear-gradient(135deg,#9b7cc8 0%,#7a52b0 100%);border:none;border-radius:9999px;justify-content:center;align-items:center;min-height:44px;padding:0 28px;text-decoration:none;transition:opacity .18s,transform .18s,box-shadow .18s;display:inline-flex;box-shadow:0 4px 24px #7a52b061}.btn-primary:hover{opacity:.88;transform:translateY(-1px);box-shadow:0 8px 32px #7a52b075}.btn-primary:active{opacity:1;transform:translateY(0)}.btn-ghost{color:#ffffff9e;height:52px;font-size:14px;font-weight:300;font-family:var(--font-dm-sans), system-ui, sans-serif;cursor:pointer;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:9999px;justify-content:center;align-items:center;min-height:44px;padding:0 24px;text-decoration:none;transition:background .18s,color .18s;display:inline-flex}.btn-ghost:hover{color:#ffffffd1;background:#ffffff17}.auth-input{width:100%;height:52px;font-size:14px;font-family:var(--font-dm-sans), system-ui, sans-serif;color:#ffffffbf;background:#ffffff0a;border:1px solid #ffffff1a;border-radius:14px;outline:none;padding:0 18px;font-weight:300;transition:border-color .2s,box-shadow .2s}*,:before,:after{box-sizing:border-box}a{color:inherit;text-decoration:none}body{background:var(--background);color:var(--foreground);font-family:var(--font-dm-sans), system-ui, sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-size:16px;line-height:1.65}h1,h2,h3{font-family:var(--font-playfair), Georgia, serif;letter-spacing:-.02em;line-height:1.2}button,a,[role=button]{min-height:44px}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#ffffff14;border-radius:99px}::-webkit-scrollbar-thumb:hover{background:#ffffff24}.app-sidebar{display:none}.app-main{padding-bottom:90px}.mobile-nav-wrap{display:block}@media (min-width:1024px){.app-sidebar{z-index:20;-webkit-backdrop-filter:blur(32px);background:#ffffff05;border-right:1px solid #ffffff0f;flex-direction:column;width:252px;padding:36px 16px 24px;display:flex;position:fixed;top:0;bottom:0;left:0;box-shadow:4px 0 48px #0000003d}.app-main{margin-left:252px;padding-bottom:48px}.mobile-nav-wrap{display:none}}.sidebar-link{color:#ffffff52;font-size:13px;font-weight:300;font-family:var(--font-dm-sans), system-ui, sans-serif;letter-spacing:.005em;border-radius:12px;align-items:center;gap:11px;min-height:44px;padding:10px 14px;text-decoration:none;transition:background .18s,color .18s;display:flex;position:relative}.sidebar-link:hover{color:#ffffffa6;background:#ffffff0d}.sidebar-link.active{color:#c4b8e0e6;background:#8b6db51f;font-weight:400}.sidebar-link.active:before{content:"";background:linear-gradient(#9b7cc8,#c4b8e0);border-radius:0 2px 2px 0;width:2px;height:16px;position:absolute;top:50%;left:0;transform:translateY(-50%)}.sidebar-icon{opacity:.4;flex-shrink:0;width:18px;height:18px;transition:opacity .18s}.sidebar-link:hover .sidebar-icon{opacity:.65}.sidebar-link.active .sidebar-icon{opacity:.85}.sidebar-upgrade{background:#8b6db514;border:1px solid #8b6db526;border-radius:18px;margin-top:12px;padding:18px 16px;position:relative;overflow:hidden}.sidebar-upgrade:before{content:"";background:#9b7cc81f;border-radius:50%;width:100px;height:100px;position:absolute;top:-30px;right:-30px}.dash-grid{grid-template-columns:1fr;gap:14px;display:grid}@media (min-width:1024px){.dash-grid{grid-template-columns:1fr 340px;align-items:start;gap:24px}}.dash-right-col{display:none}@media (min-width:1024px){.dash-right-col{display:flex}.dash-features-mobile{display:none!important}}.dash-3col{grid-template-columns:1fr;align-items:start;gap:18px;display:grid}@media (min-width:1024px){.dash-3col{grid-template-columns:1fr 1fr 300px}}.dash-3col-sidebar{flex-direction:column;gap:14px;display:flex}.dash-stat-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.dash-stat-card{text-align:center;border-radius:18px;padding:18px 14px}.dash-quick-tools{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.dash-quick-tool{text-align:center;border-radius:18px;flex-direction:column;align-items:center;gap:6px;padding:14px 10px;text-decoration:none;transition:transform .15s,box-shadow .15s;display:flex}.dash-quick-tool:hover{transform:translateY(-2px);box-shadow:0 8px 24px #1a12201a}.dash-hero{-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);background:#ffffff0a;border:1px solid #ffffff17;border-radius:28px;margin-bottom:20px;padding:32px 28px 28px;position:relative;overflow:hidden}.dash-hero:before{content:"";background:radial-gradient(circle,#8b6db51f 0%,#0000 70%);border-radius:50%;width:240px;height:240px;position:absolute;top:-60px;right:-60px}.dash-hero:after{content:"";background:radial-gradient(circle,#c4959e12 0%,#0000 70%);border-radius:50%;width:180px;height:180px;position:absolute;bottom:-40px;left:-40px}.dash-chip{color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font-size:13px;font-weight:600;font-family:var(--font-dm-sans), system-ui, sans-serif;background:#ffffff26;border:1px solid #ffffff40;border-radius:9999px;align-items:center;gap:7px;min-height:40px;padding:9px 18px;text-decoration:none;transition:background .18s;display:inline-flex}.dash-chip:hover{background:#ffffff38}.dash-chip-active{background:#ffffff47;border-color:#ffffff73}.gradient-text{background:linear-gradient(135deg,#9b7cc8 0%,#c4b8e0 60%,#e8c4cc 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.dash-card-hover:hover{transform:translateY(-2px);box-shadow:0 10px 32px #00000047;background:#ffffff13!important}.insight-card{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#8b6db512;border:1px solid #8b6db524;border-radius:24px;padding:26px 24px;position:relative;overflow:hidden}.insight-card:before{content:"";background:radial-gradient(circle,#9b7cc829 0%,#0000 70%);border-radius:50%;width:160px;height:160px;position:absolute;top:-50px;right:-50px}.insight-card:after{content:"";background:radial-gradient(circle,#c4959e1a 0%,#0000 70%);border-radius:50%;width:140px;height:140px;position:absolute;bottom:-40px;left:-40px}.insight-bar-track{background:#ffffff14;border-radius:9999px;height:7px;margin-top:8px;overflow:hidden}.insight-bar-fill{border-radius:9999px;height:100%;animation:.9s cubic-bezier(.22,1,.36,1) both barGrow}@keyframes barGrow{0%{width:0!important}}.mobile-nav-bar{z-index:50;padding:0 10px 10px;position:fixed;bottom:0;left:0;right:0}.mobile-nav-inner{-webkit-backdrop-filter:blur(24px);background:#09070ef0;border:1px solid #ffffff14;border-radius:28px;justify-content:space-around;align-items:center;padding:4px;display:flex;box-shadow:0 -2px #0000004d,0 8px 32px #0000005c}.mobile-nav-item{color:#ffffff47;border-radius:20px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;min-width:54px;min-height:54px;padding:8px 10px;text-decoration:none;transition:color .2s,background .2s;display:flex;position:relative}.mobile-nav-item-active{color:#c4b8e0e6;background:#8b6db51f}.mobile-nav-item-active:before{content:"";background:linear-gradient(90deg,#9b7cc8,#c4b8e0);border-radius:0 0 3px 3px;width:24px;height:2px;position:absolute;top:0;left:50%;transform:translate(-50%)}.mobile-nav-label{letter-spacing:.01em;font-size:10px;font-weight:300;font-family:var(--font-dm-sans), system-ui, sans-serif;color:#ffffff47}.mobile-nav-label-active{color:#c4b8e0e6;font-weight:400}.comm-cat-row{-webkit-backdrop-filter:blur(20px);cursor:pointer;background:#ffffff4d;border:1.5px solid #ffffff8c;border-radius:18px;align-items:center;gap:14px;padding:16px 18px;transition:transform .18s,box-shadow .18s,background .18s;display:flex;overflow:hidden;box-shadow:0 2px 16px #3d2c350f}.comm-cat-row:hover{background:#ffffff94;border-color:#2d8b7a38;transform:translateY(-2px);box-shadow:0 8px 28px #3d2c351a}.auth-bg{background:#fdf8f4;justify-content:center;align-items:center;min-height:100vh;padding:24px 16px;display:flex;position:relative;overflow:hidden}.auth-bg:before{content:"";pointer-events:none;background-image:radial-gradient(70% 55% at 5% 0,#2d8b7a2e 0%,#0000 58%),radial-gradient(55% 45% at 95% 100%,#c4959e24 0%,#0000 52%);position:fixed;inset:0}.auth-card{-webkit-backdrop-filter:blur(24px);background:#ffffff8c;border:1.5px solid #ffffffb3;border-radius:28px;width:100%;max-width:420px;padding:40px 36px;box-shadow:0 8px 40px #3d2c3517,0 2px 8px #3d2c350d}.auth-label{color:#3d2c35;font-size:13px;font-weight:600;font-family:var(--font-dm-sans), system-ui, sans-serif;letter-spacing:.01em;margin-bottom:8px;display:block}.auth-input{width:100%;height:50px;font-size:15px;font-family:var(--font-dm-sans), system-ui, sans-serif;color:#3d2c35;box-sizing:border-box;background:#ffffffb3;border:1.5px solid #ede0d8cc;border-radius:14px;outline:none;padding:0 18px;transition:border-color .2s,box-shadow .2s}.auth-input:focus{border-color:#2d8b7a;box-shadow:0 0 0 3px #2d8b7a26}.auth-input::placeholder{color:#c0b4ac}.auth-btn{color:#fff;width:100%;height:52px;font-size:16px;font-weight:700;font-family:var(--font-dm-sans), system-ui, sans-serif;cursor:pointer;letter-spacing:.01em;background:linear-gradient(135deg,#2d8b7a 0%,#1e6b55 100%);border:none;border-radius:16px;transition:opacity .2s,transform .15s;box-shadow:0 4px 20px #2d8b7a61}.auth-btn:hover{opacity:.93;transform:translateY(-1px)}.auth-btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.auth-error{color:#c0392b;font-size:14px;font-family:var(--font-dm-sans), system-ui, sans-serif;background:#c9525212;border:1px solid #c9525240;border-radius:12px;padding:12px 16px}.m-nav-glass{-webkit-backdrop-filter:blur(20px);background:#fdf8f4e0;border-bottom:1px solid #ede0d880}.m-btn{font-family:var(--font-dm-sans), system-ui, sans-serif;cursor:pointer;letter-spacing:-.005em;border:none;border-radius:14px;align-items:center;gap:8px;min-height:44px;font-weight:600;text-decoration:none;transition:opacity .18s,transform .15s,box-shadow .18s;display:inline-flex}.m-btn:hover{opacity:.88;transform:translateY(-1px)}.m-btn-primary{color:#fff;background:linear-gradient(135deg,#2d8b7a 0%,#1e6b55 100%);border-radius:16px;box-shadow:0 6px 28px #2d8b7a61}.m-btn-outline{color:#3d2c35;background:#fff;border:1.5px solid #ede0d8e6;box-shadow:0 2px 12px #3d2c350f}.m-btn-sage-sm{color:#fff;background:linear-gradient(135deg,#2d8b7a 0%,#4a7a5b 100%);border-radius:12px;padding:0 18px;font-size:14px;box-shadow:0 3px 14px #2d8b7a4d}.m-btn-ghost-sm{color:#6a5a62;background:0 0;padding:0 14px;font-size:14px}.m-btn-ghost-sm:hover{opacity:1;background:#3d2c350d}.m-feature-card{border:1.5px solid #ede0d899;border-radius:24px;padding:30px 28px;transition:transform .18s,box-shadow .18s}.m-feature-card:hover{transform:translateY(-3px);box-shadow:0 12px 36px #3d2c3517}.pulse-dot{background:#2d8b7a;border-radius:50%;flex-shrink:0;width:8px;height:8px;animation:2s ease-out infinite pulse;box-shadow:0 0 #2d8b7a80}@keyframes pulse{0%{box-shadow:0 0 #2d8b7a8c}70%{box-shadow:0 0 0 7px #2d8b7a00}to{box-shadow:0 0 #2d8b7a00}}@keyframes bounce{0%,80%,to{transform:translateY(0)}40%{transform:translateY(-6px)}}@keyframes fadeUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes shimmer{0%{background-position:-200%}to{background-position:200%}}@keyframes stepSlideIn{0%{opacity:0;transform:translate(40px)scale(.97)}to{opacity:1;transform:translate(0)scale(1)}}@keyframes stepSlideBack{0%{opacity:0;transform:translate(-40px)scale(.97)}to{opacity:1;transform:translate(0)scale(1)}}.step-enter{animation:.38s cubic-bezier(.22,1,.36,1) both stepSlideIn}.step-enter-back{animation:.38s cubic-bezier(.22,1,.36,1) both stepSlideBack}@keyframes popSelect{0%{transform:scale(1)}40%{transform:scale(1.14)}70%{transform:scale(.96)}to{transform:scale(1)}}.pop-select{animation:.28s cubic-bezier(.34,1.56,.64,1) both popSelect}@keyframes sparkle1{0%{opacity:0;transform:translate(0)scale(0)rotate(0)}40%{opacity:1}to{opacity:0;transform:translate(-32px,-48px)scale(1.2)rotate(240deg)}}@keyframes sparkle2{0%{opacity:0;transform:translate(0)scale(0)rotate(0)}40%{opacity:1}to{opacity:0;transform:translate(36px,-52px)scale(1)rotate(-180deg)}}@keyframes sparkle3{0%{opacity:0;transform:translate(0)scale(0)rotate(0)}40%{opacity:1}to{opacity:0;transform:translateY(-60px)scale(1.1)rotate(120deg)}}@keyframes sparkle4{0%{opacity:0;transform:translate(0)scale(0)}40%{opacity:1}to{opacity:0;transform:translate(-44px,-28px)scale(.8)}}@keyframes sparkle5{0%{opacity:0;transform:translate(0)scale(0)}40%{opacity:1}to{opacity:0;transform:translate(44px,-24px)scale(.9)}}.celebrate-sparkle1{animation:.9s ease-out forwards sparkle1}.celebrate-sparkle2{animation:.9s ease-out 80ms forwards sparkle2}.celebrate-sparkle3{animation:.9s ease-out 40ms forwards sparkle3}.celebrate-sparkle4{animation:.9s ease-out .12s forwards sparkle4}.celebrate-sparkle5{animation:.9s ease-out 60ms forwards sparkle5}@keyframes glowPulse{0%,to{filter:drop-shadow(0 0 6px #2d8b7a8c)}50%{filter:drop-shadow(0 0 18px #2d8b7ae6)}}.ring-glow{animation:2.2s ease-in-out infinite glowPulse}@keyframes ringFill{0%{stroke-dashoffset:var(--ring-full,226)}}.ring-fill-anim{animation:1.2s cubic-bezier(.22,1,.36,1) .15s both ringFill}.shimmer-block{background:linear-gradient(90deg,#ede0d880 25%,#f7ede8cc 50%,#ede0d880 75%) 0 0/200% 100%;border-radius:10px;animation:1.4s ease-in-out infinite shimmer}.cal-grid{grid-template-columns:repeat(7,1fr);gap:5px;display:grid}.cal-cell{aspect-ratio:1;cursor:default;border-radius:7px;transition:transform .12s;position:relative}.cal-cell:hover{z-index:2;transform:scale(1.18)}.cal-cell-empty{background:#ede0d84d}.cal-cell-great{background:linear-gradient(135deg,#2d8b7a,#4aad90);box-shadow:0 2px 8px #2d8b7a59}.cal-cell-good{background:linear-gradient(135deg,#6b9e80,#8ac09a);box-shadow:0 2px 6px #6b9e8047}.cal-cell-ok{background:linear-gradient(135deg,#c9a96e,#d4b97a);box-shadow:0 2px 6px #c9a96e40}.cal-cell-low{background:linear-gradient(135deg,#c47a5a,#d4906e);box-shadow:0 2px 6px #c47a5a47}.cal-cell-rough{background:linear-gradient(135deg,#e07a5f,#d06050);box-shadow:0 2px 6px #e07a5f52}.cal-cell-future{background:0 0}.checkin-layout{grid-template-columns:1fr;align-items:start;gap:16px;display:grid}.checkin-side-col{display:none}@media (min-width:1024px){.checkin-layout{grid-template-columns:1fr 300px;gap:24px}.checkin-form-col{min-width:0}.checkin-side-col{display:block}}.checkin-progress-bar{background:#ede0d880;border-radius:9999px;height:4px;margin-bottom:22px;overflow:hidden}.checkin-progress-fill{background:linear-gradient(90deg,#2d8b7a,#6b9e80);border-radius:9999px;height:100%;transition:width .4s cubic-bezier(.22,1,.36,1)}.companion-avatar{background:linear-gradient(135deg,#1e6b55 0%,#2d8b7a 50%,#9b8ab8 100%);border-radius:50%;justify-content:center;align-items:center;width:72px;height:72px;display:flex;position:relative;box-shadow:0 8px 28px #2d8b7a61}@keyframes floatUp{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.float-card{animation:4s ease-in-out infinite floatUp}.activity-badge{color:#2d8b7a;font-size:12px;font-weight:600;font-family:var(--font-dm-sans), system-ui, sans-serif;background:#2d8b7a17;border:1px solid #2d8b7a33;border-radius:9999px;align-items:center;gap:6px;padding:5px 12px;display:inline-flex}@keyframes slideDown{0%{opacity:0;transform:translateY(-16px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.milestone-card{background:linear-gradient(135deg,#1e6b55 0%,#2d8b7a 60%,#4aad90 100%);border-radius:22px;padding:22px 24px;animation:.4s cubic-bezier(.22,1,.36,1) both slideDown;position:relative;overflow:hidden;box-shadow:0 8px 32px #2d8b7a61}.milestone-card:before{content:"";background:#ffffff1a;border-radius:50%;width:120px;height:120px;position:absolute;top:-40px;right:-40px}.fade-in{animation:.35s cubic-bezier(.22,1,.36,1) both fadeUp}.fade-in-d1{animation-delay:80ms}.fade-in-d2{animation-delay:.16s}.fade-in-d3{animation-delay:.24s}.hero-grid{grid-template-columns:1fr;align-items:center;gap:40px;display:grid}.hero-visual-col{display:none;position:relative}@media (min-width:860px){.hero-grid{grid-template-columns:1fr 300px;gap:60px}.hero-visual-col{justify-content:center;align-items:center;display:flex}}.reveal-hidden{opacity:0;transition:opacity .58s cubic-bezier(.22,1,.36,1),transform .58s cubic-bezier(.22,1,.36,1);transform:translateY(28px)}.reveal-visible{opacity:1;transform:translateY(0)}.faq-item{border-bottom:1px solid #ffffff12}.faq-btn{cursor:pointer;text-align:left;color:#ffffffb8;width:100%;font-size:15px;font-weight:300;font-family:var(--font-dm-sans), system-ui, sans-serif;background:0 0;border:none;justify-content:space-between;align-items:center;gap:16px;padding:22px 0;line-height:1.4;transition:color .15s;display:flex}.faq-btn:hover{color:#c4b8e0e6}.faq-chevron{color:#fff3;flex-shrink:0;transition:transform .32s cubic-bezier(.22,1,.36,1),color .15s}.faq-open .faq-chevron{color:#9b7cc8b3;transform:rotate(180deg)}.faq-body{grid-template-rows:0fr;transition:grid-template-rows .36s cubic-bezier(.22,1,.36,1);display:grid;overflow:hidden}.faq-open .faq-body{grid-template-rows:1fr}.faq-answer{color:#ffffff61;min-height:0;font-size:14px;line-height:1.75;font-family:var(--font-dm-sans), system-ui, sans-serif;margin:0;padding-bottom:22px;font-weight:300}.learn-teaser-grid{grid-template-columns:1fr}.learn-teaser-cards{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.learn-mini-card{cursor:default;border-radius:16px;padding:16px 14px;transition:transform .18s,box-shadow .18s}.learn-mini-card:hover{transform:translateY(-3px);box-shadow:0 8px 24px #1a122017}@media (min-width:900px){.learn-teaser-grid{grid-template-columns:1fr 340px}}.learn-card{cursor:pointer;box-sizing:border-box;border:1.5px solid #ede0d899;border-radius:24px;height:100%;padding:28px 24px;transition:transform .22s cubic-bezier(.22,1,.36,1),box-shadow .22s}.learn-card:hover{transform:translateY(-5px);box-shadow:0 16px 40px #1a12201a}@media (min-width:720px){.nav-learn-link{align-items:center;display:inline-flex!important}}@keyframes breathePulse{0%,to{opacity:.5;transform:scale(1)}50%{opacity:1;transform:scale(1.12)}}.report-doc{background:#fff;border:1.5px solid #ede0d8b3;border-radius:28px;padding:clamp(32px,5vw,56px);box-shadow:0 4px 32px #1a122012}.report-header{border-bottom:2px solid #ede0d899;margin-bottom:32px;padding-bottom:24px}.report-section{border-bottom:1px solid #ede0d880;margin-bottom:36px;padding-bottom:36px}.report-section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.report-section-title{font-family:var(--font-playfair), Georgia, serif;color:#1a1220;margin:0 0 20px;font-size:17px;font-weight:700}@media print{.no-print,.app-sidebar,.mobile-nav-bar{display:none!important}.report-doc{box-shadow:none;border:none;border-radius:0;padding:0}body{background:#fff!important}@page{margin:20mm}}.credibility-grid{grid-template-columns:1fr}@media (min-width:860px){.credibility-grid{grid-template-columns:1fr 1fr}}.cycle-grid{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.cycle-day{aspect-ratio:1;color:#3d2c35;cursor:default;font-size:13px;font-weight:500;font-family:var(--font-dm-sans), system-ui, sans-serif;border-radius:50%;justify-content:center;align-items:center;transition:transform .12s;display:flex}.cycle-day:hover{transform:scale(1.12)}.cycle-day-period,.cycle-day-today{font-weight:700}.cycle-day-predicted{font-style:italic}.tilt-wrap{transform-style:preserve-3d;will-change:transform}@keyframes heroCardFloat{0%{transform:perspective(1200px)rotateX(1.5deg)rotateY(-2deg)translateY(0)}33%{transform:perspective(1200px)rotateX(-1deg)rotateY(2.5deg)translateY(-6px)}66%{transform:perspective(1200px)rotateX(2deg)rotateY(1deg)translateY(-3px)}to{transform:perspective(1200px)rotateX(1.5deg)rotateY(-2deg)translateY(0)}}.card-3d-shadow{box-shadow:0 1px 2px #1a12200f,0 4px 12px #1a122012,0 16px 36px #1a122014,0 40px 80px #1a12200d}.card-3d-shadow:hover{box-shadow:0 2px 4px #1a122012,0 8px 20px #1a122017,0 24px 52px #1a12201a,0 56px 100px #1a122012}
