@font-face{font-family:TrackerSystem;src:local("SF Pro Display"),local("SF Pro Text");font-display:swap}
:root{font-family:TrackerSystem,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-synthesis:none;--bg:#fbfafc;--surface:#fff;--ink:#24212b;--muted:#827b91;--line:#e8e4ec;--pink:#f4498d;--pink-fill:#f67faf;--pink-soft:#fce6ee;--lavender:#e8e4ff;--purple:#332175;--purple-soft:#5d4bac;--prediction:#f7a3b2;--shadow:0 14px 45px #30234f09;--calendar-a:#f5f1ff;--calendar-b:#fbeef3;--calendar-c:#eae8f5;--focus:#7150d7;color:var(--ink);background:var(--bg);color-scheme:light}
:root[data-theme=dark]{--bg:#18151f;--surface:#24202c;--ink:#f7f1fa;--muted:#b3aabd;--line:#3c3547;--pink:#ff79ae;--pink-fill:#a63869;--pink-soft:#422334;--lavender:#33294c;--purple:#7659ba;--purple-soft:#c0abff;--prediction:#e28caa;--shadow:0 14px 45px #0002;--calendar-a:#252133;--calendar-b:#32202e;--calendar-c:#282338;--focus:#cbb4ff;color-scheme:dark}
@media(prefers-color-scheme:dark){:root[data-theme=system]{--bg:#18151f;--surface:#24202c;--ink:#f7f1fa;--muted:#b3aabd;--line:#3c3547;--pink:#ff79ae;--pink-fill:#a63869;--pink-soft:#422334;--lavender:#33294c;--purple:#7659ba;--purple-soft:#c0abff;--prediction:#e28caa;--shadow:0 14px 45px #0002;--calendar-a:#252133;--calendar-b:#32202e;--calendar-c:#282338;--focus:#cbb4ff;color-scheme:dark}}
*{box-sizing:border-box}body{margin:0;min-height:100dvh}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{color:inherit;cursor:pointer}button:disabled{cursor:wait;opacity:.55}button,a{touch-action:manipulation}button{border:0}a{color:var(--purple-soft)}[hidden]{display:none!important}:focus-visible{outline:3px solid var(--focus);outline-offset:3px}h1,h2,h3,p{margin-top:0}h1{font-size:2.1rem;letter-spacing:-.07em;font-weight:650}h2{font-size:1.45rem;letter-spacing:-.035em;font-weight:650}h3{font-size:1.05rem;letter-spacing:-.025em;font-weight:650}p{line-height:1.6}label{display:block;font-size:.9rem;font-weight:600;margin-bottom:8px}.muted,.field-help{color:var(--muted)}.field-help{font-size:.82rem;line-height:1.5;margin:8px 0 20px}.eyebrow{font-size:.65rem;font-weight:700;letter-spacing:.19em;color:var(--muted);margin-bottom:13px}.skip-link{position:fixed;top:-100px;left:12px;z-index:100;padding:12px;background:var(--surface)}.skip-link:focus{top:12px}.icon-button{width:46px;height:46px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--surface);flex:none}.text-button{background:transparent;padding:10px 12px;color:var(--purple-soft);font-size:.85rem}.button{display:inline-flex;align-items:center;justify-content:center;padding:13px 20px;border-radius:12px;min-height:46px;font-weight:600;text-decoration:none;gap:8px;font-size:.95rem}.primary{background:var(--purple);color:#fff}.soft-pink{background:var(--pink-soft);color:var(--pink)}.soft-lilac{background:var(--lavender);color:var(--purple-soft)}.secondary{background:var(--lavender);color:var(--purple-soft)}.danger{color:var(--pink);background:var(--pink-soft)}.full-width{width:100%}.button:hover{filter:brightness(.97)}input,textarea,select{width:100%;border:1px solid var(--line);background:var(--bg);color:var(--ink);padding:12px 13px;min-height:46px;border-radius:10px}input[type=checkbox]{width:20px;min-height:20px;accent-color:var(--pink)}input[type=file]{font-size:.85rem}textarea{min-height:112px;resize:vertical}input[type=date]{min-width:0}input:focus,textarea:focus,select:focus{border-color:var(--focus)}.form-error{color:var(--pink);font-size:.85rem;line-height:1.5;min-height:0}.form-error:empty{display:none}.gate{min-height:100dvh;display:grid;place-items:center;padding:32px 20px;background:radial-gradient(ellipse at 10% 5%,var(--lavender),transparent 60%),radial-gradient(ellipse at 90% 95%,var(--pink-soft),transparent 55%)}.gate-card{width:min(100%,440px);padding:36px;background:var(--surface);border:1px solid var(--line);border-radius:28px;box-shadow:var(--shadow)}.gate-icon{display:block;border-radius:20px;margin:0 0 28px}.gate-card h1{margin-bottom:12px}.gate-card>p{font-size:.9rem}.gate-card .primary{width:100%}.gate-footnote{font-size:.77rem;color:var(--muted);margin-top:20px;line-height:1.65}.gate-actions{display:flex;justify-content:space-between;margin:16px -10px -12px}.gate-actions .text-button{font-size:.8rem}#vault-explanation{font-size:.9rem;color:var(--muted);margin-bottom:24px}#unlock-error{margin-top:14px}
.app-shell{display:grid;grid-template-columns:230px minmax(0,1fr);min-height:100dvh}.desktop-rail{padding:36px 24px;border-right:1px solid var(--line);position:fixed;top:0;bottom:0;width:230px;background:var(--surface);display:flex;flex-direction:column}.brand{display:flex;gap:10px;align-items:center;text-decoration:none;color:var(--ink);font-size:1.25rem;letter-spacing:-.04em;font-weight:650}.brand img{border-radius:12px}.rail-caption{font-size:.78rem;color:var(--muted);margin:20px 0 40px;padding-left:3px}.desktop-nav{display:flex;flex-direction:column;gap:10px}.nav-item{display:flex;align-items:center;gap:13px;padding:13px 16px;background:transparent;border-radius:13px;color:var(--muted);font-size:.9rem;text-align:left}.nav-item.active{color:var(--pink);background:var(--pink-soft);font-weight:650}.nav-item[data-view=register]{margin-top:14px;background:var(--purple);color:#fff}.nav-item .nav-symbol{font-size:25px;line-height:1;width:25px;text-align:center}.rail-footer{margin-top:auto;color:var(--muted);font-size:.69rem;line-height:1.6;display:flex;align-items:center;gap:6px;flex-wrap:wrap}.privacy-dot{width:5px;height:5px;border-radius:50%;background:#91a985}.rail-footer button{display:block;width:100%;text-align:left;padding-left:10px;margin-top:4px}.main-content{grid-column:2;padding:36px 38px 44px;max-width:1440px;width:100%;margin:0 auto}.desktop-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:26px}.desktop-heading h1{margin:0;font-size:1.8rem}.desktop-heading .eyebrow{margin-bottom:8px}.desktop-heading>.icon-button{border:1px solid var(--line)}.calendar-layout{display:grid;grid-template-columns:minmax(400px,1fr) 280px;gap:24px;align-items:start}.calendar-card{background:var(--surface);border:1px solid var(--line);border-radius:22px;overflow:hidden;box-shadow:var(--shadow)}.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;padding:23px 24px 7px;background:var(--calendar-a)}.settings-button{border:1px solid color-mix(in srgb,var(--surface),var(--line) 30%);box-shadow:var(--shadow)}.period-toggle{display:flex;padding:3px;background:color-mix(in srgb,var(--muted) 13%,transparent);border-radius:50px}.period-toggle button{padding:10px 24px;min-width:90px;background:transparent;font-size:.95rem;border-radius:50px}.period-toggle button.active{background:var(--surface);box-shadow:0 1px 4px #29203907;font-weight:650}.today-button{position:relative;box-shadow:var(--shadow)}#today-number{position:absolute;left:0;right:0;top:20px;font-weight:700;font-size:10px;text-align:center}.month-navigation{background:var(--calendar-a);display:flex;align-items:center;justify-content:center;gap:4px;padding:5px 18px 7px}.month-navigation .text-button{font-size:.76rem;color:var(--muted);font-weight:500}.month-navigation .nav-arrow{font-size:22px;padding:0 13px;min-height:32px;line-height:1}.weekday-row{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));background:var(--calendar-a);color:var(--purple-soft);padding:9px 0 12px;text-align:center;font-size:.76rem}.weekday-row>:first-child,.weekday-row>:last-child{opacity:.6}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));background:linear-gradient(140deg,var(--calendar-a),var(--calendar-c) 53%,var(--calendar-b));border-top:1px solid var(--line);gap:1px}.calendar-day,.empty-day{min-width:0;min-height:83px;position:relative;background:color-mix(in srgb,var(--surface) 25%,transparent);border-bottom:1px solid var(--line);border-right:1px solid var(--line)}.calendar-day{display:flex;flex-direction:column;align-items:stretch;padding:10px 8px 8px;color:var(--ink);border-radius:0;text-align:left}.calendar-day:focus-visible{outline-offset:-4px;z-index:1}.day-top{display:flex;justify-content:space-between;align-items:baseline;gap:3px}.day-number{font-size:1.3rem;line-height:1;letter-spacing:-.04em}.cycle-number{font-size:.65rem;opacity:.42}.day-markers{display:flex;gap:5px;margin-top:7px;align-items:center}.flower-marker{font-size:18px;line-height:1;color:var(--pink)}.note-marker{font-size:.8rem;color:var(--purple-soft);line-height:1}.calendar-day.is-period{background:var(--pink-fill);color:#fff;border-radius:5px}.calendar-day.is-predicted{color:var(--prediction);box-shadow:inset 0 -5px 0 var(--prediction)}.calendar-day.is-selected{background:var(--purple);color:#fff;border-radius:5px}.calendar-day.is-selected .cycle-number{opacity:.85}.calendar-day.is-selected .flower-marker,.calendar-day.is-selected .note-marker{color:#fff}.calendar-day.is-period .cycle-number{opacity:.85}.calendar-day.is-today:not(.is-selected) .day-number{text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:2px}.calendar-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:20px 20px 0}.calendar-actions .button{padding:12px}.selected-day-detail{padding:22px 22px 18px;min-height:155px}.selected-day-heading{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:12px}.selected-day-heading h2{font-size:1.2rem;margin:0}.cycle-day-label{font-size:.75rem;color:var(--muted);white-space:nowrap}.phase-line{display:flex;gap:10px;align-items:center;font-size:.96rem;margin-bottom:8px;line-height:1.5}.phase-line .flower-marker{font-size:26px}.detail-note{font-size:.81rem;color:var(--muted);margin-bottom:0;white-space:pre-wrap;overflow-wrap:anywhere}.detail-tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:12px}.tag{display:inline-block;border-radius:25px;background:var(--lavender);color:var(--purple-soft);padding:5px 9px;font-size:.71rem}.calendar-legend{display:flex;gap:14px;flex-wrap:wrap;padding:0 22px 22px;color:var(--muted);font-size:.64rem}.calendar-legend>span{display:flex;gap:5px;align-items:center}.legend-dot{width:7px;height:7px;display:inline-block;border-radius:3px}.legend-dot.logged{background:var(--pink-fill)}.legend-dot.fertile{background:var(--pink)}.legend-line{height:3px;width:9px;display:inline-block;background:var(--prediction)}.calendar-sidebar{display:flex;flex-direction:column;gap:18px}.insight-card,.quiet-card,.content-card{padding:24px;border:1px solid var(--line);border-radius:20px;background:var(--surface);box-shadow:var(--shadow)}.insight-card{margin-bottom:16px}.insight-card:last-child{margin-bottom:0}.insight-label{font-size:.71rem;color:var(--muted);margin-bottom:13px}.insight-value{font-size:1.8rem;letter-spacing:-.06em;color:var(--purple-soft);margin-bottom:7px;font-weight:600}.insight-sub{font-size:.75rem;line-height:1.65;color:var(--muted);margin:0}.insight-card.pink-card{background:var(--pink-soft);border-color:transparent}.pink-card .insight-value{color:var(--pink)}.quiet-card{background:var(--calendar-a);border-color:transparent}.quiet-card h3{margin-bottom:10px;font-size:.98rem}.quiet-card p{font-size:.76rem;color:var(--muted);margin:0;line-height:1.75}.small-flower{font-size:34px;color:var(--purple-soft);display:block;margin-bottom:13px}.standard-view{max-width:900px}.content-card{margin-bottom:20px}.content-card h2{margin-bottom:9px}.content-card p{font-size:.88rem;color:var(--muted)}.content-card p:last-child{margin-bottom:0}.today-hero{padding:38px;background:linear-gradient(135deg,var(--calendar-a),var(--pink-soft));border:0}.today-hero .eyebrow{color:var(--purple-soft)}.today-day{font-size:4.7rem;font-weight:550;letter-spacing:-.085em;line-height:1.1;color:var(--purple-soft);margin:0 0 13px}.today-hero h2{font-size:1.7rem}.today-hero .button{margin-top:14px}.card-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.card-grid .insight-card{margin:0}.section-heading{margin:30px 0 15px}.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:22px 0}.stat-grid>div{background:var(--bg);border-radius:14px;padding:18px 12px}.stat-number{font-size:1.65rem;color:var(--purple-soft);font-weight:600;letter-spacing:-.04em;display:block;margin-bottom:5px}.stat-label{font-size:.73rem;color:var(--muted)}.history-list{display:flex;flex-direction:column;gap:0}.history-item{border-top:1px solid var(--line);padding:15px 0;display:flex;align-items:center;justify-content:space-between;gap:15px}.history-item:first-child{border-top:0}.history-date{font-size:.86rem}.history-length{font-size:.75rem;color:var(--muted);margin:4px 0 0}.history-edit{color:var(--pink);font-size:.77rem;background:var(--pink-soft);padding:8px 13px;border-radius:9px}.empty-state{text-align:center;padding:36px 25px}.empty-state .small-flower{font-size:42px}.empty-state p{max-width:380px;margin:0 auto 20px}.settings-row{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:17px 0;border-bottom:1px solid var(--line)}.settings-row:last-child{border:0}.settings-row label{margin:0;font-size:.85rem}.settings-row select{max-width:170px;font-size:.85rem}.settings-row p{font-size:.75rem;margin:5px 0 0}.settings-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.settings-actions .button{font-size:.8rem}.check-row{display:flex;align-items:center;gap:12px;margin:16px 0;font-size:.9rem;font-weight:500}.check-row input{margin:0;flex:none}.privacy-list{padding-left:19px;font-size:.8rem;color:var(--muted);line-height:1.85}.install-steps{padding-left:20px;font-size:.84rem;color:var(--muted);line-height:1.85}.security-note{font-size:.76rem!important;margin:15px 0 0!important}.year-calendar{display:grid;grid-template-columns:repeat(3,1fr);gap:18px 12px;padding:20px}.mini-month{background:transparent;padding:0;text-align:left}.mini-month-name{display:block;font-size:.8rem;font-weight:600;margin-bottom:9px;color:var(--purple-soft)}.mini-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;text-align:center}.mini-day{padding:4px 0;font-size:.59rem;border-radius:3px;line-height:1.2}.mini-day.is-period{background:var(--pink-fill);color:#fff}.mini-day.is-predicted{box-shadow:inset 0 -2px 0 var(--prediction);color:var(--prediction)}.mini-day.is-today{background:var(--purple);color:#fff}.mini-weekday{font-size:.55rem;opacity:.5;padding:3px 0}.app-status{font-size:.8rem;min-height:1.2em;color:var(--muted);text-align:center;margin:18px 0 0}.app-status.error{color:var(--pink)}.mobile-nav{display:none}.icon{display:inline-block;width:24px;height:24px;background:currentColor;mask-repeat:no-repeat;mask-position:center;mask-size:contain;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain}.icon-settings{mask-image:url('/icons/settings.svg');-webkit-mask-image:url('/icons/settings.svg')}.icon-calendar{mask-image:url('/icons/calendar.svg');-webkit-mask-image:url('/icons/calendar.svg')}.icon-lock{mask-image:url('/icons/lock.svg');-webkit-mask-image:url('/icons/lock.svg')}.icon-bell{mask-image:url('/icons/bell.svg');-webkit-mask-image:url('/icons/bell.svg')}.icon-chart{mask-image:url('/icons/chart.svg');-webkit-mask-image:url('/icons/chart.svg')}.icon-flower{mask-image:url('/icons/flower.svg');-webkit-mask-image:url('/icons/flower.svg')}
dialog{width:min(94vw,540px);max-height:90dvh;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:24px;padding:26px;box-shadow:0 20px 100px #20102d33;overscroll-behavior:contain}dialog::backdrop{background:#22173365;backdrop-filter:blur(5px)}.dialog-heading{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:22px}.dialog-heading h2{margin:0;font-size:1.3rem}.dialog-heading .icon-button{font-size:26px;background:var(--bg);width:36px;height:36px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:18px}.form-group{margin-bottom:20px}.dialog-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:24px;flex-wrap:wrap}.dialog-actions .button{font-size:.87rem;flex:1}.symptom-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.symptom-chip{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:10px;padding:10px;font-size:.8rem;margin:0;cursor:pointer;font-weight:400}.symptom-chip:has(input:checked){border-color:var(--pink);background:var(--pink-soft)}.symptom-chip input{width:16px;min-height:16px;margin:0;flex:none}.dialog-help{font-size:.83rem;color:var(--muted);line-height:1.65}.import-preview{padding:15px;background:var(--bg);border-radius:10px;font-size:.85rem;line-height:1.75;max-height:240px;overflow:auto}.import-preview ul{margin:0;padding-left:18px}.note-count{font-size:.73rem;color:var(--muted);text-align:right}.status-pill{display:inline-flex;align-items:center;gap:6px;padding:6px 9px;background:var(--lavender);color:var(--purple-soft);font-size:.65rem;border-radius:20px}.in-app-reminder{display:flex;gap:12px;align-items:start;padding:18px;background:var(--pink-soft);border-radius:14px;margin-top:20px}.in-app-reminder p{margin:0;color:var(--ink);font-size:.84rem}.import-label{display:block;margin-top:20px}.subtle-divider{border:0;border-top:1px solid var(--line);margin:24px 0}
@media(min-width:1450px){.main-content{padding-left:55px;padding-right:55px}.calendar-day,.empty-day{min-height:96px}.calendar-layout{grid-template-columns:minmax(400px,1fr) 310px}.selected-day-detail{min-height:170px}}
@media(max-width:1150px) and (min-width:761px){.app-shell{grid-template-columns:180px minmax(0,1fr)}.desktop-rail{width:180px;padding:30px 16px}.brand{font-size:1.05rem}.brand img{width:34px;height:34px}.main-content{padding:30px 24px}.calendar-layout{grid-template-columns:minmax(0,1fr)}.calendar-sidebar{display:grid;grid-template-columns:1fr 1fr}.calendar-sidebar #calendar-insights{display:flex;gap:12px}.calendar-sidebar .insight-card{margin:0;flex:1}.calendar-sidebar .quiet-card{display:none}.nav-item{padding:13px 12px;font-size:.8rem}}
@media(max-width:760px){.app-shell{display:block}.desktop-rail,.desktop-heading{display:none}.main-content{padding:0 0 calc(113px + env(safe-area-inset-bottom));max-width:none}.calendar-layout{display:block}.calendar-card{border:0;border-radius:0;box-shadow:none;background:var(--bg)}.calendar-toolbar{padding:calc(17px + env(safe-area-inset-top)) 15px 10px}.calendar-toolbar .icon-button{width:44px;height:44px}.calendar-toolbar .icon{width:25px;height:25px}.period-toggle{padding:2px}.period-toggle button{min-width:75px;padding:10px 20px;font-size:1rem}.month-navigation{padding:0 15px 6px;min-height:26px}.month-navigation .text-button{font-size:.68rem;min-height:26px;padding:3px 12px}.month-navigation .nav-arrow{font-size:21px}.weekday-row{padding:10px 0 9px;font-size:.76rem}.calendar-grid{gap:1px}.calendar-day,.empty-day{min-height:72px}.calendar-day{padding:9px 5px 5px}.day-number{font-size:1.19rem;padding-left:5px}.cycle-number{font-size:.61rem}.day-markers{margin-top:6px;padding-left:2px;gap:4px}.flower-marker{font-size:17px}.calendar-actions{padding:13px 12px 0;gap:8px}.calendar-actions .button{border-radius:8px;padding:11px 8px;font-size:1rem;min-height:41px}.selected-day-detail{padding:19px 14px 10px;min-height:132px}.selected-day-heading{margin-bottom:10px}.selected-day-heading h2{font-size:1.19rem}.cycle-day-label{font-size:.68rem}.phase-line{font-size:.98rem;align-items:flex-start;gap:7px;line-height:1.45}.phase-line .flower-marker{font-size:24px;flex:none;line-height:1.35}.detail-note{font-size:.75rem}.calendar-legend{padding:10px 14px 15px;gap:13px;font-size:.62rem}.calendar-sidebar{margin:8px 14px 0;display:block}.calendar-sidebar #calendar-insights{display:grid;grid-template-columns:1fr 1fr;gap:10px}.calendar-sidebar .insight-card{margin:0;padding:17px;border-radius:15px;box-shadow:none}.insight-label{font-size:.64rem;margin-bottom:8px}.insight-value{font-size:1.45rem}.insight-sub{font-size:.67rem}.calendar-sidebar .quiet-card{padding:15px 0 0;border:0;background:transparent;box-shadow:none;margin-bottom:5px}.calendar-sidebar .quiet-card .small-flower,.calendar-sidebar .quiet-card h3{display:none}.calendar-sidebar .quiet-card p{font-size:.65rem;line-height:1.6}.mobile-nav{display:flex;position:fixed;bottom:calc(13px + env(safe-area-inset-bottom));left:14px;right:14px;z-index:10;background:color-mix(in srgb,var(--surface) 97%,transparent);border-radius:50px;padding:5px;box-shadow:0 7px 35px #29203912;max-width:470px;margin:auto;border:1px solid color-mix(in srgb,var(--line) 40%,transparent)}.mobile-nav .nav-item{flex:1;min-width:0;flex-direction:column;gap:4px;align-items:center;justify-content:center;padding:9px 1px 8px;border-radius:45px;font-size:.61rem;color:var(--ink);font-weight:550;text-align:center}.mobile-nav .nav-item.active{color:var(--pink);background:color-mix(in srgb,var(--muted) 10%,transparent)}.mobile-nav .nav-item .nav-symbol{font-size:27px;height:26px;line-height:26px}.mobile-nav .nav-item .icon{width:23px;height:23px;display:block}.mobile-nav .nav-item[data-view=register]{margin:0;background:transparent;color:var(--ink)}.mobile-nav .nav-item[data-view=register] .nav-symbol{width:30px;height:30px;border-radius:50%;background:var(--pink);color:#fff;font-size:29px;line-height:29px;margin-top:-3px;margin-bottom:-1px}.standard-view{padding:calc(25px + env(safe-area-inset-top)) 16px 10px}.standard-view>.view-heading{font-size:1.75rem;margin:8px 2px 22px}.content-card{padding:22px;border-radius:19px}.today-hero{padding:29px}.today-day{font-size:4.1rem}.today-hero h2{font-size:1.4rem}.card-grid{gap:10px}.card-grid .insight-card{padding:18px}.content-card h2{font-size:1.18rem}.content-card p{font-size:.81rem}.stat-grid{gap:7px}.stat-grid>div{padding:15px 10px}.stat-number{font-size:1.4rem}.stat-label{font-size:.65rem}.settings-row{gap:12px}.settings-row select{max-width:140px}.settings-actions .button{flex:1;min-width:130px}.year-calendar{gap:20px 12px;padding:18px 14px}.mini-day{font-size:.56rem;padding:4px 0}.mini-month-name{font-size:.74rem}.app-status{margin:12px 16px;font-size:.72rem}.gate-card{padding:28px;border-radius:24px}.gate{padding:24px 18px}.gate-card h1{font-size:1.9rem}dialog{width:calc(100vw - 24px);border-radius:22px;padding:22px;max-height:88dvh}.form-row{gap:10px}.dialog-actions .button{font-size:.8rem;padding:12px}.settings-actions .text-button{font-size:.8rem}.calendar-day.is-predicted{box-shadow:inset 0 -4px 0 var(--prediction)}}
@media(min-width:400px) and (max-width:760px){.calendar-day,.empty-day{min-height:77px}.calendar-toolbar{padding-top:calc(22px + env(safe-area-inset-top))}.day-number{font-size:1.28rem}.calendar-actions{padding-top:14px}.mobile-nav .nav-item{font-size:.67rem}}
@media(max-width:350px){.calendar-day,.empty-day{min-height:64px}.day-number{font-size:1.07rem;padding-left:0}.cycle-number{font-size:.54rem}.calendar-toolbar{padding-left:10px;padding-right:10px}.period-toggle button{min-width:65px;padding:9px 16px}.mobile-nav{left:8px;right:8px}.mobile-nav .nav-item{font-size:.54rem}.calendar-sidebar #calendar-insights{display:block}.calendar-sidebar .insight-card{margin-bottom:8px}.symptom-grid{grid-template-columns:1fr}.cycle-day-label{font-size:.61rem}}
.ovulation-marker{font-size:15px;color:#9945dc;display:block;line-height:1;transform:rotate(-30deg);border-radius:50%;letter-spacing:-2px}.calendar-day.is-selected .ovulation-marker{color:#ceadff}fieldset{border:0;padding:0;margin-inline:0}legend{font-size:.9rem;font-weight:600;margin-bottom:10px}.signin-page{min-height:100dvh;display:grid;place-items:center;padding:24px;background:radial-gradient(ellipse at 10% 5%,var(--lavender),transparent 60%),radial-gradient(ellipse at 90% 95%,var(--pink-soft),transparent 55%)}.signin-card{width:min(100%,430px);background:var(--surface);border:1px solid var(--line);border-radius:28px;padding:40px;box-shadow:var(--shadow)}.signin-card h1{font-size:1.9rem}.signin-card p{font-size:.9rem;color:var(--muted)}.signin-card p:last-child{font-size:.76rem;margin:22px 0 0}.signin-flower{font-size:62px;color:var(--pink);line-height:1;margin-bottom:24px}.primary-button{display:flex;justify-content:center;background:var(--purple);color:#fff;padding:14px 20px;border-radius:12px;text-decoration:none;font-weight:600;font-size:.9rem;margin-top:25px}
@media(prefers-reduced-motion:no-preference){button,a{transition:background-color .16s ease,opacity .16s ease}.gate-card{animation:appear .3s ease}.view{animation:appear .18s ease}@keyframes appear{from{opacity:.5;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}}

.migration-label{display:inline-block;padding:6px 10px;border-radius:20px;background:var(--pink-soft);color:var(--pink);font-size:.75rem;font-weight:650;margin:4px 0 14px}#legacy-phrase-field{margin-top:18px}#open-journal{width:100%}
.read-only-banner{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:17px 20px;margin-bottom:22px;background:var(--lavender);border-radius:16px;color:var(--purple-soft)}.read-only-banner strong{font-size:.86rem}.read-only-banner p{font-size:.76rem;margin:5px 0 0;line-height:1.55}.read-only-banner .button{flex:none;font-size:.78rem;background:var(--surface)}.calendar-actions.read-only-actions{grid-template-columns:1fr}.read-only-label{font-size:.75rem;color:var(--purple-soft);font-weight:650}.read-only-entry{margin:0 0 24px}.read-only-entry dt{font-size:.8rem;font-weight:600;margin:18px 0 6px}.read-only-entry dd{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;font-size:.9rem;line-height:1.6;color:var(--muted)}
@media(max-width:760px){.read-only-banner{margin:calc(10px + env(safe-area-inset-top)) 12px 10px;padding:14px;gap:10px;align-items:flex-start}.read-only-banner .button{padding:10px;font-size:.7rem}.read-only-banner p{font-size:.7rem}}
