.v2-scope .ttc-top{padding:10px 0 4px;background:var(--paper)}.v2-scope .ttc-top .eyebrow{display:block;margin-bottom:8px}.v2-scope .ttc-top h1{font-size:clamp(30px,4.4vw,44px)}.v2-scope .ttc-top h1 em{font-style:italic;color:var(--sage-deep)}.v2-scope .ttc-sub{color:var(--ink-soft);font-size:15.5px;margin-top:6px;max-width:56ch}.v2-scope .ttc-main{padding:0 0 80px;background:linear-gradient(180deg,var(--paper),var(--warm-white) 260px)}.v2-scope .ttc-tabs{display:flex;gap:6px;flex-wrap:wrap;margin:22px 0 16px;border-bottom:1px solid var(--hairline);padding-bottom:14px}.v2-scope .ttc-tab{border:none;background:transparent;color:var(--ink-soft);font-weight:700;font-size:14px;padding:11px 18px;min-height:44px;border-radius:999px;transition:.18s;cursor:pointer}.v2-scope .ttc-tab:hover{background:var(--sand);color:var(--ink)}.v2-scope .ttc-tab.on{background:var(--sage-deep);color:var(--warm-white)}.v2-scope .ttc-flick{display:inline-flex;gap:4px;margin:22px 0 14px;padding:4px;background:var(--sand);border-radius:999px}.v2-scope .ttc-flick-btn{border:none;background:transparent;color:var(--ink-soft);font-weight:700;font-size:15px;padding:11px 28px;min-height:44px;border-radius:999px;transition:.18s;cursor:pointer}.v2-scope .ttc-flick-btn:hover{color:var(--ink)}.v2-scope .ttc-flick-btn.on{background:var(--sage-deep);color:var(--warm-white);box-shadow:0 1px 3px #00000014}.v2-scope .ttc-tabs-more{display:flex;gap:4px;flex-wrap:wrap;margin:16px 0 6px;border-bottom:1px solid var(--hairline);padding-bottom:14px}.v2-scope .ttc-tab-more{border:none;background:transparent;color:var(--ink-soft);font-weight:600;font-size:13px;padding:9px 15px;min-height:40px;border-radius:999px;transition:.18s;cursor:pointer}.v2-scope .ttc-tab-more:hover{background:var(--sand);color:var(--ink)}.v2-scope .ttc-tab-more.on{background:var(--sage-deep);color:var(--warm-white)}.v2-scope .ttc-savetoast{position:fixed;left:50%;bottom:22px;z-index:60;display:inline-flex;align-items:center;gap:7px;background:var(--sage-deep);color:var(--warm-white);font-weight:700;font-size:14px;letter-spacing:.01em;padding:10px 18px;border-radius:999px;box-shadow:0 6px 20px #00000024;opacity:0;pointer-events:none;transform:translate(-50%) translateY(8px);transition:opacity .22s ease,transform .22s ease}.v2-scope .ttc-savetoast.show{opacity:1;transform:translate(-50%) translateY(0)}.v2-scope .ttc-savetoast svg{width:16px;height:16px;flex:none}@media(prefers-reduced-motion:reduce){.v2-scope .ttc-savetoast{transition:opacity .01s linear;transform:translate(-50%)}.v2-scope .ttc-savetoast.show{transform:translate(-50%)}}.v2-scope .ttc-cyc{display:grid;grid-template-columns:1.15fr .85fr;gap:18px;padding-bottom:8px}.v2-scope .ttc-wheel-card{background:var(--white);border:1px solid var(--hairline);border-radius:var(--r-lg);padding:26px;box-shadow:var(--shadow-soft);display:flex;flex-direction:column;align-items:center}.v2-scope .ttc-wheel-wrap{position:relative;width:min(350px,88%);aspect-ratio:1}.v2-scope .ttc-wheel{width:100%;height:100%;display:block;touch-action:manipulation}.v2-scope .ttc-wheel.dragging{cursor:grabbing}.v2-scope .ttc-arc-menstrual{stroke:#c17767}.v2-scope .ttc-arc-follicular{stroke:var(--sage)}.v2-scope .ttc-arc-ovulatory{stroke:var(--gold)}.v2-scope .ttc-arc-luteal{stroke:var(--priv)}.v2-scope .ttc-tick{stroke:var(--ink-soft);stroke-width:1.2;stroke-linecap:round;opacity:.7}.v2-scope .ttc-tick.day1{stroke:#a85a4a;stroke-width:2.4;opacity:1}.v2-scope .ttc-daynum{fill:var(--ink-soft);font-family:Mulish,sans-serif;font-size:10.5px;font-weight:700;pointer-events:none}.v2-scope .ttc-daynum.d1{fill:#a85a4a}.v2-scope .ttc-fertile-dot{fill:var(--gold)}.v2-scope .ttc-sex-heart{fill:#fff;stroke:#c0748c;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;paint-order:stroke}.v2-scope .ttc-sex-heart.filled{fill:#c0748c;stroke:#fff;stroke-width:1.4;paint-order:stroke}.v2-scope .ttc-today-stem{stroke:var(--ink);stroke-width:2.6;stroke-linecap:round}.v2-scope .ttc-today-dot{fill:var(--ink)}.v2-scope .ttc-ov-marker{touch-action:none}.v2-scope .ttc-wheel.editable .ttc-ov-marker{cursor:grab}.v2-scope .ttc-wheel.dragging .ttc-ov-marker{cursor:grabbing}.v2-scope .ttc-ov-disc{fill:var(--white);stroke:var(--hairline);stroke-width:1.2}.v2-scope .ttc-wheel.editable .ttc-ov-disc{stroke:var(--sage-deep);stroke-width:2.2}.v2-scope .ttc-ov-diamond{fill:var(--gold)}.v2-scope .ttc-ov-label{fill:var(--gold-deep);stroke:var(--white);stroke-width:3;paint-order:stroke;font-family:Mulish,sans-serif;font-size:8.5px;font-weight:800;letter-spacing:1px;pointer-events:none}.v2-scope .ttc-ov-pop{transform-box:fill-box;transform-origin:center;animation:ttc-ov-pop .26s ease-out}@keyframes ttc-ov-pop{0%{transform:scale(1)}50%{transform:scale(1.22)}to{transform:scale(1)}}.v2-scope .ttc-wheel-centre{position:absolute;inset:0;display:grid;place-items:center;text-align:center;pointer-events:none}.v2-scope .ttc-wheel-centre>div{max-width:36%}.v2-scope .ttc-ph-ic{color:var(--sage-deep);margin-bottom:5px}.v2-scope .ttc-ph-ic svg{display:inline-block;vertical-align:middle}.v2-scope .ttc-wheel-centre b{font-family:Mulish,sans-serif;font-weight:700;font-size:12px;letter-spacing:.17em;text-transform:uppercase;color:var(--ink);padding-left:.17em}.v2-scope .ttc-wheel-centre em{font-family:Playfair Display,Georgia,serif;font-style:italic;font-size:21px;color:var(--sage-deep);display:block;margin-top:2px}.v2-scope .ttc-legend{display:flex;gap:10px 18px;flex-wrap:wrap;justify-content:center;margin-top:18px}.v2-scope .ttc-legend span{display:inline-flex;align-items:center;gap:7px;font-size:13.5px;font-weight:600;color:var(--ink)}.v2-scope .ttc-legend i{width:9px;height:9px;border-radius:50%;display:inline-block;flex:none}.v2-scope .ttc-legend small{font-size:11.5px;font-weight:600;color:var(--ink-soft)}.v2-scope .ttc-swatch-menstrual{background:#c17767}.v2-scope .ttc-swatch-follicular{background:var(--sage)}.v2-scope .ttc-swatch-ovulatory{background:var(--gold)}.v2-scope .ttc-swatch-luteal{background:var(--priv)}.v2-scope .ttc-swatch-today{background:var(--ink)}.v2-scope .ttc-diamond-glyph{color:var(--gold);font-size:13px;line-height:1}.v2-scope .ttc-phase-tip{margin-top:20px;text-align:center;font-size:16px;color:var(--ink)}.v2-scope .ttc-phase-tip b{font-family:Mulish,sans-serif;font-weight:700;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--sage-deep);margin-right:9px}.v2-scope .ttc-whint{margin-top:9px;font-size:14px;color:var(--ink);opacity:.75;text-align:center;letter-spacing:.01em}.v2-scope .ttc-ovedit{margin-top:14px;width:100%;display:flex;flex-direction:column;align-items:center;gap:4px}.v2-scope .ttc-ovedit .ttc-whint{margin-top:0;max-width:44ch}.v2-scope .ttc-ovedit-start{min-height:44px;padding:11px 20px;border-radius:999px;border:1.5px solid var(--hairline);background:var(--white);color:var(--sage-deep);font-family:Mulish,sans-serif;font-weight:700;font-size:13.5px;cursor:pointer;transition:.15s}.v2-scope .ttc-ovedit-start:hover{border-color:var(--sage);background:var(--sage-tint)}.v2-scope .ttc-ovedit-btns{display:flex;align-items:center;gap:10px;margin-top:4px}.v2-scope .ttc-ovedit-done{min-height:44px;padding:11px 26px;border-radius:999px;border:none;background:var(--sage-deep);color:var(--warm-white);font-family:Mulish,sans-serif;font-weight:700;font-size:13.5px;cursor:pointer;transition:.15s}.v2-scope .ttc-ovedit-done:hover{background:var(--moss)}.v2-scope .ttc-ovedit-undo{min-height:44px;padding:11px 18px;border-radius:999px;border:none;background:none;color:var(--ink-soft);font-family:Mulish,sans-serif;font-weight:700;font-size:13.5px;cursor:pointer}.v2-scope .ttc-ovedit-undo:hover{color:var(--ink)}.v2-scope .ttc-quick{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-top:20px;padding:14px 18px;background:var(--white);border:1px solid var(--hairline);border-radius:var(--r-md);box-shadow:var(--shadow-soft)}.v2-scope .ttc-quick-now{display:flex;align-items:baseline;gap:9px}.v2-scope .ttc-quick-now b{font-family:Playfair Display,Georgia,serif;font-size:20px;font-weight:600;color:var(--moss)}.v2-scope .ttc-quick-now span{font-size:13.5px;color:var(--ink-soft)}.v2-scope .ttc-quick-btn{min-height:44px;padding:11px 24px;border-radius:999px;border:none;background:var(--sage-deep);color:var(--warm-white);font-family:Mulish,sans-serif;font-weight:700;font-size:13.5px;cursor:pointer;transition:.15s}.v2-scope .ttc-quick-btn:hover{background:var(--moss)}.v2-scope .ttc-side{display:flex;flex-direction:column;gap:14px}.v2-scope .ttc-pcardx{background:var(--white);border:1px solid var(--hairline);border-radius:var(--r-md);padding:20px 22px}.v2-scope .ttc-ph{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}.v2-scope .ttc-pt b{display:block;font-size:15px;font-weight:700;color:var(--moss)}.v2-scope .ttc-lenrow{display:flex;align-items:center;gap:7px;margin-top:8px;font-size:13px;color:var(--ink-soft)}.v2-scope .ttc-lenrow button{position:relative;width:28px;height:28px;border-radius:50%;border:1.5px solid var(--hairline);background:var(--white);color:var(--sage-deep);font-size:14px;font-weight:700;display:grid;place-items:center;line-height:1;padding:0;cursor:pointer;transition:.15s}.v2-scope .ttc-lenrow button:after{content:"";position:absolute;inset:-8px;border-radius:50%}.v2-scope .ttc-lenrow button:hover:not(:disabled){border-color:var(--sage);background:var(--sage-tint)}.v2-scope .ttc-lenrow button:disabled{opacity:.35;cursor:default}.v2-scope .ttc-lenrow b{font-family:Playfair Display,Georgia,serif;font-size:16px;font-weight:600;color:var(--moss);min-width:20px;text-align:center}.v2-scope .ttc-lensummary{flex-wrap:wrap}.v2-scope .ttc-lensummary-adjust{min-height:30px;padding:5px 14px;border-radius:999px;border:1.5px solid var(--hairline);background:var(--white);color:var(--sage-deep);font-family:Mulish,sans-serif;font-weight:700;font-size:12px;cursor:pointer;transition:.15s}.v2-scope .ttc-lensummary-adjust:hover{border-color:var(--sage);background:var(--sage-tint)}.v2-scope .ttc-daybig{font-family:Playfair Display,Georgia,serif;font-size:30px;font-weight:600;color:var(--sage-deep);line-height:1;text-align:right}.v2-scope .ttc-daybig small{display:block;font-family:Mulish,sans-serif;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);margin-top:3px}.v2-scope .ttc-logbtn{width:100%;justify-content:center;margin-top:14px;padding:13px 20px;font-size:14.5px}.v2-scope .ttc-loggedtoday{margin-top:14px;padding:12px 16px;border:1px solid var(--hairline);border-radius:14px;background:var(--cream-l, #F7F3EE);text-align:center}.v2-scope .ttc-loggedtoday-msg{display:flex;align-items:center;justify-content:center;gap:8px;margin:0;font-size:14px;font-weight:700;color:var(--sage-deep)}.v2-scope .ttc-loggedtoday .ttc-clear{min-height:0;margin-top:6px;font-size:12.5px;text-decoration:underline;text-underline-offset:3px}.v2-scope .ttc-fertile{border-radius:var(--r-md);padding:18px 20px;background:var(--sev-info-bg);border:1px solid rgba(168,181,166,.55)}.v2-scope .ttc-fertile>b{display:block;font-size:14.5px;font-weight:700;color:var(--sev-info-h);margin-bottom:4px}.v2-scope .ttc-fertile>p{font-size:13.5px;line-height:1.55;color:var(--ink)}.v2-scope .ttc-ov-adjust{display:flex;align-items:center;gap:12px;margin-top:14px;padding-top:13px;border-top:1px solid rgba(92,107,90,.18);flex-wrap:wrap}.v2-scope .ttc-oal{font-size:13px;font-weight:700;color:var(--sev-info-h)}.v2-scope .ttc-ovstep{display:flex;align-items:center;gap:10px}.v2-scope .ttc-ovstep button{position:relative;width:38px;height:38px;border-radius:50%;border:1.5px solid var(--sev-info);background:var(--white);color:var(--sev-info-h);font-size:17px;font-weight:700;display:grid;place-items:center;transition:.15s;line-height:1;padding:0;cursor:pointer}.v2-scope .ttc-ovstep button:after{content:"";position:absolute;inset:-3px;border-radius:50%}.v2-scope .ttc-ovstep button:hover:not(:disabled){background:var(--sage-tint);border-color:var(--sage-deep)}.v2-scope .ttc-ovstep button:disabled{opacity:.35;cursor:default}.v2-scope .ttc-ovstep b{font-family:Playfair Display,Georgia,serif;font-size:20px;font-weight:600;color:var(--moss);min-width:28px;text-align:center}.v2-scope .ttc-ov-reset{border:none;background:none;color:var(--sev-info-h);font-weight:700;font-size:12.5px;border-bottom:1.5px solid var(--sev-info);padding:12px 0 1px;margin-left:auto;cursor:pointer;min-height:44px;display:inline-flex;align-items:flex-end}.v2-scope .ttc-cal{display:grid;grid-template-columns:1.15fr .85fr;gap:18px;padding-bottom:8px}.v2-scope .ttc-cal-card{background:var(--white);border:1px solid var(--hairline);border-radius:var(--r-lg);padding:24px;box-shadow:var(--shadow-soft);align-self:start}.v2-scope .ttc-cal-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:18px}.v2-scope .ttc-cal-head b{font-family:Playfair Display,Georgia,serif;font-size:24px;font-weight:600;color:var(--moss);letter-spacing:.01em}.v2-scope .ttc-cal-head b small{font-family:Playfair Display,Georgia,serif;font-style:italic;font-weight:500;font-size:24px;color:var(--sage-deep)}.v2-scope .ttc-mnav{display:flex;gap:8px}.v2-scope .ttc-mnav button{width:44px;height:44px;border-radius:50%;border:1.5px solid var(--hairline);background:var(--white);color:var(--sage-deep);display:grid;place-items:center;transition:.15s;cursor:pointer;padding:0}.v2-scope .ttc-mnav button:hover{border-color:var(--sage);background:var(--sage-tint)}.v2-scope .ttc-dow{display:grid;grid-template-columns:repeat(7,1fr);margin-bottom:10px;border-bottom:1px solid var(--hairline);padding-bottom:8px}.v2-scope .ttc-dow span{text-align:center;font-size:10.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);opacity:.8}.v2-scope .ttc-days{display:grid;grid-template-columns:repeat(7,1fr);gap:2px 4px}.v2-scope .ttc-dayc{position:relative;height:68px;border-radius:14px;border:none;background:transparent;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:13.5px;font-weight:600;color:var(--ink);transition:.15s;padding:8px 0 0;cursor:pointer;font-family:Mulish,sans-serif}.v2-scope .ttc-dayc .cday{height:11px;line-height:11px;font-size:9.5px;font-weight:700;letter-spacing:.02em;color:var(--ink-soft)}.v2-scope .ttc-dayc .cday.est{opacity:.45;font-weight:600}.v2-scope .ttc-dayc .cday.day1{color:#a85a4a;text-transform:uppercase;letter-spacing:.06em}.v2-scope .ttc-dayc .num{flex:none;width:32px;height:32px;min-width:32px;min-height:32px;border-radius:50%;display:grid;place-items:center;line-height:1;transition:.15s;border:1.5px solid transparent}.v2-scope .ttc-dayc:hover .num{background:var(--cream-l);border-color:var(--cream-d)}.v2-scope .ttc-dayc.dim{opacity:0;pointer-events:none}.v2-scope .ttc-dayc.period .num{background:#ebd2c9;color:#7e4434}.v2-scope .ttc-dayc.predicted .num{border:1.5px dashed #D4AE9F;color:#a85a4a}.v2-scope .ttc-dayc.fertile .num{background:var(--sage-tint);color:var(--sage-deep)}.v2-scope .ttc-dayc.today .num{background:var(--sage-deep);color:var(--warm-white);border-color:var(--sage-deep)}.v2-scope .ttc-dayc.sel .num{box-shadow:0 0 0 2px var(--warm-white),0 0 0 3.5px var(--sage-deep)}.v2-scope .ttc-dayc.ovday .num{position:relative;isolation:isolate;color:#fff;font-weight:700;background:none!important;border-color:transparent!important}.v2-scope .ttc-dayc.ovday .num:before{content:"";position:absolute;inset:4.5px;background:var(--gold);border-radius:2.5px;transform:rotate(45deg);z-index:-1}.v2-scope .ttc-dayc.ovday:hover .num:before{background:var(--gold-deep)}.v2-scope .ttc-dayc.ovday.today .num:before{background:var(--sage-deep)}.v2-scope .ttc-dayc .dots{display:flex;gap:3.5px;height:5px}.v2-scope .ttc-dayc .dots i{width:5px;height:5px;border-radius:50%;display:block}.v2-scope .ttc-dot-flow{background:#a85a4a}.v2-scope .ttc-dot-body{background:var(--sage-deep)}.v2-scope .ttc-dot-mood{background:var(--priv)}.v2-scope .ttc-cal-legend{display:flex;gap:12px 18px;flex-wrap:wrap;margin-top:18px;padding-top:14px;border-top:1px solid var(--hairline)}.v2-scope .ttc-cal-legend span{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;font-weight:600;color:var(--ink-soft)}.v2-scope .ttc-cal-legend i{width:12px;height:12px;border-radius:50%;display:inline-block;flex:none}.v2-scope .ttc-key-period{background:#ebd2c9}.v2-scope .ttc-key-predicted{background:transparent;border:1.5px dashed #D4AE9F}.v2-scope .ttc-key-fertile{background:var(--sage-tint)}.v2-scope .ttc-cal-legend .ttc-key-ov{width:9px;height:9px;background:var(--gold);border-radius:1.5px;transform:rotate(45deg);margin:0 2px}.v2-scope .ttc-key-today{background:var(--sage-deep)}.v2-scope .ttc-dayc .ttc-sex-mark{position:absolute;top:5px;left:6px;color:#c0748c;display:inline-flex;line-height:0;pointer-events:none}.v2-scope .ttc-key-sex{width:auto;height:auto;border-radius:0;background:none;color:#c0748c;display:inline-flex;align-items:center;line-height:0;flex:none}.v2-scope .ttc-dayc .ttc-note-mark{position:absolute;top:2px;right:6px;color:var(--sage-deep);font-weight:700;font-size:13px;line-height:1;pointer-events:none}.v2-scope .ttc-key-note{width:auto;height:auto;border-radius:0;background:none;color:var(--sage-deep);font-weight:700;flex:none}.v2-scope .ttc-logger{background:var(--white);border:1px solid var(--hairline);border-radius:var(--r-lg);padding:22px;box-shadow:var(--shadow-soft);align-self:start}.v2-scope .ttc-lh{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:4px}.v2-scope .ttc-lh b{font-family:Playfair Display,Georgia,serif;font-size:19px;font-weight:600;color:var(--moss)}.v2-scope .ttc-lh span{font-size:12.5px;color:var(--ink-soft)}.v2-scope .ttc-periodbtn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;margin-top:12px;min-height:44px;border-radius:999px;border:1.5px dashed #D4AE9F;background:var(--cream-l);color:#a85a4a;font-weight:700;font-size:13.5px;cursor:pointer;transition:.15s}.v2-scope .ttc-periodbtn:hover{background:#ebd2c9}.v2-scope .ttc-dayone{display:inline-flex;align-items:center;gap:7px;margin-top:12px;font-size:13px;font-weight:700;color:#a85a4a}.v2-scope .ttc-dayone.end{color:var(--ink-soft);flex-wrap:wrap}.v2-scope .ttc-dayone.end .ttc-clear{min-height:0;font-size:12.5px;text-decoration:underline}.v2-scope .ttc-periodbtn.end{border-style:solid;border-color:var(--hairline);background:var(--white);color:var(--ink-soft)}.v2-scope .ttc-periodbtn.end:hover{background:var(--cream-l);color:var(--ink)}.v2-scope .ttc-lh .ttc-lhday{font-family:Mulish,sans-serif;font-style:normal;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--sage-deep);margin-left:9px}.v2-scope .ttc-cal-hint{margin:12px 0 0;font-size:12.5px;color:var(--ink-soft);text-align:center}.v2-scope .ttc-group{margin-top:16px}.v2-scope .ttc-group>b{display:block;font-size:11.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:9px}.v2-scope .ttc-subgroup{margin-top:10px}.v2-scope .ttc-subl{display:block;font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);opacity:.75;margin-bottom:6px}.v2-scope .ttc-sym{display:flex;gap:7px;flex-wrap:wrap}.v2-scope .ttc-sym button{position:relative;border:1.5px solid var(--hairline);background:var(--cream-l);color:var(--ink);font-weight:600;font-size:13px;padding:9px 14px;min-height:40px;border-radius:999px;transition:.15s;cursor:pointer}.v2-scope .ttc-sym button:after{content:"";position:absolute;inset:-2px;border-radius:999px}.v2-scope .ttc-sym button:hover{border-color:var(--sage-soft)}.v2-scope .ttc-sym button.on{background:var(--sage-deep);border-color:var(--sage-deep);color:var(--warm-white)}.v2-scope .ttc-sym.flow button.on{background:#a85a4a;border-color:#a85a4a}.v2-scope .ttc-sym.mood button.on{background:var(--priv);border-color:var(--priv)}.v2-scope .ttc-more{border:none;background:none;color:var(--sage-deep);font-weight:700;font-size:12.5px;border-bottom:1.5px solid var(--sage-soft);padding:12px 0 1px;margin-top:12px;cursor:pointer;min-height:44px;display:inline-flex;align-items:flex-end}.v2-scope .ttc-note-input{width:100%;margin-top:8px;padding:10px 12px;border:1.5px solid var(--hairline);border-radius:12px;background:var(--white);font-family:inherit;font-size:14px;line-height:1.5;color:var(--ink);resize:vertical;min-height:58px;box-sizing:border-box}.v2-scope .ttc-note-input:focus{outline:none;border-color:var(--sage-soft)}.v2-scope .ttc-log-actions{display:flex;align-items:center;gap:12px;margin-top:18px;flex-wrap:wrap}.v2-scope .ttc-clear{border:none;background:none;color:var(--ink-soft);font-weight:700;font-size:13px;cursor:pointer;min-height:44px;padding:0 4px}.v2-scope .ttc-clear:hover:not(:disabled){color:#a85a4a}.v2-scope .ttc-clear:disabled{opacity:.4;cursor:default}.v2-scope .ttc-saved{font-size:12.5px;color:var(--sage-deep);font-weight:700;opacity:0;transition:.3s}.v2-scope .ttc-saved.show{opacity:1}.v2-scope .ttc-setup{background:var(--paper);border:1px solid var(--hairline);border-radius:var(--r-lg);padding:34px;max-width:560px;margin-top:22px}.v2-scope .ttc-setup h3{font-size:26px;margin-bottom:10px}.v2-scope .ttc-setup p{font-size:15px;color:var(--ink-soft);line-height:1.6;margin-bottom:20px}.v2-scope .ttc-setup-label{display:block;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:8px}.v2-scope .ttc-setup input[type=date]{display:block;width:100%;max-width:280px;min-height:48px;padding:11px 16px;border-radius:14px;border:1.5px solid var(--hairline);background:var(--white);font-family:Mulish,sans-serif;font-size:15px;color:var(--ink);margin-bottom:20px}.v2-scope .ttc-setup input[type=date]:focus{outline:2px solid var(--sage);outline-offset:1px}.v2-scope .ttc-setup-note{font-size:13px;margin:14px 0 0;opacity:.85}@media(max-width:900px){.v2-scope .ttc-cyc,.v2-scope .ttc-cal{grid-template-columns:1fr}}@media(max-width:560px){.v2-scope .ttc-tabs{gap:4px}.v2-scope .ttc-tab{padding:10px 13px;font-size:13px}.v2-scope .ttc-flick{display:flex;width:100%}.v2-scope .ttc-flick-btn{flex:1;padding:12px 10px}.v2-scope .ttc-tab-more{padding:9px 12px;font-size:13px}.v2-scope .ttc-wheel-wrap{width:min(320px,100%)}.v2-scope .ttc-cal-card,.v2-scope .ttc-logger{padding:18px}.v2-scope .ttc-setup{padding:26px 22px}.v2-scope .ttc-quick{padding:14px}.v2-scope .ttc-quick-btn{flex:1 0 100%}}.v2-scope .ttc-testrow .ttc-testlist{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}.v2-scope .ttc-testrow .ttc-testlist li{display:flex;align-items:center;gap:10px}.v2-scope .ttc-testrow .ttc-testlist li>span{display:flex;flex-direction:column;gap:1px}.v2-scope .ttc-testrow .ttc-testlist li b{font-size:13.5px;font-weight:700;color:var(--ink)}.v2-scope .ttc-testrow .ttc-testlist li em{font-size:11.5px;font-style:normal;color:var(--ink-soft)}.v2-scope .ttc-testthumb{width:38px;height:38px;border-radius:9px;-o-object-fit:cover;object-fit:cover;flex:none;border:1px solid var(--hairline);background:var(--cream-l)}.v2-scope .ttc-testthumb.none{display:inline-block}.v2-scope .ttc-testhint{margin:7px 0 0;font-size:12.5px;line-height:1.55;color:var(--ink-soft)}.v2-scope .ttc-testlink{margin-top:9px;background:none;border:none;padding:0;font-family:Mulish,sans-serif;font-size:13px;font-weight:700;color:var(--sage-deep);text-decoration:underline;text-underline-offset:3px;cursor:pointer}.v2-scope .ttc-hpt{margin-top:16px;background:var(--white);border:1px solid var(--hairline);border-radius:18px;padding:18px 17px}.v2-scope .ttc-hpt-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.v2-scope .ttc-hpt-head b{font-family:Playfair Display,Georgia,serif;font-size:18px;font-weight:600;color:var(--ink)}.v2-scope .ttc-hpt-count{font-size:11.5px;font-weight:700;color:var(--ink-soft)}.v2-scope .ttc-hpt-intro{margin:6px 0 0;font-size:13px;line-height:1.6;color:var(--ink-soft)}.v2-scope .ttc-hpt-empty{margin:12px 0 0;font-size:13px;line-height:1.6;color:var(--ink-soft);background:var(--cream-l);border-radius:12px;padding:12px 14px}.v2-scope .ttc-hpt-list{list-style:none;margin:13px 0 0;padding:0;display:flex;flex-direction:column;gap:10px}.v2-scope .ttc-hpt-item{display:flex;align-items:center;gap:11px}.v2-scope .ttc-hpt-thumb{width:52px;height:52px;border-radius:11px;flex:none;padding:0;border:1px solid var(--hairline);background:var(--cream-l);overflow:hidden;cursor:pointer}.v2-scope .ttc-hpt-thumb.none{cursor:default}.v2-scope .ttc-hpt-thumb img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block}.v2-scope .ttc-hpt-meta{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.v2-scope .ttc-hpt-meta b{font-size:13.5px;font-weight:700;color:var(--ink)}.v2-scope .ttc-hpt-meta>span{font-size:12px;color:var(--ink-soft)}.v2-scope .ttc-hpt-meta em{font-size:12px;font-style:italic;color:var(--ink-soft)}.v2-scope .ttc-hpt-del{background:none;border:none;padding:4px 2px;font-family:Mulish,sans-serif;font-size:12px;font-weight:600;color:var(--ink-soft);text-decoration:underline;text-underline-offset:3px;cursor:pointer}.v2-scope .ttc-hpt-note{margin:12px 0 0;font-size:12.5px;line-height:1.55;color:var(--ink);background:var(--cream-l);border-radius:12px;padding:11px 13px}.v2-scope .ttc-hpt-care{margin-top:14px;background:var(--sage-tint);border-radius:13px;padding:13px 15px}.v2-scope .ttc-hpt-care b{display:block;font-size:11px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:var(--sage-deep)}.v2-scope .ttc-hpt-care p{margin:6px 0 0;font-size:12.5px;line-height:1.6;color:var(--ink)}.v2-scope .ttc-hpt-add{margin-top:14px;width:100%;background:var(--cream-l);border:1px solid var(--hairline);border-radius:12px;padding:12px;font-family:Mulish,sans-serif;font-size:13.5px;font-weight:700;color:var(--sage-deep);cursor:pointer;transition:.15s}.v2-scope .ttc-hpt-add:hover{background:var(--sage-tint);border-color:var(--sage)}.v2-scope .ttc-hpt-form{margin-top:14px;display:flex;flex-direction:column;gap:11px}.v2-scope .ttc-hpt-results{display:flex;flex-wrap:wrap;gap:8px}.v2-scope .ttc-hpt-res{background:var(--white);border:1px solid var(--hairline);border-radius:999px;padding:8px 15px;font-family:Mulish,sans-serif;font-size:13px;font-weight:600;color:var(--ink);cursor:pointer;transition:.15s}.v2-scope .ttc-hpt-res.on{background:var(--sage-deep);border-color:var(--sage-deep);color:var(--warm-white)}.v2-scope .ttc-hpt-when{display:flex;gap:10px}.v2-scope .ttc-hpt-when label{flex:1;display:flex;flex-direction:column;gap:4px}.v2-scope .ttc-hpt-when input{width:100%;border:1px solid var(--hairline);border-radius:10px;padding:9px 11px;font-family:Mulish,sans-serif;font-size:13.5px;color:var(--ink);background:var(--white)}.v2-scope .ttc-hpt-capture{display:flex;gap:9px}.v2-scope .ttc-hpt-cap{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px dashed var(--sage);border-radius:12px;padding:12px 10px;font-size:13px;font-weight:600;color:var(--sage-deep);cursor:pointer}.v2-scope .ttc-hpt-cap input{display:none}.v2-scope .ttc-hpt-preview{display:flex;align-items:center;gap:12px}.v2-scope .ttc-hpt-preview img{width:84px;height:84px;-o-object-fit:cover;object-fit:cover;border-radius:12px;border:1px solid var(--hairline)}.v2-scope .ttc-hpt-actions{display:flex;align-items:center;gap:14px}.v2-scope .ttc-hpt-view{position:fixed;inset:0;z-index:90;background:#1c201ced;display:grid;place-items:center;gap:14px;padding:24px}.v2-scope .ttc-hpt-view img{max-width:100%;max-height:74vh;border-radius:12px}.v2-scope .ttc-hpt-viewcap{font-size:13px;font-weight:600;color:#ffffffdb}.v2-scope .ttc-hpt-close{position:absolute;top:16px;right:16px;width:38px;height:38px;border-radius:50%;border:none;background:#ffffff29;color:#fff;display:grid;place-items:center;cursor:pointer}.v2-scope .ttc-import{background:var(--white);border:1px solid var(--hairline);border-radius:18px;overflow:hidden;margin-bottom:16px}.v2-scope .ttc-import-head{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;background:none;border:none;padding:16px 17px;text-align:left;cursor:pointer;font-family:Mulish,sans-serif}.v2-scope .ttc-import-head b{display:block;font-family:Playfair Display,Georgia,serif;font-size:17px;font-weight:600;color:var(--ink)}.v2-scope .ttc-import-head small{display:block;margin-top:3px;font-size:12.5px;line-height:1.5;color:var(--ink-soft)}.v2-scope .ttc-import-chev{color:var(--ink-soft);display:inline-flex;transition:transform .18s}.v2-scope .ttc-import-chev.open{transform:rotate(180deg)}.v2-scope .ttc-import-body{padding:0 17px 17px;display:flex;flex-direction:column;gap:11px}.v2-scope .ttc-import-p{margin:0;font-size:12.5px;line-height:1.6;color:var(--ink-soft)}.v2-scope .ttc-import-p b{color:var(--ink);font-weight:700}.v2-scope .ttc-import-input{width:100%;border:1px solid var(--hairline);border-radius:12px;padding:11px 13px;font-family:Mulish,sans-serif;font-size:13.5px;line-height:1.6;color:var(--ink);background:var(--cream-l);resize:vertical}.v2-scope .ttc-import-prev{background:var(--sage-tint);border-radius:13px;padding:12px 14px}.v2-scope .ttc-import-prev ul{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:5px}.v2-scope .ttc-import-prev li{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.v2-scope .ttc-import-prev li b{font-size:13px;font-weight:700;color:var(--ink)}.v2-scope .ttc-import-prev li em{font-size:12px;font-style:normal;color:var(--sage-deep);font-weight:600}.v2-scope .ttc-import-note{margin:10px 0 0;font-size:11.5px;line-height:1.55;color:var(--ink-soft)}.v2-scope .ttc-import-bad{margin:0;font-size:12.5px;line-height:1.55;color:var(--ink);background:var(--cream-l);border-radius:12px;padding:11px 13px}.v2-scope .ttc-import-done{margin:0;font-size:12.5px;line-height:1.55;font-weight:600;color:var(--sage-deep)}.v2-scope .ttc-import-go{align-self:flex-start}.v2-scope .cy-switch{margin-top:18px;padding:18px 20px;border-radius:var(--r-md);background:var(--sage-tint);border:1px solid var(--sage-soft)}.v2-scope .cy-switch>b{display:block;font-size:16px;color:var(--sage-deep);margin-bottom:8px}.v2-scope .cy-switch>p{margin:0 0 14px;font-size:14px;line-height:1.6;color:var(--ink);max-width:62ch}.v2-scope .cy-switch-row{display:flex;flex-wrap:wrap;gap:10px}.v2-scope .cy-switch-yes{min-height:44px;padding:11px 20px;border-radius:999px;border:none;background:var(--sage-deep);color:#fff;font:inherit;font-size:14px;font-weight:700;cursor:pointer}.v2-scope .cy-switch-no{min-height:44px;padding:11px 20px;border-radius:999px;border:1px solid var(--hairline);background:var(--white);color:var(--ink);font:inherit;font-size:14px;cursor:pointer}.v2-scope .ttc-longcycle{margin:10px 0 0;padding:12px 14px;border-radius:var(--r-md);background:var(--sev-info-bg);border:1px solid rgba(168,181,166,.55);font-size:13px;line-height:1.6;color:var(--ink);max-width:60ch}.v2-scope .ttc-fwask{background:var(--white);border:1px solid var(--hairline);border-radius:var(--r-lg);padding:18px 20px;box-shadow:var(--shadow-soft);margin-top:14px}.v2-scope .ttc-fwask-title{font-family:Mulish,sans-serif;font-weight:700;font-size:14.5px;color:var(--ink);margin:0 0 6px;line-height:1.4}.v2-scope .ttc-fwask-body{font-size:13px;color:var(--ink-soft);line-height:1.55;margin:0 0 12px}.v2-scope .ttc-fwask-btns{display:flex;gap:10px;flex-wrap:wrap}.v2-scope .ttc-fwask-yes{min-height:40px;padding:9px 20px;border-radius:999px;border:none;background:var(--sage-deep);color:var(--warm-white);font-family:Mulish,sans-serif;font-weight:700;font-size:13px;cursor:pointer;transition:.15s}.v2-scope .ttc-fwask-yes:hover{background:var(--moss)}.v2-scope .ttc-fwask-no{min-height:40px;padding:9px 18px;border-radius:999px;border:1.5px solid var(--hairline);background:var(--white);color:var(--ink-soft);font-family:Mulish,sans-serif;font-weight:700;font-size:13px;cursor:pointer;transition:.15s}.v2-scope .ttc-fwask-no:hover{border-color:var(--sage);color:var(--ink)}.v2-scope .ttc-fwask-done{font-size:13px;color:var(--sage-deep);font-weight:700;margin:0}.v2-scope .ttc-cal-d.fertile-quiet{background:var(--cream-l);box-shadow:inset 0 -2px #7b9e8759}.v2-scope .ttc-custom-btn{display:block;width:100%;margin-top:9px;background:#fffcf7;border:1.5px dashed #C3B7A8;border-radius:10px;padding:11px;font-family:Mulish,sans-serif;font-weight:600;font-size:12.5px;color:var(--sage-deep);cursor:pointer}.v2-scope .ttc-custom-btn:hover{border-color:var(--sage)}.v2-scope .ttc-custom-add{margin-top:9px}.v2-scope .ttc-custom-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:7px}.v2-scope .ttc-custom-actions .ttc-more{padding:9px 16px;border-radius:999px;text-decoration:none;border:1px solid var(--hairline, #EDE4DA);background:#fffcf7;font-family:Mulish,sans-serif;font-weight:600;font-size:13px;line-height:1;color:var(--ink-soft)}.v2-scope .ttc-custom-actions .ttc-more.primary{background:var(--sage-deep);border-color:var(--sage-deep);color:#fff}.v2-scope .ttc-custom-actions .ttc-more.primary:disabled{opacity:.45;cursor:default}.v2-scope .ttc-custom-cap{font-size:12px;line-height:1.5;color:var(--ink-soft);margin:9px 0 0}.v2-scope .ttc-pattern{margin-top:12px;padding:13px 14px;background:#fffcf7;border:1px solid #EDE4DA;border-radius:12px}.v2-scope .ttc-pattern>b{display:block;font-size:10px;font-weight:700;letter-spacing:1.1px;text-transform:uppercase;color:#8a9a8b;margin-bottom:6px}.v2-scope .ttc-pattern-line{font-size:14.5px;font-weight:600;color:var(--ink)}.v2-scope .ttc-pattern-sml{font-size:12px;line-height:1.5;color:var(--ink-soft);margin-top:4px}.v2-scope .ttc-pattern-bars{display:flex;gap:2px;align-items:flex-end;height:32px;margin-top:10px}.v2-scope .ttc-pattern-bars i{flex:1;background:#e4dacf;border-radius:2px 2px 0 0;height:6px}.v2-scope .ttc-pattern-bars i.hit{background:#9b8aa6;height:28px}.v2-scope .ttc-pattern-axis{display:flex;justify-content:space-between;font-size:9px;font-weight:600;color:#9aa79b;margin-top:4px}
