@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2) format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--white: #ffffff;--ink: #1a1a1a;--graphite: #2e2e2e;--stone: #8f8f8f;--linen: #e0e0e0;--vellum: #f0f0f0;--violet: #5d48db;--violet-tint: #efecfb;--period-last: #9685ff;--mint: #3fd194;--mint-tint: #d9f6ea;--fertile: #b4e3da;--sex-pen: #ac2e48;--sex-other: #ca7d8d;--chance-high: #ac2e48;--chance-mid: #ca7d8d;--chance-low: #5ba7e0;--font: "Inter Variable", Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--r-card: 30px;--r-feature: 45px;--r-nav: 52px;--r-input: 30px;--r-pill: 9999px;--shadow-card: rgba(0, 0, 0, .12) 0px 27px 104px 0px;--shadow-feature: rgba(0, 0, 0, .11) 0px 8px 127px 0px;--shadow-nav: rgba(0, 0, 0, .06) 0px 8px 30px 0px;--shadow-quick: rgba(0, 0, 0, .06) 0px 4px 16px 0px;--shadow-heavy: rgba(0, 0, 0, .25) 0px 9px 46px 0px;--safe-top: var(--app-safe-top, calc(var(--tg-safe-area-inset-top, 0px) + var(--tg-content-safe-area-inset-top, 0px)));--safe-bottom: var(--app-safe-bottom, max(calc(var(--tg-safe-area-inset-bottom, 0px) + var(--tg-content-safe-area-inset-bottom, 0px)), env(safe-area-inset-bottom, 0px)));--safe-left: var(--app-safe-left, max(calc(var(--tg-safe-area-inset-left, 0px) + var(--tg-content-safe-area-inset-left, 0px)), env(safe-area-inset-left, 0px)));--safe-right: var(--app-safe-right, max(calc(var(--tg-safe-area-inset-right, 0px) + var(--tg-content-safe-area-inset-right, 0px)), env(safe-area-inset-right, 0px)));--tabbar-h: 62px;--chip-gap: 8px}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;background:var(--white);color:var(--ink);font-family:var(--font);font-size:16px;font-weight:400;line-height:1.43;letter-spacing:-.012em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%;text-size-adjust:100%;overscroll-behavior-y:none;scroll-behavior:auto}body{min-height:100vh}@media(min-width:561px){html,body{background:var(--vellum)}.app,.share-page{box-shadow:0 0 0 1px var(--ink)}.mood-flow{background:var(--vellum)}.mood-inner{background:var(--white);box-shadow:0 0 0 1px var(--ink)}}button,input,textarea{font:inherit;letter-spacing:inherit;color:inherit}button{background:none;border:0;margin:0;padding:0;cursor:pointer;text-align:inherit;-webkit-appearance:none;appearance:none;border-radius:0;box-sizing:border-box;-webkit-text-size-adjust:100%}.btn,.chip,.quick,.seg button,.day-pill,.icon-btn,.order-btn,.partner-icon-btn,.sheet-x,.pick-trigger,.pick-option,.stepper button{display:inline-flex;align-items:center;-webkit-appearance:none;appearance:none;box-sizing:border-box;margin:0;line-height:1}input,textarea{outline:none}h1,h2,h3,p{margin:0}.num{font-variant-numeric:tabular-nums}.app{position:relative;isolation:isolate;max-width:560px;margin:0 auto;min-height:100vh;background:var(--white);padding:var(--safe-top) calc(20px + var(--safe-right)) calc(var(--tabbar-h) + var(--safe-bottom) + 36px) calc(20px + var(--safe-left))}.app--plain{padding-bottom:calc(18px + var(--safe-bottom))}.app:has(.onboard){--ob-pad-x: 32px;padding:calc(var(--safe-top) + 12px) calc(var(--ob-pad-x) + var(--safe-right)) calc(40px + var(--safe-bottom)) calc(var(--ob-pad-x) + var(--safe-left))}.mood-wash{position:absolute;inset:0;z-index:0;pointer-events:none;background:radial-gradient(ellipse 54% 46% at 50% 22%,color-mix(in srgb,var(--mood-wash) 22%,transparent) 0%,color-mix(in srgb,var(--mood-wash) 8%,transparent) 48%,transparent 100%)}.app>:not(.mood-wash):not(.sheet):not(.sheet-backdrop):not(.tabbar):not(.toast):not(.period-editor):not(.sex-page){position:relative;z-index:1}.topbar{display:flex;align-items:center;justify-content:space-between;padding:20px 0 14px}.topbar-lead{display:flex;align-items:center;min-width:0}.topbar-actions{display:flex;align-items:center;gap:16px}.wordmark{font-size:24px;font-weight:500;letter-spacing:-.017em;line-height:1}.topbar-right{font-size:14px;color:var(--stone)}.eyebrow{font-size:14px;font-weight:400;color:var(--stone);line-height:1.35}.section-title{font-size:24px;font-weight:500;letter-spacing:-.017em;line-height:1.2;color:var(--graphite);margin:36px 0 4px}.hint{font-size:14px;line-height:1.45;color:var(--stone)}.status{font-size:13px;color:var(--stone)}.muted{color:var(--stone)}.center{text-align:center}.hstrip{display:flex;justify-content:space-between;gap:4px;padding:8px 0 6px}.hday{flex:1}.hday .mday-c{margin:0 auto}.hday-n{display:inline-flex;align-items:center;justify-content:center;min-width:36px;min-height:36px;font-size:14px;font-weight:400;font-variant-numeric:tabular-nums;color:var(--ink);background:none;border:none}.quiet-status{padding:32px 0 4px;text-align:center}.qs-main{font-size:32px;font-weight:400;letter-spacing:-.017em;line-height:1.2;color:var(--graphite)}.qs-sub{max-width:22em;margin:20px auto 0;font-size:16px;font-weight:400;letter-spacing:-.012em;line-height:1.43;color:var(--stone)}.qs-cycle{max-width:none;margin:0 auto 16px;font-size:14px;line-height:1.67;display:flex;align-items:center;justify-content:center;gap:4px}.qs-help{position:relative;width:18px;height:18px;padding:0;color:var(--stone);display:inline-flex;align-items:center;justify-content:center;flex:none}.qs-help .huge-icon{width:14px;height:14px;max-width:14px;max-height:14px}.qs-gentle{font-style:normal}.qs-chance{max-width:none;font-size:14px;line-height:1.67;white-space:nowrap}.qs-chance-word{font-weight:500}.qs-chance-word.is-high{color:var(--chance-high)}.qs-chance-word.is-mid{color:var(--chance-mid)}.qs-chance-word.is-low{color:var(--chance-low)}.quick-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.quick{flex:1;min-width:0;height:52px;min-height:52px;padding:0 10px;border-radius:var(--r-input);border:1px solid var(--linen);background:var(--white);box-shadow:none;-webkit-appearance:none;appearance:none;box-sizing:border-box;font-size:14px;font-weight:400;letter-spacing:-.012em;line-height:1;color:var(--ink);display:inline-flex;align-items:center;justify-content:center;text-align:center;white-space:nowrap;transform:scale(1);transition:transform .08s ease,background .15s ease}.quick:active,.quick.is-press{background:var(--vellum);transform:scale(.98)}.quick-full{width:100%;flex:none}.quick-period{background:var(--violet);color:var(--white);border-color:var(--violet);font-weight:500}.quick-period:active,.quick-period.is-press{background:var(--violet);opacity:.92}.period-change-chips{display:flex;flex-wrap:wrap;gap:10px}.period-change-chips .chip{flex:1;min-width:0;justify-content:center}.period-change-sheet-chips{padding:28px 0 24px;gap:14px}@media(prefers-reduced-motion:reduce){.quick{transition:none}.quick:active,.quick.is-press{transform:none}}.topbar-profile,.topbar-back{display:inline-flex;align-items:center;justify-content:center;flex:0 0 44px;align-self:center;min-width:44px;min-height:44px;width:44px;height:44px;padding:0;color:var(--ink);background:transparent;text-decoration:none}.gift-icon{width:20px;height:20px;max-width:20px;max-height:20px;flex:none;flex-shrink:0;display:block;aspect-ratio:1 / 1;overflow:visible;color:#28303f;shape-rendering:geometricPrecision}.topbar-profile .huge-icon,.huge-icon{position:relative;width:24px;height:24px;max-width:24px;max-height:24px;aspect-ratio:1 / 1;display:block;flex:none;overflow:visible}.gear{width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;color:var(--stone)}.gear:active{background:var(--vellum)}.period-cal-title{font-size:15px;font-weight:500;margin:14px 0 6px}.period-editor{position:fixed;inset:0;z-index:40;max-width:560px;margin:0 auto;background:var(--white);display:flex;flex-direction:column;padding:var(--safe-top) calc(20px + var(--safe-right)) 0 calc(20px + var(--safe-left))}.period-editor-scroll{flex:1;overflow-y:auto;padding-bottom:12px;scroll-behavior:auto;-webkit-overflow-scrolling:touch}.period-editor-bar{display:flex;gap:10px;padding:12px 0 calc(14px + var(--safe-bottom));background:var(--white);border-top:.5px solid var(--linen)}.period-editor-bar .btn{flex:1;min-width:0}.period-editor .cal-day.is-future{cursor:default}.sex-page{position:fixed;inset:0;z-index:40;max-width:560px;margin:0 auto;background:var(--white);display:flex;flex-direction:column;padding:var(--safe-top) calc(20px + var(--safe-right)) 0 calc(20px + var(--safe-left))}.sex-page-scroll{flex:1;min-width:0;overflow-x:hidden;overflow-y:auto;padding-bottom:12px;scroll-behavior:auto;-webkit-overflow-scrolling:touch}.sex-page-bar{display:flex;gap:10px;align-items:center;padding:12px 0 calc(14px + var(--safe-bottom));background:var(--white);border-top:.5px solid var(--linen)}.sex-page-bar .btn{flex:1;min-width:0}.sex-page-top{gap:12px}.sex-page-back{display:inline-flex;align-items:center;gap:8px;min-width:0;font-size:24px;font-weight:500;letter-spacing:-.017em;line-height:1;color:var(--ink);padding:0;background:none;border:0}.sex-page-details{display:inline-flex;margin-top:18px;padding:0;border:0;background:none;font-size:14px;font-weight:400;color:var(--stone);line-height:1.35}.sheet-x{position:absolute;top:18px;right:var(--sheet-pad-x, 24px);width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;border:1px solid var(--vellum);color:var(--graphite);background:var(--white)}.insight-line{font-size:15px;line-height:1.5;color:var(--graphite)}.cycle-stat-info{width:24px;height:24px;padding:0;color:var(--stone);display:inline-flex;align-items:center;justify-content:center;flex:none}.mood-scale-row{display:flex;justify-content:space-between;gap:4px}.mood-pick{flex:1;display:inline-flex;align-items:center;justify-content:center;padding:6px 0;border-radius:20px;transition:opacity .15s ease,background .15s ease}.mood-pick.dim{opacity:.35}.mood-pick.on{background:var(--vellum)}.mood-pick-label{margin-top:6px;font-size:15px;font-weight:500}.mood-slider-box{display:flex;flex-direction:column;align-items:center;margin-top:4px}.mood-slider-box.idle svg{opacity:.35}.mood-slider-box .mood-slider{margin-top:10px}.mood-slider-label{font-size:16px;font-weight:500;min-height:24px;margin-top:2px}.mood-slider-box .mood-scale{width:100%}.cal-screen{display:flex;flex-direction:column;min-height:calc(100vh - var(--safe-top))}.cal-scroll{flex:1}.cal-month{padding-top:20px}.cal-month-title{font-size:21px;font-weight:500;letter-spacing:-.017em;margin-bottom:10px}.seg{display:inline-flex;background:var(--vellum);border-radius:var(--r-pill);padding:3px}.seg button{justify-content:center;height:36px;padding:0 12px;border-radius:var(--r-pill);font-size:14px;color:var(--stone);white-space:nowrap;min-width:0;overflow:hidden}.seg button.on{background:var(--white);color:var(--ink);font-weight:500;box-shadow:var(--shadow-nav)}.mday-c{position:relative}.mday-c .moon{position:absolute;top:-5px;right:-5px;width:19px;height:19px;border-radius:50%;background:var(--white);border:1px solid var(--linen);box-shadow:var(--shadow-nav);display:inline-flex;align-items:center;justify-content:center;font-size:11px;line-height:1;color:var(--graphite);z-index:1}.year-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding-top:18px}.year-month{background:var(--white);border:1px solid var(--vellum);border-radius:20px;box-shadow:var(--shadow-nav);padding:12px 14px;text-align:left}.year-month-title{display:block;font-size:13px;font-weight:500;margin-bottom:8px;color:var(--graphite)}.year-dots{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.yd{width:9px;height:9px;border-radius:50%;background:var(--vellum);box-sizing:border-box}.yd.period{background:var(--violet)}.yd.period-last{background:var(--period-last)}.yd.predicted{background:transparent;border:1px dashed var(--period-last)}.yd.fertile{background:var(--fertile)}.yd.ovulation{background:var(--mint)}.yd.today{box-shadow:0 0 0 1.5px var(--ink)}.yd.period.today{box-shadow:none}.yd.sex-partner{outline:1.5px solid #B45A6D;outline-offset:1px}.yd.sex-solo{outline:1.5px solid #CA7D8D;outline-offset:1px}.yd.sex-unknown{outline:1.5px solid var(--stone);outline-offset:1px}.med-row-btn{width:100%}.order-btns{display:inline-flex;gap:4px;margin-right:4px}.order-btn{width:34px;height:34px;padding:0;border:1px solid var(--linen);border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:15px;color:var(--graphite)}.order-btn:disabled{opacity:.3}.seg-wide{display:flex;width:100%;margin-top:10px}.seg-wide button{flex:1;text-align:center;min-width:0}.partner-row{border-top:1px solid var(--vellum);padding-top:14px;margin-top:14px}.partner-row:first-of-type{border-top:0}.sex-follow-modal{position:absolute;inset:0;z-index:5;display:flex;align-items:flex-end;justify-content:center;padding:20px 20px calc(20px + var(--safe-bottom));background:#1a1a1a52}.sex-follow-card{width:100%;background:var(--white);border-radius:var(--r-card);padding:22px 20px 18px;box-shadow:var(--shadow-card)}.sex-follow-card p{font-size:16px;line-height:1.4}.hero-lite{padding:8px 0 4px}.hero-kicker{font-size:22px;font-weight:400;letter-spacing:-.012em;line-height:1.25;color:var(--graphite);margin-top:10px}.hero-big{font-size:58px;font-weight:400;letter-spacing:-.03em;line-height:1.02;margin:2px 0 8px;color:var(--violet);font-variant-numeric:tabular-nums}.hero-sub{font-size:15px;color:var(--stone);line-height:1.45}.hero-sub .tag{margin-left:4px;vertical-align:1px}.hero-text{font-size:18px;line-height:1.4;margin-top:10px;color:var(--graphite)}.mstrip{display:flex;gap:7px;overflow-x:auto;margin:18px -20px 0;padding:4px 20px;scrollbar-width:none;-webkit-overflow-scrolling:touch}.mstrip::-webkit-scrollbar{display:none}.mday{flex:none;display:flex;flex-direction:column;align-items:center;gap:5px;padding:0;background:none}.mday-w{font-size:10px;font-weight:500;color:var(--stone)}.mday-c{width:36px;height:36px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:14px;font-weight:400;font-variant-numeric:tabular-nums;color:var(--ink);background:var(--vellum);border:.5px solid transparent;box-sizing:border-box}.mday-c.period{background:var(--violet);color:var(--white);font-weight:500}.mday-c.period-last{background:var(--period-last)}.mday-c.predicted{background:var(--white);border:1.5px dashed var(--period-last);color:var(--period-last)}.mday-c.fertile{background:var(--fertile)}.mday-c.ovulation{background:var(--mint);font-weight:500}.hday.sel .mday-c,.cal-day.sel:not(.today) .mday-c{box-shadow:0 0 0 .5px var(--ink);font-weight:500}.hday.sel .mday-c.period,.cal-day.sel:not(.today) .mday-c.period{box-shadow:none}.cal-day.today .mday-c{box-shadow:0 0 0 2px var(--white),0 0 0 4px var(--ink);font-weight:500}.hstrip .hday.sel .mday-c{background:var(--violet);color:var(--white);border:.5px solid transparent;box-shadow:none;font-weight:500}.hstrip .hday.today:not(.sel) .mday-c{background:var(--white);color:var(--ink);border:.5px solid transparent;box-shadow:0 0 0 2px var(--white),0 0 0 4px var(--ink);font-weight:500}.mday-marks{display:flex;align-items:center;justify-content:center;gap:3px;height:8px;line-height:1}.heart.sex-partner{color:#b45a6d;font-style:normal}.heart.sex-solo{color:#ca7d8d;font-style:normal;font-weight:400}.heart.sex-unknown{color:var(--stone);font-style:normal}.sex-page-row{display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:100%;padding:12px 0;border-bottom:.5px solid var(--linen);text-align:left;background:transparent}.sex-card{border-top:.5px solid var(--linen);padding-top:10px}.sex-card-head{display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:100%;text-align:left;background:transparent;padding:4px 0;min-height:44px}.sex-card-body{margin-top:8px}.sex-sum-num{font-size:28px;font-weight:500;line-height:1.2}.sex-dl{display:grid;gap:8px}.sex-dl div{display:flex;justify-content:space-between;gap:12px;font-size:15px}.sex-dl dt{color:var(--stone);font-weight:400}.sex-dl dd{margin:0;font-weight:500}.day-timeline{margin-bottom:16px}.heart.sex-other{color:var(--sex-other)}.mday-marks .heart{font-size:8px;line-height:1;height:8px;display:inline-flex;align-items:center}.hero-legend{display:flex;flex-wrap:wrap;gap:6px 16px;padding-top:14px;margin-top:14px;border-top:1px solid var(--vellum);font-size:13px;color:var(--stone);line-height:1.35}.hero-legend span{display:inline-flex;align-items:center;gap:6px}.hero-legend i{width:10px;height:10px;border-radius:50%;display:inline-block;flex:none;box-sizing:border-box}.hero-legend i.today{background:var(--white);border:2px solid var(--ink)}.hero-legend i.pred{background:transparent;border:1.5px dashed var(--violet)}.pbar{height:8px;border-radius:var(--r-pill);background:var(--vellum);margin-top:18px;overflow:hidden}.pbar i{display:block;height:100%;background:var(--violet);border-radius:var(--r-pill);transition:width .3s ease}.pbar-cap{margin-top:8px;font-size:13px;color:var(--stone);font-variant-numeric:tabular-nums}.ring-box{display:flex;flex-direction:column;align-items:center;gap:7px}.ring-cap{font-size:12px;color:var(--stone);white-space:nowrap;font-variant-numeric:tabular-nums}.card{background:var(--white);border:0;border-radius:var(--r-card);padding:24px;margin-top:20px;box-shadow:var(--shadow-card)}.card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.card-head .eyebrow{flex:1}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:52px;padding:0 26px;border-radius:var(--r-input);font-size:16px;font-weight:500;letter-spacing:-.012em;line-height:1;white-space:nowrap;text-decoration:none;background:var(--white);color:var(--ink);border:1px solid var(--ink);-webkit-appearance:none;appearance:none;box-sizing:border-box;overflow:hidden;transition:transform .08s ease,opacity .15s ease,background .15s ease;user-select:none}.btn:active{transform:scale(.98);background:var(--vellum)}.btn:disabled{opacity:.4;cursor:default}.btn-full{width:100%}.btn-primary,.btn-dark{border-width:1.5px}.btn-ghost{border:1px solid #c8c8c8;font-weight:400}.btn-soft{background:var(--vellum);border:0;font-weight:400}.btn-danger{border:1px solid var(--linen);color:var(--graphite);font-weight:400}.btn-sm{height:40px;padding:0 18px;font-size:14px}.btn-row{display:flex;gap:10px;margin-top:16px}.btn-row .btn{flex:1;min-width:0;overflow:visible}.btn-row .btn:first-child{flex:1.45}.btn-row .btn:last-child{flex:1}.sub-actions .btn,.sub-actions .btn:first-child,.sub-actions .btn:last-child{flex:1}.btn-gift{background:var(--violet);color:var(--white);border-color:var(--violet);font-weight:500}.btn-gift:active{background:var(--violet);opacity:.92}.link{font-size:14px;font-weight:500;color:var(--ink)}.link.soft{color:var(--stone)}.chips{display:flex;flex-wrap:wrap;gap:var(--chip-gap);width:100%;min-width:0}.chips-clamp{max-height:136px;overflow:hidden}.chip{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;max-width:100%;height:40px;gap:6px;padding:0 16px;border-radius:var(--r-pill);border:1px solid var(--linen);background:var(--white);font-size:15px;font-weight:400;line-height:1;white-space:nowrap;-webkit-appearance:none;appearance:none;box-sizing:border-box;overflow:hidden;transition:background .12s ease,border-color .12s ease,color .12s ease;user-select:none}.chip:active{transform:scale(.97)}.chip.on{background:var(--ink);border-color:var(--ink);color:var(--white);font-weight:500}.chip.muted{color:var(--stone)}.chip.add{border-style:dashed;color:var(--graphite)}.chip:disabled{opacity:.45;transform:none}.chip .x{width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:var(--white);color:var(--graphite);font-size:13px;font-weight:500;margin-right:-6px}.pick-trigger{display:flex;align-items:center;width:100%;height:48px;min-height:48px;padding:0 16px;border-radius:var(--r-input);border:1px solid var(--linen);background:var(--white);font-size:15px;font-weight:400;justify-content:flex-start}.pick-menu{display:flex;flex-direction:column;gap:4px;padding:8px;border-radius:var(--r-card);background:var(--white);box-shadow:var(--shadow-card)}.pick-option{text-align:left;justify-content:flex-start;min-height:44px;padding:0 14px;border-radius:18px;font-size:15px}.pick-option.on{background:var(--ink);color:var(--white);font-weight:500}.pick-option:disabled{color:var(--stone);opacity:.45}.sex-mode{display:flex;gap:8px;align-items:stretch}.sex-mode .chip{align-items:center;gap:8px}.sex-mode svg{width:18px;height:18px;flex:0 0 18px}.input{width:100%;height:52px;padding:0 20px;border:1px solid var(--linen);border-radius:var(--r-input);background:var(--white);font-size:16px;-webkit-appearance:none;appearance:none}.input:focus{border-color:var(--ink)}textarea.input{min-height:96px;padding:14px 20px;resize:none;line-height:1.4;border-radius:24px}.input-row{display:flex;gap:8px}.input-row .input{flex:1;min-width:0}input[type=date].input{display:block;min-width:0}.date-field{display:flex;align-items:center;text-align:left;cursor:pointer}.date-field.empty{color:var(--stone)}.onboard .card .date-field{margin:0;padding:0 20px;font-size:16px;font-weight:400;text-transform:none}.onboard .card .date-field.empty{font-size:15px;font-variant-numeric:tabular-nums;letter-spacing:.01em;color:var(--stone)}.onboard .card .date-field:not(.empty){font-variant-numeric:tabular-nums;letter-spacing:.01em}.date-pick-month{margin:8px 0 16px;touch-action:pan-y pinch-zoom}.date-pick-title{font-size:21px;font-weight:500;letter-spacing:-.017em;color:var(--graphite)}.date-pick-title--solo{margin:0 0 20px;text-align:center}.sheet .cal-day.is-future{cursor:default}.birth-date-inline{width:100%;flex:1;display:flex;flex-direction:column;margin-top:8px;padding-bottom:8px;min-height:0}.birth-date-hero-wrap{flex:1;display:flex;align-items:center;justify-content:center;min-height:120px;padding:12px 0 20px}.birth-date-hero{display:flex;align-items:baseline;justify-content:center;flex-wrap:wrap;gap:clamp(10px,4.5vw,24px);width:100%;color:var(--ink);letter-spacing:-.03em;transition:opacity .24s ease,transform .24s ease}.birth-date-hero.is-hidden{opacity:0;transform:translateY(8px) scale(.98)}.birth-date-hero-day,.birth-date-hero-year{font-size:clamp(38px,11vw,52px);font-weight:500;line-height:1}.birth-date-hero-month{font-size:clamp(30px,8.5vw,44px);font-weight:500;line-height:1.05}.birth-date-preview{margin:0;text-align:center;font-size:14px;line-height:1.4;color:var(--stone)}.onboard--birth .onboard-body{display:flex;flex-direction:column;flex:1}.ob-birth-step{flex:1;display:flex;flex-direction:column}.date-wheel{display:grid;grid-template-columns:minmax(64px,.8fr) minmax(118px,1.45fr) minmax(76px,.9fr);gap:8px;width:100%;margin:4px 0 12px}.date-wheel--ios{display:block;width:100%;margin:auto 0 0;flex:0 0 auto}.date-wheel--ios .date-wheel-frame{position:relative}.date-wheel--ios .date-wheel-lines{position:absolute;left:0;right:0;top:50%;height:44px;transform:translateY(-50%);border-top:1px solid var(--linen);border-bottom:1px solid var(--linen);pointer-events:none;z-index:1}.date-wheel--ios .date-wheel-columns{display:grid;grid-template-columns:minmax(52px,.72fr) minmax(108px,1.56fr) minmax(64px,.8fr);gap:0;width:100%}.date-wheel--ios .date-wheel-label{display:none}.date-wheel--ios .date-wheel-values{height:220px;border:0;-webkit-mask-image:linear-gradient(to bottom,transparent 0%,#000 16%,#000 84%,transparent 100%);mask-image:linear-gradient(to bottom,transparent 0%,#000 16%,#000 84%,transparent 100%)}.date-wheel-strip{will-change:transform}.date-wheel-strip.is-dragging .date-wheel-row{transition:none}.date-wheel--ios .date-wheel-row{height:44px;padding:0 2px;color:var(--stone);font-size:20px;font-weight:400;transform-origin:center center;transition:color .1s ease,opacity .1s ease,transform .1s ease,font-size .1s ease}.date-wheel--ios .date-wheel-row.near{opacity:.52;transform:scaleY(.94);font-size:18px}.date-wheel--ios .date-wheel-row.far{opacity:.2;transform:scaleY(.86);font-size:17px}.date-wheel--ios .date-wheel-row.on{height:44px;border:0;background:transparent;color:var(--ink);font-size:21px;font-weight:400;opacity:1;transform:scaleY(1)}.date-wheel-column{min-width:0;text-align:center}.date-wheel-label{display:block;margin-bottom:8px;font-size:13px;line-height:1.35;color:var(--stone)}.date-wheel-values{position:relative;height:196px;overflow:hidden;touch-action:none;user-select:none;border-top:1px solid var(--vellum);border-bottom:1px solid var(--vellum)}.date-wheel-row{display:flex;align-items:center;justify-content:center;width:100%;height:36px;padding:0 4px;border:0;background:transparent;color:var(--stone);font-size:14px;font-weight:400;line-height:1;white-space:nowrap;transition:color .12s ease,background .12s ease,opacity .12s ease}.date-wheel-row.on{height:52px;border-top:1px solid var(--linen);border-bottom:1px solid var(--linen);background:var(--vellum);color:var(--ink);font-size:17px;font-weight:500}.date-wheel-row.far{opacity:.38}.stepper{display:inline-flex;align-items:center;border:1px solid var(--linen);border-radius:var(--r-input);background:var(--white);overflow:hidden;height:48px}.stepper button{width:46px;height:48px;font-size:22px;font-weight:400;display:inline-flex;align-items:center;justify-content:center;color:var(--ink)}.stepper button:disabled{color:var(--linen)}.stepper span{min-width:66px;text-align:center;font-size:15px;font-weight:500;font-variant-numeric:tabular-nums;border-left:1px solid var(--vellum);border-right:1px solid var(--vellum);height:100%;display:inline-flex;align-items:center;justify-content:center}.stepper.disabled{opacity:.45}.switch{position:relative;width:48px;height:28px;border-radius:var(--r-pill);background:var(--linen);transition:background .15s ease;flex:none}.switch:after{content:"";position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:var(--white);box-shadow:0 1px 3px #0003;transition:transform .15s ease}.switch.on{background:var(--ink)}.switch.on:after{transform:translate(20px)}.row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 0;border-top:1px solid var(--vellum)}.row:first-child,.card-head+.row,.rows>.row:first-child{border-top:0}.row-main{flex:1;min-width:0}.row-label{font-size:16px;font-weight:400;line-height:1.3}.row-hint{font-size:14px;color:var(--stone);margin-top:2px;line-height:1.4}.row-value{font-size:16px;font-weight:500;font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.row-value.soft{color:var(--stone);font-weight:400}.row.compact{padding:10px 0}.partner-row-actions{display:inline-flex;align-items:center;gap:4px;flex:none}.partner-icon-btn{width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;background:transparent;color:var(--ink);padding:0;flex:none;-webkit-appearance:none;appearance:none}.partner-icon-btn:disabled{opacity:.4;cursor:not-allowed}.partner-edit{padding:14px 0;border-top:1px solid var(--vellum)}.rows>.partner-edit:first-child{border-top:0}.tag{display:inline-block;padding:4px 10px;border-radius:var(--r-pill);font-size:12px;font-weight:500;line-height:1.3;background:var(--vellum);color:var(--graphite)}.tag.pink{background:var(--violet-tint);color:var(--violet)}.tag.ice{background:var(--mint-tint);color:var(--graphite)}.tag.lime{background:var(--mint);color:var(--ink)}.tag.dark{background:var(--ink);color:var(--white)}.tag.outline{background:transparent;border:1px solid var(--linen);color:var(--stone)}.daystrip{display:flex;gap:8px;overflow-x:auto;margin:0 -20px;padding:2px 20px 6px;scrollbar-width:none;-webkit-overflow-scrolling:touch}.daystrip::-webkit-scrollbar{display:none}.day-pill{flex:none;display:inline-flex;align-items:center;justify-content:center;height:40px;padding:0 15px;border-radius:var(--r-pill);border:1px solid var(--linen);background:var(--white);font-size:14px;font-weight:400;line-height:1;white-space:nowrap;position:relative;box-sizing:border-box}.day-pill.on{background:var(--ink);color:var(--white);border-color:var(--ink);font-weight:500}.day-pill.has:after{content:"";position:absolute;top:6px;right:8px;width:5px;height:5px;border-radius:50%;background:var(--violet)}.cal-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:8px 0 16px}.cal-title{font-size:24px;font-weight:500;letter-spacing:-.017em;line-height:1.2;flex:1}.cal-nav{display:flex;gap:8px}.icon-btn{width:42px;height:42px;padding:0;border:1px solid var(--linen);border-radius:50%;background:var(--white);display:inline-flex;align-items:center;justify-content:center;font-size:18px;font-weight:400;color:var(--ink)}.icon-btn:active{background:var(--vellum)}.weekdays{display:grid;grid-template-columns:repeat(7,1fr);margin-bottom:8px}.weekdays span{text-align:center;font-size:10px;font-weight:500;color:var(--stone)}.grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px 4px}.cal-day{width:100%;padding:0;background:none;border:0;user-select:none}.cal-day.blank{visibility:hidden;min-height:49px}.legend{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:14px;font-size:13px;color:var(--stone)}.legend span{display:inline-flex;align-items:center;gap:6px}.legend i,.cal-mark{width:12px;height:12px;border-radius:50%;display:inline-block;border:1.5px solid transparent;box-sizing:border-box;flex:none}.legend i.period,.cal-mark.period{background:var(--violet)}.legend i.period-last,.cal-mark.period-last{background:var(--period-last)}.legend i.predicted,.cal-mark.predicted{border-color:var(--period-last);border-style:dashed}.legend i.fertile,.cal-mark.fertile{background:var(--fertile)}.legend i.ovulation,.cal-mark.ovulation{background:var(--mint)}.legend b{font-size:9px}.legend b.heart,.row .heart{font-size:11px;font-weight:400;line-height:1}.cal-mark-moon{font-size:11px;font-weight:400;color:var(--graphite)}.sheet-backdrop{position:fixed;inset:0;background:#0006;z-index:30;animation:fade .15s ease}.sheet{--sheet-pad-x: 24px;--sheet-gap: 20px;--sheet-pad-bottom: calc(20px + var(--safe-bottom));position:fixed;left:0;right:0;bottom:0;margin:0 auto;max-width:560px;max-height:90vh;display:flex;flex-direction:column;min-width:0;overflow:hidden;background:var(--white);border-radius:var(--r-card) var(--r-card) 0 0;z-index:31;box-shadow:var(--shadow-heavy);animation:slide .2s ease}.sheet-chrome{flex:none;position:relative;z-index:2;padding:12px var(--sheet-pad-x) 0;background:var(--white)}.sheet-headless .sheet-chrome{padding-bottom:8px}.sheet-body{flex:1;min-height:0;min-width:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scroll-behavior:auto;-webkit-overflow-scrolling:touch;padding:0 var(--sheet-pad-x) var(--sheet-pad-bottom)}.sheet-body:has(>.btn-row){padding-bottom:0}.sheet-body>.btn-row{position:sticky;bottom:0;z-index:2;margin:0 calc(-1 * var(--sheet-pad-x));margin-top:0;padding:var(--sheet-gap) var(--sheet-pad-x) var(--sheet-pad-bottom);gap:12px;background:var(--white)}.sheet-body>.btn-row .btn:first-child,.sheet-body>.btn-row .btn:last-child{flex:1}.sheet-body:has(>.btn-row:only-child)>.btn-row{padding-top:0}.sheet-handle{width:36px;height:4px;border-radius:var(--r-pill);background:var(--linen);margin:0 auto var(--sheet-gap)}.sheet-title{font-size:24px;font-weight:500;letter-spacing:-.017em;line-height:1.2}.sheet-sub{font-size:15px;line-height:1.45;color:var(--stone);margin-top:10px}.sheet-head{margin-bottom:var(--sheet-gap);padding-right:44px}@keyframes slide{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes fade{0%{opacity:0}to{opacity:1}}.tabbar{position:fixed;left:calc(20px + var(--safe-left));right:calc(20px + var(--safe-right));bottom:calc(10px + var(--safe-bottom));max-width:520px;margin:0 auto;background:var(--white);border-radius:var(--r-nav);box-shadow:var(--shadow-nav);border:1px solid var(--vellum);padding:6px 4px;display:grid;grid-template-columns:repeat(4,minmax(44px,1fr));z-index:20}.tabbar-3{grid-template-columns:repeat(3,minmax(44px,1fr))}.tab{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:0 2px;border-radius:0;font-size:10px;font-weight:400;color:var(--stone);min-width:44px;min-height:44px;width:100%;background:transparent;white-space:nowrap;line-height:1;-webkit-appearance:none;appearance:none}.tab svg,.tab-icon{position:relative;width:24px;height:24px;flex-shrink:0}.tab-icon{display:block;background:currentColor;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:contain;mask-size:contain}.tab-icon-today{-webkit-mask-image:url(/icons/start_today.png);mask-image:url(/icons/start_today.png)}.tab-icon-calendar{-webkit-mask-image:url(/icons/calendar.png);mask-image:url(/icons/calendar.png)}.tab-icon-sex{-webkit-mask-image:url(/icons/sex.png);mask-image:url(/icons/sex.png)}.tab-icon-insights{-webkit-mask-image:url(/icons/analitic.png);mask-image:url(/icons/analitic.png)}.tab:hover,.tab:active,.tab:focus,.tab:focus-visible,.tab.on{background:transparent}.tab.on{color:var(--ink);font-weight:500}.onboard{min-height:calc(100vh - var(--safe-top) - 36px - var(--safe-bottom));display:flex;flex-direction:column}.onboard-body{flex:1}.onboard-foot{padding:32px 0 0}.onboard-foot.stack>*+*{margin-top:14px}.onboard .card{margin-top:24px}.onboard .card .onboard-consent{max-width:none;margin:0}.onboard-consent{display:flex;flex-direction:column;gap:16px}.onboard-consent-item{display:flex;align-items:flex-start;gap:12px;cursor:pointer}.onboard-consent-item span{flex:1;min-width:0;font-size:14px;font-weight:400;letter-spacing:-.008em;line-height:1.45;color:var(--stone)}.onboard-consent-item a{font-size:inherit;font-weight:500;letter-spacing:inherit;line-height:inherit;color:var(--ink);text-decoration:none}.onboard-consent-item a:hover{text-decoration:underline;text-underline-offset:2px}.onboard-draft{min-height:calc(100vh - var(--safe-top) - 32px - var(--safe-bottom))}.ob-chrome{position:relative;display:flex;align-items:center;justify-content:space-between;min-height:44px;margin:0 0 12px}.ob-chrome-spacer{visibility:hidden;pointer-events:none}.ob-chrome>.topbar-back,.ob-chrome>.ob-skip{position:relative;z-index:1}.ob-track{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(200px,52vw);height:4px;border-radius:var(--r-pill);background:var(--linen);overflow:hidden;pointer-events:none}.ob-fill{display:block;height:100%;border-radius:inherit;background:var(--ink);transition:width .2s ease}.ob-skip{flex:0 0 auto;min-height:44px;padding:0 4px;border:0;background:transparent;color:var(--stone);font-size:16px;font-weight:400;letter-spacing:-.012em}.ob-skip.ob-chrome-spacer{flex:0 0 44px;min-width:44px;width:44px;padding:0;visibility:hidden;pointer-events:none}.today-nudge{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:16px}.today-nudge-link{font-size:16px;font-weight:400;color:var(--graphite);text-align:left}.today-nudge-x{flex:none;width:44px;height:44px;color:var(--stone);font-size:22px;line-height:1}.ob-copy{padding:32px 0 12px}.ob-kicker{margin:0 0 10px;font-size:16px;font-weight:400;color:var(--stone);letter-spacing:-.012em}.ob-title{margin:0;font-size:32px;font-weight:400;letter-spacing:-.017em;line-height:1.15;color:var(--graphite);max-width:14em}.ob-lead{margin:18px 0 0;max-width:22em;font-size:16px;line-height:1.43;color:var(--stone)}.ob-note{margin:14px 0 0;font-size:14px;line-height:1.45;color:var(--stone)}.onboard-draft .card{margin-top:24px}.ob-choices{display:flex;flex-direction:column;align-items:flex-start;gap:14px;margin-top:32px}.onboard .chips{margin-top:32px}.ob-quick-pick{margin-top:28px}.ob-quick-pick .quick:not(.is-off){background:var(--ink);border-color:var(--ink);color:var(--white);font-weight:500}.ob-quick-pick .quick:not(.is-off):active,.ob-quick-pick .quick:not(.is-off).is-press{background:var(--ink);color:var(--white)}.ob-quick-pick .quick.is-off{color:var(--stone);background:var(--vellum);border-color:var(--vellum)}.ob-quick-pick .quick.is-locked{cursor:default}.ob-choice{display:inline-flex;align-items:center;height:52px;padding:0 22px;border-radius:var(--r-pill);border:1px solid var(--linen);background:var(--white);font-size:16px;font-weight:400;line-height:1;color:var(--ink);-webkit-appearance:none;appearance:none;text-align:left}.ob-choice:active{transform:scale(.98)}.ob-choice.on{background:var(--ink);border-color:var(--ink);color:var(--white);font-weight:500}.ob-choice--block{width:100%;height:auto;min-height:52px;padding:16px 22px;flex-direction:column;align-items:flex-start;gap:6px;white-space:normal;line-height:1.3}.ob-choice--block b{font-weight:500}.ob-choice--block small{font-size:14px;font-weight:400;color:var(--stone)}.ob-choice--block.on small{color:#ffffffb8}.ob-stepper{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:24px;color:var(--stone);font-size:16px}.btn-split{justify-content:space-between}.ob-phone{width:min(220px,70%);margin:56px auto 0;aspect-ratio:3 / 4;border-radius:36px;border:10px solid var(--vellum);background:var(--white);box-shadow:var(--shadow-feature);display:flex;align-items:flex-start;justify-content:center;padding:28px 18px}.ob-phone-screen{width:100%;display:grid;grid-template-columns:22px 1fr;gap:10px 12px;align-items:center}.ob-phone-dot{width:22px;height:22px;border-radius:50%;background:var(--vellum)}.ob-phone-line{height:10px;border-radius:8px;background:var(--vellum)}.ob-phone-line.short{width:62%;height:8px;grid-column:2}.consent-check{appearance:none;flex:none;width:22px;height:22px;margin:1px 0 0;border:1.5px solid var(--linen);border-radius:8px;background:var(--white)}.consent-check:checked{background:var(--ink);border-color:var(--ink);background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path fill='none' stroke='%23fff' stroke-width='2' d='M3.5 8.5 6.5 11.5 12.5 4.5'/></svg>");background-repeat:no-repeat;background-position:center;background-size:14px}.goal-cards{display:grid;gap:12px;margin-top:20px}.goal-card{display:block;width:100%;background:var(--white);border:1px solid var(--vellum);border-radius:var(--r-card);padding:18px 20px;text-align:left;position:relative;box-shadow:var(--shadow-nav)}.goal-card.on{border:1.5px solid var(--ink)}.goal-card b{display:block;font-size:17px;font-weight:500;letter-spacing:-.012em;padding-right:28px}.goal-card small{display:block;font-size:14px;color:var(--stone);margin-top:3px;line-height:1.4}.goal-card .check{position:absolute;right:18px;top:18px;width:22px;height:22px;border-radius:50%;border:1.5px solid var(--linen)}.goal-card.on .check{background:var(--ink);border-color:var(--ink)}.goal-card.on .check:after{content:"";position:absolute;left:7px;top:3px;width:5px;height:10px;border:solid var(--white);border-width:0 2px 2px 0;transform:rotate(45deg)}body.mood-open{overflow:hidden}body.mood-open #root{visibility:hidden}.mood-steps{margin:6px 0 8px}.checkin-note{width:100%;text-align:left}.checkin-note .daystrip{margin:0;padding-left:0;padding-right:0}.mood-flow{position:fixed;inset:0;background:var(--white);z-index:50;overflow-y:auto;scroll-behavior:auto;-webkit-overflow-scrolling:touch;animation:fade .15s ease}.mood-inner{max-width:560px;margin:0 auto;min-height:100%;display:flex;flex-direction:column;padding:calc(var(--safe-top) + 14px) calc(20px + var(--safe-right)) calc(18px + var(--safe-bottom)) calc(20px + var(--safe-left))}.mood-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.mood-top .eyebrow{flex:1;text-align:center}.mood-body{flex:1;display:flex;flex-direction:column;align-items:center;text-align:center;padding-top:8px}.mood-q{font-size:30px;font-weight:400;letter-spacing:-.017em;line-height:1.15;color:var(--graphite);max-width:20ch;margin:12px auto 0}.mood-fig{margin:8px 0 0}.mood-label{font-size:23px;font-weight:500;letter-spacing:-.017em;min-height:30px}.mood-slider-wrap{width:100%;padding:20px 4px 0}.mood-slider{-webkit-appearance:none;appearance:none;width:100%;height:10px;border-radius:var(--r-pill);outline:none;background:var(--vellum)}.mood-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:32px;height:32px;border-radius:50%;background:var(--white);border:2px solid var(--ink);box-shadow:var(--shadow-nav);cursor:pointer;margin-top:0}.mood-slider::-moz-range-thumb{width:32px;height:32px;border-radius:50%;background:var(--white);border:2px solid var(--ink)}.mood-scale{display:flex;justify-content:space-between;margin-top:12px;font-size:13px;color:var(--stone)}.mood-words{width:100%;text-align:left;margin-top:20px}.mood-words .chips{justify-content:flex-start}.mood-foot{padding-top:22px}.mood-row{display:flex;align-items:center;gap:12px;margin-top:8px;padding:12px 14px;border:1px solid var(--vellum);border-radius:24px;background:var(--white)}.mood-row-main{flex:1;min-width:0}.mood-row .row-hint{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.toast{position:fixed;left:20px;right:20px;bottom:calc(var(--tabbar-h) + var(--safe-bottom) + 24px);margin:0 auto;max-width:520px;background:var(--ink);color:var(--white);padding:14px 20px;border-radius:var(--r-card);font-size:15px;box-shadow:var(--shadow-heavy);z-index:60;animation:fade .15s ease}.loader{min-height:60vh;display:flex;align-items:center;justify-content:center;color:var(--stone);font-size:14px}.spinner{width:22px;height:22px;border:2.5px solid var(--vellum);border-top-color:var(--ink);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.empty{padding:22px 0;text-align:center;color:var(--stone);font-size:15px}.error-box{padding:48px 0;text-align:center}.error-box h2{font-size:28px;font-weight:400;letter-spacing:-.017em;color:var(--violet);margin-bottom:10px}.error-box p{color:var(--graphite);font-size:16px}.link-box{display:flex;align-items:center;gap:8px;margin-top:10px}.link-box .input{font-size:13px;color:var(--stone);height:44px}.share-page{max-width:560px;margin:0 auto;min-height:100vh;background:var(--white);padding:0 calc(20px + var(--safe-right)) 48px calc(20px + var(--safe-left))}.share-months{display:grid;gap:24px;margin-top:12px}.share-month h3{font-size:16px;font-weight:500;margin-bottom:8px}.confidence{margin-top:14px;padding-top:14px;border-top:1px solid var(--vellum);font-size:14px;color:var(--stone);line-height:1.45}.confidence b{font-weight:500;color:var(--graphite)}.stack>*+*{margin-top:12px}.mt8{margin-top:8px}.mt12{margin-top:12px}.mt16{margin-top:16px}.mt24{margin-top:24px}.brand-footer{display:flex;align-items:center;gap:14px;margin-top:36px;padding:16px 18px;border:1px solid var(--vellum);border-radius:var(--r-card);box-shadow:var(--shadow-nav);text-decoration:none;color:var(--ink);background:var(--white)}.brand-footer-text{display:flex;flex-direction:column;gap:1px;min-width:0}.brand-footer-text b{font-size:16px;font-weight:500}.brand-footer-text span{font-size:13px;color:var(--stone);line-height:1.35}.brand-footer-text .brand-footer-link{color:var(--violet);font-weight:500;margin-top:3px}.paywall{min-height:calc(100vh - var(--safe-top));display:flex;align-items:center;padding:24px 0 calc(24px + var(--safe-bottom))}.paywall-body{width:100%;display:flex;flex-direction:column;align-items:center;text-align:center}.paywall-title{font-size:30px;font-weight:400;letter-spacing:-.02em;line-height:1.12;color:var(--violet);margin-top:18px;max-width:14ch}.paywall-lead{font-size:16px;color:var(--graphite);line-height:1.45;margin-top:12px;max-width:32ch}.paywall-price{margin-top:20px;display:flex;flex-direction:column;gap:3px}.paywall-price b{font-size:22px;font-weight:500;letter-spacing:-.015em}.paywall-price span{font-size:13px;color:var(--stone)}
