:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#342e38;background:#f8f4ef;font-synthesis:none;font-weight:400;--bg:#f8f4ef;--card:#fffdf9;--ink:#342e38;--muted:#6d646d;--line:#ded5d7;--accent:#745a71;--rose:#e9d2d2;--green:#e7ede3;color-scheme:light}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit;color:inherit}button,.file-button{min-height:44px;min-width:44px;border:1px solid var(--line);background:transparent;border-radius:14px;padding:10px 16px;cursor:pointer;line-height:1.35}button:hover{background:var(--green)}button:disabled{opacity:.5;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #7351a0;outline-offset:3px}input,textarea,select{width:100%;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:12px;min-height:46px}textarea{min-height:94px;resize:vertical}p{line-height:1.65}small{font-size:.8rem;color:var(--muted);line-height:1.55}h1,h2,h3,p{margin-top:0}h1{font-family:Georgia,Times New Roman,serif;font-weight:400;font-size:clamp(2.3rem,4.3vw,3.7rem);line-height:1.12;letter-spacing:-.04em;margin-bottom:16px}h2{font-size:1.3rem;font-weight:550;line-height:1.35;letter-spacing:-.025em}h3{font-size:1.05rem}a{color:var(--accent)}.top{max-width:1160px;margin:auto;padding:32px 36px 12px;display:flex;justify-content:space-between;align-items:center;gap:20px}.brand{font-family:Georgia,serif;font-size:2rem;display:flex;align-items:center;gap:10px;letter-spacing:-.05em}.brand>span{color:var(--accent);font-size:2.3rem}.brand small{font:400 .7rem -apple-system,sans-serif;letter-spacing:.03em;border-left:1px solid var(--line);padding-left:14px;margin-left:12px}.top-actions{display:flex;gap:10px}.top-actions button{border:none;font-size:.85rem}main{max-width:1088px;margin:0 auto;padding:0 24px 100px}.status{font-size:.78rem;min-height:24px;color:var(--muted);text-align:right;margin:0 0 24px}.page-title{margin:28px 0 36px}.page-title>small,.eyebrow{font-size:.68rem;letter-spacing:.16em;font-weight:650;color:var(--accent);display:block;margin-bottom:14px}.page-title p{color:var(--muted)}.hero-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:24px}.card{padding:28px;background:var(--card);border:1px solid var(--line);border-radius:24px;margin-bottom:20px}.card p:last-child{margin-bottom:0}.cycle-card{border:1px solid #c9b8c9;border-radius:28px;padding:30px;background:radial-gradient(ellipse at 20% 20%,#f5e9e0,transparent),#e9dfe8;display:flex;flex-direction:column;align-items:center;justify-content:space-between;color:#453548;min-height:430px}.cycle-top{display:flex;width:100%;justify-content:space-between;gap:8px;font-size:.85rem}.cycle-top span{font-size:.58rem;letter-spacing:.12em;padding:7px 9px;border:1px solid #b9a6b8;border-radius:20px}.orbit{width:245px;height:245px;max-width:100%;border:1px solid #c4aebf;border-radius:50%;padding:17px;margin:26px 0 20px;position:relative}.orbit:after{content:"";width:17px;height:17px;background:#98758b;border:5px solid #f1e6eb;border-radius:50%;position:absolute;top:23px;right:24px}.orbit>div{border:12px solid #d9c3d1;border-radius:50%;height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;box-shadow:inset 0 0 0 1px #bba2b4}.orbit strong{font:400 5.4rem Georgia,serif;line-height:1.1}.orbit span{font-size:.8rem}.pills{display:flex;gap:8px;flex-wrap:wrap}.pills span{border-radius:20px;background:#ffffff60;border:1px solid #9c82994d;padding:7px 11px;font-size:.7rem}.hero-side{display:flex;flex-direction:column}.hero-side .card{flex:1}.hero-side .card:last-child{margin:0}.forecast h2{font-family:Georgia,serif;font-weight:400;font-size:1.9rem}.forecast p{font-size:.88rem;color:var(--muted)}.green p{font-size:.9rem}.primary{background:var(--accent);color:#fff;border:1px solid var(--accent);font-weight:550}.primary:hover{background:#5f455e}.green button{width:100%;display:flex;align-items:center;justify-content:center;gap:24px;margin-top:12px}.green button:not(.primary){border:0;font-size:.85rem}.section{margin-top:32px}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px}.section-heading h2{margin:0}.section-heading button{font-size:.85rem}.empty{text-align:center;padding:32px}.empty>span{font-size:2rem;color:var(--accent);display:block;margin-bottom:12px}.empty p{color:var(--muted);font-size:.9rem}.bottom{position:fixed;z-index:5;bottom:0;left:50%;transform:translate(-50%);display:flex;gap:8px;padding:9px 20px calc(9px + env(safe-area-inset-bottom));background:var(--card);border:1px solid var(--line);border-bottom:0;border-radius:26px 26px 0 0;box-shadow:0 -5px 30px #493d4810;max-width:100%;width:480px;justify-content:space-around}.bottom button{border:0;padding:6px 18px;display:flex;flex-direction:column;align-items:center;gap:4px;font-size:.7rem;border-radius:14px;min-width:90px}.bottom button>span{font-size:1.5rem;line-height:1.1}.bottom .active{color:var(--accent);background:#e9dfe8}.gate{max-width:630px;margin:55px auto}.gate>.lead{font-size:1.1rem;color:var(--muted);margin:24px 0 34px}.gate .card{text-align:left}.field{display:flex;flex-direction:column;gap:8px;margin:18px 0;font-size:.9rem}.field>span{color:var(--muted)}.card>button,.sheet>button{margin:8px 8px 8px 0}.check{display:flex;align-items:center;gap:12px;padding:10px 0;line-height:1.5;min-height:44px}.check input{width:22px;height:22px;min-height:22px;accent-color:var(--accent);flex-shrink:0}.recovery{display:block;overflow-wrap:anywhere;background:var(--green);padding:20px;border-radius:12px;margin:20px 0;font-size:1rem}.file-button{display:inline-block;margin:12px 0}.file-button input{display:block;font-size:.8rem;margin-top:8px}.muted{color:var(--muted)}.settings{margin-top:35px}.settings details{border-bottom:1px solid var(--line);padding:8px 0}.settings details:last-child{border:0}summary{min-height:44px;cursor:pointer;padding:12px 0;line-height:1.5;font-weight:550}details p{font-size:.9rem}details details{padding-left:18px}.mono{font-family:monospace;overflow-wrap:anywhere}.calendar-layout{display:grid;grid-template-columns:1.3fr 1fr;gap:22px}.calendar-layout .wide{grid-column:1/-1}.month-bar{display:flex;align-items:center;justify-content:space-between;gap:8px}.month-bar h2{margin:0;text-align:center;text-transform:capitalize}.calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-top:16px}.weekday{text-align:center;font-size:.7rem;color:var(--muted);padding:10px 0}.calendar .day{padding:6px 1px;min-width:0;border:1px solid transparent;border-radius:14px;display:flex;flex-direction:column;align-items:center;min-height:52px}.day small{min-height:13px;line-height:1}.calendar .period{background:var(--rose)}.calendar .spot{background:var(--green)}.calendar .estimate{border-style:dashed;border-color:#b3a1af}.calendar .selected{outline:2px solid var(--accent);outline-offset:1px}.legend{display:flex;flex-wrap:wrap;gap:12px;font-size:.65rem;color:var(--muted);margin-top:25px}.text-button{border:0;color:var(--accent);font-size:.8rem}.history-row{display:flex;align-items:center;flex-wrap:wrap;border-top:1px solid var(--line);padding:15px 0;gap:10px}.history-row>div{flex:1;min-width:150px}.history-row small{display:block}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.stat{font:3.2rem Georgia,serif;margin:20px 0}.stat small{font:1rem -apple-system,sans-serif}.bar-row{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin:20px 0;font-size:.85rem}.bar-row meter{flex:1;min-width:100px;height:22px;accent-color:var(--accent)}.overlay{position:fixed;z-index:20;inset:0;background:#28202b77;display:flex;justify-content:center;align-items:center;padding:24px;overflow-y:auto}.sheet{background:var(--bg);padding:30px;border-radius:28px;max-width:600px;width:100%;max-height:90dvh;overflow-y:auto;overscroll-behavior:contain;box-shadow:0 16px 80px #17101855}.sheet details{margin-top:15px;border-top:1px solid var(--line)}.sticky-actions{position:sticky;bottom:-30px;padding:14px 0;background:var(--bg);display:flex;gap:10px;justify-content:space-between}.sticky-actions .primary{flex:1}.danger{color:#963333}.urgent{border:2px solid #ad4f3a;background:#fbede1}.notice{background:var(--green);border-radius:12px;padding:16px;font-size:.9rem}.entry-view .note{white-space:pre-wrap}.rule{margin-top:20px}.projection>div{border-bottom:1px solid var(--line);padding:12px 0}.projection p{font-size:.9rem}footer{text-align:center;font-size:.7rem;color:var(--muted);padding:0 20px 110px}.skip{position:absolute;top:-100px}.skip:focus{top:0;z-index:30;background:var(--card);padding:12px}@media(prefers-color-scheme:dark){:root:not([data-theme=light]):where(:not([data-valley-mode=auto])){--bg:#242126;--card:#302b32;--ink:#f5edf2;--muted:#c4b7c0;--line:#655963;--accent:#cbb2ce;--rose:#5a3e4d;--green:#343e35;color:var(--ink);background:var(--bg);color-scheme:dark}.primary{color:#251b29}.cycle-card{background:#483c4b;color:#f8edf3}.cycle-top span{border-color:#b7a5b6}.urgent{background:#492e2d}.bottom .active{background:#4e4051}}:root[data-theme=dark]:where(:not([data-valley-mode=auto])){--bg:#242126;--card:#302b32;--ink:#f5edf2;--muted:#c4b7c0;--line:#655963;--accent:#cbb2ce;--rose:#5a3e4d;--green:#343e35;color:var(--ink);background:var(--bg);color-scheme:dark}[data-theme=dark]:where(:not([data-valley-mode=auto])) .primary{color:#251b29}[data-theme=dark]:where(:not([data-valley-mode=auto])) .cycle-card{background:#483c4b;color:#f8edf3}[data-theme=dark]:where(:not([data-valley-mode=auto])) .urgent{background:#492e2d}[data-theme=dark]:where(:not([data-valley-mode=auto])) .bottom .active{background:#4e4051}@media(max-width:700px){.top{padding:calc(18px + env(safe-area-inset-top)) 20px 6px}.brand{font-size:1.65rem}.brand small{display:none}.top-actions{gap:0}.top-actions button{padding:8px}.top-actions button span{display:none}main{padding:0 18px 95px}.status{text-align:left;margin:8px 0 22px;font-size:.7rem}.page-title{margin:24px 0 26px}h1{font-size:2.45rem}.page-title p{font-size:.9rem}.hero-grid{grid-template-columns:1fr;gap:18px}.cycle-card{min-height:360px;padding:24px}.orbit{width:215px;height:215px;margin:14px 0}.orbit strong{font-size:4.7rem}.hero-side{gap:16px}.hero-side .card{margin:0}.card{padding:22px;border-radius:22px}.forecast h2{font-size:1.65rem}.hero-side .forecast{padding:24px}.bottom{width:100%;border-radius:20px 20px 0 0;padding-left:12px;padding-right:12px}.calendar-layout,.stats-grid{grid-template-columns:1fr;gap:4px}.calendar-layout .wide{grid-column:auto}.calendar .day{min-height:49px}.overlay{padding:8px;align-items:flex-end}.sheet{max-height:95dvh;border-radius:24px 24px 0 0;padding:24px 20px calc(24px + env(safe-area-inset-bottom))}.gate{margin-top:32px}.gate h1{font-size:2.7rem}.bar-row{gap:12px}.section-heading h2{font-size:1.15rem}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}.trends-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px}.trends-toolbar .eyebrow{margin:0 0 6px}.trends-toolbar p{margin:0;font-size:.8rem;color:var(--muted)}.segmented{display:flex;gap:3px;border:1px solid var(--line);padding:4px;border-radius:15px;background:var(--bg);flex-shrink:0}.segmented button{border:0;border-radius:11px;padding:9px 13px;font-size:.78rem;min-width:44px}.segmented button[aria-pressed=true]{background:var(--accent);color:var(--card)}.visual-stats .card{padding:24px}.visual-stats .stat{margin:16px 0;font:3rem Georgia,serif}.stat-tag{font-size:.72rem;color:var(--muted);line-height:1.5}.coverage-stat{display:flex;align-items:center;justify-content:space-between;gap:10px}.coverage-ring{width:92px;min-width:60px;max-width:42%;height:auto}.ring-track,.ring-value{fill:none;stroke-width:8}.ring-track{stroke:var(--line)}.ring-value{stroke:var(--accent);stroke-linecap:round}.coverage-ring text{font:14px -apple-system,sans-serif;fill:var(--ink)}.chart-key{font-size:.7rem;color:var(--muted);display:flex;gap:7px;align-items:center;white-space:nowrap}.chart-key i{width:8px;height:8px;border-radius:50%;background:var(--accent)}.cycle-columns{display:flex;align-items:stretch;gap:12px;overflow-x:auto;padding:20px 3px 12px;scroll-snap-type:x proximity}.cycle-column{display:flex;flex-direction:column;align-items:center;gap:12px;border:1px solid transparent;min-width:64px;padding:10px 8px;flex:1;scroll-snap-align:start}.cycle-column svg{width:100%;max-width:48px;height:132px;overflow:visible}.cycle-column strong{font-size:.9rem;font-weight:550}.cycle-column small{font-size:.64rem;white-space:nowrap}.cycle-column.chosen{border-color:var(--accent);background:var(--green)}.bar-track{fill:var(--line);opacity:.45}.bar-fill{fill:var(--accent);opacity:.8}.chosen .bar-fill{opacity:1}.chart-selection{min-height:52px;border-top:1px solid var(--line);margin-top:12px;padding-top:12px;font-size:.78rem;color:var(--muted);display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.chart-selection button{border:0;color:var(--accent);font-size:.78rem;padding:8px}.chart-help{margin-top:10px}.chart-help summary{font-size:.77rem;color:var(--muted);font-weight:400;padding:12px 0}.chart-help p{font-size:.82rem;color:var(--muted);margin:8px 0 14px}.chart-help button{font-size:.78rem}.chart-empty{text-align:center;min-height:180px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px 8px}.chart-empty strong{font-size:.9rem;font-weight:500;margin-top:20px}.chart-empty p{font-size:.78rem;color:var(--muted);margin-top:10px;max-width:270px}.empty-bars{height:55px;display:flex;gap:9px;align-items:end}.empty-bars i{border:1px dashed var(--muted);width:18px;border-radius:7px;height:30px;opacity:.45}.empty-bars i:nth-child(2){height:43px}.empty-bars i:nth-child(3){height:36px}.empty-bars i:nth-child(4){height:50px}.empty-bars i:nth-child(5){height:40px}.metric-line{display:flex;align-items:baseline;gap:12px;margin:24px 0 0}.metric-line>b{font:2.2rem Georgia,serif}.metric-line span{font-size:.72rem;color:var(--muted)}.daily-chart{width:100%;height:auto;display:block;overflow:visible;margin-top:18px}.chart-grid{stroke:var(--line);stroke-width:1;stroke-dasharray:3 5}.axis-label{fill:var(--muted);font:11px -apple-system,sans-serif}.daily-line{fill:none;stroke:var(--accent);stroke-width:2;stroke-linejoin:round}.daily-dot{fill:var(--accent);stroke:var(--card);stroke-width:1.5}.daily-dot.chosen{fill:var(--ink);stroke:var(--accent);stroke-width:3}.point-target{fill:transparent;cursor:pointer}.point-target:focus{outline:none;stroke:var(--accent);stroke-width:2}.value-list{display:grid;grid-template-columns:repeat(2,1fr);gap:5px}.value-list button{display:flex;justify-content:space-between;gap:10px}.trends-pair{display:grid;grid-template-columns:1fr 1fr;gap:20px}.symptom-row{margin:26px 0}.symptom-row>div{display:flex;justify-content:space-between;align-items:center;font-size:.8rem;gap:12px;margin-bottom:12px}.symptom-row strong{font-size:.78rem;white-space:nowrap}.symptom-row svg{width:100%;height:10px;display:block}.symptom-fill{fill:var(--accent)}.pattern-number{display:flex;align-items:center;gap:15px;padding:16px 0 20px}.pattern-number>b{font:3.6rem Georgia,serif}.pattern-number>span{font-size:1.25rem}.pattern-number small{display:block;font-size:.72rem;margin-top:5px}.pattern-dots{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:20px}.pattern-dots span{width:35px;height:35px;border-radius:50%;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;color:var(--muted)}.pattern-dots .yes,.pattern-dots .ready{background:var(--accent);color:var(--card);border-color:var(--accent)}.pattern-dots .missing{border-style:dashed}.chart-caption{font-size:.82rem;color:var(--muted);margin:16px 0 8px}.pattern-source{display:block;width:100%;margin:5px 0;text-align:left}.journal-grid{display:grid;grid-template-columns:repeat(10,1fr);gap:7px;margin-top:24px}.journal-grid button{display:flex;flex-direction:column;gap:3px;align-items:center;justify-content:center;min-width:0;min-height:50px;padding:6px 0;border-style:dashed;border-radius:12px}.journal-grid button small{font-size:.65rem}.journal-grid .recorded{background:var(--green);border:1px solid var(--accent);color:var(--accent)}.chart-legend{display:flex;gap:20px;margin:18px 0 0;font-size:.72rem;color:var(--muted)}.forecast-quality>summary{display:flex;justify-content:space-between;gap:20px;font-size:.88rem}.forecast-quality>summary>span{font-size:.76rem;color:var(--muted)}.quality-stats{display:flex;gap:30px;padding:24px 0}.quality-stats small{display:block;margin-top:10px}.quality-stats b{font:2rem Georgia,serif}.forecast-quality p{color:var(--muted);font-size:.8rem}.forecast-strip{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;margin:22px 0 10px}.forecast-strip>div{display:flex;align-items:center;flex-direction:column;gap:8px;padding:9px 0;border:1px solid transparent;border-radius:13px}.forecast-strip span{font-size:.62rem;color:var(--muted);line-height:1}.forecast-strip b{font-size:.9rem;font-weight:500}.forecast-strip .predicted{background:var(--bg);border:1px dashed var(--accent)}.forecast .medical-footnote{display:block;font-size:.65rem;margin-top:5px}.forecast .chart-help{margin-top:0}.forecast h2{margin-bottom:0}.entry-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.entry-facts>div{display:flex;flex-direction:column;gap:9px;padding:14px;border-radius:16px;background:var(--bg)}.entry-facts>div>span{font-size:1.4rem;color:var(--accent)}.entry-facts b{font-size:.82rem;font-weight:500;overflow-wrap:anywhere}.entry-facts small{font-size:.65rem}.mood-tag{display:inline-block;font-size:.85rem;background:var(--green);padding:9px 15px;border-radius:20px;margin:16px 0 0}@media(max-width:700px){.trends-toolbar{align-items:flex-start;flex-direction:column;gap:18px}.trends-toolbar .segmented{width:100%}.trends-toolbar .segmented button{flex:1}.visual-stats{grid-template-columns:1fr 1fr;gap:12px}.visual-stats .card{padding:19px;margin-bottom:0}.visual-stats .coverage-stat{grid-column:1/-1;margin-bottom:18px;justify-content:space-between}.visual-stats .stat{font-size:2.5rem;margin:12px 0}.coverage-ring{width:78px}.visual-stats .coverage-stat .stat{margin-bottom:0}.trends-pair{grid-template-columns:1fr;gap:0}.cycle-columns{gap:4px}.cycle-column{min-width:58px;padding:10px 5px}.cycle-column small{font-size:.59rem}.segmented button{padding:8px 11px}.daily-chart{min-height:165px}.journal-grid{grid-template-columns:repeat(5,1fr);gap:8px}.journal-grid button{min-height:48px}.entry-facts{gap:7px}.entry-facts>div{padding:12px 10px}.entry-facts b{font-size:.75rem}.forecast-strip{gap:3px}.trends-view .section-heading{flex-wrap:wrap}.quality-stats{gap:20px}}.history-preview{overflow-x:auto}.history-preview table{width:100%;border-collapse:collapse;font-size:.8rem}.history-preview th,.history-preview td{text-align:left;padding:12px 8px;border-bottom:1px solid var(--line)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.day-scrubber{display:block;margin:0 12px 0 30px}.day-scrubber input{padding:0;min-height:44px;accent-color:var(--accent);cursor:pointer;background:transparent;border:0}:root{--period-vivid:#bb2054;--period-ink:#fff;--estimate-ink:#a41b4c;--spot-vivid:#00756f}.calendar{gap:7px;row-gap:10px}.calendar .day{border-radius:50%;min-height:46px;aspect-ratio:1;padding:6px 0;justify-content:center;position:relative}.calendar .day>span{font-size:1.02rem;font-weight:550}.calendar .day>small{font-size:.62rem;min-height:11px;color:inherit;line-height:1}.calendar .period,.calendar .period:hover{background:var(--period-vivid);color:var(--period-ink);border:2px solid var(--period-vivid)}.calendar .spot,.calendar .spot:hover{background:var(--green);color:var(--spot-vivid);border:2px solid var(--spot-vivid)}.calendar .estimate,.calendar .estimate:hover{background:var(--card);border:2px dashed var(--estimate-ink);color:var(--estimate-ink)}.calendar .selected{outline:3px double var(--ink);outline-offset:3px}.calendar .is-today:where(:not(.period,.estimate,.spot,.ovulation-estimate)){border:2px solid var(--accent);background:var(--green)}.calendar .is-today:after{content:"";position:absolute;width:6px;height:6px;border-radius:50%;background:var(--ink);bottom:-7px;left:calc(50% - 3px)}.legend .legend-period{color:var(--period-vivid)}.legend .legend-estimate{color:var(--estimate-ink)}.legend .legend-spot{color:var(--spot-vivid)}.calendar-layout .legend{line-height:1.7;gap:10px 15px}.calendar-layout .card{min-width:0}:root[data-theme=dark]:where(:not([data-valley-mode=auto])){--period-vivid:#e64983;--period-ink:#21101a;--estimate-ink:#ff94ba;--spot-vivid:#72d9ca}@media(prefers-color-scheme:dark){:root:not([data-theme=light]):where(:not([data-valley-mode=auto])){--period-vivid:#e64983;--period-ink:#21101a;--estimate-ink:#ff94ba;--spot-vivid:#72d9ca}}@media(max-width:380px){.calendar{gap:3px;row-gap:10px}.calendar .day{min-height:44px;aspect-ratio:auto}.calendar .selected{outline-offset:1px}.calendar .day>span{font-size:.94rem}}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}.hero-side,.hero-grid>*{min-width:0}@media(max-width:700px),(pointer:coarse){input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea{font-size:max(16px,1em)}}:root{--ovulation-ink:#006c87;--ovulation-bg:#dbf4fb}.calendar .ovulation-estimate,.calendar .ovulation-estimate:hover{background:var(--ovulation-bg);color:var(--ovulation-ink);border:1px solid var(--ovulation-ink)}.calendar .ovulation-day,.calendar .ovulation-day:hover{border:2px dotted var(--ovulation-ink)}.calendar .is-today.ovulation-estimate{background:var(--ovulation-bg)}.legend .legend-ovulation{color:var(--ovulation-ink)}.calendar-estimate-note{display:block;margin-top:14px;font-size:.68rem;line-height:1.6}.ovulation-note{background:var(--ovulation-bg);color:var(--ovulation-ink);padding:14px;border-radius:14px;font-size:.8rem}:root[data-theme=dark]:where(:not([data-valley-mode=auto])){--ovulation-ink:#9ae8ff;--ovulation-bg:#173b49}@media(prefers-color-scheme:dark){:root:not([data-theme=light]):where(:not([data-valley-mode=auto])){--ovulation-ink:#9ae8ff;--ovulation-bg:#173b49}}:root{--bg:#fff7f2;--card:#fffdfb;--ink:#4d3b45;--muted:#7d6875;--line:#ead9df;--accent:#a1446c;--green:#eaf2e9;--rose:#f8d7e5;background:var(--bg);color:var(--ink)}h1,h2,h3,.brand{font-family:ui-rounded,SF Pro Rounded,-apple-system,BlinkMacSystemFont,sans-serif}h1{font-weight:650;letter-spacing:-.045em;font-size:clamp(2.15rem,4vw,3.4rem)}h2{font-weight:600}.top{padding-top:26px}.brand{font-weight:650;letter-spacing:-.04em;flex-wrap:wrap;gap:8px}.brand small{font-family:inherit}.app-version{font-family:-apple-system,sans-serif;font-size:.67rem;font-weight:600;letter-spacing:.02em;background:var(--green);border:1px solid var(--line);padding:6px 9px;border-radius:99px;color:var(--accent);white-space:nowrap}.card{border-color:var(--line);box-shadow:0 8px 28px #9f52630a;border-radius:28px}.primary{border-radius:22px;background:var(--accent)}.page-title{margin-bottom:24px}.friendly-intro{display:flex;align-items:center;justify-content:space-between;gap:18px;background:linear-gradient(115deg,#fce7ed,#fff1df);border:1px solid #efcfda;border-radius:30px;padding:26px 32px;margin:0 0 24px}.friendly-intro .eyebrow{font-size:.61rem;letter-spacing:.12em}.friendly-intro h2{font-size:1.3rem;max-width:380px;margin-bottom:10px}.friendly-intro p{font-size:.82rem;color:var(--muted);margin-bottom:0;max-width:390px}.garden-illustration{width:140px;min-width:90px;max-width:28%;height:auto;color:#b96687;flex-shrink:0}.cycle-card{background:radial-gradient(ellipse at 15% 10%,#ffeddb,transparent),#f6dfe9;border-color:#e9bdcf;color:#6a3c56}.orbit{border-color:#dba6bd}.orbit>div{border-color:#e6b1c9;box-shadow:inset 0 0 0 1px #c480a2}.orbit:after{background:#b05c83;border-color:#f9e2ed}.cycle-top span{border-color:#d4a3b8}.forecast h2{font-family:ui-rounded,-apple-system,sans-serif;font-weight:600;font-size:1.65rem}.bottom{box-shadow:0 -8px 35px #b95c7820}.bottom .active{background:#f9deea;color:var(--accent)}.entry-facts>div{border:1px solid var(--line);background:#fff4f4}.entry-facts>div>span{color:#b96687}.mode-choice{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:18px 0 24px}.mode-choice h1{font-size:2.4rem;max-width:600px}.mode-choice button{flex-shrink:0}.support-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.support-card{padding:30px}.support-icon{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:18px;background:#fbe2ee;color:var(--accent);font-size:1.8rem;margin-bottom:20px}.support-card p{font-size:.94rem}.support-facts{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:18px}.support-facts>span{display:flex;flex-direction:column;gap:9px;background:var(--bg);border-radius:17px;padding:13px;font-size:.7rem;flex:1;min-width:90px}.support-facts b{font-size:.88rem}.partner-notice,.shared-mode-bar{border:1px solid var(--line);background:var(--green);border-radius:20px;padding:16px 20px;margin:0 0 24px;font-size:.84rem}.partner-notice small{display:block;margin-top:6px}.shared-mode-bar{display:flex;align-items:center;justify-content:space-between;gap:14px}.shared-mode-bar button{font-size:.78rem;border-color:#b6c6b3}.wish-bubble{padding:16px;background:var(--card);border-radius:18px}.full-share-card{background:var(--green);padding:20px;border-radius:20px;margin:14px 0 20px}.full-share-card p{font-size:.84rem}.sheet details p{overflow-wrap:anywhere}.support-card.green{background:var(--green)}@media(max-width:700px){.top{padding-top:calc(18px + env(safe-area-inset-top))}.brand{font-size:1.65rem}.app-version{font-size:.6rem;padding:5px 7px}.friendly-intro{padding:22px;margin-bottom:20px;gap:10px}.friendly-intro h2{font-size:1.1rem}.friendly-intro p{font-size:.75rem}.friendly-intro .eyebrow{font-size:.55rem;line-height:1.6}.garden-illustration{min-width:72px;max-width:24%}.mode-choice{flex-direction:column;align-items:stretch}.mode-choice h1{font-size:2rem}.support-grid{grid-template-columns:1fr;gap:0}.shared-mode-bar{flex-wrap:wrap}.support-card{padding:24px}.top-actions button{min-width:44px}.page-title h1{font-size:2.15rem}}:root[data-theme=dark]:where(:not([data-valley-mode=auto])){--bg:#291f29;--card:#352a35;--ink:#fff0f7;--muted:#d1bbc9;--line:#72556a;--accent:#f0abc9;--green:#343d35;--rose:#704358;color:var(--ink);background:var(--bg)}[data-theme=dark]:where(:not([data-valley-mode=auto])) .friendly-intro{background:linear-gradient(115deg,#4a3043,#433c30);border-color:#72556a}[data-theme=dark]:where(:not([data-valley-mode=auto])) .cycle-card{background:#4b3045;color:#ffe5f1;border-color:#846076}[data-theme=dark]:where(:not([data-valley-mode=auto])) .entry-facts>div{background:var(--bg)}[data-theme=dark]:where(:not([data-valley-mode=auto])) .support-icon{background:#594154}[data-theme=dark]:where(:not([data-valley-mode=auto])) .primary{color:#2b1d28}[data-theme=dark]:where(:not([data-valley-mode=auto])) .bottom .active{background:#584050}@media(prefers-color-scheme:dark){:root:not([data-theme=light]):where(:not([data-valley-mode=auto])){--bg:#291f29;--card:#352a35;--ink:#fff0f7;--muted:#d1bbc9;--line:#72556a;--accent:#f0abc9;--green:#343d35;--rose:#704358;color:var(--ink);background:var(--bg)}:root:not([data-theme=light]):where(:not([data-valley-mode=auto])) .friendly-intro{background:linear-gradient(115deg,#4a3043,#433c30);border-color:#72556a}:root:not([data-theme=light]):where(:not([data-valley-mode=auto])) .entry-facts>div{background:var(--bg)}:root:not([data-theme=light]):where(:not([data-valley-mode=auto])) .support-icon{background:#594154}:root:not([data-theme=light]):where(:not([data-valley-mode=auto])) .primary{color:#2b1d28}}.preview-banner{background:var(--green);border:1px solid var(--line);border-radius:24px;padding:20px 24px;margin:20px 0;display:flex;flex-direction:column;gap:12px}.preview-banner>b{font-size:.95rem}.preview-banner>span{font-size:.75rem;color:var(--muted)}.preview-banner .segmented{align-self:flex-start}.preview-exit{font-size:.8rem;line-height:1.6;min-height:44px;display:flex;align-items:center}.demo-editor{max-width:600px;margin:24px auto}.demo-editor>button{margin-right:10px}.app-version{background:transparent;border:0;color:var(--muted);font-size:.58rem;font-weight:400;letter-spacing:0;padding:2px 3px;min-width:0}.preview-banner{background:transparent;border:0;border-bottom:1px solid var(--line);border-radius:0;margin:8px 0 20px;padding:8px 0 12px;gap:7px}.preview-banner>b{font-size:.68rem;font-weight:400;color:var(--muted)}.preview-banner>span{font-size:.65rem}.preview-banner .segmented{border:0;background:transparent;padding:0;gap:10px}.preview-banner .segmented button{background:transparent;border-radius:0;color:var(--muted);font-size:.67rem;padding:5px 0;border-bottom:1px solid transparent;min-height:44px}.preview-banner .segmented button[aria-pressed=true]{background:transparent;color:var(--accent);border-bottom-color:var(--accent)}.mode-choice>button{background:transparent;color:var(--accent);border:1px solid var(--line);font-size:.78rem;font-weight:400}.preview-tools>summary{font-size:.66rem;color:var(--muted);font-weight:400;padding:6px 0;min-height:44px}.preview-tools .segmented{margin-top:0}:root{--bg:#f7f3e7;--card:#fffdf5;--ink:#40335c;--muted:#777087;--accent:#66538d;--line:#dfd7e5;--green:#edf0da;--rose:#f4bfd6;--meadow:#dce5bc;--hill-far:#e8ebd6;font-family:ui-rounded,SF Pro Rounded,Trebuchet MS,-apple-system,sans-serif;color:var(--ink);background:var(--bg)}body{background:radial-gradient(circle at 5% 16%,#efe8f5 0,transparent 29%),radial-gradient(circle at 95% 48%,#eff0db 0,transparent 30%),var(--bg)}h1,h2,.forecast h2{font-family:Georgia,Times New Roman,serif;font-weight:400;letter-spacing:-.035em}h1{font-size:clamp(2.65rem,5vw,4.3rem)}h2{font-size:1.5rem}.top{padding-top:24px}.brand{color:var(--ink);font-size:2.1rem}.brand>span:first-child{color:#9f8abb}.brand small{font-family:inherit;letter-spacing:0;border:0}.brand .app-version{font:400 10px -apple-system,sans-serif;opacity:.5}.top-actions button{background:#fffdf57a;border:1px solid #ded7e5;border-radius:50px}.page-title{margin:24px 0 28px}.page-title h1{margin-bottom:10px}.eyebrow,.page-title>small{font-size:.64rem;letter-spacing:.16em;color:#8a769e}.status{font-size:.7rem;opacity:.8;margin-bottom:10px}.card{border:1px solid var(--line);border-radius:26px;box-shadow:0 4px #56436405;padding:26px}.primary{background:#66538d;border-color:#66538d;color:#fffdf8;box-shadow:0 3px #44315f20;border-radius:18px}.primary:hover{background:#514071}.green{background:var(--green)}button{transition:background .18s,transform .18s}button:active:not(:disabled){transform:translateY(1px)}input,textarea,select{background:var(--card);border-radius:16px;border-color:var(--line)}.friendly-intro{position:relative;background:#ebe5f2;border:1px solid #ddd2e8;border-radius:32px;padding:26px 30px;margin-bottom:26px;display:flex;align-items:center;justify-content:space-between;min-height:215px;overflow:visible;gap:15px}.friendly-intro>div:first-child{max-width:65%}.friendly-intro h2{font-size:2.05rem;margin-bottom:12px}.friendly-intro p{font-size:.9rem;color:#736181;max-width:410px;line-height:1.65;margin:0}.friendly-intro .eyebrow{color:#897398;margin-bottom:13px}.moomin-friend{position:relative;width:190px;flex:0 0 auto;line-height:0;display:block;background:transparent;border:0;padding:0;min-height:0}.moomin-friend:hover{background:transparent}.moomin-friend.small{width:115px}.moomin-art{width:100%;height:auto;overflow:visible}.moomin-tooltip{position:absolute;bottom:4px;left:50%;transform:translate(-50%);font:10px/1.4 ui-rounded,-apple-system,sans-serif;white-space:nowrap;opacity:0;background:var(--card);padding:5px 9px;border-radius:15px;color:var(--ink);border:1px solid var(--line);pointer-events:none}.moomin-friend:hover .moomin-tooltip,.moomin-friend:focus-visible .moomin-tooltip{opacity:1}.moomin-body{transform-origin:120px 200px;animation:moomin-breathe 5s ease-in-out infinite}.moomin-eyes{transform-origin:120px 92px;animation:moomin-blink 7s infinite}.pose-wave .moomin-left-arm{transform-origin:80px 145px;animation:moomin-wave 3.8s ease-in-out infinite}.pose-happy .moomin-body,.pose-saved .moomin-body{animation:moomin-bob 3.6s ease-in-out infinite}.pose-hug .moomin-heart{animation:moomin-heart 3s ease-in-out infinite;transform-origin:45px 70px}.pose-rest .moomin-body{animation-duration:7s}.valley-scene{width:100%;height:130px;display:block;margin:8px 0 -2px;pointer-events:none}.valley-scene.compact{height:90px}.valley-footer{max-width:1088px;margin:20px auto 0;padding:0 24px}.valley-footer p{text-align:center;font-size:.65rem;color:var(--muted);margin:8px 0 16px}.hero-grid{grid-template-columns:1fr 1.1fr;gap:22px}.cycle-card{background:radial-gradient(circle at 30% 15%,#fdf6e8,transparent 58%),#efe7d4;border-color:#e5dbc5;min-height:420px;border-radius:30px;color:#574568}.cycle-top{color:#85718a}.cycle-top span{background:#fff8e9;border:1px solid #e1d2bc;letter-spacing:.08em;color:#877481}.orbit{border-color:#cfbfd1}.orbit>div{border-color:#c8b6d5;box-shadow:inset 0 0 0 1px #b6a4c5;background:#fffaf155}.orbit:after{background:#ea8eaf;border-color:#fbefdf}.orbit strong{color:#5e4778}.pills span{background:#fffaf1a8;border-color:#dacee0;color:#7b6585}.forecast{background:var(--card)}.hero-side .green{background:#e8edd6}.calendar-layout>.card:first-child{position:relative;overflow:hidden}.calendar .day{border-radius:42%}.calendar .day.period{background:#c02c67;color:#fff;border:2px solid #c02c67}.calendar .day.estimate{background:#fce8ef;color:#8f1745;border:2px dashed #ae2d5c}.calendar .selected{outline:2px solid #6e578f;outline-offset:2px}.calendar .is-today:not(.period){box-shadow:inset 0 0 0 1px #6e578f}.calendar-friend{display:flex;align-items:center;gap:15px;background:#edf0df;border:1px solid #e0e4ce;border-radius:24px;padding:8px 18px;margin:0 0 20px}.calendar-friend h2{font-size:1.45rem;margin:0 0 6px}.calendar-friend p{font-size:.8rem;color:var(--muted);margin:0}.calendar-friend .moomin-friend{width:110px}.bottom{background:#fffdf7f5;border-color:#d9cfe1;backdrop-filter:blur(12px);box-shadow:0 -5px 30px #493d480a;border-radius:27px 27px 0 0}.bottom .active{background:#eee6f4;color:#655080}.bottom button{border-radius:17px}.bottom button>span{font-size:1.45rem}.preview-banner{background:#f0ecdf;border-color:#e0d9c6}.preview-tools summary{font-size:10px;opacity:.65}.support-card .support-icon{display:none}.support-card h2{font-size:1.5rem}.partner-home .mode-choice h1{font-size:3rem}.partner-home>.moomin-friend{float:right;width:150px;margin-top:-20px}.support-facts span{border-radius:17px}.gate{position:relative}.gate-moomin{display:flex;justify-content:center;margin:0 auto 10px}.gate-moomin .moomin-friend{width:155px}.gate h1{text-align:center}.gate>.eyebrow,.gate>.lead{text-align:center}.gate .card{background:var(--card)}.gate p.lead{font-size:1rem}.notice{border:1px solid var(--line)}.entry-view{position:relative}.saved-friend{display:flex;align-items:center;gap:12px;padding:8px 16px;border-radius:20px;background:var(--green);margin-bottom:15px}.saved-friend .moomin-friend{width:70px}.saved-friend p{margin:0;font-size:.8rem}.settings{box-shadow:none}.settings details{border-color:var(--line)}@keyframes moomin-wave{0%,55%,to{transform:rotate(0)}10%,30%{transform:rotate(-17deg)}20%,40%{transform:rotate(10deg)}}@keyframes moomin-breathe{0%,to{transform:translateY(0)}50%{transform:translateY(-2px)}}@keyframes moomin-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-4px) rotate(-1deg)}}@keyframes moomin-blink{0%,43%,47%,to{transform:scaleY(1)}45%{transform:scaleY(.08)}}@keyframes moomin-heart{0%,to{transform:scale(1)}50%{transform:scale(1.09) translateY(-2px)}}@media(max-width:700px){.top{padding:calc(16px + env(safe-area-inset-top)) 19px 6px}.brand{font-size:1.85rem}.brand>span:first-child{font-size:2rem}.top-actions button{border:0;background:transparent}.page-title h1{font-size:2.7rem}.friendly-intro{padding:22px 20px 18px;gap:0;min-height:185px;border-radius:28px;margin-bottom:20px}.friendly-intro>div:first-child{max-width:65%;z-index:1}.friendly-intro h2{font-size:1.6rem;line-height:1.15}.friendly-intro p{font-size:.76rem;max-width:215px}.friendly-intro .eyebrow{font-size:.52rem;letter-spacing:.1em;margin-bottom:10px}.friendly-intro .moomin-friend{width:140px;margin-right:-15px;margin-left:-15px;align-self:flex-end}.hero-grid{grid-template-columns:1fr}.cycle-card{min-height:335px;padding:22px}.orbit{width:210px;height:210px;margin:14px 0}.cycle-card .orbit strong{font-size:4.9rem}.valley-footer .valley-scene{height:auto;aspect-ratio:1000/170}.valley-footer{padding:0 18px}.calendar-friend{padding:6px 13px;gap:10px}.calendar-friend h2{font-size:1.3rem}.calendar-friend .moomin-friend{width:95px}.partner-home .mode-choice h1{font-size:2.3rem}.partner-home>.moomin-friend{width:115px}.gate{margin-top:15px}.gate h1{font-size:2.5rem}.gate-moomin .moomin-friend{width:145px}.card{padding:22px}.bottom{padding-left:9px;padding-right:9px}.bottom button{min-width:82px}}:root[data-theme=dark]:where(:not([data-valley-mode=auto])){--bg:#292737;--card:#343143;--ink:#f1ebf2;--muted:#c5bbd2;--line:#59516b;--accent:#d0b8e7;--green:#3c4439;--meadow:#68704f;--hill-far:#484e43;color:var(--ink);background:var(--bg)}[data-theme=dark]:where(:not([data-valley-mode=auto])) .friendly-intro{background:#42394f;border-color:#60506d}[data-theme=dark]:where(:not([data-valley-mode=auto])) .friendly-intro p,[data-theme=dark]:where(:not([data-valley-mode=auto])) .friendly-intro .eyebrow{color:#d4bedc}[data-theme=dark]:where(:not([data-valley-mode=auto])) .cycle-card{background:#423b49;border-color:#66556d;color:var(--ink)}[data-theme=dark]:where(:not([data-valley-mode=auto])) .cycle-top,[data-theme=dark]:where(:not([data-valley-mode=auto])) .orbit strong{color:#eeddf7}[data-theme=dark]:where(:not([data-valley-mode=auto])) .orbit>div{background:#4c415455}[data-theme=dark]:where(:not([data-valley-mode=auto])) .cycle-top span,[data-theme=dark]:where(:not([data-valley-mode=auto])) .pills span{background:#514457;color:#f1ddef;border-color:#776383}[data-theme=dark]:where(:not([data-valley-mode=auto])) .hero-side .green,[data-theme=dark]:where(:not([data-valley-mode=auto])) .calendar-friend{background:#3c4439;border-color:#59614e}[data-theme=dark]:where(:not([data-valley-mode=auto])) .bottom{background:#343143f5}[data-theme=dark]:where(:not([data-valley-mode=auto])) .bottom .active{background:#544461;color:#f0ddff}[data-theme=dark]:where(:not([data-valley-mode=auto])) .preview-banner{background:#3b3744}[data-theme=dark]:where(:not([data-valley-mode=auto])) .top-actions button{background:transparent;border-color:#59516b}@media(prefers-color-scheme:dark){:root:not([data-theme=light]):where(:not([data-valley-mode=auto])){--bg:#292737;--card:#343143;--ink:#f1ebf2;--muted:#c5bbd2;--line:#59516b;--accent:#d0b8e7;--green:#3c4439;--meadow:#68704f;--hill-far:#484e43;color:var(--ink);background:var(--bg)}:root:not([data-theme=light]):where(:not([data-valley-mode=auto])) .friendly-intro{background:#42394f;border-color:#60506d}:root:not([data-theme=light]):where(:not([data-valley-mode=auto])) .friendly-intro p{color:#d4bedc}:root:not([data-theme=light]):where(:not([data-valley-mode=auto])) .cycle-card{background:#423b49;border-color:#66556d;color:var(--ink)}:root:not([data-theme=light]):where(:not([data-valley-mode=auto])) .orbit strong{color:#eeddf7}:root:not([data-theme=light]):where(:not([data-valley-mode=auto])) .hero-side .green,:root:not([data-theme=light]):where(:not([data-valley-mode=auto])) .calendar-friend{background:#3c4439;border-color:#59614e}:root:not([data-theme=light]):where(:not([data-valley-mode=auto])) .bottom{background:#343143f5}}@media(prefers-reduced-motion:reduce){.moomin-art *{animation:none!important;transition:none!important}}.entry-friend{float:right;margin:0 0 8px 15px}.entry-friend .moomin-friend{width:85px}.empty>.moomin-friend{margin:0 auto 12px}.saved-friend{animation:saved-arrive .3s ease-out}.partner-home .partner-notice{clear:none;min-height:80px}.valley-footer{clear:both}@keyframes saved-arrive{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.moomin-tooltip{max-width:130px;width:max-content;white-space:normal;text-align:center}.partner-home .moomin-tooltip,.gate .moomin-tooltip{bottom:0}[data-theme=dark]:where(:not([data-valley-mode=auto])) .primary{background:#d0b8e7;border-color:#d0b8e7;color:#342440}@media(prefers-color-scheme:dark){:root:not([data-theme=light]):where(:not([data-valley-mode=auto])) .primary{background:#d0b8e7;border-color:#d0b8e7;color:#342440}}.atmosphere-preview{display:flex;gap:6px;padding:5px;border:1px solid var(--line);border-radius:18px;background:var(--card);margin:18px 0}.atmosphere-preview button{flex:1;border:0;min-width:0;padding:10px 8px;font-size:.75rem;border-radius:13px}.atmosphere-preview button[aria-pressed=true]{background:var(--accent);color:var(--card)}.atmosphere-note{font-size:.72rem;color:var(--muted);margin:8px 0 14px}.atmosphere-note summary{font-size:.72rem;min-height:32px;padding:5px 0}.atmosphere-note p{font-size:.74rem;margin:3px 0 10px}.stinky-art .moomin-body{transform-origin:120px 180px}.stinky-art .moomin-eyes{transform-origin:120px 95px}:root[data-valley=stinky]{--bg:#747473;--card:#878784;--ink:#fff9e9;--muted:#ece7d7;--accent:#f1d5b8;--line:#a2a395;--green:#92928b;--rose:#cf818d;--meadow:#656561;--hill-far:#6e6e68;color:var(--ink);background:var(--bg);color-scheme:dark}[data-valley=stinky] body{background:radial-gradient(ellipse at 15% 0%,#868681,transparent 55%),#747473}[data-valley=stinky] .brand,[data-valley=stinky] .brand>span:first-child{color:#fff8e9}[data-valley=stinky] .eyebrow,[data-valley=stinky] .page-title>small{color:#efdfc7}[data-valley=stinky] h1,[data-valley=stinky] h2{color:#fff9ec}[data-valley=stinky] .friendly-intro{background:#999991;border-color:#b1b1a6;box-shadow:0 4px #373b3110}[data-valley=stinky] .friendly-intro p,[data-valley=stinky] .friendly-intro .eyebrow{color:#fff7e7}[data-valley=stinky] .friendly-intro h2{color:#fff9eb}[data-valley=stinky] .primary{background:#ac5743;color:#fff8e9;border-color:#8d4a39;box-shadow:0 3px #45382b22}[data-valley=stinky] .primary:hover{background:#954837}[data-valley=stinky] button:hover{background:#a2a38f}[data-valley=stinky] input,[data-valley=stinky] textarea,[data-valley=stinky] select{background:#777b6e;color:#fff9e9;border-color:#b1b09b}[data-valley=stinky] .cycle-card{background:radial-gradient(circle at 20% 10%,#96968c,transparent 75%),#85867c;border-color:#a5a599;color:#fff8e9}[data-valley=stinky] .cycle-top{color:#fff7e9}[data-valley=stinky] .cycle-top span{background:#77786c;color:#fff5db;border-color:#a2a88d}[data-valley=stinky] .orbit{border-color:#b0b29d}[data-valley=stinky] .orbit>div{border-color:#b9baa9;background:#939487;box-shadow:inset 0 0 0 1px #d0ceba}[data-valley=stinky] .orbit strong{color:#fff6e1}[data-valley=stinky] .orbit:after{background:#ad5f49;border-color:#cbc8b0}[data-valley=stinky] .pills span{background:#767e68;color:#fff5e5;border-color:#a2a88c}[data-valley=stinky] .hero-side .green,[data-valley=stinky] .calendar-friend{background:#919287;border-color:#b0b49e}[data-valley=stinky] .bottom{background:#777970f5;border-color:#a6aa95}[data-valley=stinky] .bottom .active{background:#aa5a46;color:#fff5e5}[data-valley=stinky] .preview-banner{background:#878981;border-color:#a3a792}[data-valley=stinky] .preview-banner span,[data-valley=stinky] .preview-banner b{color:#fff4e1}[data-valley=stinky] .atmosphere-preview{background:#888a80}[data-valley=stinky] .atmosphere-preview button[aria-pressed=true]{background:#aa5844;color:#fff4df}[data-valley=stinky] .forecast .predicted{background:#767d6b;color:#fff5e5;border-color:#ead4ac}[data-valley=stinky] .segmented button[aria-pressed=true]{background:#ab5945;color:#fff5e5}[data-valley=stinky] .valley-scene{filter:grayscale(.6) sepia(.1)}[data-valley=stinky] .calendar .day.period{background:#984257;color:#fff9ec;border-color:#984257}[data-valley=stinky] .calendar .selected{outline-color:#fff0d3}[data-valley=stinky] .calendar .day.estimate{background:var(--card);color:#ffe0bd;border-color:#f3bd92}[data-valley=stinky] .moomin-tooltip{background:#e7e0c9;color:#393e30;border-color:#b7b497}[data-valley=stinky] .top-actions button{border-color:#a3a792;color:#fff9e8}[data-valley=stinky] .support-facts span{background:#7c836f}[data-valley=stinky] a{color:#fff1cf}:root[data-valley=stinky]{--bg:#737372;--card:#686b65;--muted:#fff8e9;--green:#71766b;--line:#a2a499}[data-valley=stinky] body{background:#737372}[data-valley=stinky] .friendly-intro{background:#a1a197;border-color:#b7b6ab}[data-valley=stinky] .friendly-intro h2,[data-valley=stinky] .friendly-intro p,[data-valley=stinky] .friendly-intro .eyebrow{color:#293126}[data-valley=stinky] .preview-banner{background:#999b90}[data-valley=stinky] .preview-banner span,[data-valley=stinky] .preview-banner b,[data-valley=stinky] .preview-banner summary{color:#263022}[data-valley=stinky] .hero-side .green,[data-valley=stinky] .calendar-friend{background:#686e60}[data-valley=stinky] .orbit strong{color:#283023}[data-valley=stinky] .cycle-top{color:#fff8ed}[data-valley=stinky] .atmosphere-preview{background:#696e61}.character-card .character-quote{font:400 1.35rem/1.3 Georgia,serif;color:var(--ink);margin:0}.partner-home .character-card{float:none;clear:both;margin:18px 0}.partner-home .character-card .moomin-friend{float:none;margin:0}.character-card .moomin-friend{width:100px;flex-shrink:0}.character-card .moomin-tooltip{bottom:0}.character-card>div:last-child{min-width:0}.character-card{min-height:112px}.friendly-intro h2{font-size:1.85rem}@media(max-width:700px){.character-card .character-quote{font-size:1.18rem}.character-card .moomin-friend{width:90px}.friendly-intro h2{font-size:1.5rem}}[data-valley=stinky] .character-card .character-quote{color:#fff9e9}.moomin-portrait{display:block;width:100%;height:auto;max-height:205px;object-fit:contain;transform-origin:50% 96%;animation:portrait-sway 7s ease-in-out infinite}.portrait-friend{position:relative}.portrait-hello{animation:portrait-greet .65s ease-in-out 2}.portrait-spark{position:absolute;right:3%;top:20%;font-size:26px;color:#d47c9c;line-height:1;animation:portrait-heart 1.2s ease-out both}.moomin-friend.small .moomin-portrait{max-height:125px}.friendly-intro .portrait-friend{width:155px;margin-bottom:-1px}.gate-moomin .portrait-friend{width:145px}.friendly-intro>div:first-child{max-width:66%}.character-card .portrait-friend{width:85px}.character-card .moomin-portrait{max-height:120px}.saved-friend .portrait-friend{width:60px}.saved-friend .moomin-portrait{max-height:75px}@keyframes portrait-sway{0%,to{transform:rotate(-.5deg)}50%{transform:rotate(.5deg)}}@keyframes portrait-greet{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}@keyframes portrait-heart{0%{opacity:0;transform:translateY(4px) scale(.8)}35%,80%{opacity:1}to{opacity:0;transform:translateY(-12px) scale(1.1)}}@media(max-width:700px){.friendly-intro .portrait-friend{width:128px;margin-left:-8px;margin-right:-10px}.friendly-intro .moomin-portrait{max-height:164px}.character-card .portrait-friend{width:78px}.character-card .moomin-portrait{max-height:105px}.friendly-intro>div:first-child{max-width:66%}}@media(prefers-reduced-motion:reduce){.moomin-portrait,.portrait-spark{animation:none!important}}.portrait-frames{display:block;width:100%;aspect-ratio:1090/1443;position:relative;transform-origin:50% 96%;animation:portrait-sway 7s ease-in-out infinite}.portrait-frame{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;display:block;pointer-events:none}.frame-rest{opacity:1}.frame-eyes{clip-path:inset(24% 40% 61% 31%);opacity:1;animation:portrait-eyelids 6.8s steps(1,end) infinite}.frame-wave{opacity:0}.is-waving .frame-rest,.is-waving .frame-eyes{animation:portrait-rest-frames 1.2s steps(1,end) 2}.is-waving .frame-wave{animation:portrait-wave-frames 1.2s steps(1,end) 2}.is-waving{animation:none}@keyframes portrait-eyelids{0%,43%,46%,to{opacity:1}44%,45%{opacity:0}}@keyframes portrait-wave-frames{0%,45%,to{opacity:0}12%,32%,58%,85%{opacity:1}}@keyframes portrait-rest-frames{0%,45%,to{opacity:1}12%,32%,58%,85%{opacity:0}}@media(prefers-reduced-motion:reduce){.portrait-frames,.portrait-frame{animation:none!important}.frame-eyes{opacity:1}.frame-wave,.is-waving .frame-rest,.is-waving .frame-eyes{opacity:0}.is-waving .frame-wave{opacity:1}}.legend.calendar-legend{font-size:.78rem;line-height:1.5;padding:14px;background:var(--bg);border:1px solid var(--line);border-radius:16px;gap:12px 18px;color:var(--ink)}.legend.calendar-legend>span{display:inline-flex;align-items:center;gap:8px;color:var(--ink)}.calendar-legend i{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;font-style:normal;font-size:1rem;flex-shrink:0}.calendar-legend .legend-period i{color:#b82055}.calendar-legend .legend-spot i{color:#00756f}.calendar-legend .legend-estimate i{color:#a41b4c}.calendar-legend .legend-ovulation i{color:#006c87}.calendar-estimate-note{font-size:.75rem;line-height:1.65}[data-valley=stinky] .legend.calendar-legend{background:#41473f;border-color:#a5ad9c;color:#fffaf0}[data-valley=stinky] .legend.calendar-legend>span{color:#fffaf0}[data-valley=stinky] .calendar-legend .legend-period i{color:#ffc2d7}[data-valley=stinky] .calendar-legend .legend-spot i{color:#bcebc8}[data-valley=stinky] .calendar-legend .legend-estimate i{color:#ffe0af}[data-valley=stinky] .calendar-legend .legend-ovulation i{color:#b6edff}[data-valley=stinky] .weekday,[data-valley=stinky] .calendar-estimate-note{color:#fffaf0}[data-valley=stinky] .calendar .spot{color:#f1fff1;border-color:#bcebc8;background:#4f6653}.forecast-cycles{display:flex;gap:12px;overflow-x:auto;padding:4px 2px 12px}.forecast-cycles>div{display:flex;flex-direction:column;gap:7px;min-width:155px;flex:1;background:var(--bg);border:1px dashed var(--estimate-ink);border-radius:18px;padding:16px}.forecast-cycles>div>span{color:var(--estimate-ink);font-size:1.5rem}.forecast-cycles strong{font-size:1.3rem}.three-month-forecast{margin-bottom:22px}.three-month-forecast .chart-caption{margin:12px 0 0}.calendar .day.ovulation-estimate{background:#ace5fa;border:1.5px solid #147da4;color:#104963}.calendar .day.ovulation-day{background:#78d3f4;border:2px dotted #075674}button{display:inline-flex;align-items:center;justify-content:center;gap:8px}.care-page-hidden{display:none}.icon-button{min-width:44px;width:44px;padding:10px;border:0;border-radius:50%}.editor-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:22px}.editor-heading h2{font-size:1.85rem;margin:5px 0 0}.editor-heading small{font-size:.65rem;letter-spacing:.12em}.wellbeing-editor{max-width:560px;padding:24px 24px 0}.editor-date{display:flex;align-items:center;gap:12px;background:var(--bg);border:1px solid var(--line);border-radius:16px;padding:6px 12px;margin-bottom:20px}.editor-date input{border:0;background:transparent;padding:6px;min-height:40px}.wellbeing-sections{display:flex;flex-direction:column;gap:10px}.wellbeing-section{border:1px solid var(--line);border-radius:19px;background:var(--card);overflow:hidden}.wellbeing-section>summary{list-style:none;display:flex;align-items:center;gap:13px;min-height:79px;padding:14px 16px;cursor:pointer}.wellbeing-section>summary::-webkit-details-marker{display:none}.wellbeing-section>summary>svg{margin-left:auto;transition:transform .18s;flex-shrink:0}.wellbeing-section[open]>summary>svg{transform:rotate(90deg)}.section-icon{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;flex:0 0 44px;border-radius:15px;background:var(--green);color:var(--ink)}.section-label{display:flex;flex-direction:column;gap:5px;font-size:.97rem;font-weight:550;min-width:0}.section-label small{display:block;font-size:.74rem;font-weight:400;max-width:300px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.section-fields{padding:6px 18px 18px}.section-fields>.field:last-child{margin-bottom:0}.compact-choice{margin:12px 0 22px}.field-label{font-size:.78rem;display:block;margin-bottom:10px;color:var(--muted)}.compact-choice>div{display:flex;flex-wrap:wrap;gap:7px}.compact-choice button{font-size:.76rem;min-height:40px;padding:8px 11px;border-radius:13px}.compact-choice button[aria-pressed=true],.weekday-picker button[aria-pressed=true],.mood-choices button[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:#fff}.pain-control{padding:10px 0}.pain-control>label,.pain-control>div{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:.83rem}.pain-control input[type=range]{padding:0;accent-color:var(--accent);border:0;background:transparent;min-height:40px}.pain-control strong{font-size:1.25rem}.quiet-button{font-size:.75rem;border:0;color:var(--muted);background:transparent;box-shadow:none;padding:8px 10px}.quiet-button:hover{background:var(--bg)}.mood-choices{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px;margin-bottom:18px}.mood-choices button{padding:10px 3px;border-radius:14px;display:flex;flex-direction:column;gap:7px;min-width:0}.mood-choices button>span{font-size:1.65rem;line-height:1}.mood-choices small{font-size:.6rem;color:inherit}.editor-actions{position:sticky;bottom:0;z-index:2;background:var(--card);padding:18px 0 calc(18px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:6px;border-top:1px solid var(--line);margin-top:22px}.editor-actions>.primary{width:100%;font-size:.93rem;min-height:50px}.nested-details{border-bottom:1px solid var(--line);padding:12px 0}.nested-details>summary{cursor:pointer;font-size:.83rem;padding:8px 0}.nested-details[open]>summary{margin-bottom:12px}.bottom{max-width:620px;width:calc(100% - 24px);padding:7px;gap:3px}.bottom>button{min-width:0;flex:1;display:flex;flex-direction:column;gap:5px;padding:10px 4px;border-radius:17px;font-size:.64rem;min-height:58px}.bottom>button>svg{width:22px;height:22px}.bottom>button>span{font-size:.64rem}.period-live{display:flex;flex-direction:column;gap:10px;margin-top:12px}.period-live>span,.period-strip>span{display:flex;align-items:center;gap:8px;font-size:.83rem}.period-live>span{color:var(--period-ink)}.period-live button{width:100%}.period-strip{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--line);background:var(--rose);border-radius:20px;padding:14px 18px;margin:0 0 20px}.period-strip button{font-size:.75rem;border:0}.period-end-sheet{max-width:430px}.period-end-sheet>.primary{width:100%}.care-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:0 0 18px}.care-toolbar>.primary{white-space:nowrap}.care-toolbar>input{min-width:0}.day-switch{display:flex;align-items:center;gap:4px;min-width:0}.day-switch>button{min-width:34px;padding:5px;border:0;font-size:1.4rem}.day-switch input{border:0;background:transparent;padding:6px;max-width:170px}.dose-summary{display:flex;align-items:center;gap:16px;margin-bottom:16px}.dose-summary h2{margin:0 0 6px}.dose-summary p{margin:0;font-size:.8rem}.care-count{margin-left:auto;font-size:2rem;white-space:nowrap}.care-count small{font-size:1rem}.dose-list{display:flex;flex-direction:column;gap:12px}.dose-card{display:grid;grid-template-columns:95px 1fr auto;gap:18px;align-items:start}.dose-time{display:flex;flex-wrap:wrap;gap:5px;align-items:center}.dose-time strong{font-size:1rem}.dose-time small{display:block;width:100%;font-size:.65rem}.dose-description h2{font-size:1.15rem;margin:0 0 6px}.dose-description p{margin:0 0 5px;font-size:.9rem}.dose-description small{font-size:.75rem}.dose-actions{display:flex;flex-direction:column;gap:3px}.dose-actions button{font-size:.77rem}.dose-card.is-done{background:var(--green)}.taken-button{background:var(--green);border-color:var(--line)}.care-empty{text-align:center;padding:32px 20px}.care-empty>svg{margin:0 auto 18px;opacity:.7}.care-empty h2{font-size:1.4rem}.care-empty p{font-size:.86rem}.care-plan-row{display:flex;align-items:center;gap:14px;width:100%;padding:14px 0;border:0;border-bottom:1px solid var(--line);border-radius:0;text-align:left;justify-content:flex-start}.care-plan-row>span:nth-child(2),.care-plan-row>span:only-of-type{flex:1}.care-plan-row strong{font-size:.9rem;font-weight:550}.care-plan-row small{display:block;font-size:.75rem;margin-top:5px}.care-plan-row>svg:last-child{margin-left:auto;flex-shrink:0}.care-sheet{max-width:560px}.medication-times{display:flex;flex-wrap:wrap;gap:8px;margin-top:9px}.medication-times>div{display:flex;gap:2px;align-items:center;max-width:175px}.medication-times input{min-width:0}.medication-times button{min-width:35px;padding:5px;border:0}.weekday-picker{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;margin-top:10px}.weekday-picker button{min-width:0;font-size:.74rem;padding:8px 2px;border-radius:12px}.care-date-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.care-date-grid input{min-width:0}.hair-hero{text-align:center;background:var(--green);padding:34px 22px;margin-bottom:16px}.hair-icon{display:flex;align-items:center;justify-content:center;width:84px;height:84px;border:1px solid var(--line);border-radius:30px;background:var(--card);margin:0 auto 22px}.hair-hero>small{font-size:.65rem;letter-spacing:.12em}.hair-hero h2{font-size:2rem;margin:12px 0}.hair-hero p{font-size:.84rem;margin-bottom:23px}.hair-interval{display:flex;align-items:center;gap:12px;font-size:.85rem}.hair-interval input{max-width:85px;text-align:center;font-size:1.4rem}.hair-interval button{margin-left:auto}.hair-calendar{display:flex;gap:10px;overflow-x:auto;padding:4px 0 15px}.hair-calendar>div{display:flex;flex-direction:column;align-items:center;gap:10px;background:var(--bg);border:1px solid var(--line);padding:18px;min-width:115px;border-radius:20px;flex:1}.hair-calendar>div.next-wash{background:var(--green);border-color:var(--accent)}.hair-calendar strong{white-space:nowrap;font-size:.94rem}.hair-calendar small{font-size:.65rem;white-space:nowrap}[data-valley=stinky] .section-icon,[data-valley=stinky] .hair-hero,[data-valley=stinky] .dose-card.is-done{background:#5a6557;color:#fffaf0}[data-valley=stinky] .section-label small,[data-valley=stinky] .field-label,[data-valley=stinky] .quiet-button{color:#f0eadd}[data-valley=stinky] .period-strip{background:#75434e;color:#fffaf0}[data-valley=stinky] .period-live>span{color:#ffd4df}[data-valley=stinky] .compact-choice button[aria-pressed=true],[data-valley=stinky] .mood-choices button[aria-pressed=true],[data-valley=stinky] .weekday-picker button[aria-pressed=true]{background:#995442;border-color:#d69e87;color:#fffaf0}[data-valley=stinky] .taken-button{background:#586b55;color:#fffaf0}@media(max-width:600px){.wellbeing-editor,.care-sheet{padding:22px 18px 0}.editor-heading h2{font-size:1.6rem}.dose-card{grid-template-columns:72px 1fr;padding:20px 17px;gap:14px}.dose-actions{grid-column:1/-1;flex-direction:row;justify-content:flex-end}.dose-actions button{flex:1}.care-date-grid{grid-template-columns:1fr}.care-toolbar{gap:6px}.care-toolbar>.primary{font-size:.77rem;padding:10px}.day-switch input{max-width:137px;font-size:.85rem}.period-strip{padding:12px}.period-strip>span{font-size:.76rem}.period-strip button{font-size:.72rem;padding:7px}.section-label small{max-width:230px}.care-count{font-size:1.7rem}}.hair-plan-time{display:flex;align-items:center;justify-content:center;gap:9px;font-size:1.5rem;margin:0 0 12px}.hair-interval{flex-wrap:wrap}.hair-time-field{display:flex;align-items:center;gap:7px;min-width:0}.hair-time-field input{max-width:155px;font-size:1rem}.wash-time{font-size:1.05rem;color:var(--ink);white-space:nowrap}.hair-interval+.chart-caption{margin-top:12px}.compact-choice button{min-height:44px}.hair-interval input[type=time]{min-width:125px}.care-toolbar:has(input[type=time]){flex-wrap:wrap}.care-toolbar:has(input[type=time])>input{flex:1;min-width:130px}@media(max-width:600px){.hair-time-field{flex-basis:100%;margin-top:8px}.hair-interval button{margin-top:-55px}.hair-time-field input{max-width:170px}.hair-calendar>div{min-width:125px}}@media(max-width:600px){.hair-interval{display:grid;grid-template-columns:auto 76px 1fr 44px;gap:12px}.hair-interval>span:first-child{grid-column:1;grid-row:1}.hair-interval>input{grid-column:2;grid-row:1}.hair-interval>span:nth-of-type(2){grid-column:3 / 5;grid-row:1}.hair-time-field{grid-column:1 / 4;grid-row:2;margin:0}.hair-interval>button{grid-column:4;grid-row:2;margin:0}}.hair-calendar>button{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:10px;background:var(--bg);border:1px solid var(--line);padding:18px;min-width:125px;border-radius:20px;flex:1}.hair-calendar>button.next-wash{background:var(--green);border-color:var(--accent)}.hair-calendar>button>small{display:flex;align-items:center;gap:3px}.wash-day-form{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:20px}.wash-day-form>.field{min-width:0}.wash-day-form input{min-width:0}.wash-day-form>.primary,.wash-day-form>.quiet-button{grid-column:1/-1}.wash-day-form .field{margin:0}@media(max-width:400px){.wash-day-form{grid-template-columns:1fr}.wash-day-form>.primary,.wash-day-form>.quiet-button{grid-column:1}}.diary-compact .page-title{margin:14px 0 12px}.diary-compact .page-title h1,.compact-title{font-size:clamp(1.75rem,5.6vw,2.6rem);margin:4px 0}.diary-compact .page-title p{margin:4px 0}.diary-compact .preview-banner{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:2px 10px;margin-bottom:10px;padding-block:6px}.diary-compact .preview-tools{margin:0}.diary-compact .section-heading{margin-bottom:8px}.diary-compact .section-heading h2{margin:0}.compact-care,.compact-calendar{display:grid;grid-template-columns:minmax(0,1fr);gap:8px}.compact-care .card,.compact-calendar .card,.compact-disclosure.card{padding:12px 14px;margin:0}.compact-title{margin:6px 0}.compact-care .hair-hero{display:flex;justify-content:space-between;align-items:center;gap:12px;text-align:left}.hair-summary{display:flex;align-items:center;gap:10px}.hair-summary .section-icon{flex-shrink:0}.hair-summary small{color:var(--muted);font-size:.76rem}.compact-care .hair-hero h2{margin:2px 0;font-size:1.35rem}.hair-hero h2 span{font:500 .9rem system-ui}.compact-schedule .section-heading small{font-size:.75rem}.compact-care .hair-calendar{gap:6px;padding:3px 0 5px}.compact-care .hair-calendar>button{min-width:82px;padding:7px 6px;gap:3px}.compact-care .hair-calendar>button strong{font-size:.83rem}.compact-care .hair-calendar>button small{color:var(--muted);font-size:.72rem}.compact-care .wash-day-form,.compact-care-form{display:flex;align-items:end;flex-wrap:wrap;gap:8px;margin-top:8px}.compact-care .field{flex:1 1 106px;min-width:0;margin:0}.compact-care .field input{width:100%;min-width:0;padding-inline:8px}.care-history-row{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);gap:8px;margin-top:8px;font-size:.88rem}.compact-disclosure>summary,.calendar-more>summary,.calendar-key summary{min-height:36px;align-content:center;cursor:pointer}.compact-calendar+.compact-disclosure{margin-top:8px}.calendar-month .month-bar{margin:0;gap:6px}.calendar-month .month-bar h1{margin:0;text-align:center;font-size:1.2rem}.calendar-month .month-bar button{font-size:1.35rem;padding:0}.calendar-month .calendar{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;margin-top:4px}.calendar-month .calendar .day{border-radius:12px;aspect-ratio:auto;min-height:44px;padding:3px 0;gap:0}.calendar-month .calendar .is-today:after{display:none}.calendar-month .calendar .selected{outline-offset:0}.calendar-month .calendar .day small{height:12px;line-height:12px}.calendar-heart{font-size:.85rem;color:#9a2050}.calendar .period .calendar-heart,.calendar .spot .calendar-heart,[data-valley=stinky] .calendar .estimate .calendar-heart{color:inherit}[data-valley=stinky] .calendar-heart{color:#ffc2d7}[data-valley=stinky] .calendar .ovulation-estimate .calendar-heart{color:#9a2050}[data-valley=stinky] .calendar .period .calendar-heart,[data-valley=stinky] .calendar .spot .calendar-heart{color:inherit}.calendar-key{display:flex;align-items:start;justify-content:space-between;gap:6px;margin-top:4px}.calendar-key details{flex:1;font-size:.78rem}.calendar-key .calendar-legend{padding:8px;gap:5px 12px;margin:0 0 4px}.calendar-selected-row,.calendar-actions{display:flex;align-items:center;gap:6px}.calendar-selected-row{justify-content:space-between;flex-wrap:wrap}.calendar-selected h2{font-size:1.15rem;margin:0}.calendar-selected small{font-size:.76rem;color:var(--muted)}.calendar-actions button{padding:6px 10px}.court-button[aria-pressed=true]{background:#f9dbe7;color:#812549;border-color:#b85076}.court-button[aria-pressed=true] svg{fill:currentColor}.court-editor{margin:8px 0}.calendar-more{font-size:.85rem}.compact-disclosure .three-month-forecast{border:0;background:transparent;padding:6px 0 0;box-shadow:none}.compact-disclosure .three-month-forecast .section-heading{display:none}.diary-compact .cycle-card .orbit strong{font-size:min(4.9rem,calc(13rem / var(--cycle-day-digits,2)));font-variant-numeric:tabular-nums}.diary-compact .orbit span{text-align:center;line-height:1.15}@media(min-width:740px){.compact-calendar{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);align-items:start}.compact-calendar .calendar-month{grid-row:span 2}}@media(max-width:600px){.compact-care .hair-hero{display:grid;grid-template-columns:minmax(0,1fr)}.compact-care .hair-hero button{justify-self:stretch}.diary-compact .period-strip{margin-bottom:8px}.diary-compact .hero-grid,.diary-compact .hero-side{gap:8px}.diary-compact .hero-side .card,.diary-compact .dose-summary,.diary-compact .dose-card{padding:12px}.diary-compact .friendly-intro{min-height:135px;margin-bottom:10px;padding-block:12px}.diary-compact .friendly-intro .portrait-friend{width:96px}.diary-compact .character-card{min-height:84px;margin-bottom:10px}.diary-compact .character-card .portrait-friend{width:62px}.diary-compact .cycle-card{min-height:0;padding:12px}.diary-compact .cycle-card .orbit{width:106px;height:106px;padding:7px;margin:8px auto}.diary-compact .orbit>div{border-width:6px}.diary-compact .orbit:after{width:10px;height:10px;top:9px;right:13px;border-width:2px}.diary-compact .cycle-card .orbit strong{font-size:min(2rem,calc(6rem / var(--cycle-day-digits,2)))}.diary-compact .orbit span{font-size:.7rem}}.calendar .period-and-ovulation:before{content:"";position:absolute;inset:2px;border:2px dashed #ae2d5c;border-radius:8px;pointer-events:none}.today-articles{display:grid;gap:8px;margin-block:12px}.today-articles .card{margin:0;padding:12px 14px}.article-eyebrow{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:.8rem}.article-recommendation h2{margin:5px 0}.article-recommendation p{margin:8px 0}.today-articles summary{min-height:36px;align-content:center;cursor:pointer}.article-text{font-size:.92rem}.article-text ul{margin:8px 0;padding-left:20px}.article-dates{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.article-dates button{font-size:.82rem;padding:5px 8px}.partner-dashboard .partner-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:0 0 8px}.partner-dashboard .partner-heading h1{font-size:clamp(1.75rem,5vw,2.8rem);margin:3px 0}.partner-heading small,.partner-help small,.partner-footer small{color:var(--muted);font-size:.75rem}.partner-heading .moomin-friend{width:58px;flex:none;margin:0}.partner-dashboard-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.partner-dashboard .card{margin:0;padding:12px 14px;min-width:0}.partner-dashboard h2{display:flex;align-items:center;gap:8px;margin:0 0 7px;font-size:1.2rem}.partner-today h2 small{margin-left:auto;font:500 .73rem system-ui;color:var(--muted)}.partner-fact-grid{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:6px;list-style:none;margin:0;padding:0}.partner-fact-grid li{display:grid;gap:3px;padding:8px;border:1px solid var(--line);border-radius:12px;background:var(--bg);font-size:.72rem}.partner-fact-grid strong{font-size:.84rem}.partner-dashboard p{margin:6px 0 0}.partner-mood{display:flex;align-items:center;gap:6px;overflow-wrap:anywhere}.partner-mood svg{flex:none}.partner-metrics{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:6px}.partner-metrics button{min-height:38px;padding:3px 10px;font-size:.75rem}.partner-metrics button[aria-pressed=true]{background:var(--accent);color:var(--card);border-color:var(--accent)}.partner-week-chart{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;list-style:none;margin:0;padding:0;text-align:center}.partner-week-chart li{display:grid;align-content:end;justify-items:center}.partner-week-chart svg{width:24px;height:36px}.partner-week-value{font-size:.64rem;line-height:1.15}.partner-week-track{fill:var(--line);opacity:.5}.partner-week-fill{fill:var(--accent)}.partner-week-chart small,.partner-week .chart-caption{font-size:.68rem;color:var(--muted)}.partner-cycle strong{display:block;margin-top:4px}.partner-cycle-tag{display:inline-block;padding:3px 8px;margin-top:3px;border-radius:8px;background:var(--bg);font-size:.74rem}.partner-dashboard .partner-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px;padding:6px 0;text-align:left;margin:0}@media(max-width:620px){.partner-dashboard-grid{grid-template-columns:minmax(0,1fr)}}
