@font-face{font-family:Kanit;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/kanit-thai-400-normal-D80Pglro.woff2) format("woff2"),url(/assets/kanit-thai-400-normal-D2nliXKa.woff) format("woff")}@font-face{font-family:Kanit;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/kanit-thai-500-normal-BB8gri04.woff2) format("woff2"),url(/assets/kanit-thai-500-normal-Iy_w0a80.woff) format("woff")}@font-face{font-family:Kanit;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/kanit-thai-600-normal-Bj6oiaDc.woff2) format("woff2"),url(/assets/kanit-thai-600-normal-wbTlPO7I.woff) format("woff")}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/plus-jakarta-sans-latin-400-normal-Dhut76fR.woff2) format("woff2"),url(/assets/plus-jakarta-sans-latin-400-normal-BDKaGhyp.woff) format("woff")}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/plus-jakarta-sans-latin-500-normal-Bf-nb4oT.woff2) format("woff2"),url(/assets/plus-jakarta-sans-latin-500-normal-DYtqi0QS.woff) format("woff")}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/plus-jakarta-sans-latin-600-normal-DLTa1BUW.woff2) format("woff2"),url(/assets/plus-jakarta-sans-latin-600-normal-BR_Ojra4.woff) format("woff")}@font-face{font-family:Google Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/google-sans-latin-500-normal-C94wcUG3.woff2) format("woff2"),url(/assets/google-sans-latin-500-normal-D5I8YECE.woff) format("woff")}:root{color-scheme:light;--surface-page: #fbf7f1;--surface-panel: #fffdf9;--surface-sidebar: #f6f1e9;--surface-muted: #f3ece8;--surface-rose: #f8ecef;--surface-recorded: #efd5dc;--surface-lavender: #eae3f0;--surface-success: #eef3e9;--surface-warning: #f1ede2;--surface-danger: #fae9e9;--text-primary: #51444b;--text-muted: #735e6a;--text-rose: #7f3e59;--text-lavender: #665273;--text-success: #45603b;--text-warning: #705329;--text-danger: #873747;--text-on-accent: #fff8f9;--action-primary: #8b4964;--action-hover: #783952;--action-secondary: #70466a;--border-soft: #e5d7d9;--border-strong: #a97689;--focus: #8b4964;--shadow-soft: #6a39430d;--shadow-floating: #422e3529;--scrim: #422e3566;--google-surface: #ffffff;--google-text: #1f1f1f;--google-border: #747775;--chart-rose: oklch(.54 .09 355);--chart-lavender: oklch(.54 .09 295);--chart-teal: oklch(.45 .065 175);--chart-track: oklch(.93 .015 315);--chart-ink: oklch(.36 .025 335);--chart-muted: oklch(.45 .025 335);--chart-review: oklch(.5 .095 75);--chart-outline: oklch(.68 .03 315);--chart-low: oklch(.86 .05 355);--chart-mid: oklch(.71 .09 355);--chart-divider: oklch(.9 .015 335);--chart-absent: oklch(.965 .012 335);--muted: var(--text-muted)}:root[data-theme=dark]{color-scheme:dark;--surface-page: #1c1719;--surface-panel: #2a2326;--surface-sidebar: #221c1f;--surface-muted: #3a3135;--surface-rose: #3a2730;--surface-recorded: #5c3646;--surface-lavender: #3a3245;--surface-success: #263026;--surface-warning: #342c1f;--surface-danger: #3d2327;--text-primary: #f1e8ec;--text-muted: #bcadb5;--text-rose: #eba8c3;--text-lavender: #cdbbdd;--text-success: #b0cfa2;--text-warning: #e3c48f;--text-danger: #f2a9b4;--text-on-accent: #1c1719;--action-primary: #e39ab8;--action-hover: #eeb5cc;--action-secondary: #d7aed0;--border-soft: #463a40;--border-strong: #9b7887;--focus: #e39ab8;--shadow-soft: #00000033;--shadow-floating: #00000073;--scrim: #0000008c;--google-surface: #131314;--google-text: #e3e3e3;--google-border: #8e918f;--chart-rose: oklch(.74 .1 355);--chart-lavender: oklch(.74 .08 295);--chart-teal: oklch(.74 .07 175);--chart-track: oklch(.33 .015 315);--chart-ink: oklch(.93 .012 335);--chart-muted: oklch(.8 .02 335);--chart-review: oklch(.78 .1 75);--chart-outline: oklch(.6 .03 315);--chart-low: oklch(.4 .05 355);--chart-mid: oklch(.55 .08 355);--chart-divider: oklch(.36 .015 335);--chart-absent: oklch(.27 .012 335)}@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.mt-6{margin-top:calc(var(--spacing) * 6)}.block{display:block}.grid{display:grid}.hidden{display:none}.inline{display:inline}.table{display:table}.w-full{width:100%}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.rounded{border-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.sepia{--tw-sepia:sepia(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}:root{color:var(--text-primary);background:var(--surface-page);font-synthesis:none;font-family:Tahoma,Segoe UI,sans-serif;font-size:15px;line-height:1.65}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{outline-offset:5px}button{cursor:pointer;transition:background .18s,transform .18s}button:active{transform:scale(.98)}button:disabled{opacity:.55;cursor:wait}a{color:var(--text-rose);text-underline-offset:4px}h1,h2,h3,p{margin:0}h1{letter-spacing:-1px;font-size:34px;font-weight:500;line-height:1.45}h2{font-size:21px;font-weight:500;line-height:1.5}h3{font-size:17px;font-weight:500}p{color:var(--text-muted)}small,.tiny{color:var(--text-muted);font-size:12px}small{display:block}svg{flex-shrink:0}button{border:0}.app-shell{min-height:100dvh}.sidebar{border-right:1px solid var(--border-soft);background:var(--surface-sidebar);flex-direction:column;width:236px;padding:36px 24px;display:flex;position:fixed;inset:0 auto 0 0}.brand{color:var(--text-muted);letter-spacing:-1px;align-items:center;gap:10px;font-size:29px;font-weight:500;line-height:1.1;display:flex}.brand-mark{background:var(--surface-rose);border-radius:50%;place-items:center;width:45px;height:45px;display:grid}.brand-sub{letter-spacing:1px;color:var(--text-muted);margin-top:6px;font-size:12px;display:block}.sidebar-intro{color:var(--text-muted);white-space:pre-line;margin:32px 10px 34px;font-size:12px;line-height:1.8}.sidebar nav{gap:9px;display:grid}.nav-item{text-align:left;width:100%;color:var(--text-muted);background:0 0;border-radius:12px;align-items:center;gap:14px;min-height:49px;padding:13px 15px;font-size:14px;display:flex}.nav-item:hover{background:var(--surface-rose)}.nav-item.active{background:var(--surface-rose);color:var(--text-rose)}.nav-dot{background:var(--action-primary);border-radius:50%;width:5px;height:5px;margin-left:auto}.sidebar-bottom{margin-top:auto;padding:35px 12px 0}.side-flower{color:var(--text-warning);font-size:54px;line-height:1}.sidebar-bottom p{white-space:pre-line;margin:15px 0 32px;font-size:12px;line-height:1.9}.sidebar-bottom span{color:var(--text-muted);gap:7px;font-size:12px;display:flex}.workspace{margin-left:236px}.topbar{border-bottom:1px solid var(--border-soft);justify-content:space-between;align-items:center;height:83px;padding:0 44px;display:flex}.topbar-label,.eyebrow{letter-spacing:1.7px;color:var(--text-muted);font-size:12px;font-weight:500}.topbar-actions{align-items:center;gap:24px;display:flex}.local-badge{color:var(--text-muted);align-items:center;gap:7px;font-size:12px;display:flex}.language-toggle{border:1px solid var(--border-soft);background:0 0;border-radius:24px;align-items:center;gap:1px;min-height:44px;padding:4px;font-size:12px;display:flex}.language-toggle span{padding:4px 12px}.language-toggle .current{background:var(--surface-rose);color:var(--text-rose);border-radius:20px}main{max-width:1250px;margin:auto;padding:35px 44px 25px}.page-heading{margin-bottom:28px}.page-heading h1{margin:8px 0 7px}.page-heading p{font-size:13px}.today-grid{grid-template-columns:minmax(0,1.85fr) minmax(260px,1fr);gap:22px;display:grid}.panel{background:var(--surface-panel);border:1px solid var(--border-soft);border-radius:19px;padding:25px}.cycle-card{background:var(--surface-rose);border:1px solid var(--border-soft);border-radius:20px;padding:25px 27px 0;overflow:hidden}.cycle-card-top{justify-content:space-between;align-items:center;gap:10px;display:flex}.tag{letter-spacing:1.3px;color:var(--text-rose);align-items:center;gap:7px;font-size:12px;display:flex}.small-dot{background:var(--action-primary);border-radius:50%;width:5px;height:5px}.cycle-content{grid-template-columns:220px 1fr;align-items:center;gap:24px;margin:20px 0 23px;display:grid}.cycle-orbit{aspect-ratio:1;width:220px;position:relative}.cycle-orbit svg{width:100%}.orbit-center{flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.orbit-center span{letter-spacing:1.8px;color:var(--text-rose);font-size:12px}.orbit-center strong{color:var(--text-rose);font-size:68px;font-weight:400;line-height:1.25}.orbit-center small{font-size:12px}.cycle-copy h2{color:var(--text-rose);margin:8px 0;font-size:23px}.cycle-copy p{font-size:12px;line-height:1.8}.outline-tag{border:1px solid var(--border-soft);color:var(--text-rose);border-radius:6px;margin-top:12px;padding:3px 7px;font-size:12px;display:inline-block}.cycle-link{margin-top:17px;font-size:12px!important}.cycle-foot{border-top:1px solid var(--border-soft);color:var(--text-muted);align-items:center;gap:8px;padding:13px 0;font-size:12px;display:flex}.checkin-card{background:var(--surface-panel);flex-direction:column;align-items:flex-start;padding:27px;display:flex}.icon-tile{background:var(--surface-lavender);width:45px;height:45px;color:var(--text-lavender);border-radius:14px;place-items:center;margin-bottom:20px;display:grid}.checkin-card h2{max-width:220px;margin:8px 0 12px;font-size:23px}.checkin-card p{margin-bottom:20px;font-size:12px;line-height:1.8}.checkin-card .button{width:100%;margin-top:auto}.checkin-card small{align-self:center;margin-top:13px;font-size:12px}.button{border:1px solid var(--border-soft);background:var(--surface-panel);min-height:46px;color:var(--text-muted);border-radius:10px;justify-content:center;align-items:center;gap:10px;padding:11px 17px;font-size:13px;text-decoration:none;display:inline-flex}.button:hover{background:var(--surface-rose)}.button.primary{background:var(--action-primary);color:var(--text-on-accent);border-color:var(--border-strong)}.button svg{width:18px;height:18px}.text-button{min-height:44px;color:var(--text-rose);background:0 0;justify-content:center;align-items:center;gap:8px;padding:9px 0;font-size:12px;display:inline-flex}.text-button:hover{text-decoration:underline}.icon-button{border:1px solid var(--border-soft);background:var(--surface-panel);width:44px;min-width:44px;height:44px;color:var(--text-muted);border-radius:12px;place-items:center;display:inline-grid}.lower-grid{grid-template-columns:1.15fr 1fr;gap:22px;margin-top:23px;display:grid}.section-title{justify-content:space-between;align-items:center;gap:15px;margin-bottom:16px;display:flex}.section-title .eyebrow{margin-bottom:6px;display:block}.section-title h2{font-size:18px}.section-title svg{color:var(--text-lavender)}.guidance-copy{font-size:13px;line-height:1.9}.chips{flex-wrap:wrap;gap:7px;margin-top:15px;display:flex}.chip{border:1px solid var(--border-soft);color:var(--text-muted);background:var(--surface-rose);border-radius:7px;padding:5px 10px;font-size:12px}.card-note{border-top:1px solid var(--border-soft);color:var(--text-muted);margin-top:20px;padding-top:13px;font-size:12px;line-height:1.8}.fertility-card{background:var(--surface-lavender);border-color:var(--border-soft)}.fertility-date{color:var(--text-lavender);margin:18px 0 10px;font-size:23px}.fertility-card p{font-size:12px}.fertility-card .card-note{border-color:var(--border-soft)}.journal-section p{font-size:12px;line-height:1.9}.journal-section p svg{vertical-align:middle;color:var(--text-rose);display:inline}.notes-preview{white-space:pre-wrap;overflow-wrap:anywhere}.gentle-reminder{background:var(--surface-warning);border-radius:12px;margin-top:25px;padding:13px 17px;font-size:12px}.privacy-text{color:var(--text-muted);text-align:center;padding:28px 0 12px;font-size:12px}.mobile-nav{display:none}.demo-banner{background:var(--surface-warning);color:var(--text-warning);justify-content:space-between;align-items:center;gap:12px;padding:10px 44px;font-size:12px;display:flex}.demo-banner button{color:inherit;background:0 0;align-items:center;gap:7px;min-height:44px;display:flex}.field{color:var(--text-muted);flex-direction:column;gap:7px;min-width:0;margin:15px 0;font-size:12px;display:flex}.field small{font-size:12px;line-height:1.7}input:not([type=checkbox]):not([type=file]),select,textarea{border:1px solid var(--border-strong);background:var(--surface-panel);width:100%;min-width:0;min-height:46px;color:var(--text-primary);border-radius:9px;padding:10px 12px;font-size:13px}textarea{resize:vertical}.form-grid,.symptom-grid{grid-template-columns:1fr 1fr;gap:0 20px;display:grid}.check-row{align-items:center;gap:12px;min-height:44px;margin:6px 0;font-size:13px;line-height:1.7;display:flex}.check-row input{width:19px;min-width:19px;height:19px;accent-color:var(--focus)}.context-fields{margin-top:14px}.context-fields>small{margin-top:10px}details summary{cursor:pointer;min-height:44px;color:var(--text-muted);align-content:center;font-size:13px;display:list-item}details>p{margin:12px 0;font-size:12px}.onboarding-main{padding-top:40px}.onboarding{grid-template-columns:1fr 1.15fr;align-items:start;gap:35px;display:grid}.onboarding-intro{padding:55px 0}.onboarding-intro h1{white-space:pre-line;color:var(--text-rose);margin:14px 0 25px;font-size:42px}.onboarding-intro p{max-width:300px;font-size:13px}.private-pill{color:var(--text-muted);align-items:center;gap:7px;margin-top:25px;font-size:12px;display:inline-flex}.onboarding-flower{opacity:.85;max-width:260px;margin:25px 0 0}.onboarding-flower svg{width:100%}.onboarding-form h2{margin:8px 0 10px}.onboarding-form>p{font-size:12px}.split-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:14px;display:flex}.loading-shell{max-width:600px;margin:70px auto;padding:25px}.skeleton{background:var(--surface-rose);border-radius:20px;height:210px;margin:35px 0;animation:1.8s ease-in-out infinite alternate fade}.error{border:1px solid var(--border-soft);background:var(--surface-rose);color:var(--text-rose);border-radius:9px;margin:15px 0;padding:14px;font-size:13px}.global-error{margin:15px 44px}.notice{background:var(--surface-warning);border:1px solid var(--border-soft);color:var(--text-warning);border-radius:10px;margin:15px 0;padding:13px;font-size:12px}.empty{text-align:center;padding:28px 12px}.empty svg{color:var(--text-muted)}.empty h3{margin:12px 0}.empty p{margin-bottom:20px;font-size:12px}.calendar-panel{max-width:790px}.calendar-panel .section-title{margin-bottom:20px}.weekdays,.calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:7px;display:grid}.weekdays span{text-align:center;color:var(--text-muted);padding:10px 0;font-size:12px}.calendar-day{background:var(--surface-page);height:78px;color:var(--text-muted);border:1px solid #0000;border-radius:13px;flex-direction:column;justify-content:center;align-items:center;font-size:16px;display:flex;position:relative}.calendar-day:hover{border-color:var(--border-strong)}.calendar-day.outside{opacity:.42}.actual{background:var(--surface-recorded)!important;color:var(--text-on-accent)!important}.predicted{border:1px dashed var(--border-strong)!important;background:var(--surface-rose)!important;color:var(--text-muted)!important}.fertile{background:var(--surface-lavender)!important;color:var(--text-lavender)!important}.calendar-day.is-today{box-shadow:inset 0 0 0 2px var(--shadow-soft)}.day-markers{gap:3px;height:7px;margin-top:4px;display:flex}.day-markers i{border-radius:50%;width:4px;height:4px}.log-dot{background:currentColor}.prediction-dot{background:var(--action-primary)}.fertile-dot{background:var(--surface-lavender)}.calendar-legend{color:var(--text-muted);flex-wrap:wrap;gap:14px 22px;margin-top:25px;font-size:12px;display:flex}.calendar-legend>span{align-items:center;gap:6px;display:flex}.calendar-legend i{border-radius:4px;width:14px;height:14px;display:inline-block}.choice-row{flex-wrap:wrap;gap:10px;margin:20px 0;display:flex}.choice{background:var(--surface-page);border:1px solid var(--border-soft);color:var(--text-muted);border-radius:10px;min-height:48px;padding:10px 16px;font-size:12px}.choice.selected{background:var(--surface-rose);border-color:var(--border-strong);color:var(--text-rose)}.checkin-form{gap:20px;max-width:800px;display:grid}.absence-row{background:var(--surface-rose);border-radius:10px;margin:18px 0;padding:10px}.save-bar{flex-wrap:wrap;gap:15px;display:flex}.history-list{margin-top:25px}.history-row{border-bottom:1px solid var(--border-soft);justify-content:space-between;align-items:center;gap:15px;padding:18px 0;font-size:13px;display:flex}.history-row small{margin-top:5px;font-size:12px}.row-actions{align-items:center;gap:12px;display:flex}.danger{color:var(--text-rose)!important}.danger-zone{border:1px solid var(--border-soft);border-radius:16px;padding:25px}.danger-zone p{margin:10px 0 20px;font-size:12px}.stat-row{border-bottom:1px solid var(--border-soft);justify-content:space-between;align-items:center;gap:12px;padding:12px 0;font-size:12px;display:flex}.stat-row strong{font-weight:500}.stat-row small{margin-top:5px;font-size:12px}.chart-row{grid-template-columns:64px 1fr auto;align-items:center;gap:10px;margin:18px 0;font-size:12px;display:grid}.bar-track{background:var(--surface-rose);border-radius:5px;height:13px;overflow:hidden}.bar{background:var(--action-primary);border-radius:5px;height:100%}.bar.uncertain{background:var(--action-primary)}.pattern-result{border-left:2px solid var(--border-strong);margin:20px 0;padding-left:15px}.pattern-result p{margin-top:7px;font-size:12px}.tracking-grid{grid-template-columns:1fr 1fr;display:grid}.export-actions{flex-wrap:wrap;gap:12px;margin:20px 0 0;display:flex}.upload-button{cursor:pointer;position:relative;overflow:hidden}.upload-button input{opacity:0;cursor:pointer;width:100%;position:absolute;inset:0}.source-list{margin:15px 0;padding-left:20px;font-size:12px}.source-list li{padding:6px 0}.restore-confirm .text-button{margin-left:18px}section.panel>p{font-size:12px;line-height:1.9}section.panel>h2{margin-bottom:15px}section.panel>small{font-size:12px;line-height:1.8}.symptom-stats{grid-template-columns:1fr 1fr;gap:0 30px;display:grid}@keyframes fade{0%{opacity:.5}to{opacity:1}}@media(min-width:1500px){main{padding-top:45px}.cycle-content{grid-template-columns:240px 1fr}.cycle-orbit{width:240px}}@media(max-width:1180px){.sidebar{width:205px;padding:30px 18px}.workspace{margin-left:205px}main{padding:30px 26px}.topbar{padding:0 26px}.today-grid{grid-template-columns:1.6fr 1fr;gap:16px}.cycle-content{grid-template-columns:160px 1fr;gap:14px}.cycle-orbit{width:160px}.orbit-center strong{font-size:50px}.cycle-copy h2{font-size:20px}.cycle-card{padding:22px 20px 0}.checkin-card{padding:22px}.cycle-card-top .tiny{display:none}.lower-grid{gap:16px}}@media(max-width:900px){.sidebar{width:180px;padding:28px 13px}.workspace{margin-left:180px}.nav-item{gap:10px;padding:12px 10px}.brand{font-size:26px}.brand-sub{font-size:8px}.today-grid{grid-template-columns:1fr}.checkin-card{grid-template-columns:1fr auto;gap:6px 20px;display:grid}.checkin-card .icon-tile{display:none}.checkin-card .eyebrow{grid-column:1}.checkin-card h2{grid-column:1;max-width:none;margin:3px 0;font-size:20px}.checkin-card p{grid-column:1;margin:0}.checkin-card .button{grid-area:1/2/4;align-self:center}.checkin-card small{grid-column:1;margin-top:5px}.cycle-content{grid-template-columns:190px 1fr}.cycle-orbit{width:190px}.lower-grid,.onboarding{grid-template-columns:1fr}.onboarding-intro{padding:10px 0}.onboarding-intro h1{white-space:normal;font-size:32px}.onboarding-flower{display:none}.onboarding-intro p{max-width:none}.symptom-stats{grid-template-columns:1fr}}@media(max-width:640px){:root{font-size:15px}.sidebar{display:none}.workspace{margin-left:0}.topbar{height:69px;padding:0 20px}.topbar-label{letter-spacing:1px;font-size:12px}.topbar-actions{gap:10px}.local-badge{gap:4px;font-size:12px}.language-toggle{font-size:12px}.language-toggle span{padding:4px 9px}main{padding:27px 18px 106px}.page-heading{margin-bottom:24px}.page-heading h1{letter-spacing:-.6px;font-size:28px}.page-heading p{font-size:12px;line-height:1.8}.eyebrow{letter-spacing:1.3px;font-size:12px}.cycle-card{padding:21px 18px 0}.cycle-content{grid-template-columns:136px minmax(0,1fr);gap:15px;margin:23px 0}.cycle-orbit{width:136px}.orbit-center strong{font-size:45px}.orbit-center span{letter-spacing:1px;font-size:8px}.orbit-center small{font-size:12px}.cycle-copy h2{margin:6px 0;font-size:19px}.cycle-copy p{font-size:12px;line-height:1.8}.outline-tag{padding:3px 6px;font-size:12px}.cycle-link{margin-top:6px;font-size:12px!important}.cycle-foot{align-items:flex-start;font-size:12px;line-height:1.8}.cycle-foot svg{margin-top:3px}.panel{border-radius:16px;padding:21px}.checkin-card{gap:0;display:flex}.checkin-card .eyebrow{margin-bottom:8px}.checkin-card h2{margin-bottom:8px;font-size:22px}.checkin-card p{margin-bottom:19px;font-size:12px}.checkin-card .button{margin-top:0}.checkin-card small{margin-top:12px}.lower-grid{gap:16px;margin-top:18px}.section-title h2{font-size:18px}.mobile-nav{padding:8px 8px calc(8px + env(safe-area-inset-bottom));background:var(--surface-panel);border-top:1px solid var(--border-soft);z-index:10;grid-template-columns:repeat(3,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.mobile-nav button{min-height:52px;color:var(--text-muted);background:0 0;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:5px;font-size:12px;display:flex}.mobile-nav button.active{background:var(--surface-rose);color:var(--text-rose)}.demo-banner{padding:7px 18px;font-size:12px}.demo-banner span{max-width:235px}.form-grid{grid-template-columns:1fr;gap:0}.symptom-grid{gap:0 12px}.symptom-grid .field{font-size:12px}.symptom-grid select{padding:10px 8px;font-size:12px}.onboarding>.brand{margin:0 0 8px;display:flex}.onboarding{gap:25px}.onboarding-intro{padding:0}.onboarding-intro h1{font-size:31px}.onboarding-intro p{font-size:12px}.private-pill{margin-top:15px}.onboarding-form{padding:22px}.calendar-panel{padding:18px 12px}.calendar-panel .section-title h2{font-size:18px}.weekdays,.calendar-grid{gap:4px}.calendar-day{border-radius:9px;height:48px;font-size:13px}.calendar-legend{gap:12px;font-size:12px}.calendar-legend i{width:12px;height:12px}.calendar-panel .card-note{font-size:12px}.history-row{align-items:flex-start;font-size:12px}.history-row strong{font-weight:500}.row-actions{gap:8px}.tracking-grid{grid-template-columns:1fr 1fr;gap:5px 10px}.tracking-grid .check-row{font-size:12px}.choice-row{gap:7px}.choice{flex-grow:1;padding:10px 12px}.stat-row{font-size:12px}.stat-row strong{text-align:right;font-size:12px}.privacy-text,.export-actions .button{font-size:12px}.global-error{margin:12px 18px}}@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}@media(max-width:360px){.cycle-content{grid-template-columns:112px 1fr;gap:10px}.cycle-orbit{width:112px}.orbit-center strong{font-size:37px}.cycle-copy h2{font-size:17px}.local-badge{display:none}.tracking-grid,.symptom-grid{grid-template-columns:1fr}}.field-label{flex-direction:column;gap:7px;display:flex}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}:root{--font-latin: "Plus Jakarta Sans", "Kanit", system-ui, sans-serif;--font-thai: "Kanit", "Plus Jakarta Sans", system-ui, sans-serif;font-family:var(--font-latin);font-size:16px;line-height:1.7}:root:lang(th){font-family:var(--font-thai);line-height:1.8}:lang(th) :is(h1,h2,h3,.eyebrow,.topbar-label,.tag,.orbit-center span){letter-spacing:normal}h1{font-weight:500;font-size:28px;letter-spacing:-.9px}h2{font-size:21px;font-weight:500}strong{font-weight:600}p{max-width:70ch}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--focus)}.sidebar{display:none}.workspace{margin-left:0}.topbar{min-height:76px;height:auto;padding:14px max(18px,env(safe-area-inset-right)) 14px max(18px,env(safe-area-inset-left));gap:12px}.mobile-brand{display:flex}.topbar-label{display:none}.topbar .brand{font-family:var(--font-latin);font-size:25px;gap:8px}.topbar .brand-mark{width:36px;height:36px}.topbar .brand-mark svg{width:25px;height:25px}.topbar .brand-sub{display:none}.brand,.orbit-center strong{font-family:var(--font-latin)}.topbar-actions{gap:8px}.local-badge{display:none}.language-toggle{min-height:44px;font-size:13px}.language-toggle span{padding:5px 11px}main{width:100%;max-width:760px;padding:26px max(18px,env(safe-area-inset-right)) calc(112px + env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left))}.page-heading{margin-bottom:24px}.page-heading h1{font-size:28px;line-height:1.5;margin:8px 0}.page-heading p{font-size:15px;line-height:1.8}.eyebrow{font-size:12px;letter-spacing:1.1px;color:var(--text-muted)}.tiny,small{font-size:12px;color:var(--text-muted)}.today-grid,.lower-grid{grid-template-columns:minmax(0,1fr);gap:18px}.checkin-card{order:-1;display:flex;padding:22px;gap:0;background:var(--surface-panel)}.checkin-card .icon-tile{display:none}.checkin-card .eyebrow{margin-bottom:6px}.checkin-card h2{max-width:none;font-size:22px;margin:4px 0 8px}.checkin-card p{font-size:14px;line-height:1.75;margin:0 0 18px}.checkin-card .button{width:100%;margin:0;min-height:52px;font-size:16px}.checkin-card small{font-size:12px;margin-top:12px}.button,.text-button{min-height:48px;font-size:15px;font-weight:500}.button.primary{background:var(--action-primary);border-color:var(--border-strong)}.button.primary:hover{background:var(--action-primary)}.icon-button{min-width:48px;width:48px;height:48px}.panel{padding:22px}.cycle-card{padding:22px 20px 0}.cycle-card-top .tiny{display:none}.tag{font-size:12px;color:var(--text-rose)}.cycle-content{grid-template-columns:124px minmax(0,1fr);gap:16px;margin:26px 0 22px}.cycle-orbit{width:124px}.orbit-center strong{font-size:46px}.orbit-center span{font-size:12px;letter-spacing:.7px}.orbit-center small,.cycle-copy .eyebrow{font-size:12px}.cycle-orbit{grid-column:1;grid-row:1 / span 2}.cycle-copy{display:contents}.cycle-copy>.eyebrow{grid-column:2;align-self:end}.cycle-copy h2{grid-column:2;align-self:start}.cycle-copy p,.cycle-copy .outline-tag,.cycle-copy .cycle-link{grid-column:1 / -1}.cycle-copy .outline-tag{justify-self:start}.cycle-copy h2{font-size:20px;line-height:1.65;margin:7px 0 10px}.cycle-copy p{font-size:14px;line-height:1.8}.outline-tag{font-size:12px;padding:5px 9px}.cycle-link{display:flex;justify-content:flex-start;font-size:13px!important;margin-top:8px}.cycle-foot{font-size:12px;line-height:1.75;gap:9px;padding:15px 0;align-items:flex-start}.cycle-foot svg{margin-top:4px}.section-title h2{font-size:20px}.guidance-copy,.fertility-card p,section.panel>p,.journal-section p{font-size:15px;line-height:1.85}.chip{font-size:13px;padding:7px 11px}.card-note,.calendar-panel .card-note{font-size:12px;line-height:1.8;color:var(--text-muted)}.fertility-date{font-family:var(--font-latin);font-size:23px;line-height:1.55}.journal-section{padding:15px 4px}.gentle-reminder{font-size:13px;line-height:1.8;padding:15px 18px}.privacy-text{font-size:12px;line-height:1.85;padding:28px 0 12px}.form-grid,.symptom-grid,.tracking-grid,.symptom-stats{grid-template-columns:minmax(0,1fr)}.field,.symptom-grid .field{font-size:15px;margin:16px 0}.field small{font-size:12px;line-height:1.8}input:not([type=checkbox]):not([type=file]),select,textarea,.symptom-grid select{font-size:16px;min-height:50px;padding:11px 12px;line-height:1.5}.check-row,.tracking-grid .check-row{min-height:48px;font-size:15px;gap:12px}.check-row input{min-width:21px;width:21px;height:21px}details summary{font-size:15px;min-height:48px}details>p,section.panel>small{font-size:13px;line-height:1.85}.choice-row{gap:8px}.choice{min-height:50px;font-size:14px;padding:11px 14px}.save-bar{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}.save-bar .button{min-height:52px;font-size:16px}.save-bar{position:fixed;inset:auto 0 calc(76px + env(safe-area-inset-bottom));z-index:9;display:flex;gap:10px;padding:12px 18px;background:var(--surface-page);border-top:1px solid var(--border-soft)}.save-bar .button{flex:1;min-width:0;font-size:14px}.checkin-form{padding-bottom:96px}.onboarding{grid-template-columns:minmax(0,1fr);gap:26px}.onboarding>.brand{display:none}.onboarding-intro{padding:0}.onboarding-intro h1{font-size:32px;line-height:1.55;white-space:normal;margin:12px 0 18px}.onboarding-intro p{max-width:none;font-size:15px;line-height:1.85}.private-pill{font-size:12px;line-height:1.8;margin-top:18px}.onboarding-flower{display:none}.onboarding-form>p{font-size:14px;line-height:1.8}.calendar-panel{padding:20px 12px}.calendar-panel .section-title h2{font-size:21px}.weekdays span{font-size:12px}.weekdays,.calendar-grid{gap:4px}.calendar-day{height:48px;font-family:var(--font-latin);font-size:15px}.calendar-legend{font-size:12px;line-height:1.7;gap:14px}.calendar-legend i{width:14px;height:14px}.history-row{flex-wrap:wrap;font-size:15px;gap:10px}.history-row small{font-size:12px}.stat-row{flex-wrap:wrap;font-size:14px;gap:8px}.stat-row strong{font-size:13px}.stat-row small{font-size:12px}.chart-row{font-size:12px;grid-template-columns:66px 1fr auto}.pattern-result{border-left:0;padding:15px 0;border-bottom:1px solid var(--border-soft)}.pattern-result p,.source-list{font-size:14px;line-height:1.85}.export-actions .button{font-size:14px}.danger-zone p,.notice,.error{font-size:14px;line-height:1.8}.demo-banner{padding:10px 18px;font-size:12px;line-height:1.8}.demo-banner span{max-width:none;flex:1}.demo-banner button{min-width:78px}.mobile-nav{position:fixed;inset:auto 0 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:8px max(8px,env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));background:var(--surface-panel);border-top:1px solid var(--border-soft);z-index:10}.mobile-nav button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-height:58px;font-size:12px;color:var(--text-muted);background:transparent;border-radius:13px}.mobile-nav button.active{background:var(--surface-rose);color:var(--text-rose)}@media(min-width:375px){.cycle-content{grid-template-columns:140px minmax(0,1fr)}.cycle-orbit{width:140px}.orbit-center strong{font-size:52px}}@media(min-width:768px){main{padding:36px 30px calc(120px + env(safe-area-inset-bottom))}.topbar{padding:18px 30px}.page-heading h1{font-size:32px}.cycle-content{grid-template-columns:200px minmax(0,1fr);gap:30px}.cycle-orbit{width:200px}.orbit-center strong{font-size:64px}.cycle-copy h2{font-size:24px}.symptom-grid,.form-grid,.tracking-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px}.calendar-panel{padding:28px}.calendar-day{height:72px}.calendar-grid,.weekdays{gap:8px}.save-bar{display:flex}.mobile-nav{padding-inline:max(8px,calc((100vw - 700px)/2))}}@media(min-width:1024px){.save-bar{position:static;padding:0;border:0;background:transparent}.save-bar .button{flex:initial;font-size:16px}.checkin-form{padding-bottom:0}.cycle-copy{display:block}.cycle-orbit,.cycle-copy>.eyebrow,.cycle-copy h2,.cycle-copy p,.cycle-copy .outline-tag,.cycle-copy .cycle-link{grid-column:auto;grid-row:auto;align-self:auto}.sidebar{display:flex;width:224px;padding:36px 24px}.workspace{margin-left:224px}.mobile-nav,.mobile-brand{display:none}.topbar-label{display:block;font-size:12px}.topbar{padding:18px 36px}.local-badge{display:flex;font-size:12px}.topbar-actions{gap:20px}main{max-width:1280px;padding:36px 36px 25px}.today-grid{grid-template-columns:minmax(0,1.7fr) minmax(260px,1fr);gap:24px}.checkin-card{order:0;padding:26px}.checkin-card .icon-tile{display:grid;margin-bottom:18px}.checkin-card .button{margin-top:auto}.checkin-card h2{max-width:270px}.cycle-card{padding:26px 24px 0}.cycle-content{grid-template-columns:150px minmax(0,1fr);gap:20px}.cycle-orbit{width:150px}.orbit-center strong{font-size:54px}.cycle-copy h2{font-size:22px}.lower-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.panel{padding:26px}.onboarding{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:32px}.onboarding-intro{padding:34px 0}.onboarding-intro h1{font-size:36px}.onboarding-flower{display:block}.symptom-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 26px}}@media(min-width:1280px){.cycle-content{grid-template-columns:200px minmax(0,1fr);gap:26px}.cycle-orbit{width:200px}.orbit-center strong{font-size:64px}.cycle-copy h2{font-size:25px}.cycle-card-top .tiny{display:block;font-size:12px}}.account-panel{margin-bottom:24px}.account-panel p,.account-email{overflow-wrap:anywhere}.account-panel details summary{cursor:pointer;padding:12px 0}.account-panel .export-actions{margin-top:16px;flex-wrap:wrap}.google-login{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:48px;margin-top:20px;padding:12px;background:var(--google-surface);color:var(--google-text);border:1px solid var(--google-border);font-family:Google Sans,Kanit,sans-serif;font-weight:500}.google-login img{flex:none;object-fit:contain}.account-divider{text-align:center;font-size:13px;color:var(--muted);margin:18px 0}.account-links{display:flex;flex-wrap:wrap;gap:6px 22px;margin-top:10px}.insights-view{--viz-rose: var(--chart-rose);--viz-lavender: var(--chart-lavender);--viz-teal: var(--chart-teal);--viz-track: var(--chart-track);--viz-ink: var(--chart-ink);--viz-muted: var(--chart-muted)}.insights-view .section-title>svg{color:var(--viz-lavender)}.insights-source{display:flex;align-items:flex-start;gap:8px;margin-top:16px;color:var(--viz-muted);font-size:13px}.insights-source svg{margin-top:2px}.cycle-trend{margin:0}.cycle-trend>svg{width:100%;height:auto;overflow:visible}.cycle-bar{fill:color-mix(in oklch,var(--viz-rose) 45%,var(--surface-panel));stroke:var(--viz-rose);stroke-width:1.5}.cycle-bar.latest-bar{fill:var(--viz-rose)}.cycle-bar.review-bar{fill:var(--surface-panel);stroke:var(--chart-review);stroke-width:2;stroke-dasharray:4 3}.cycle-bar.latest-bar.review-bar{stroke:var(--text-rose);stroke-width:3}.point-value.latest-value{fill:var(--text-rose);font-size:20px;font-weight:700}.cycle-trend .legend-dot.bar-swatch{border-radius:2px}.bar-history-swatch{background:color-mix(in oklch,var(--viz-rose) 45%,var(--surface-panel));border:1px solid var(--viz-rose)}.insight-summary{margin:0 0 20px;padding:0 0 16px;border-bottom:1px solid var(--border-soft)}.insight-summary p{margin:0 0 6px;font-size:15px}.insight-summary p strong{font-size:20px;color:var(--text-rose)}.insight-summary small{display:block;font-size:12px;color:var(--text-muted);line-height:1.7}.forecast-accuracy{display:flex;align-items:center;gap:16px}.forecast-accuracy>strong{font-size:30px;color:var(--text-rose);flex-shrink:0}.forecast-accuracy>div{min-width:0}.point-value{fill:var(--viz-ink);font-size:18px;font-weight:600}.trend-dates{display:grid;gap:4px;margin:0 2.7% 18px;text-align:center;font-size:12px;color:var(--viz-muted)}.trend-dates>span:last-child{color:var(--text-rose);font-weight:600}.chart-legend{display:flex;flex-wrap:wrap;gap:8px 20px;margin-top:18px;font-size:12px;color:var(--viz-muted)}.chart-legend>span{display:flex;align-items:center;gap:7px}.legend-dot{display:inline-block;width:10px;height:10px;border-radius:50%;flex-shrink:0}.rose{background:var(--viz-rose)}.lavender{background:var(--viz-lavender)}.legend-dot.neutral{background:var(--viz-track);border:1px solid var(--chart-outline)}.legend-dot.review{border:2px dashed var(--chart-review)}.chart-guide{display:flex;align-items:flex-start;gap:9px;margin:20px 0 8px;color:var(--viz-muted);font-size:13px;line-height:1.8;max-width:72ch}.chart-guide svg{margin-top:3px;color:var(--viz-lavender)}.chart-data{margin-top:18px}.chart-data summary,.insights-view details summary{min-height:44px;padding:10px 0;color:var(--viz-ink);cursor:pointer;font-size:14px}.insights-view .card-note{font-size:12px;margin-top:14px}.viz-row-label{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:9px;font-size:14px;color:var(--viz-ink);flex-wrap:wrap}.viz-row-label strong{font-weight:600;font-variant-numeric:tabular-nums}.viz-track{height:10px;background:var(--viz-track);border-radius:20px;overflow:hidden}.viz-fill{height:100%;border-radius:inherit}.duration-chart{display:grid;gap:20px}.unknown-duration{width:100%;background:repeating-linear-gradient(135deg,var(--viz-track) 0 5px,var(--chart-outline) 5px 6px)}.viz-intro{font-size:14px;line-height:1.85;margin-bottom:24px;max-width:70ch}.symptom-plot{display:grid;gap:22px 36px}.symptom-bar-row{min-width:0}.count-denominator{color:var(--viz-muted);font-size:12px;font-weight:400}.observed-metric{text-align:right}.viz-row-label .observed-metric,.timing-result h3 .observed-metric{font-size:20px}.observed-metric .metric-qualifier,.timing-result h3 .observed-metric .metric-qualifier{display:block;font-size:12px;font-weight:400;color:var(--viz-muted);white-space:normal}.observed-count{margin-top:8px;color:var(--viz-muted);font-size:12px;line-height:1.8}.timing-groups{display:grid;gap:32px}.timing-title{display:flex;align-items:flex-start;gap:8px;font-size:16px;color:var(--viz-lavender)}.timing-title svg{margin-top:3px}.onset .timing-title{color:var(--viz-rose)}.timing-subtitle{font-size:13px;line-height:1.85;margin:8px 0 20px}.timing-result{margin:0;padding:16px 0;border-top:1px solid var(--viz-track)}.timing-result h3{display:flex;align-items:baseline;justify-content:space-between;gap:10px;font-size:15px;margin-bottom:10px}.timing-result h3 strong{font-size:16px;font-weight:600;white-space:nowrap;font-variant-numeric:tabular-nums}.timing-result h3 strong span{color:var(--viz-muted);font-size:13px;font-weight:400}.timing-result p{font-size:12px;line-height:1.8;margin-top:8px}.forecast-axis{display:flex;justify-content:space-between;gap:6px;font-size:12px;color:var(--viz-muted);padding-bottom:18px}.forecast-axis span{display:flex;align-items:center;gap:5px}.forecast-row{padding:15px 0;border-top:1px solid var(--viz-track)}.forecast-row strong{display:flex;align-items:center;gap:5px;font-size:13px}.forecast-track{position:relative;height:14px;background:var(--viz-track);border-radius:20px}.forecast-zero{position:absolute;left:50%;top:-4px;height:22px;width:1px;background:var(--viz-muted)}.forecast-bar{position:absolute;top:2px;height:10px;border-radius:20px}.forecast-dot{position:absolute;top:2px;left:calc(50% - 5px);width:10px;height:10px;border-radius:50%;background:var(--viz-teal)}.on-time-label{color:var(--viz-teal)}.forecast-row small{margin-top:8px;font-size:12px}.phase-grid{display:grid;gap:32px}.phase-title{font-size:16px}.phase-card.onset .phase-title{color:var(--viz-rose)}.phase-card.middle .phase-title{color:var(--viz-muted)}.phase-card.before .phase-title{color:var(--viz-lavender)}.phase-subtitle{font-size:13px;line-height:1.85;margin:8px 0 14px}.metric-row{padding:13px 0;border-top:1px solid var(--viz-track)}.metric-row .viz-row-label{margin-bottom:8px}.metric-row .viz-track{margin-top:2px}.metric-detail{margin:0;font-size:12px;color:var(--viz-muted);line-height:1.8}.timeline-grid{display:grid;gap:6px 1px;align-items:center;margin-top:4px}.tl-corner{align-self:end}.tl-day{align-self:end;height:13px;font-size:12px;color:var(--viz-muted);text-align:center;font-variant-numeric:tabular-nums}.tl-day.first{color:var(--viz-rose);font-weight:700;font-size:12px}.tl-label{display:flex;flex-direction:column;min-width:0;padding-right:12px}.tl-name{font-size:13px;color:var(--viz-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tl-label small{font-size:12px;color:var(--viz-muted);white-space:nowrap}.tl-cell{height:19px;border-radius:2.5px;background:var(--viz-track)}.tl-cell.d1{box-shadow:inset 1.5px 0 0 var(--chart-mid)}.tl-cell.wk{box-shadow:inset 1px 0 0 var(--chart-divider),inset -1px 0 0 var(--chart-divider)}.tl-cell.d1.wk{box-shadow:inset 1.5px 0 0 var(--chart-mid),inset -1px 0 0 var(--chart-divider)}.tl-cell.l1,.legend-sq.l1{background:var(--chart-low)}.tl-cell.l2,.legend-sq.l2{background:var(--chart-mid)}.tl-cell.l3,.legend-sq.l3{background:var(--viz-rose)}.tl-cell.absent,.legend-sq.absent{background:var(--chart-absent)}.legend-sq.unknown{background:var(--viz-track)}.legend-sq{display:inline-block;width:12px;height:12px;border-radius:4px;flex-shrink:0}.insights-view>.panel>small{font-size:12px;margin-top:18px;max-width:75ch;line-height:1.85}@media(min-width:768px){.symptom-plot,.timing-groups{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.timing-groups{gap:40px}.phase-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 36px}}.brand-mark{background:transparent;border-radius:0}.brand-mark img{display:block;width:100%;height:100%;object-fit:contain}.symptom-label{display:inline-flex;align-items:center;gap:9px;min-width:0;line-height:1.6}.symptom-art{display:inline-block;width:36px;height:36px;flex:0 0 36px;background-image:url(/artwork/symptoms-atlas-v1.webp);background-size:400% 400%;background-repeat:no-repeat}.tracking-grid .symptom-art{width:30px;height:30px;flex-basis:30px}.symptom-bar-row .viz-row-label,.timing-result h3{align-items:center}.daily-timing{font-size:13px;color:var(--text-muted);margin-bottom:14px}.daily-possibility{display:flex;align-items:flex-start;gap:12px;padding:15px 0;border-top:1px solid var(--border-soft)}.daily-possibility .symptom-art{width:42px;height:42px;flex-basis:42px}.daily-possibility>div{min-width:0}.daily-possibility h3{font-size:15px;font-weight:500;line-height:1.7}.daily-possibility p,.daily-possibility-note{font-size:13px;line-height:1.85;margin-top:5px}.daily-possibility-note{margin:15px 0 0}.calendar-diary{max-width:680px;margin:0 auto}.cycle-overview{display:flex;align-items:center;gap:16px;padding:12px 16px;margin-bottom:12px;background:var(--surface-rose);border-radius:18px}.cycle-day-badge{flex:0 0 76px;text-align:center;border-right:1px solid var(--border-soft);padding-right:16px}.cycle-day-badge strong{font-size:30px;line-height:1.15;color:var(--text-rose)}.cycle-overview strong,.cycle-overview small,.cycle-day-badge span{display:block}.cycle-day-badge span,.cycle-overview small{font-size:12px;color:var(--text-muted)}.cycle-overview>div:last-child{min-width:0}.cycle-overview>div:last-child strong{font-size:17px;margin:3px 0}.cycle-overview p{font-size:12px;margin:0;color:var(--text-muted)}.today-symptoms{padding:4px 0;margin-bottom:16px}.today-symptoms-heading{display:flex;align-items:center;gap:8px;color:var(--text-rose)}.today-symptoms h2{margin:0;font-size:18px}.today-symptoms-context{margin:6px 0 10px;color:var(--text-muted);font-size:13px}.today-symptoms ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:10px;list-style:none;padding:0;margin:0}.today-symptoms li{min-width:0;border:1px solid var(--border-soft);border-radius:16px;background:var(--surface-rose);overflow:hidden}.today-symptoms li:nth-child(2n){background:var(--surface-lavender)}.today-symptoms li:last-child:nth-child(odd){grid-column:1 / -1}.today-symptoms summary{display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;gap:6px;padding:18px 26px 16px;min-height:112px;cursor:pointer;list-style:none}.today-symptoms summary::-webkit-details-marker{display:none}.today-symptoms summary::marker{content:""}.today-symptoms summary:focus-visible{outline-offset:-3px;border-radius:14px}.today-symptoms summary>svg:last-child{position:absolute;right:10px;top:10px;flex-shrink:0}.today-symptoms details[open] summary>svg:last-child{transform:rotate(180deg)}.today-symptoms li strong{font-size:15px}.today-symptoms details p{margin:0;padding:0 12px 14px;font-size:12px;color:var(--text-muted)}.today-symptoms .symptom-art{flex-shrink:0;width:40px;height:40px}.quick-period-actions{margin-top:8px}.quick-period-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.quick-period-buttons>.button{width:100%;min-height:46px;padding:11px 8px;gap:6px;font-size:14px}.quick-period-buttons>.button span{min-width:0;line-height:1.45;text-wrap:balance}.quick-period-buttons>.button svg{flex-shrink:0}.quick-period-buttons .period-end{background:var(--surface-rose);color:var(--text-rose);border-color:var(--border-soft)}.start-bleeding-choice{padding:12px;margin-top:10px;background:var(--surface-rose);border-radius:12px}.start-bleeding-choice p{font-size:13px;margin:0 0 10px}.start-bleeding-choice .chip-row{display:flex;flex-wrap:wrap;gap:8px}.calendar-heading{margin-bottom:12px}.calendar-heading h1{font-size:24px;margin:4px 0}.calendar-heading p{font-size:13px}.calendar-diary .calendar-panel{padding:16px 12px 10px;border:1px solid var(--border-soft);background:var(--surface-panel);box-shadow:0 8px 28px var(--shadow-soft)}.calendar-diary .date-picker .month-heading{margin-bottom:10px}.date-picker .month-heading h2{font-size:19px;margin:0}.date-picker .calendar-grid{gap:5px}.date-picker .calendar-day{height:46px;min-height:44px;border-radius:50%;font-size:14px;background:transparent}.date-picker .calendar-day.actual{background:var(--surface-rose)!important;color:var(--text-rose)!important}.date-picker .calendar-day.predicted{background:var(--surface-panel)!important;border-color:var(--border-strong)!important}.date-picker .calendar-day.day-selected{background:var(--action-primary)!important;color:var(--text-on-accent)!important;border:2px solid var(--border-strong)!important;box-shadow:0 3px 9px var(--shadow-floating);opacity:1}.date-picker .calendar-day.is-today:not(.day-selected){box-shadow:inset 0 0 0 1.5px var(--shadow-soft)}.date-picker .calendar-day:disabled{opacity:.3;cursor:not-allowed}.calendar-diary .weekdays span{font-size:12px;padding:5px 0 9px;color:var(--text-muted)}.calendar-diary .calendar-legend{padding-top:12px;margin-top:12px;border-top:1px solid var(--border-soft);gap:8px 13px;font-size:12px}.calendar-legend .logged{background:var(--action-primary);width:5px;height:5px}.calendar-footer{display:flex;justify-content:space-between;align-items:center;gap:8px}.calendar-footer small{font-size:12px;color:var(--text-muted)}.calendar-footer .text-button{font-size:12px;min-height:44px}.day-summary{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:24px 0 16px}.day-summary h2{font-size:22px;margin:4px 0 0}.day-summary p{font-size:12px;color:var(--text-muted);margin:3px 0}.day-summary .period-add{font-size:12px;padding:10px 12px;min-height:44px}.period-date-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.period-date{text-align:left;background:var(--surface-rose);border:1px solid var(--border-soft);border-radius:16px;padding:13px 15px;min-height:78px}.period-date small{display:flex;align-items:center;justify-content:space-between;color:var(--text-rose);font-size:12px;gap:4px}.period-date strong{display:block;margin-top:4px;font-size:16px;color:var(--text-primary);overflow-wrap:anywhere}.period-date.editing{border:2px solid var(--border-strong);background:var(--surface-rose)}.recorded-period{margin-bottom:4px}.period-delete-actions{margin-bottom:18px}.period-delete-confirmation{padding:16px;border:1px solid var(--border-strong);border-radius:16px;background:var(--surface-rose)}.period-delete-confirmation strong{font-size:15px}.period-delete-confirmation p{margin:6px 0 12px;font-size:13px}.period-delete-confirmation .split-actions{flex-wrap:wrap;gap:10px}.period-delete-confirmation .button{min-height:48px}.period-pick-heading{padding:18px 0}.period-pick-heading h2{margin:6px 0}.period-pick-heading p{font-size:13px;margin-bottom:15px}.period-picker-actions{display:flex;gap:12px;position:sticky;bottom:calc(86px + env(safe-area-inset-bottom));background:var(--surface-page);padding:14px 0}.period-picker-actions .button{flex:1;font-size:13px}.diary-heading{margin:22px 0 14px}.diary-heading .eyebrow{font-size:12px}.diary-heading h2{font-size:22px;margin-top:5px}.diary-heading p{margin-top:4px;font-size:12px;color:var(--text-muted)}.calendar-diary .checkin-form .panel{padding:18px 16px;margin-bottom:14px}.calendar-diary .checkin-form h2{font-size:17px;margin-bottom:12px}.calendar-diary .choice-row{flex-wrap:wrap;gap:7px}.calendar-diary .choice{min-height:44px;font-size:12px;padding:8px 12px}.symptom-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.symptom-tile-wrap{min-width:0}.symptom-tile{width:100%;min-height:112px;border:1px solid var(--border-soft);border-radius:17px;background:var(--surface-panel);display:flex;flex-direction:column;gap:4px;justify-content:center;align-items:center;position:relative;padding:12px 6px 9px;font-size:12px;line-height:1.5}.symptom-tile .symptom-art{width:56px;height:56px}.symptom-tile.selected{background:var(--surface-rose);border:1.5px solid var(--border-strong);color:var(--text-rose)}.tile-check{position:absolute;right:7px;top:7px;border:1px solid var(--border-soft);border-radius:50%;width:16px;height:16px;display:grid;place-items:center}.tile-check svg{visibility:hidden;width:10px;height:10px}.selected .tile-check{background:var(--action-secondary);border-color:var(--border-strong);color:var(--text-on-accent)}.selected .tile-check svg{visibility:visible}.symptom-severity summary{font-size:12px;min-height:30px;padding:5px 2px;color:var(--text-muted);overflow-wrap:anywhere}.symptom-severity select{width:100%;font-size:16px}.day-hints{background:var(--surface-page);border-radius:18px;padding:16px;margin:18px 0}.hint-title{display:flex;gap:7px;align-items:center;color:var(--text-warning)}.hint-title h3{font-size:15px}.day-hints p,.day-hints small{display:block;font-size:12px;line-height:1.7;color:var(--text-warning);margin-top:7px}.hint-chips{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}.hint-chips>button{display:inline-flex;align-items:center;gap:5px;background:var(--surface-panel);color:var(--text-warning);font-size:12px;padding:4px 9px;border-radius:20px;min-height:44px;border:1px solid var(--border-soft)}.hint-chips>button[aria-expanded=true]{background:var(--surface-warning);border-color:var(--border-strong)}.hint-detail{margin-top:12px;border-left:3px solid var(--border-strong);padding:12px 14px;background:var(--surface-panel);border-radius:0 12px 12px 0}.hint-detail h4{font-size:14px;margin:0 0 5px}.hint-detail p{font-size:13px;line-height:1.8;margin:0}.auto-save-fields{border:0;margin:0;padding:0;min-width:0}.auto-save-status{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:var(--text-primary)}.auto-save-status svg{width:16px;height:16px}.auto-save-error{margin-bottom:16px}.hint-chips .symptom-art{width:24px;height:24px;flex-basis:24px}.personal-hint-details{margin-top:10px}.personal-hint-details summary{font-size:12px;min-height:40px;color:var(--text-warning)}.hint-source{display:inline-block;font-size:12px;color:var(--text-warning);padding-top:10px}.calendar-diary .save-bar{position:sticky;inset:auto;bottom:calc(85px + env(safe-area-inset-bottom));border:1px solid var(--border-soft);border-radius:16px;padding:10px;box-shadow:0 3px 20px var(--shadow-soft)}.calendar-diary .checkin-form{padding-bottom:10px}.diary-saved{color:var(--text-success);font-size:13px;padding:8px 0}.history-link{margin:14px 0;font-size:12px}.calendar-disclaimer{font-size:12px;color:var(--text-muted);margin:12px 0}@media(min-width:768px){.calendar-diary .calendar-panel{padding:24px}.date-picker .calendar-day{height:64px;font-size:17px}.symptom-tile{min-height:130px;font-size:14px}.calendar-diary .checkin-form .panel{padding:24px}.calendar-diary .save-bar,.period-picker-actions{bottom:15px}}@media(max-width:350px){.calendar-diary .calendar-panel{margin:0 -7px;padding:13px 8px 7px}.symptom-grid{gap:6px}.symptom-tile{font-size:12px}.day-summary .period-add{padding:9px;max-width:112px}.period-date{padding:12px}}.save-toast{position:fixed;top:calc(84px + env(safe-area-inset-top));right:16px;z-index:30;display:flex;gap:10px;align-items:center;background:var(--surface-success);color:var(--text-primary);border:1px solid var(--border-soft);border-radius:16px;padding:8px 14px;max-width:calc(100vw - 32px);box-shadow:0 5px 24px var(--shadow-soft);font-size:14px}.save-toast button{display:grid;place-items:center;width:44px;height:44px;color:inherit}.saved-day{margin-top:22px}.saved-day .section-title{gap:12px}.saved-day h3{font-size:17px}.saved-day .button{min-height:44px;font-size:13px;padding:10px 14px}.saved-day p{font-size:13px;margin-top:12px}.saved-symptoms{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.saved-symptoms>span{display:flex;align-items:center;gap:4px;border-radius:14px;padding:4px 9px 4px 5px;background:var(--surface-rose);font-size:12px}.saved-symptoms .symptom-art{height:28px;width:28px}.tap-day-hint{margin:18px 2px;color:var(--text-muted);font-size:14px;text-align:center}.fab-add{position:fixed;right:20px;bottom:calc(78px + env(safe-area-inset-bottom));z-index:30;display:flex;align-items:center;justify-content:center;width:58px;height:58px;border-radius:50%;border:1px solid var(--border-strong);background:var(--action-primary);color:var(--text-on-accent);box-shadow:0 10px 24px var(--shadow-floating);cursor:pointer}.fab-add:hover{background:var(--action-primary)}.fab-add.open{background:var(--surface-panel);color:var(--text-rose);border-color:var(--border-soft)}.fab-backdrop{position:fixed;inset:0;background:transparent;z-index:40;width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:0;border:0}.fab-backdrop::backdrop{background:var(--scrim)}.quick-close{position:absolute;top:8px;right:8px;display:grid;place-items:center;width:48px;height:48px;border-radius:50%;color:var(--text-rose);background:var(--surface-rose)}.fab-sheet h3{padding-right:44px}.fab-sheet{--sheet-bottom: calc(88px + env(safe-area-inset-bottom)) ;position:fixed;right:20px;bottom:var(--sheet-bottom);z-index:41;display:grid;gap:10px;width:min(320px,calc(100vw - 40px));padding:18px;background:var(--surface-panel);border:1px solid var(--border-soft);border-radius:19px;box-shadow:0 18px 44px var(--shadow-floating)}.fab-sheet h3{margin:0;font-size:16px}.fab-sheet>p{margin:0 0 6px;color:var(--text-muted);font-size:13px}.fab-sheet .button{justify-content:flex-start}@media(min-width:1024px){.fab-add{bottom:28px}.fab-sheet{--sheet-bottom: 28px}}.fab-sheet{max-height:min(72vh,560px);overflow-y:auto}.fab-symptom-group>p{margin:8px 0 2px;color:var(--text-muted);font-size:12px}.fab-symptom-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.fab-symptom{display:flex;align-items:center;gap:8px;min-height:44px;padding:8px 10px;border-radius:12px;border:1px solid var(--border-soft);background:var(--surface-panel);color:var(--text-muted);font-size:13px;text-align:left;cursor:pointer}.fab-symptom:hover{background:var(--surface-rose)}.fab-symptom.selected{background:var(--action-primary);border-color:var(--border-strong);color:var(--text-on-accent)}.fab-bleed-row{display:flex;flex-wrap:wrap;gap:8px}.fab-bleed{min-height:48px;padding:7px 13px;border-radius:999px;border:1px solid var(--border-soft);background:var(--surface-panel);color:var(--text-muted);font-size:13px;cursor:pointer}.fab-bleed:hover{background:var(--surface-rose)}.fab-bleed.selected{background:var(--action-primary);border-color:var(--border-strong);color:var(--text-on-accent)}.fab-symptom.none-day{width:100%;justify-content:center}.onboarding-date-actions{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}.onboarding-date-actions .button{min-height:64px;display:flex;flex-direction:column;white-space:normal;padding:12px}.onboarding-date-actions small{font-size:12px;font-weight:400}.onboarding-calendar{padding:14px;background:var(--surface-page);border:1px solid var(--border-soft);border-radius:20px}.onboarding-calendar>p{margin:0 0 12px}.onboarding-tap-number{margin:10px 0}.onboarding-tap-label{margin:0 0 10px;font-weight:500}.onboarding-presets{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.onboarding-presets button{min-height:60px;border:1px solid var(--border-soft);border-radius:14px;background:var(--surface-page);color:var(--text-primary);font:inherit;font-size:20px}.onboarding-presets button span{display:block;font-size:12px}.onboarding-presets button[aria-pressed=true],.onboarding-date-actions [aria-expanded=true]{background:var(--surface-rose);border-color:var(--border-strong);color:var(--text-primary)}.onboarding-custom-number{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:end;gap:8px;margin:12px 0 0}.onboarding-custom-number .field{margin:0}.onboarding-custom-number>button{min-height:44px;border:1px solid var(--border-soft);border-radius:12px;background:var(--surface-page);font:inherit;font-size:22px;color:var(--text-primary)}.onboarding-custom-number>button:disabled{opacity:.4}.onboarding-tap-number button,.onboarding-date-actions button{cursor:pointer}.onboarding-tap-number button:active,.onboarding-date-actions button:active{transform:scale(.98)}.onboarding-form button:focus-visible{outline:2px solid var(--focus);outline-offset:3px}.onboarding{display:block;max-width:640px;margin:0 auto}.onboarding-form h1{font-size:26px;margin:8px 0 12px}.onboarding-form{margin-top:0}.onboarding-form .onboarding-purpose{font-size:16px;margin:0 0 24px;line-height:1.7}.onboarding-form .onboarding-reassurance{color:var(--text-muted);margin:12px 0 18px;font-size:14px}.onboarding-more{border-block:1px solid var(--border-soft);margin-bottom:20px}.onboarding-more>summary{min-height:48px;padding:12px 0;cursor:pointer;color:var(--text-muted)}.onboarding-more[open]{padding-bottom:16px}.onboarding-more>:not(summary){margin-top:16px}.onboarding-form .split-actions{justify-content:center;margin-top:8px}.onboarding-form .split-actions button{min-height:48px}.first-use-tip{display:grid;grid-template-columns:20px minmax(0,1fr) 44px;gap:12px;align-items:start;padding:16px 8px 16px 16px;margin:16px 0;border:1px solid var(--border-soft);border-radius:16px;background:var(--surface-lavender);color:var(--text-primary);overflow-wrap:anywhere}.first-use-tip>svg{margin-top:4px;color:var(--text-lavender)}.first-use-tip strong{font-size:15px;font-weight:500}.first-use-tip p{margin:4px 0 0;font-size:14px;line-height:1.7}.first-use-tip button{width:44px;min-height:44px;display:grid;place-items:center}@media(max-width:430px){.calendar-diary>.first-use-tip{margin-inline:12px}}.skip-link{position:fixed;inset:8px auto auto 8px;z-index:100;padding:12px 18px;color:var(--text-on-accent);background:var(--action-primary);border-radius:12px;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}button:disabled{cursor:not-allowed}button:active:not(:disabled){filter:brightness(.96)}.topbar{flex-wrap:wrap}.topbar-actions{margin-left:auto}.mobile-nav button{min-width:0;overflow-wrap:anywhere;text-align:center}.mobile-nav button span{max-width:100%}.today-symptoms summary strong{max-width:100%;overflow-wrap:anywhere;text-align:center}@media(max-width:1023px){main{padding-bottom:calc(var(--mobile-nav-height, 75px) + 40px)}.quick-period-actions{scroll-margin-bottom:calc(var(--mobile-nav-height, 75px) + 101px)}.fab-add{bottom:calc(var(--mobile-nav-height, 75px) + 31px)}.fab-sheet{--sheet-bottom: calc(var(--mobile-nav-height, 75px) + 13px)}.period-picker-actions,.calendar-diary .save-bar{bottom:calc(var(--mobile-nav-height, 75px) + 11px)}.save-toast{top:auto;bottom:calc(var(--mobile-nav-height, 75px) + 103px)}}:is(button,a,summary,input,select,textarea,[tabindex]):focus-visible{outline:2px solid var(--focus);outline-offset:3px}.calendar-day.outside{opacity:1;color:var(--text-muted)}.calendar-day.fertile{color:var(--text-lavender)!important}.calendar-day.predicted{color:var(--text-rose)!important}.date-picker .calendar-day.is-today:not(.day-selected){box-shadow:inset 0 0 0 1.5px var(--focus)}.date-picker .calendar-day.day-selected{color:var(--text-on-accent)!important}.calendar-diary .calendar-legend{font-size:12px}.calendar-diary .weekdays span{color:var(--text-muted)}.fab-sheet{max-height:min(72dvh,560px,calc(100dvh - var(--sheet-bottom) - 16px))}.fab-symptom,.fab-bleed{min-height:48px}.insight-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0 0 24px}.insight-nav button{min-height:56px;padding:10px;border:1px solid var(--border-soft);border-radius:14px;color:var(--text-muted);background:var(--surface-panel);font-size:14px;line-height:1.55;overflow-wrap:anywhere}.insight-nav button[aria-pressed=true]{color:var(--text-rose);background:var(--surface-rose);border-color:var(--border-strong);font-weight:600}.insight-section{margin-top:24px;border-top:1px solid var(--border-soft)}.insight-section>summary{position:relative;padding:20px 32px 20px 0;list-style:none;cursor:pointer}.insight-section>summary::-webkit-details-marker{display:none}.insight-section>summary:after{content:"+";position:absolute;right:4px;top:24px;font-size:24px;line-height:1;color:var(--text-rose)}.insight-section[open]>summary:after{content:"−"}.insight-section .section-title{margin:0}.insight-section-body{padding:4px 0 24px}.timeline-table-wrap{max-height:400px;overflow:auto;margin-top:12px}.timeline-table-wrap table{width:100%;border-collapse:collapse;font-size:13px}.timeline-table-wrap :is(th,td){padding:10px 8px;text-align:start;border-bottom:1px solid var(--border-soft)}.timeline-table-wrap thead{background:var(--surface-rose)}.timeline-table-wrap caption{text-align:start;padding:8px;font-weight:600}.timeline-grid .tl-day{height:auto}.timeline-grid .tl-name{white-space:normal;overflow:visible}@media(max-width:430px){main:has(.calendar-diary){padding-inline:0}.calendar-diary .cycle-overview,.calendar-diary .today-symptoms{margin-inline:12px}.calendar-diary .calendar-panel{padding-inline:0;margin-inline:0;border-inline:0;border-radius:0}.calendar-diary .calendar-grid,.calendar-diary .weekdays{gap:4px 0}.calendar-diary .calendar-day{min-width:0;height:48px}.calendar-diary .month-heading{margin-inline:12px}.calendar-diary :is(.quick-period-actions,.calendar-legend,.day-summary,.day-hints,.saved-day,.checkin-form,.period-pick-heading,.period-picker-actions){padding-inline:12px}.calendar-diary .day-summary{padding-top:18px}.fab-sheet{right:12px;width:calc(100vw - 24px)}}@media(prefers-contrast:more){:root,:root[data-theme=dark]{--text-muted: var(--text-primary);--border-soft: var(--border-strong)}}@media(forced-colors:active){button[aria-pressed=true]{outline:2px solid Highlight;outline-offset:-3px}.calendar-day.is-today{outline:2px solid CanvasText}}
