@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Noto+Sans+SC:wght@400;500;600;700&display=swap');
[hidden]{display:none!important}.install-panel{margin-top:16px;padding:13px 14px;border-radius:12px;background:#fff0f3}.install-button{width:100%;border:0;border-radius:10px;background:#cf6286;color:#fff;padding:11px;font-size:12px;font-weight:700}.install-panel p{font-size:11px;line-height:1.7;color:#a47684;margin:7px 0 0}
:root{font-family:'DM Sans','Noto Sans SC',sans-serif;color:#413b43;background:#fff9f7;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible{outline:2px solid #d85181;outline-offset:3px}.app-shell{max-width:520px;margin:auto;min-height:100vh;padding:0 22px 106px}.topbar,.history-topbar{height:76px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:8px;color:#bf4871;font-size:20px;font-weight:700;letter-spacing:2px}.brand-mark{font-size:30px;line-height:1;color:#e985a2}.icon-button{height:38px;width:38px;border:0;border-radius:50%;display:grid;place-items:center;background:#fff;color:#ad7787;box-shadow:0 3px 15px #a86a7613}.icon-button svg{width:21px;height:21px}.hero{min-height:193px;border-radius:22px;position:relative;overflow:hidden;background:linear-gradient(115deg,#d9678e,#eaa3ae);color:#fff;padding:26px 25px 0;box-shadow:0 12px 26px #dc809432}.hero:before,.hero:after{content:'';position:absolute;border-radius:50%;border:1px solid #ffffff25;width:235px;height:235px;right:-73px;top:-100px}.hero:after{width:190px;height:190px;right:-57px;top:-77px}.hero-copy{position:relative;z-index:1;max-width:80%}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:700;opacity:.82}.hero h1{font-size:21px;line-height:1.4;margin:15px 0 8px;font-weight:600}.hero p{font-size:12px;line-height:1.6;margin:0;color:#fffdfde8}.hero-flower{position:absolute;right:14px;top:43px;font-size:102px;line-height:1;color:#ffffff36;transform:rotate(-20deg)}.hero-meta{position:relative;display:flex;gap:8px;align-items:center;height:45px;margin:23px -25px 0;padding:0 25px;background:#aa42652c;font-size:11px;color:#fffefef0}.meta-icon{font-size:17px}.section-header{display:flex;align-items:end;justify-content:space-between}.calendar-heading{margin:29px 0 16px}.section-overline{font-size:10px;font-weight:700;letter-spacing:2px;color:#d69eaa;margin:0 0 5px}.section-header h2{font-size:18px;margin:0;font-weight:700;letter-spacing:.5px}.text-button{background:none;border:0;color:#c85b80;font-size:12px;font-weight:600;padding:7px 0}.calendar-card,.record-card{background:#fff;border:1px solid #f6eeec;border-radius:20px;box-shadow:0 6px 24px #b78a8811}.calendar-card{padding:13px 15px 18px}.month-bar{display:flex;justify-content:space-between;align-items:center;height:39px}.month-title{font-weight:700;font-size:15px}.month-arrow{border:0;background:none;color:#b07386;font-size:28px;line-height:1;width:38px;height:36px}.weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);text-align:center}.weekdays{font-size:11px;color:#b6a7ac;padding:14px 0 8px}.calendar-grid{row-gap:3px}.day{height:42px;min-width:0;border:0;background:none;position:relative;color:#514a51;font-size:13px;border-radius:11px}.day:disabled{cursor:default}.day .day-number{position:relative;z-index:2}.day.today:not(.selected):after{content:'';position:absolute;width:4px;height:4px;background:#d65a82;border-radius:50%;bottom:5px;left:calc(50% - 2px)}.day.period{background:#df688e;color:#fff;border-radius:9px}.day.predicted{background:#fbe9ed;color:#bf6a84;border-radius:9px}.day.fertile{color:#9373b6}.day.fertile:before{content:'';position:absolute;inset:5px 2px;border-radius:9px;background:#f6f0fb}.day.ovulation:before{content:'';position:absolute;inset:5px 2px;border-radius:9px;background:#eae0f5}.day.ovulation:after{content:'✦';position:absolute;right:4px;top:1px;font-size:8px;color:#a179c2}.day.selected{outline:1.5px solid #c8587e;outline-offset:-2px}.day.period.selected{outline-color:#fff;box-shadow:0 0 0 2px #c8587e}.day.empty{visibility:hidden}.legend{border-top:1px solid #f5eded;margin-top:11px;padding:15px 0 1px;display:flex;flex-wrap:wrap;gap:10px 15px;color:#a3999e;font-size:10px}.legend>span{display:flex;align-items:center;gap:5px}.legend-dot{width:8px;height:8px;border-radius:3px;display:inline-block}.period-dot{background:#df688e}.predicted-dot{background:#f7ced9}.fertile-dot{background:#dfccf1}.ovulation-dot{background:#a67bc2;border-radius:50%}.record-heading{margin:29px 0 16px}.date-badge{font-size:11px;background:#fceaf0;color:#c96384;border-radius:30px;padding:6px 11px}.record-card{padding:0 17px}.record-intro{height:54px;display:flex;align-items:center;gap:9px;color:#b56b80;font-size:12px;border-bottom:1px solid #f5eeed}.intro-icon{font-size:17px}.record-row{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:72px;border-bottom:1px solid #f5eeed}.row-label{display:flex;align-items:center;gap:12px}.row-label strong{display:block;font-size:13px;font-weight:600}.row-label small{display:block;font-size:10px;color:#b7aeb1;margin-top:4px}.row-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;font-size:19px}.period-icon{color:#d96689;background:#fce9ef}.flow-icon{color:#cb7998;background:#fbeef3}.color-icon{color:#c18ca6;background:#faf0f6}.pain-icon{color:#be8da9;background:#faf0f5}.segmented{display:flex;gap:3px;background:#f7f3f2;border-radius:9px;padding:3px;flex-shrink:0}.segmented button{border:0;background:none;color:#a89da2;border-radius:7px;padding:7px 10px;font-size:11px}.segmented button.active{background:#df6a8e;color:#fff;box-shadow:0 2px 6px #ca738244}.choice-trigger{background:none;border:0;color:#cf6488;font-size:11px;display:flex;align-items:center;gap:7px;text-align:right;max-width:145px;justify-content:flex-end}.choice-trigger span{font-size:16px;border:1px solid #e4a7ba;border-radius:50%;width:21px;height:21px;display:grid;place-items:center;line-height:1;flex-shrink:0}.choice-trigger:disabled{color:#c9bfc3;cursor:not-allowed}.choice-trigger:disabled span{border-color:#eadfe2}.record-actions{min-height:46px;display:flex;align-items:center;justify-content:space-between;gap:8px;color:#c2b5b8;font-size:10px}.clear-button{border:0;background:none;color:#c56d86;font-size:10px}.insight-card{margin-top:19px;display:flex;gap:12px;padding:17px;background:#fff2f2;border-radius:15px;color:#a37480}.insight-icon{font-size:20px}.insight-card strong{font-size:12px}.insight-card p{font-size:10px;line-height:1.8;margin:5px 0 0}.bottom-nav{position:fixed;bottom:0;left:0;right:0;z-index:5;display:flex;justify-content:center;gap:100px;background:#fff;border-top:1px solid #f5e9eb;padding:10px 15px max(11px,env(safe-area-inset-bottom));box-shadow:0 -5px 22px #965f6d10}.nav-item{border:0;background:none;color:#a9a0a4;display:flex;flex-direction:column;align-items:center;gap:3px;font-size:10px;min-width:50px}.nav-item.active{color:#d25f85;font-weight:700}.nav-icon{font-size:24px;line-height:24px}.overlay[hidden],.history-view[hidden]{display:none}.overlay{position:fixed;inset:0;z-index:20;display:flex;align-items:flex-end;justify-content:center}.overlay-backdrop{position:absolute;inset:0;background:#30232a75}.sheet{position:relative;width:100%;max-width:520px;min-height:270px;background:#fffaf9;border-radius:23px 23px 0 0;padding:0 20px max(29px,env(safe-area-inset-bottom));animation:slide-up .2s ease-out}@keyframes slide-up{from{transform:translateY(25px);opacity:.6}to{transform:translateY(0);opacity:1}}.sheet-handle{background:#eadce1;border-radius:20px;width:35px;height:4px;margin:10px auto 8px}.sheet-header{height:46px;display:flex;align-items:center;justify-content:space-between}.sheet-header h2{font-size:15px;margin:0}.sheet-cancel,.sheet-done{border:0;background:none;font-size:13px;padding:8px 0;min-width:42px;text-align:left;color:#98888f}.sheet-done{color:#d55d84;text-align:right;font-weight:700}.sheet-subtitle{font-size:11px;color:#b4a6ab;margin:5px 0 18px;text-align:center}.sheet-options{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}.option{border:1px solid transparent;border-radius:13px;background:#fff;min-height:92px;padding:9px 2px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:9px;color:#665b62;font-size:11px;white-space:nowrap}.option.active{border-color:#dc7598;background:#fff2f5;color:#c8577d}.option-symbol{width:43px;height:43px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,#fbe2ea,#f7aac2);color:#d85981;font-size:24px}.option.active .option-symbol{background:linear-gradient(145deg,#f7c3d5,#f087a8);color:#fff}.settings-sheet{min-height:310px}.settings-field{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #f1e8e9;padding:17px 2px;font-size:13px}.settings-field span{color:#a09398}.settings-field input{width:55px;padding:7px;border:1px solid #eedde2;border-radius:7px;text-align:center;color:#c35a7e;background:white}.settings-hint{font-size:11px;line-height:1.7;color:#a99da2;margin-top:19px}.settings-error{font-size:11px;color:#ba355f;min-height:15px}.history-view{position:fixed;inset:0;z-index:4;background:#fff9f7;overflow:auto;padding-bottom:90px}.history-topbar,.history-inner{max-width:520px;margin:auto;padding-left:22px;padding-right:22px}.history-top-note{font-size:11px;color:#bda9ae}.history-inner{padding-top:24px}.history-inner h1{font-size:24px;margin:5px 0 6px}.heading-flower{color:#e49bb2;font-size:20px}.history-subtitle{color:#a79aa0;font-size:12px;margin:0}.history-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:28px}.stat-card{border:1px solid #f4e9e9;background:#fff;border-radius:16px;padding:18px}.stat-card strong{display:block;font-size:24px;color:#ce6688}.stat-card small{display:block;color:#ad9fa5;font-size:11px;margin-top:5px}.history-list-heading{margin:32px 0 15px}.history-month{font-size:12px;color:#ba8191;margin:18px 0 9px;font-weight:700}.history-item{width:100%;display:flex;align-items:center;gap:13px;text-align:left;background:#fff;border:1px solid #f5eaea;border-radius:13px;margin-bottom:9px;padding:14px;color:#433d43}.history-date{background:#fceaf0;border-radius:10px;width:45px;height:45px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#ca6284;flex-shrink:0}.history-date strong{font-size:16px;line-height:1}.history-date small{font-size:9px;margin-top:3px}.history-details{flex:1;min-width:0}.history-details strong{display:block;font-size:12px}.history-details small{display:block;color:#a99da3;font-size:10px;margin-top:5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.history-chevron{color:#c1b4b9;font-size:20px}.empty-history{padding:47px 16px;text-align:center;background:#fff;border:1px solid #f5eaea;border-radius:16px;color:#a99ba0;font-size:12px}.empty-history span{display:block;color:#e39db4;font-size:35px;margin-bottom:10px}.empty-history strong{display:block;color:#63545b;font-size:14px;margin-bottom:7px}@media(max-width:360px){.app-shell{padding-left:14px;padding-right:14px}.sheet{padding-left:12px;padding-right:12px}.option{font-size:10px}.option-symbol{width:37px;height:37px}.legend{gap:7px 10px;font-size:9px}}@media(min-width:700px){body{background:#f7eeef}.app-shell{background:#fff9f7;box-shadow:0 0 60px #6e3e4a16}.bottom-nav{max-width:520px;left:50%;transform:translateX(-50%)}.history-view{max-width:520px;left:50%;transform:translateX(-50%);box-shadow:0 0 60px #6e3e4a16}}
