*,:before,:after,::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border:0 solid #e5e7eb}:before,:after{--tw-content:""}html,:host{-webkit-text-size-adjust:100%;tab-size:4;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5}body{line-height:inherit;margin:0}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-feature-settings:normal;font-variation-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;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}button,input,optgroup,select,textarea{font-feature-settings:inherit;font-variation-settings:inherit;font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:#0000;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{margin:0;padding:0;list-style:none}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder{opacity:1;color:#9ca3af}textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.block{display:block}.grid{display:grid}.resize{resize:both}.ring{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.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{--ink:#292725;--muted:#827c76;--canvas:#f5f3ef;--card:#fefdfc;--sage:#7e9182;--plum:#755e72;--blush:#dab8ae}*{box-sizing:border-box}html,body{background:var(--canvas);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font-family:Inter,system-ui,sans-serif}button,input,textarea{font:inherit;color:inherit}button{cursor:pointer}.app-frame{min-height:100dvh;padding-bottom:90px}.app-header{z-index:20;background:linear-gradient(var(--canvas) 80%,transparent);justify-content:space-between;align-items:flex-end;height:102px;padding:20px 22px 13px;display:flex;position:sticky;top:0}.app-header p{color:var(--sage);letter-spacing:.18em;text-transform:uppercase;margin:0;font-size:11px;font-weight:700}.app-header h1{margin:2px 0 0;font:600 25px Georgia,serif}.app-header button{background:var(--card);border:0;border-radius:50%;place-items:center;width:42px;height:42px;display:grid;box-shadow:0 8px 24px #3c36310d}.app-header svg{width:20px}@keyframes fade{0%{opacity:0}}.page{padding:8px 18px 28px}.today-date{justify-content:space-between;margin:5px 4px 13px;font-size:13px;display:flex}.today-date span{color:var(--muted)}.cycle-hero{background:var(--card);text-align:center;border-radius:30px;padding:24px 20px 18px;box-shadow:0 16px 50px #3c36310f}.cycle-ring{aspect-ratio:1;background:conic-gradient(var(--plum) var(--progress),#ebe7e2 var(--progress));border-radius:50%;width:196px;margin:auto;padding:11px;position:relative}.cycle-ring:after{content:"";border:4px solid var(--card);background:var(--plum);border-radius:50%;width:15px;height:15px;position:absolute;top:1px;left:50%;transform:translate(-50%)}.cycle-ring>div{background:var(--card);border-radius:50%;flex-direction:column;justify-content:center;height:100%;display:flex}.cycle-ring span,.cycle-ring small{color:var(--muted);font-size:12px}.cycle-ring strong{color:var(--plum);font:500 62px/.92 Georgia,serif}.phase{color:var(--sage);margin:15px 0 21px;font-size:12px}.date-summary{border-top:1px solid #eeeae5;grid-template-columns:1fr 1fr;padding-top:16px;display:grid}.date-summary div+div{border-left:1px solid #eeeae5}.date-summary span{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:10px;display:block}.date-summary strong{margin-top:4px;font-size:13px;display:block}.section-title,.section-row{margin:27px 4px 12px}.section-title,.section-row h2{font:600 18px Georgia,serif}.section-row{justify-content:space-between;align-items:flex-end;display:flex}.section-row h2{margin:0}.section-row span{color:var(--muted);font-size:10px}.quick-actions{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.quick-actions button{background:var(--card);border:0;border-radius:20px;flex-direction:column;align-items:center;gap:9px;min-height:104px;padding:12px 4px 9px;display:flex}.quick-actions button>span{width:42px;height:42px;color:var(--plum);background:#f1e9ed;border-radius:15px;place-items:center;display:grid}.quick-actions button>span.pill{color:#607d72;background:#e6eeea}.quick-actions button>span.heart{color:#9c665f;background:#f4e8e4}.quick-actions button>span.doctor{color:#6a748b;background:#e9ebf0}.quick-actions svg{width:20px}.quick-actions small{font-size:10px;line-height:1.2}.event-list{gap:8px;display:grid}.event-list article{background:var(--card);border-radius:19px;grid-template-columns:42px 1fr auto;align-items:center;gap:12px;padding:13px;display:grid}.event-list i{color:#607d72;background:#e6eeea;border-radius:13px;place-items:center;width:40px;height:40px;display:grid}.event-list i.note{color:#776f67;background:#ede9e3}.event-list svg{width:18px}.event-list strong{font-size:13px}.event-list p{color:var(--muted);margin:3px 0 0;font-size:11px}.event-list time{color:var(--muted);font-size:11px}.bottom-nav{z-index:30;max-width:480px;height:79px;padding:9px 8px max(9px,env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fefdfcf0;border-top:1px solid #48413c12;grid-template-columns:repeat(4,1fr);margin:auto;display:grid;position:fixed;bottom:0;left:0;right:0}.bottom-nav button{color:#99918a;background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:4px;font-size:9px;display:flex}.bottom-nav svg{width:21px}.bottom-nav .active{color:var(--plum)}.legend{background:var(--card);color:var(--muted);border-radius:18px;flex-wrap:wrap;gap:8px 15px;padding:12px 14px;font-size:9px;display:flex}.legend span{align-items:center;gap:4px;display:flex}.legend i{background:var(--blush);border-radius:4px;width:11px;height:11px}.month{padding:29px 1px 10px}.month h2{margin:0 6px 17px;font:600 22px Georgia,serif}.month h2 small{color:var(--muted);font:400 12px system-ui}.week,.month-grid{grid-template-columns:repeat(7,1fr);gap:5px;display:grid}.week{margin-bottom:7px}.week span{text-align:center;color:#a09992;font-size:9px}.cal-day{aspect-ratio:1;background:0 0;border:0;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;display:flex}.cal-day span{font-size:12px}.cal-day small{min-height:8px;color:var(--plum);letter-spacing:1px;font-size:7px}.cal-day.period{background:#f2e4df}.cal-day.p2{background:#e5cbc3}.cal-day.p3{background:#d4aca1}.cal-day.current{box-shadow:inset 0 0 0 1.5px var(--plum);font-weight:700}.history-intro{background:#e6ece7;border-radius:25px;margin-bottom:13px;padding:20px}.history-intro small{color:#627168;text-transform:uppercase;letter-spacing:.1em}.history-intro strong{margin-top:8px;font:600 22px Georgia,serif;display:block}.history-intro p{color:#647069;margin:7px 0 0;font-size:11px}.cycle-list{gap:9px;display:grid}.cycle-list article{background:var(--card);border-radius:21px;grid-template-columns:28px 1fr;gap:10px;padding:17px 15px;display:grid}.index{color:var(--plum);font-size:10px;font-weight:700}.cycle-main>strong{font-size:12px;display:block}.cycle-main>small{color:var(--muted);font-size:10px}.cycle-stats{border-top:1px solid #eeeae5;grid-template-columns:1fr 1fr;margin-top:12px;padding-top:12px;display:grid}.cycle-stats b{font:500 21px Georgia,serif}.cycle-stats span{color:var(--muted);font-size:9px;display:block}.metrics{grid-template-columns:1fr 1fr;gap:9px;display:grid}.metrics article{background:var(--card);border-radius:22px;flex-direction:column;justify-content:space-between;min-height:125px;padding:17px;display:flex}.metrics .featured{background:var(--plum);color:#fff;grid-column:span 2;min-height:155px}.metrics span{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:10px}.metrics .featured span,.metrics .featured p{color:#e4dce2}.metrics strong{font:500 31px Georgia,serif}.metrics .featured strong{font-size:52px}.metrics strong small{font:400 11px system-ui}.metrics p{margin:0;font-size:10px}.chart-card{background:var(--card);border-radius:24px;margin-top:10px;padding:1px 15px 18px}.chart-card .section-row b{color:var(--sage);font-size:10px}.chart-card svg{width:100%}.chart-card .grid{fill:none;stroke:#eeeae5}.chart-card .halo{fill:none;stroke:#e8dfe5;stroke-width:16px;opacity:.5}.chart-card .line{fill:none;stroke:var(--plum);stroke-width:2px}.chart-card circle{fill:var(--card);stroke:var(--plum);stroke-width:2px}.chart-labels{text-align:center;color:var(--muted);grid-template-columns:repeat(7,1fr);font-size:8px;display:grid}.disclaimer,.privacy{color:var(--muted);margin:15px 5px;font-size:9px;line-height:1.5;display:block}.profile-page{text-align:center}.avatar{color:#657469;background:#e1e8e2;border-radius:50%;place-items:center;width:82px;height:82px;margin:9px auto 15px;font:500 32px Georgia,serif;display:grid}.profile-page h2{margin:0;font:600 22px Georgia,serif}.profile-page>p{max-width:320px;color:var(--muted);margin:9px auto 24px;font-size:11px;line-height:1.5}.profile-page form{text-align:left;background:var(--card);border-radius:25px;padding:20px}.profile-page label,.modal label{margin-bottom:17px;display:block}.profile-page label span,.modal label span{color:var(--muted);text-transform:uppercase;letter-spacing:.07em;margin:0 0 7px 3px;font-size:10px;display:block}.profile-page input,.modal textarea{background:#faf9f7;border:1px solid #e9e5e0;border-radius:14px;outline:none;width:100%;padding:13px;font-size:13px}.profile-page form button,.primary{background:var(--plum);color:#fff;border:0;border-radius:15px;width:100%;padding:14px;font-size:12px;font-weight:650}.backdrop{z-index:50;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#1f1c1b61;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.modal{background:var(--card);text-align:center;border-radius:30px 30px 0 0;width:100%;max-width:480px;padding:29px 22px 25px;position:relative}.modal .close{border:0;border-radius:50%;place-items:center;width:34px;height:34px;display:grid;position:absolute;top:18px;right:17px}.close svg{width:16px}.modal>i{width:55px;height:55px;color:var(--plum);background:#eee8ec;border-radius:18px;place-items:center;margin:4px auto 13px;display:grid}.modal>i svg{width:24px}.modal h2{margin:0;font:600 22px Georgia,serif}.modal p{max-width:300px;color:var(--muted);margin:8px auto 20px;font-size:11px;line-height:1.5}.modal label{text-align:left}.modal textarea{resize:none;min-height:88px}@media (min-width:600px){body{padding:24px}.app-frame{border-radius:38px;max-width:430px;min-height:calc(100dvh - 48px);margin:auto;overflow:hidden;box-shadow:0 24px 80px #342f4321}.bottom-nav{border-radius:0 0 38px 38px;max-width:430px;bottom:24px}.backdrop{align-items:center}.modal{border-radius:30px}}.cycle-hero{padding:22px 14px 18px}.interactive-ring{background:radial-gradient(circle,#fefdfc 0 57%,#f1ede9 58% 65%,#0000 66%);border-radius:50%;width:248px;height:248px;margin:auto;position:relative}.ring-segment{--angle:0deg;z-index:2;width:15px;height:31px;transform:rotate(var(--angle)) translateY(-106px);transform-origin:7px 15px;background:0 0;border:0;place-items:center;margin:-15px 0 0 -7px;padding:0;display:grid;position:absolute;top:50%;left:50%}.ring-segment span{background:#dcd8d3;border-radius:8px;width:7px;height:24px;transition:transform .18s,background .18s,box-shadow .18s;display:block}.ring-segment:hover span,.ring-segment:focus-visible span{background:#b8b0aa;transform:scaleY(1.12)}.ring-segment.selected span{background:var(--plum);box-shadow:0 0 0 3px var(--card),0 0 0 5px var(--plum);transform:scaleY(1.12)}.ring-segment.menstruation.light span{background:#efdeda}.ring-segment.menstruation.medium span{background:#d9aaa0}.ring-segment.menstruation.heavy span{background:#a9675e}.ring-segment.menstruation.selected span{box-shadow:0 0 0 3px var(--card),0 0 0 5px #91574f}.ring-segment.predicted-ovulation-window:after{content:"";pointer-events:none;border:1px solid #81988c;border-radius:9px;position:absolute;inset:1px 2px;box-shadow:0 0 7px #81988c52}.ring-segment.predicted-ovulation-day:after{border-width:2px;border-color:#607d72;inset:0 1px;box-shadow:0 0 9px #607d7270}.ring-segment.menstruation.predicted-ovulation-window:after{box-shadow:none;border-style:dashed}.interactive-ring.dense .ring-segment span{width:5px}.ring-center{background:var(--card);text-align:center;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:67px;box-shadow:0 8px 30px #3c36310b}.ring-center strong{font:600 22px Georgia,serif}.ring-center span{color:var(--muted);margin-top:6px;font-size:11px}.ring-legend{color:var(--muted);justify-content:center;gap:15px;margin-top:12px;font-size:9px;display:flex}.ring-legend span{align-items:center;gap:5px;display:flex}.ring-legend i{border-radius:50%;width:8px;height:8px}.ring-legend .light{background:#efdeda}.ring-legend .medium{background:#d9aaa0}.ring-legend .heavy{background:#a9675e}.ring-center .ring-prediction{color:#607d72;max-width:112px;margin-top:4px;font-size:7px;font-weight:700;line-height:1.2}.ovulation-caption{color:#607d72;justify-content:center;align-items:center;gap:6px;min-height:14px;margin:11px 0 0;font-size:8px;display:flex}.ovulation-caption i{border:1px solid #81988c;border-radius:7px;width:15px;height:7px;box-shadow:0 0 6px #81988c42}.ovulation-caption.unavailable{color:var(--muted)}.selected-day-title{background:#e8ede9;border-radius:18px;justify-content:space-between;align-items:center;margin:22px 4px 0;padding:15px 17px;display:flex}.selected-day-title strong{font:600 18px Georgia,serif}.selected-day-title span{color:#647069;font-size:10px}.quick-actions.five{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}.quick-actions.five button{border-radius:17px;min-width:0;min-height:91px;padding:10px 2px 7px}.quick-actions.five button>span{border-radius:12px;width:36px;height:36px}.quick-actions.five small{text-overflow:ellipsis;width:100%;font-size:8px;overflow:hidden}.event-list .event-row{text-align:left;background:var(--card);border:0;border-radius:19px;grid-template-columns:42px minmax(0,1fr) 18px;align-items:center;gap:12px;width:100%;padding:13px;display:grid}.event-list .event-row i{font-style:normal}.event-row>div{min-width:0}.event-row p{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.event-chevron{color:#aaa19a;font:300 23px Georgia,serif}.empty-day{text-align:center;color:var(--muted);border:1px dashed #ddd7d1;border-radius:19px;padding:19px}.empty-day span{font-size:12px;font-weight:650}.empty-day p{margin:5px 0 0;font-size:10px}.calendar-page{padding-bottom:110px}.legend{z-index:12;position:sticky;top:91px;box-shadow:0 8px 26px #3c36310d}.legend b{color:var(--plum);font-weight:500}.cal-day{--calendar-icon-size:9px;min-width:0;padding:2px;overflow:hidden}.cal-day>small{justify-content:center;align-items:center;gap:1px;width:100%;height:15px;display:flex;overflow:hidden}.cal-day>small svg{width:var(--calendar-icon-size);height:var(--calendar-icon-size);flex:0 0 var(--calendar-icon-size);stroke-width:2.4px}.cal-day.period.light{background:#f2e4df}.cal-day.period.medium{background:#e2c2ba}.cal-day.period.heavy{background:#c98e84}.cal-day.selected{box-shadow:inset 0 0 0 2px var(--plum)}.cal-day.current:not(.selected):after{content:"";background:var(--plum);border-radius:50%;width:3px;height:3px;position:absolute;bottom:3px}.cal-day{position:relative}.calendar-details-backdrop{z-index:42;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#1f1c1b4a;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.calendar-details{width:100%;max-width:480px;max-height:78dvh;padding:7px 18px max(26px,env(safe-area-inset-bottom));background:var(--canvas);border-radius:28px 28px 0 0;position:relative;overflow-y:auto;box-shadow:0 -20px 60px #29231f20}.details-close{z-index:4;float:right;width:34px;height:34px;color:var(--muted);background:#e9e5e0;border:0;border-radius:50%;font-size:21px;position:sticky;top:8px}.calendar-details .selected-day-title{margin-right:44px}.calendar-details .section-row{clear:both}.event-form{max-height:92dvh;overflow-y:auto}.event-form .context-caption{color:var(--sage);margin:5px auto 19px;font-weight:650}.event-form fieldset{text-align:left;border:0;margin:0 0 17px;padding:0}.event-form legend{color:var(--muted);text-transform:uppercase;letter-spacing:.07em;margin:0 0 8px 3px;font-size:10px}.choice-grid{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.choice-grid.vertical{grid-template-columns:1fr}.choice-grid label{min-height:54px;color:var(--muted);text-transform:none;letter-spacing:0;cursor:pointer;border:1px solid #e7e2dd;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:5px;margin:0;padding:8px 4px;font-size:9px;display:flex}.choice-grid.vertical label{flex-direction:row;min-height:42px;font-size:11px}.choice-grid label.chosen{border-color:var(--plum);color:var(--plum);background:#f0e9ed;font-weight:650}.choice-grid input{opacity:0;pointer-events:none;position:absolute}.intensity-dot{border-radius:8px;width:20px;height:8px}.intensity-dot.light{background:#efdeda}.intensity-dot.medium{background:#d9aaa0}.intensity-dot.heavy{background:#a9675e}.event-form input{background:#faf9f7;border:1px solid #e9e5e0;border-radius:14px;outline:none;width:100%;padding:13px;font-size:13px}.move-date{text-align:left;margin:-3px 0 14px}.move-date>button{color:var(--plum);text-underline-offset:3px;background:0 0;border:0;padding:0 3px;font-size:11px;text-decoration:underline}.move-date label{margin:0}.form-actions{gap:8px;display:flex}.form-actions .primary{flex:1}.delete-button{color:#9b5e56;background:#f2e5e2;border:0;border-radius:15px;padding:0 18px;font-size:11px;font-weight:650}.primary:disabled{opacity:.6;cursor:wait}@media (max-width:374px){.interactive-ring{margin:-10px auto;transform:scale(.92)}.quick-actions.five{gap:4px}.quick-actions.five button{min-height:84px}.quick-actions.five small{font-size:7px}.month-grid,.week{gap:3px}.cal-day{--calendar-icon-size:8px}}@media (min-width:600px){.calendar-details{border-radius:28px;max-height:82dvh}.calendar-details-backdrop{align-items:center}}.today-page{padding-top:2px}.today-date-row{justify-content:space-between;align-items:baseline;gap:16px;margin:3px 4px 14px;display:flex}.today-date-row span{color:var(--muted);font-size:13px}.today-date-row strong{font-size:13px}.today-page .cycle-hero{padding-top:18px}.today-page .ring-center{gap:2px}.today-page .ring-center .ring-kicker{color:#948d86;letter-spacing:.13em;text-transform:uppercase;margin:0;font-size:8px;font-weight:700}.today-page .ring-center strong{color:var(--plum);font:500 56px/.95 Georgia,serif}.today-page .ring-center .ring-phase{max-width:110px;color:var(--muted);margin-top:5px;font-size:10px;line-height:1.25}.cycle-info{text-align:left;border-top:1px solid #eeeae5;grid-template-columns:1fr 1fr;margin:14px 3px 0;padding-top:14px;display:grid}.cycle-info div{padding:0 11px}.cycle-info div+div{border-left:1px solid #eeeae5}.cycle-info span{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:8px;display:block}.cycle-info strong{margin-top:5px;font-size:12px;display:block}.quick-actions.four{grid-template-columns:repeat(4,1fr);gap:8px}.today-page .quick-actions.four button{min-height:96px}.today-page .section-title{margin-top:25px}.today-page .section-row{margin-top:27px}.empty-day.compact{background:#fefdfc80;border-style:solid;padding:15px}.empty-day.compact span{color:var(--muted);font-weight:500}.note-section{padding-bottom:16px}.note-card,.add-note-button{background:var(--card);text-align:left;border:0;border-radius:18px;width:100%;min-height:58px;padding:14px 16px}.note-card{grid-template-columns:22px minmax(0,1fr) 14px;align-items:center;gap:10px;display:grid}.note-card svg{color:#776f67;width:18px}.note-card span{color:#5f5a55;text-overflow:ellipsis;white-space:nowrap;font-size:12px;line-height:1.4;overflow:hidden}.note-card b{color:#aaa19a;font:300 22px Georgia,serif}.add-note-button{color:var(--plum);font-size:12px;font-weight:650}.today-page .event-list .event-row{min-height:68px}@media (max-width:374px){.today-page .quick-actions.four button{min-height:88px}}.loading-screen,.auth-shell{background:var(--canvas);place-items:center;min-height:100dvh;padding:24px;display:grid}.loading-screen{text-align:center;align-content:center}.loading-mark{background:var(--plum);color:#fff;border-radius:22px;place-items:center;width:64px;height:64px;margin:auto;font:500 30px Georgia,serif;display:grid;box-shadow:0 16px 38px #755e7230}.loading-screen h1{margin:22px 0 14px;font:600 27px Georgia,serif;animation:.45s greeting-in}.loading-line{background:#ded7dc;border-radius:3px;width:38px;height:3px;margin:auto;overflow:hidden}.loading-line:after{content:"";background:var(--plum);border-radius:3px;width:50%;height:100%;animation:.8s ease-in-out infinite alternate loading-slide;display:block}@keyframes greeting-in{0%{opacity:0;transform:translateY(5px)}}@keyframes loading-slide{to{transform:translate(100%)}}.auth-card{background:var(--card);border-radius:30px;width:min(100%,410px);padding:28px;box-shadow:0 18px 60px #3c363112}.auth-brand{color:var(--sage);letter-spacing:.2em;text-transform:uppercase;margin:0 0 22px;font-size:11px;font-weight:750}.auth-card h1{margin:0;font:600 28px/1.1 Georgia,serif}.auth-copy{color:var(--muted);margin:10px 0 23px;font-size:12px;line-height:1.55}.auth-copy strong{color:var(--ink)}.auth-actions{gap:9px;display:grid}.auth-card>small{color:#aaa29b;text-align:center;margin-top:18px;font-size:9px;display:block}.auth-card label{text-align:left;margin-bottom:16px;display:block}.auth-card label>span:not(.intensity-dot){color:var(--muted);letter-spacing:.07em;text-transform:uppercase;margin:0 0 7px 3px;font-size:9px;display:block}.auth-card input{background:#faf9f7;border:1px solid #e8e3de;border-radius:14px;outline:none;width:100%;padding:13px;font-size:13px}.auth-card input:focus{border-color:var(--sage)}.auth-card .primary{min-height:46px}.secondary-button{width:100%;min-height:46px;color:var(--plum);background:0 0;border:1px solid #ddd6d0;border-radius:15px;font-size:12px;font-weight:650}.back-button,.text-button{color:var(--plum);background:0 0;border:0;padding:0;font-size:11px}.back-button{margin-bottom:20px}.text-button{width:100%;margin-top:14px}.form-error,.form-success{margin:-4px 2px 13px;font-size:10px;line-height:1.4}.form-error{color:#a1534d}.form-success{color:#5e7969}.code-input{text-align:center;letter-spacing:.3em;font-size:20px!important}.auth-field-row{grid-template-columns:1fr 1fr;gap:9px;display:grid}.consent-row{background:#f3f0ed;border-radius:14px;grid-template-columns:20px 1fr;align-items:flex-start;gap:9px;padding:12px;display:grid!important}.consent-row input{width:17px;height:17px;accent-color:var(--plum);margin:1px 0 0}.consent-row span{line-height:1.45;letter-spacing:0!important;text-transform:none!important;margin:0!important;font-size:9px!important}.consent-row a{color:var(--plum)}.privacy-page{max-width:680px;color:var(--ink);margin:auto;padding:60px 24px}.privacy-page h1{font:600 31px Georgia,serif}.privacy-page>p:not(.auth-brand){color:var(--muted);font-size:13px;line-height:1.7}.danger-zone{text-align:left;background:#fdf8f6;border:1px solid #ead8d4;border-radius:22px;margin-top:24px;padding:19px}.danger-zone h2{font:600 18px Georgia,serif}.danger-zone p{color:var(--muted);margin:7px 0 14px;font-size:10px;line-height:1.45}.danger-zone>span{color:#5e7969;margin-bottom:12px;font-size:10px;display:block}.danger-zone>button{color:#9b514a;background:0 0;border:1px solid #c7877e;border-radius:14px;width:100%;padding:12px;font-size:11px;font-weight:650}.confirm-modal{background:var(--card);border-radius:24px;width:min(100% - 32px,390px);padding:24px;box-shadow:0 24px 70px #241e1b30}.confirm-modal h2{margin:0;font:600 23px Georgia,serif}.confirm-modal p{color:var(--muted);margin:10px 0 20px;font-size:11px;line-height:1.55}.confirm-modal>div{grid-template-columns:1fr 1fr;gap:8px;display:grid}.danger-confirm{color:#fff;background:#a75e56;border:0;border-radius:15px;font-size:11px;font-weight:650}.empty-history{text-align:center;padding:55px 25px}.empty-history strong{font:600 23px Georgia,serif}.empty-history p{color:var(--muted);font-size:11px}@media (orientation:landscape) and (max-height:600px){body{padding:0}.app-frame{border-radius:0;max-width:960px;min-height:100dvh;overflow:visible}.app-header{align-items:center;height:64px;padding:10px 20px 8px}.app-header h1{font-size:21px}.profile-button{width:38px;height:38px}.today-page{padding:0 16px 70px}.today-date-row{margin:0 4px 6px}.today-responsive{grid-template-columns:minmax(300px,.9fr) minmax(360px,1.1fr);align-items:start;gap:18px;display:grid}.today-page .cycle-hero{padding:8px 12px 10px}.today-page .interactive-ring{width:210px;height:210px}.today-page .ring-segment{transform:rotate(var(--angle)) translateY(-89px)}.today-page .ring-center{inset:57px}.today-page .ring-center strong{font-size:46px}.today-page .cycle-info{margin-top:7px;padding-top:8px}.today-diary-column{grid-template-columns:1fr 1fr;gap:0 12px;display:grid}.today-diary-column>section:first-child{grid-column:1/-1}.today-diary-column .section-title,.today-diary-column .section-row{margin-top:8px}.today-diary-column .quick-actions.four button{min-height:77px}.today-diary-column .quick-actions button>span{width:32px;height:32px}.today-diary-column .event-list .event-row{height:56px;min-height:56px;padding:8px}.today-diary-column .note-card,.today-diary-column .add-note-button{border-radius:19px;height:56px;min-height:56px;padding:8px 8px 8px 18px}.bottom-nav{max-width:960px;height:58px;padding:4px 10px}.bottom-nav svg{width:18px}.auth-shell{align-items:start;min-height:100dvh;padding:10px}.auth-card{border-radius:22px;width:min(100%,760px);padding:18px 24px}.auth-card h1{font-size:23px}.auth-brand{margin-bottom:10px}.auth-copy{margin:7px 0 12px}.auth-actions{grid-template-columns:1fr 1fr}.auth-card label{margin-bottom:9px}.auth-field-row{grid-template-columns:1fr 1fr}.loading-screen{min-height:100dvh;padding:12px}.loading-mark{border-radius:17px;width:48px;height:48px}.loading-screen h1{margin:12px 0 10px}.profile-page{text-align:left;grid-template-columns:160px minmax(300px,1fr) minmax(260px,.8fr);align-items:start;gap:14px;padding-bottom:70px;display:grid}.profile-page .avatar{grid-column:1;margin:0 auto}.profile-page>h2,.profile-page>p{text-align:center;grid-column:1}.profile-page form{grid-area:1/2/5}.profile-page .privacy{grid-column:2}.danger-zone{grid-area:1/3/5;margin-top:0}.calendar-page{max-width:540px;margin:auto}.calendar-page .month{padding-top:18px}.calendar-page .month h2{margin-bottom:9px;font-size:19px}.calendar-page .week,.calendar-page .month-grid{gap:4px}.calendar-page .week{margin-bottom:5px}.calendar-page .cal-day{aspect-ratio:auto;border-radius:11px;height:44px;padding:1px}.calendar-page .cal-day>small{height:12px}.bottom-nav{border-radius:0;bottom:0}}.field-error{line-height:1.3;color:#a1534d!important;letter-spacing:0!important;text-transform:none!important;margin:6px 3px 0!important;font-size:9px!important;display:block!important}.auth-card input[aria-invalid=true],.profile-page input[aria-invalid=true]{background:#fdf8f6;border-color:#c9847d}.profile-validation-fields label{display:block}.profile-page form button:disabled{opacity:.55;cursor:not-allowed}.app-header p{letter-spacing:.08em;text-transform:none}.brand-splash h1{margin-bottom:6px;font-size:38px}.loading-tagline{color:var(--muted);margin:0 0 20px;font-size:12px;line-height:1.4}.auth-branding{margin-bottom:22px}.auth-brand{color:var(--plum);letter-spacing:0;text-transform:none;margin:0;font:600 32px/1 Georgia,serif}.auth-tagline{color:var(--sage);letter-spacing:.02em;margin:8px 0 0;font-size:11px;font-weight:600}.auth-welcome-title{max-width:310px;margin-bottom:22px!important;font-size:20px!important;line-height:1.3!important}.privacy-page .auth-brand{font-size:24px}@media (orientation:landscape) and (max-height:600px){.auth-branding{margin-bottom:10px}.auth-brand{font-size:27px}.auth-tagline{margin-top:5px}.auth-welcome-title{margin-bottom:12px!important;font-size:18px!important}.brand-splash h1{font-size:32px}.loading-tagline{margin-bottom:12px}}.app-frame{min-height:100dvh;position:relative}.data-status{z-index:21;text-align:center;background:#fefdfcf2;border-radius:12px;margin:0;padding:7px 10px;position:absolute;top:94px;left:18px;right:18px;box-shadow:0 8px 24px #3c36310d}.screen{animation:.18s ease-out fade}.calendar-page.positioning{visibility:hidden}.calendar-details{-webkit-overflow-scrolling:touch;max-height:78dvh}.event-form{-webkit-overflow-scrolling:touch;max-height:92dvh}.loading-screen,.auth-shell{min-height:100dvh}.calendar-page{touch-action:pan-y}.month{contain:layout paint}.legend svg{flex:0 0 12px;width:12px;height:12px}.legend b{color:inherit}.quick-actions button{justify-content:center}.quick-actions small{text-align:center;justify-content:center;align-items:center;width:100%;min-height:24px;display:flex}.backdrop,.calendar-details-backdrop{overscroll-behavior:contain}html{-webkit-text-size-adjust:100%}@media (hover:none) and (pointer:coarse){input,textarea,select{font-size:16px!important}}@media (max-width:374px){.quick-actions small{min-height:16px}}@media (orientation:landscape) and (max-height:600px){.today-page .quick-actions small{min-height:14px}}.profile-form-fields,.profile-validation-fields{grid-template-columns:minmax(0,1fr);gap:12px;display:grid}.profile-form-fields>.auth-field-row,.profile-form-fields>.profile-validation-fields{display:contents}.profile-form-fields .profile-input-field,.profile-validation-fields .profile-input-field{min-width:0;margin:0}.profile-input-field input,.auth-card .profile-input-field input,.profile-page .profile-input-field input{border-radius:14px;width:100%;height:44px;min-height:44px;padding:0 13px;font-size:13px;line-height:1.2;display:block}.profile-input-field .field-error{height:28px;min-height:28px;overflow:hidden;margin:6px 3px 0!important}.field-error-placeholder{visibility:hidden}.profile-form-fields{margin-bottom:16px}.profile-form-fields+.consent-row{margin-top:0}.profile-page .profile-form-fields{gap:0;margin-bottom:13px}.profile-page .profile-input-field .field-error{height:24px;min-height:24px;margin-top:4px!important}@media (orientation:landscape) and (max-height:600px){.profile-form-fields,.profile-validation-fields{gap:8px}.profile-input-field .field-error{height:22px;min-height:22px;margin-top:4px!important}.profile-form-fields{margin-bottom:9px}.profile-page .profile-form-fields{gap:0;margin-bottom:0}.profile-page .profile-input-field .field-error{height:22px;min-height:22px}.today-page .ring-center .ring-kicker{font-size:6px}.today-page .ring-center strong{font-size:40px}.today-page .ring-center .ring-phase{margin-top:2px;font-size:8px;line-height:1.15}.today-page .ring-center .ring-prediction{max-width:90px;margin-top:2px;font-size:6px}}
