/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-font-weight:initial;--tw-tracking:initial;--tw-leading:initial}}}@layer theme{:root,:host{--font-sans:Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--spacing:.25rem;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800;--font-display:"Iowan Old Style", "Palatino Linotype", Palatino, serif;--color-canvas:#faf9f8;--color-surface:#fff;--color-surface-soft:#f5f2f3;--color-ink:#2f292c;--color-muted:#635a5e;--color-body:#62585c;--color-line:#ddd4d7;--color-rose:#92586a;--color-rose-soft:#f1e2e7;--color-accent:#704654;--color-action:#76515d;--color-action-hover:#684752;--color-mauve:#705765;--color-sage:#607b6b;--color-sage-soft:#e4ece7;--color-amber:#98713f;--color-amber-soft:#f4eadc;--color-danger:#87313f;--color-danger-soft:#fff2f3;--radius-panel:22px;--shadow-panel:0 12px 36px #3d30340f;--shadow-action:0 6px 18px #76515d24;--shadow-dialog:0 28px 80px #2f25292e}}@layer base{:root{--bg:var(--color-canvas);--surface:var(--color-surface);--surface-soft:var(--color-surface-soft);--ink:var(--color-ink);--muted:var(--color-muted);--line:var(--color-line);--rose:var(--color-rose);--rose-soft:var(--color-rose-soft);--mauve:var(--color-mauve);--sage:var(--color-sage);--sage-soft:var(--color-sage-soft);--amber:var(--color-amber);--amber-soft:var(--color-amber-soft);--shadow:var(--shadow-panel);--radius:var(--radius-panel);--font-ui:var(--font-sans)}}@layer components{*{box-sizing:border-box}html{scroll-behavior:smooth}body{background-color:var(--color-canvas);font-family:var(--font-sans);color:var(--color-ink);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}.app-shell{grid-template-columns:250px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{overscroll-behavior:contain;height:100dvh;padding-inline:calc(var(--spacing) * 5.5);padding-block:calc(var(--spacing) * 7);border-right:1px solid var(--line);z-index:20;background:#fbfaf9f2;flex-direction:column;display:flex;position:sticky;top:0;overflow-y:auto}.sidebar>*{flex-shrink:0}.sidebar{padding-left:max(22px,env(safe-area-inset-left));padding-top:calc(28px + env(safe-area-inset-top));padding-bottom:max(28px,env(safe-area-inset-bottom))}.brand{align-items:center;gap:11px;display:flex}.brand-mark{height:calc(var(--spacing) * 9.5);width:calc(var(--spacing) * 9.5);color:var(--color-rose);place-items:center;display:grid}.brand-mark svg{width:100%;height:100%}.brand-name{--tw-font-weight:650;--tw-tracking:-.02em;letter-spacing:-.02em;font-size:17px;font-weight:650}.brand-sub{margin-top:calc(var(--spacing) * .5);color:var(--color-muted);font-size:11px}.nav-list{margin-top:calc(var(--spacing) * 10.5);gap:7px;display:grid}.nav-item{padding-inline:13px;padding-block:calc(var(--spacing) * 3);text-align:left;align-items:center;gap:calc(var(--spacing) * 3);--tw-font-weight:560;color:#5d5558;background-color:#0000;border:0;border-radius:13px;font-weight:560;display:flex}.nav-item:hover,.nav-item.active{background-color:var(--color-rose-soft);color:#704b57}.nav-icon{width:calc(var(--spacing) * 5);text-align:center;font-size:17px}.sidebar-note{background-color:var(--color-surface);border:1px solid var(--line);gap:calc(var(--spacing) * 2.5);box-shadow:var(--shadow);border-radius:16px;margin-top:auto;padding:15px;display:flex}.sidebar-note p{--tw-leading:1.5;color:var(--color-muted);margin:0;font-size:11.5px;line-height:1.5}.sidebar-note strong{color:var(--color-ink)}.mini-lock{color:var(--color-sage)}.profile-row{padding-inline:calc(var(--spacing) * 1.5);padding-block:calc(var(--spacing) * 2.5);align-items:center;gap:calc(var(--spacing) * 2.5);text-align:left;background-color:#0000;border:0;margin-top:15px;display:flex}.avatar,.icon-button{height:calc(var(--spacing) * 8.5);width:calc(var(--spacing) * 8.5);background-color:var(--color-rose-soft);color:#744d59;--tw-font-weight:var(--font-weight-bold);font-size:11px;font-weight:var(--font-weight-bold);border:0;border-radius:50%;place-items:center;display:grid}.profile-copy{flex-direction:column;min-width:0;display:flex}.profile-copy span{margin-top:calc(var(--spacing) * .5);color:var(--color-muted);font-size:10.5px}.chev{color:#aaa1a4;margin-left:auto}.main-content{width:100%;max-width:1440px;margin-block:0;margin-inline:auto;padding:42px 48px 80px}.mobile-header,.bottom-nav,.view{display:none}.view.active-view{animation:.2s fade;display:block}@keyframes fade{0%{opacity:.5;transform:translateY(3px)}to{opacity:1;transform:none}}.topline{margin-bottom:calc(var(--spacing) * 7.5);justify-content:space-between;align-items:flex-start;gap:calc(var(--spacing) * 6);display:flex}.eyebrow,.card-kicker{--tw-font-weight:750;--tw-tracking:.15em;letter-spacing:.15em;color:#8c8184;font-size:10px;font-weight:750}.topline h1{font-family:var(--font-display);--tw-leading:1.04;--tw-font-weight:var(--font-weight-medium);font-size:42px;line-height:1.04;font-weight:var(--font-weight-medium);--tw-tracking:-.035em;letter-spacing:-.035em;margin:8px 0 9px}.lead{color:var(--color-muted);--tw-leading:1.55;max-width:650px;margin:0;font-size:14px;line-height:1.55}.primary-button,.secondary-button{padding-inline:calc(var(--spacing) * 4);padding-block:calc(var(--spacing) * 3);--tw-font-weight:650;border-radius:13px;font-size:13px;font-weight:650}.primary-button{border:1px solid var(--color-action);background-color:var(--color-action);color:var(--color-surface);box-shadow:var(--shadow-action)}.primary-button:hover{background-color:var(--color-action-hover)}.secondary-button{border:1px solid var(--line);background-color:var(--color-surface);color:var(--color-ink)}.secondary-button:hover{border-color:#d2c8ca}.small{margin-top:calc(var(--spacing) * 2.5);padding-inline:calc(var(--spacing) * 3);padding-block:9px}.full-width{width:100%}.status-grid{margin-bottom:calc(var(--spacing) * 4.5);gap:calc(var(--spacing) * 4.5);grid-template-columns:.92fr 1.08fr;display:grid}.fertility-card,.cycle-card,.panel{background-color:var(--color-surface);border:1px solid var(--line);border-radius:var(--radius-panel);box-shadow:var(--shadow)}.fertility-card{padding:27px;position:relative;overflow:hidden}.fertility-card.high:after{content:"";height:calc(var(--spacing) * 32.5);width:calc(var(--spacing) * 32.5);background-color:var(--color-rose-soft);opacity:.75;border-radius:50%;position:absolute;top:-35px;right:-35px}.status-line{font-family:var(--font-display);align-items:center;gap:11px;margin:12px 0 9px;font-size:35px;display:flex}.status-dot{height:calc(var(--spacing) * 2.5);width:calc(var(--spacing) * 2.5);background-color:var(--color-rose);box-shadow:0 0 0 6px var(--rose-soft);border-radius:50%}.status-desc{max-width:calc(var(--spacing) * 92.5);--tw-leading:1.55;color:var(--color-muted);font-size:13px;line-height:1.55}.text-link{color:var(--color-action);--tw-font-weight:var(--font-weight-bold);font-size:12px;font-weight:var(--font-weight-bold);background-color:#0000;border:0;padding:0}.text-link span{margin-left:var(--spacing)}.cycle-card{padding:27px}.cycle-header{justify-content:space-between;align-items:flex-start;display:flex}.cycle-day{margin-top:calc(var(--spacing) * 2.5);font-family:var(--font-display);font-size:30px}.phase-pill{background-color:var(--color-sage-soft);padding-inline:calc(var(--spacing) * 2.5);color:#5f7868;--tw-font-weight:750;--tw-tracking:.08em;letter-spacing:.08em;text-transform:uppercase;border-radius:999px;padding-block:7px;font-size:10px;font-weight:750}.phase-progress{gap:calc(var(--spacing) * 1.5);grid-template-columns:repeat(5,1fr);margin:29px 0 8px;display:grid}.phase-progress span{background-color:#eee9e9;border-radius:99px;height:5px}.phase-progress .done{background-color:#b9c9bf}.phase-progress .active{background-color:var(--color-rose)}.phase-labels{color:#9a9294;grid-template-columns:repeat(5,1fr);gap:5px;font-size:9px;display:grid}.phase-labels span:nth-child(3){--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold);color:#6e4c56}.panel{margin-bottom:calc(var(--spacing) * 4.5);padding:25px}.panel-heading{justify-content:space-between;align-items:flex-start;gap:calc(var(--spacing) * 5);display:flex}.panel h2{font-family:var(--font-display);--tw-leading:1.1;--tw-font-weight:var(--font-weight-medium);font-size:25px;line-height:1.1;font-weight:var(--font-weight-medium);--tw-tracking:-.025em;letter-spacing:-.025em;margin:7px 0 6px}.unrecorded{background-color:var(--color-rose-soft);padding-inline:9px;padding-block:calc(var(--spacing) * 1.5);--tw-font-weight:var(--font-weight-bold);font-size:10px;font-weight:var(--font-weight-bold);color:#9a6e79;border-radius:999px}.observation-panel{padding:calc(var(--spacing) * 7)}.observation-panel .primary-button{margin-top:calc(var(--spacing) * 2.5)}.compact-heading{align-items:center}.pattern-strip{scrollbar-width:none;align-items:center;padding:19px 0 16px;display:flex;overflow:auto}.pattern-strip::-webkit-scrollbar{display:none}.pattern-day{min-width:calc(var(--spacing) * 20.5);border:1px solid var(--line);background-color:var(--color-surface);padding-inline:calc(var(--spacing) * 2.5);padding-block:calc(var(--spacing) * 3);text-align:center;border-radius:16px}.pattern-day span{color:#968d90;font-size:9px}.pattern-day strong{font-family:var(--font-display);margin:6px 0 3px;font-size:17px;display:block}.pattern-day small{color:var(--color-muted);font-size:9px}.pattern-day.accent-soft{background-color:#fbf7f3;border-color:#ebddcf}.pattern-day.accent-strong{background-color:var(--color-rose-soft);border-color:#e7ccd3}.connector{height:1px;min-width:calc(var(--spacing) * 5);background-color:var(--color-line)}.connector.changed{background-color:#d6ba9c}.connector.accent{background-color:#c996a3}.clinical-note{gap:calc(var(--spacing) * 2.5);padding-inline:calc(var(--spacing) * 3.5);color:#647168;background-color:#f8faf8;border:1px solid #e0e8e2;border-radius:14px;padding-block:13px;display:flex}.clinical-note p{--tw-leading:1.55;margin:0;font-size:11.5px;line-height:1.55}.note-icon{height:calc(var(--spacing) * 5);width:calc(var(--spacing) * 5);background-color:var(--color-sage-soft);--tw-font-weight:var(--font-weight-bold);font-size:10px;font-weight:var(--font-weight-bold);color:#678071;border-radius:50%;flex:0 0 20px;place-items:center;display:grid}.two-col{gap:calc(var(--spacing) * 4.5);grid-template-columns:1fr 1fr;display:grid}.lesson-card{position:relative;overflow:hidden}.lesson-visual{top:calc(var(--spacing) * 2.5);right:calc(var(--spacing) * 4.5);width:calc(var(--spacing) * 27.5);color:#d7b6bf;opacity:.85;position:absolute}.lesson-card h2{max-width:55%}.lesson-card p{max-width:62%}.reflection-card{background:linear-gradient(145deg,#f7f1f2,#fff)}.reflection-card blockquote{font-family:var(--font-display);--tw-leading:1.16;margin:18px 0 10px;font-size:27px;line-height:1.16}.reflection-card p{--tw-leading:1.55;max-width:440px;color:var(--color-muted);font-size:12px;line-height:1.55}.soft-divider{background-color:var(--color-line);height:1px;margin:22px 0 15px}.mini-stat{align-items:baseline;gap:calc(var(--spacing) * 2);display:flex}.mini-stat span{font-family:var(--font-display);font-size:22px}.chart-panel{padding:0;overflow:hidden}.chart-toolbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding-block:23px;padding-inline:25px;display:flex}.segmented{background-color:var(--color-surface-soft);border-radius:10px;padding:3px;display:flex}.segmented button{padding-inline:calc(var(--spacing) * 2.5);color:var(--color-muted);background-color:#0000;border:0;border-radius:8px;padding-block:7px;font-size:10px}.segmented button.active{background-color:var(--color-surface);color:var(--color-ink);box-shadow:0 2px 8px #32282b0d}.chart-scroll{overflow-x:auto}.fertility-table{border-collapse:collapse;width:100%;min-width:860px}.fertility-table th,.fertility-table td{padding-inline:13px;padding-block:calc(var(--spacing) * 3.5);text-align:center;border-bottom:1px solid #eee9e9;border-right:1px solid #f1eded;font-size:11px}.fertility-table thead th{--tw-font-weight:750;color:#958d8f;background-color:#fcfbfb;font-size:9px;font-weight:750}.fertility-table th:first-child{z-index:2;background-color:var(--color-surface);text-align:left;color:#70686b;min-width:105px;font-size:10px;position:sticky;left:0}.fertility-table td.emphasis{--tw-font-weight:750;color:#774b57;font-weight:750}.today-col{background:#faf3f5!important}.table-tag{--tw-font-weight:750;border-radius:999px;padding-block:5px;padding-inline:7px;font-size:8px;font-weight:750;display:inline-flex}.table-tag.low{background-color:var(--color-sage-soft);color:#60766a}.table-tag.potential{background-color:var(--color-amber-soft);color:#8e6d42}.table-tag.high{background-color:var(--color-rose-soft);color:#855866}.chart-legend{gap:calc(var(--spacing) * 4.5);color:var(--color-muted);flex-wrap:wrap;padding:14px 25px 20px;font-size:9px;display:flex}.chart-legend span{align-items:center;gap:calc(var(--spacing) * 1.5);display:flex}.legend-dot{height:calc(var(--spacing) * 2);width:calc(var(--spacing) * 2);border-radius:50%}.legend-dot.low{background-color:#91aa9b}.legend-dot.potential{background-color:#c9a26f}.legend-dot.high{background-color:#b57a89}.legend-dot.peak{background-color:#806678}.chart-explainer{gap:calc(var(--spacing) * 7.5);grid-template-columns:.75fr 1.25fr;display:grid}.explain-grid{grid-template-columns:repeat(3,1fr);gap:15px;display:grid}.explain-grid>div{border-left:1px solid var(--line);padding-left:calc(var(--spacing) * 3.5)}.step-num{color:#a89fa2;font-size:9px}.explain-grid strong{margin:8px 0 4px;font-size:12px;display:block}.explain-grid p{--tw-leading:1.5;color:var(--color-muted);margin:0;font-size:10px;line-height:1.5}.learning-layout{gap:calc(var(--spacing) * 4.5);grid-template-columns:.8fr 1.2fr;display:grid}.progress-card{align-items:center;gap:calc(var(--spacing) * 5);align-self:flex-start;margin:0;display:flex;position:sticky;top:25px}.progress-ring{height:calc(var(--spacing) * 23);width:calc(var(--spacing) * 23);background:conic-gradient(var(--rose) 0 42%,#eee9e9 42% 100%);border-radius:50%;flex:none;place-items:center;display:grid;position:relative}.progress-ring:before{content:"";inset:calc(var(--spacing) * 2);background-color:var(--color-surface);border-radius:50%;position:absolute}.progress-ring span{font-family:var(--font-display);font-size:21px;position:relative}.module-list{gap:calc(var(--spacing) * 2.5);display:grid}.module{border:1px solid var(--line);background-color:var(--color-surface);padding:calc(var(--spacing) * 4.5);border-radius:18px;grid-template-columns:42px 1fr 32px;align-items:flex-start;gap:15px;display:grid}.module-index{font-family:var(--font-display);color:#aa9fa2;font-size:18px}.module small{--tw-font-weight:750;--tw-tracking:.12em;letter-spacing:.12em;color:#978d90;font-size:8px;font-weight:750}.module h3{font-family:var(--font-display);--tw-font-weight:var(--font-weight-medium);font-size:19px;font-weight:var(--font-weight-medium);margin-block:5px;margin-inline:0}.module p{--tw-leading:1.45;color:var(--color-muted);margin:0;font-size:10.5px;line-height:1.45}.module-state{color:#9b8e92;text-align:center;font-size:13px}.module.current{background-color:#fdfafb;border-color:#dfc9cf}.module.completed .module-state{color:var(--color-sage)}.module.locked{opacity:.65}.insight-grid{gap:calc(var(--spacing) * 4.5);grid-template-columns:repeat(3,1fr);display:grid}.big-number,.big-word{margin-top:calc(var(--spacing) * 3);font-family:var(--font-display);font-size:44px}.big-word{font-size:32px}.vocab-list{margin-top:calc(var(--spacing) * 4.5);gap:calc(var(--spacing) * 2.5);flex-wrap:wrap;display:flex}.vocab-list span{border:1px solid var(--line);border-radius:999px;padding-block:9px;padding-inline:11px;font-size:11px}.vocab-list b{margin-left:calc(var(--spacing) * 1.5);color:#8b6f78}.settings-list{padding:0;overflow:hidden}.settings-list button{background-color:var(--color-surface);width:100%;padding-inline:calc(var(--spacing) * 5);padding-block:calc(var(--spacing) * 4.5);border:0;border-bottom:1px solid var(--line);text-align:left;justify-content:space-between;align-items:center;display:flex}.settings-list button:last-child{border-bottom:0}.settings-list button span{--tw-font-weight:650;font-size:12px;font-weight:650}.settings-list button small{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal);color:var(--color-muted);margin-top:var(--spacing);font-size:10px;display:block}.settings-list button b{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:#9f9396}.modal-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:80;padding:calc(var(--spacing) * 5);background:#2a232647;justify-content:center;align-items:center;display:none;position:fixed;inset:0}.modal-backdrop.open{display:flex}.modal{background-color:var(--color-surface);border:1px solid var(--line);width:min(650px,100%);box-shadow:var(--shadow-dialog);border-radius:24px;max-height:90vh;padding:25px;overflow:auto}.compact-modal{width:min(560px,100%)}.modal-header{justify-content:space-between;align-items:flex-start;gap:calc(var(--spacing) * 4);display:flex}.modal-header h2{font-family:var(--font-display);--tw-font-weight:var(--font-weight-medium);font-size:26px;font-weight:var(--font-weight-medium);margin:7px 0 12px}.close-button{height:calc(var(--spacing) * 8.5);width:calc(var(--spacing) * 8.5);border:1px solid var(--line);background-color:var(--color-surface);color:#776f72;border-radius:50%;font-size:18px}.stepper{margin-bottom:calc(var(--spacing) * 5.5);grid-template-columns:repeat(4,1fr);gap:5px;display:grid}.stepper span{height:var(--spacing);background-color:#eee9e9;border-radius:99px}.stepper span.active{background-color:var(--color-rose)}.form-label{margin-bottom:calc(var(--spacing) * 1.5);--tw-font-weight:var(--font-weight-bold);font-size:11px;font-weight:var(--font-weight-bold);display:block}.form-help{color:var(--color-muted);margin:0 0 9px;font-size:10px}.form-section textarea,.text-input,.form-section select{border:1px solid var(--line);width:100%;padding-inline:13px;padding-block:calc(var(--spacing) * 3);color:var(--color-ink);background-color:#fcfbfb;border-radius:13px;outline:none}.form-section textarea{min-height:calc(var(--spacing) * 22);resize:vertical}.form-section textarea:focus,.text-input:focus,.form-section select:focus{box-shadow:0 0 0 3px var(--rose-soft);border-color:#c8a8b1}.chip-row{flex-wrap:wrap;gap:7px;margin-top:9px;display:flex}.chip{border:1px solid var(--line);background-color:var(--color-surface);color:#675e61;border-radius:999px;padding-block:7px;padding-inline:9px;font-size:10px}.chip:hover,.chip.selected{background-color:var(--color-rose-soft);color:#754f5a;border-color:#e3c7ce}.two-fields{gap:calc(var(--spacing) * 3);grid-template-columns:1fr 1fr;display:grid}.privacy-inline{color:#657369;align-items:flex-start;gap:9px;margin:5px 0 16px;display:flex}.privacy-inline p{--tw-leading:1.45;margin:0;font-size:10px;line-height:1.45}.modal-copy{--tw-leading:1.65;color:var(--color-muted);font-size:12px;line-height:1.65}.why-sequence,.peak-days{flex-wrap:wrap;justify-content:center;align-items:center;gap:9px;margin:16px 0 20px;display:flex}.why-sequence span{padding-inline:calc(var(--spacing) * 2.5);padding-block:calc(var(--spacing) * 2);border:1px solid var(--line);border-radius:999px;font-size:10px}.why-sequence span.potential{background-color:var(--color-amber-soft);border-color:#ead9bf}.why-sequence span.high{background-color:var(--color-rose-soft);border-color:#e7ccd3}.why-sequence i{color:#aaa0a3;font-style:normal}.peak-days>div:not(.peak-arrow){border:1px solid var(--line);padding-inline:calc(var(--spacing) * 6);padding-block:calc(var(--spacing) * 3.5);text-align:center;border-radius:16px}.peak-days small{--tw-tracking:.1em;letter-spacing:.1em;color:var(--color-muted);font-size:8px;display:block}.peak-days strong{font-family:var(--font-display);margin-top:5px;font-size:18px;display:block}.peak-arrow{color:#9e9396}.button-stack{margin-top:calc(var(--spacing) * 4.5);gap:calc(var(--spacing) * 2);display:grid}.toast{bottom:calc(var(--spacing) * 6);padding-inline:15px;padding-block:calc(var(--spacing) * 2.5);color:var(--color-surface);pointer-events:none;opacity:0;z-index:120;background-color:#2f2a2c;border-radius:999px;font-size:11px;transition:all .25s;position:fixed;left:50%;transform:translate(-50%,20px)}.toast.show{opacity:1;transform:translate(-50%)}@media (width<=980px){.app-shell{grid-template-columns:210px minmax(0,1fr)}.main-content{padding:34px 28px 70px}.status-grid,.two-col,.learning-layout{grid-template-columns:1fr}.progress-card{position:static}.chart-explainer{grid-template-columns:1fr}.topline h1{font-size:36px}}@media (width<=720px){body{background-color:var(--color-surface)}.app-shell{display:block}.sidebar{display:none}.main-content{max-width:none;padding:76px 16px 100px}.mobile-header{z-index:50;height:calc(var(--spacing) * 16);padding-inline:calc(var(--spacing) * 4);padding-block:calc(var(--spacing) * 2.5);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);background:#ffffffeb;justify-content:space-between;align-items:center;display:flex;position:fixed;top:0;left:0;right:0}.brand.compact .brand-mark{width:31px;height:31px}.brand.compact .brand-name{font-size:14px}.brand.compact .brand-sub{font-size:9px}.bottom-nav{z-index:50;height:calc(var(--spacing) * 18);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--line);background:#fffffff5;grid-template-columns:repeat(5,1fr);padding:7px 7px 10px;display:grid;position:fixed;bottom:0;left:0;right:0}.bottom-nav button{color:#857b7e;background-color:#0000;border:0;flex-direction:column;justify-content:center;align-items:center;gap:3px;font-size:16px;display:flex}.bottom-nav button small{font-size:8px}.bottom-nav button.active{color:#744d59}.bottom-nav .record-fab span{height:calc(var(--spacing) * 9.5);width:calc(var(--spacing) * 9.5);background-color:var(--color-action);color:var(--color-surface);margin-top:calc(var(--spacing) * -5.5);--tw-leading:1;border-radius:50%;place-items:center;font-size:24px;line-height:1;display:grid;box-shadow:0 8px 22px #76515d33}.topline{margin-bottom:calc(var(--spacing) * 5.5)}.topline h1{font-size:33px}.lead{font-size:12px}.desktop-only{display:none}.status-grid{gap:calc(var(--spacing) * 3)}.fertility-card,.cycle-card,.panel{box-shadow:none;padding:calc(var(--spacing) * 5);border-radius:19px}.status-line{font-size:31px}.cycle-day{font-size:27px}.phase-labels{font-size:7.5px}.panel h2{font-size:22px}.panel-heading{gap:calc(var(--spacing) * 2.5)}.full-mobile{width:100%}.recent-panel{overflow:hidden}.pattern-strip{margin-right:calc(var(--spacing) * -5);padding-right:calc(var(--spacing) * 5)}.pattern-day{min-width:calc(var(--spacing) * 18);padding-inline:calc(var(--spacing) * 2);padding-block:11px}.connector{min-width:calc(var(--spacing) * 3.5)}.clinical-note p{font-size:10.5px}.lesson-visual{opacity:.55}.lesson-card h2{max-width:65%}.lesson-card p{max-width:75%}.reflection-card blockquote{font-size:24px}.chart-toolbar{gap:calc(var(--spacing) * 3);padding:calc(var(--spacing) * 4.5);display:grid}.chart-legend{padding:12px 18px 17px}.explain-grid{grid-template-columns:1fr;gap:13px}.explain-grid>div{border-left:0;border-top:1px solid var(--line);padding:12px 0 0}.learning-layout{gap:calc(var(--spacing) * 3)}.progress-card{grid-template-columns:74px 1fr;gap:15px;display:grid}.progress-ring{height:calc(var(--spacing) * 18.5);width:calc(var(--spacing) * 18.5)}.module{grid-template-columns:34px 1fr 24px;padding-block:15px;padding-inline:13px}.module h3{font-size:18px}.insight-grid{gap:calc(var(--spacing) * 2.5);grid-template-columns:1fr}.big-number{font-size:38px}.modal-backdrop{align-items:flex-end;padding:0}.modal.sheet,.modal.compact-modal{width:100%;max-height:88vh;padding:calc(var(--spacing) * 5);border-radius:24px 24px 0 0}.two-fields{grid-template-columns:1fr}.why-sequence{gap:calc(var(--spacing) * 1.5)}.why-sequence span{padding-inline:calc(var(--spacing) * 2);padding-block:7px;font-size:9px}}.eyebrow,.card-kicker{--tw-tracking:.14em;letter-spacing:.14em;color:#6e6267;font-size:11px}.brand-sub,.profile-copy span{color:#665d61}.lead{color:#5f565a;--tw-leading:1.6;font-size:15px;line-height:1.6}.muted{color:var(--color-body);--tw-leading:1.58;font-size:13.5px;line-height:1.58}.status-desc{color:#5f565a;font-size:14px}.phase-labels{color:#71676b;--tw-font-weight:var(--font-weight-semibold);font-size:10px;font-weight:var(--font-weight-semibold)}.phase-labels span:nth-child(3){color:#5d3f49}.pattern-day span{--tw-font-weight:650;color:#6f6669;font-size:10px;font-weight:650}.pattern-day small{--tw-font-weight:550;color:#62595c;font-size:10px;font-weight:550}.clinical-note{color:#4f6157;background-color:#f3f7f4;border-color:#cedbd2}.clinical-note p{--tw-leading:1.58;color:#53635a;font-size:12.5px;line-height:1.58}.note-icon{color:#496154;background-color:#dce8e0}.reflection-card p{color:#5f565a;font-size:13px}.mini-stat small{color:#62595c;font-size:11px}.sidebar-note p{color:#62595c;font-size:12px}.table-tag{padding-inline:calc(var(--spacing) * 2);padding-block:calc(var(--spacing) * 1.5);font-size:9.5px}.fertility-table th,.fertility-table td{color:#4f484b;font-size:12px}.fertility-table thead th{color:#62595c;background-color:#f8f6f6;font-size:10px}.fertility-table th:first-child{color:#51494d;--tw-font-weight:var(--font-weight-bold);font-size:11px;font-weight:var(--font-weight-bold)}.future{color:#938a8d}.chart-legend{color:#5e5559;font-size:10.5px}.explain-grid p{color:var(--color-body);font-size:11.5px}.explain-grid strong{font-size:13px}.form-help{color:var(--color-body);font-size:11.5px}.form-label{font-size:12px}.chip{color:#51494c;border-color:#d8ced1;font-size:11px}.privacy-inline p{color:#526259;font-size:11.5px}.modal-copy{color:#5e5559;font-size:13px}.why-sequence span{font-size:11px}.settings-list button span{font-size:13px}.settings-list button small{color:#62595c;font-size:11px}.learning-layout{align-items:flex-start;gap:calc(var(--spacing) * 6);grid-template-columns:minmax(260px,.68fr) minmax(0,1.32fr)}.learning-sidebar{top:calc(var(--spacing) * 6);gap:calc(var(--spacing) * 3.5);display:grid;position:sticky}.learning-sidebar .panel{margin:0}.progress-card{gap:calc(var(--spacing) * 4.5);padding:calc(var(--spacing) * 5.5);display:flex;position:static}.progress-ring{height:calc(var(--spacing) * 22);width:calc(var(--spacing) * 22);background:conic-gradient(var(--rose) 0 var(--progress,36%),#e8e1e3 var(--progress,36%) 100%)}.progress-ring:before{inset:9px}.progress-card h2{margin-top:5px;font-size:23px}.learning-summary h3,.learning-principle h3{font-family:var(--font-display);margin-inline:0;margin-block:calc(var(--spacing) * 2);--tw-font-weight:var(--font-weight-medium);font-size:21px;font-weight:var(--font-weight-medium)}.learning-summary p,.learning-principle p{--tw-leading:1.58;color:#5d5458;margin:0;font-size:12.5px;line-height:1.58}.summary-path{margin-top:calc(var(--spacing) * 4);flex-wrap:wrap;align-items:center;gap:7px;display:flex}.summary-path span{padding-inline:calc(var(--spacing) * 2);padding-block:calc(var(--spacing) * 1.5);--tw-font-weight:750;color:#675d61;background-color:#f3eff0;border:1px solid #ddd4d7;border-radius:999px;font-size:9.5px;font-weight:750}.summary-path span.done{background-color:var(--color-sage-soft);color:#4e6758;border-color:#c9d8ce}.summary-path span.active{background-color:var(--color-rose-soft);color:var(--color-accent);border-color:#dfc4cd}.summary-path i{color:#8f8589;font-style:normal}.learning-principle{background:linear-gradient(145deg,#faf5f6,#fff)}.learning-principle blockquote{font-family:var(--font-display);--tw-leading:1.22;color:#493b41;margin:13px 0 10px;font-size:22px;line-height:1.22}.learning-track{gap:calc(var(--spacing) * 5.5);display:grid}.course-section{background-color:var(--color-surface);border:1px solid var(--line);padding:calc(var(--spacing) * 5.5);box-shadow:var(--shadow);border-radius:22px}.featured-section{background:linear-gradient(#fff 0%,#fdfafb 100%);border-color:#d7c1c8}.course-section-head{justify-content:space-between;align-items:flex-start;gap:calc(var(--spacing) * 4.5);border-bottom:1px solid #e8e1e3;margin-bottom:15px;padding-bottom:15px;display:flex}.course-section-head>div{align-items:flex-start;gap:calc(var(--spacing) * 3);display:flex}.course-number{font-family:var(--font-display);--tw-leading:1;color:#8c7b81;font-size:24px;line-height:1}.course-section-head small{--tw-font-weight:var(--font-weight-extrabold);font-size:9.5px;font-weight:var(--font-weight-extrabold);--tw-tracking:.13em;letter-spacing:.13em;color:#71666a}.course-section-head h2{font-family:var(--font-display);--tw-font-weight:var(--font-weight-medium);font-size:23px;font-weight:var(--font-weight-medium);--tw-tracking:-.02em;letter-spacing:-.02em;margin:4px 0 0}.section-progress{--tw-font-weight:750;background-color:var(--color-sage-soft);color:#55705f;padding-inline:calc(var(--spacing) * 2);padding-block:calc(var(--spacing) * 1.5);white-space:nowrap;border:1px solid #c9d8ce;border-radius:999px;font-size:10px;font-weight:750}.section-progress.active-progress{background-color:var(--color-rose-soft);color:#714755;border-color:#dfc4cd}.course-section .module{padding-inline:calc(var(--spacing) * 3.5);box-shadow:none;background-color:var(--color-surface);border-radius:15px;grid-template-columns:36px 1fr 28px;padding-block:15px}.course-section .module:hover{border-color:#cbbdc1;transition:all .15s;transform:translateY(-1px)}.course-section .module-index{color:#776b70;font-size:16px}.course-section .module small{--tw-tracking:.1em;letter-spacing:.1em;color:#6b6064;font-size:9px}.course-section .module h3{color:#342d30;margin:4px 0;font-size:18px}.course-section .module p{--tw-leading:1.5;color:#5d5458;font-size:12px;line-height:1.5}.course-section .module-state{padding-top:calc(var(--spacing) * .5);color:#796e72;font-size:14px}.course-section .module.completed{background-color:#fbfdfb;border-color:#d6e0da}.course-section .module.completed .module-state{--tw-font-weight:var(--font-weight-extrabold);font-weight:var(--font-weight-extrabold);color:#52705d}.course-section .module.current{background-color:#fbf4f6;border-color:#d9bac4;box-shadow:0 8px 24px #7047550f}.course-section .module.current small{color:var(--color-accent)}.course-section .module.peak-current{background-color:#f9f6fa;border-color:#d8cbd3}.advanced-grid{gap:calc(var(--spacing) * 2.5);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.advanced-grid article{gap:calc(var(--spacing) * 3);padding:calc(var(--spacing) * 3.5);background-color:#fcfbfb;border:1px solid #dfd7d9;border-radius:15px;display:flex}.advanced-grid article>span{height:calc(var(--spacing) * 7.5);width:calc(var(--spacing) * 7.5);font-family:var(--font-display);color:#6d4b57;background-color:#f0e8eb;border-radius:50%;flex:0 0 30px;place-items:center;font-size:14px;display:grid}.advanced-grid h3{font-family:var(--font-display);--tw-font-weight:var(--font-weight-medium);font-size:17px;font-weight:var(--font-weight-medium);color:#352e31;margin:1px 0 4px}.advanced-grid p{--tw-leading:1.45;color:#5d5458;margin:0;font-size:11.5px;line-height:1.45}.lesson-action{margin-top:calc(var(--spacing) * 2.5)}@media (width<=980px){.learning-layout{grid-template-columns:1fr}.learning-sidebar{grid-template-columns:1fr 1fr;position:static}.learning-sidebar .progress-card{grid-column:1/-1}}@media (width<=720px){.eyebrow,.card-kicker{font-size:10.5px}.lead{font-size:13.5px}.muted{font-size:12.5px}.status-desc{font-size:13px}.phase-labels{font-size:8.5px}.pattern-day span,.pattern-day small{font-size:9.5px}.clinical-note p{font-size:11.5px}.learning-sidebar{grid-template-columns:1fr}.learning-sidebar .progress-card{grid-column:auto}.course-section{padding-inline:calc(var(--spacing) * 3.5);border-radius:18px;padding-block:17px}.course-section-head{display:block}.course-section-head>div{gap:9px}.course-section-head h2{font-size:20px}.section-progress{margin:10px 0 0 37px;display:inline-block}.course-section .module{padding-inline:calc(var(--spacing) * 2.5);grid-template-columns:30px 1fr 20px;padding-block:13px}.course-section .module h3{font-size:17px}.course-section .module p{font-size:11.5px}.advanced-grid{grid-template-columns:1fr}.fertility-table th,.fertility-table td{font-size:11.5px}}.peak-current{background:#faf8fb!important;border-color:#d8cbd3!important}.lesson-callout{padding-inline:calc(var(--spacing) * 4);background-color:#f7f1f3;border:1px solid #dfcbd1;border-radius:15px;margin:10px 0 18px;padding-block:15px}.lesson-callout strong{font-family:var(--font-display);--tw-leading:1.25;--tw-font-weight:var(--font-weight-medium);font-size:18px;line-height:1.25;font-weight:var(--font-weight-medium);color:#493a40;display:block}.lesson-callout p{--tw-leading:1.55;color:#5c5256;margin:7px 0 0;font-size:12.5px;line-height:1.55}.lesson-content{margin:4px 0 18px}.lesson-content h3{font-family:var(--font-display);--tw-font-weight:var(--font-weight-medium);font-size:18px;font-weight:var(--font-weight-medium);color:#3d3438;margin:15px 0 4px}.lesson-content p{--tw-leading:1.58;color:#5e5559;margin:0;font-size:12.5px;line-height:1.58}[hidden]{display:none!important}body{--tw-leading:1.55;line-height:1.55}button,a,input,textarea,select,summary{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible,.chart-scroll:focus-visible{outline-offset:3px;outline:3px solid #76515d}button:disabled{cursor:not-allowed;opacity:.6}input:disabled,textarea:disabled,select:disabled{color:var(--color-body);background-color:#eee9eb}button,input,select,textarea{min-height:calc(var(--spacing) * 11)}input,select,textarea{min-width:0;max-width:100%}input[type=checkbox]{height:calc(var(--spacing) * 5.5);min-height:calc(var(--spacing) * 5.5);width:calc(var(--spacing) * 5.5);accent-color:#76515d;flex:0 0 22px}fieldset{border:0;min-width:0;padding:0}select.text-input{width:100%}textarea::placeholder,input::placeholder{color:#6b6065;opacity:1}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{top:calc(var(--spacing) * 2.5);left:calc(var(--spacing) * 4);z-index:200;background-color:var(--color-surface);padding-inline:calc(var(--spacing) * 4.5);padding-block:calc(var(--spacing) * 3);color:#563841;border:2px solid #76515d;border-radius:8px;position:fixed;transform:translateY(-160%)}.skip-link:focus{transform:none}.main-content,.view,.panel,.cycle-card,.fertility-card,.learning-track{min-width:0}h1,h2,h3,p,dd,.status-line,.preserve-text{overflow-wrap:anywhere}h1,h2,h3{text-wrap:balance}.preserve-text{white-space:pre-wrap;word-break:normal}.lead,.muted,.status-desc,.modal-copy,.form-help,.lesson-content p{--tw-leading:1.65;font-size:15px;line-height:1.65}.eyebrow,.card-kicker{--tw-tracking:.1em;letter-spacing:.1em;font-size:11px}.brand-sub,.profile-copy span{font-size:12px}.profile-copy strong{font-size:14px}.profile-row{min-height:calc(var(--spacing) * 16)}.primary-button,.secondary-button,.text-link{--tw-leading:1.4;white-space:normal;overflow-wrap:anywhere;max-width:100%;font-size:14px;line-height:1.4}.topline>div,.panel-heading>div,.welcome-guide>div,.guide-replay>div{min-width:0}.topline>.secondary-button{flex-shrink:0}.text-link{min-height:calc(var(--spacing) * 11);text-align:start;align-items:center;display:inline-flex}.text-link:hover,a:hover{text-underline-offset:3px;text-decoration-line:underline}.status-line{--tw-leading:1.15;margin:15px 0 12px;font-size:31px;line-height:1.15}.status-desc{max-width:none}.card-title{font-family:var(--font-display);--tw-leading:1.2;--tw-font-weight:var(--font-weight-medium);font-size:27px;line-height:1.2;font-weight:var(--font-weight-medium);margin:15px 0 12px}.cycle-card small{margin-top:calc(var(--spacing) * 2.5);color:var(--color-muted);font-size:12px;display:block}.unrecorded{max-width:45%;color:var(--color-accent);text-align:center;font-size:12px}.pattern-strip{align-items:stretch;gap:calc(var(--spacing) * 2.5);scrollbar-width:thin;padding-block:calc(var(--spacing) * 4.5)}.pattern-strip::-webkit-scrollbar{height:calc(var(--spacing) * 1.5);display:block}.pattern-day{max-width:calc(var(--spacing) * 35);min-width:0;padding-inline:calc(var(--spacing) * 3);padding-block:calc(var(--spacing) * 3.5);text-align:start;color:var(--color-ink);flex:0 0 140px}.pattern-day strong{--tw-leading:1.3;-webkit-line-clamp:3;overflow-wrap:anywhere;-webkit-box-orient:vertical;min-height:49px;font-size:19px;line-height:1.3;display:-webkit-box;overflow:hidden}.pattern-day span,.pattern-day small{--tw-leading:1.4;font-size:12px;line-height:1.4}.pattern-day:hover{border-color:var(--color-rose)}.lesson-card h2,.lesson-card p{max-width:none}.reflection-card{background-color:#f8f2f4;background-image:none}.reflection-card p{font-size:15px}.mini-stat{align-items:flex-start}.mini-stat span{white-space:nowrap}.mini-stat small{padding-top:5px;font-size:13px}.chart-toolbar{align-items:flex-end;gap:calc(var(--spacing) * 5)}.panel.chart-panel{padding:0}.chart-toolbar>div{min-width:0}.segmented button{padding-inline:calc(var(--spacing) * 3);padding-block:calc(var(--spacing) * 2.5);font-size:13px}.chart-date{--tw-font-weight:650;white-space:nowrap;color:var(--color-accent);background-color:#0000;border:0;font-size:13px;font-weight:650}.fertility-table{table-layout:fixed;min-width:2000px}.fertility-table th,.fertility-table td{vertical-align:top;--tw-leading:1.5;overflow-wrap:anywhere;font-size:13px;line-height:1.5}.fertility-table th:first-child{width:calc(var(--spacing) * 40);min-width:calc(var(--spacing) * 40);font-size:13px}.fertility-table thead th{padding-inline:calc(var(--spacing) * 1.5);padding-block:calc(var(--spacing) * 2)}.fertility-table .empty-cell{color:#6e6267;background-color:#faf8f9;font-style:italic}.chart-legend{font-size:13px}.paths-grid{margin-top:calc(var(--spacing) * 4.5);gap:calc(var(--spacing) * 8);grid-template-columns:1fr 1fr}.paths-grid p{margin-block:calc(var(--spacing) * 2.5);--tw-leading:1.6;font-size:14px;line-height:1.6}.paths-grid strong{font-size:16px}.paths-grid>div{border:0;padding-left:0}.review-row{justify-content:space-between;align-items:center;gap:calc(var(--spacing) * 5);padding-block:calc(var(--spacing) * 4.5);border-top:1px solid var(--line);display:flex}.review-row h3{--tw-font-weight:var(--font-weight-semibold);font-size:17px;font-weight:var(--font-weight-semibold);margin:0}.review-row p{margin-block:5px;margin-inline:0}.review-row button{flex-shrink:0}.learning-layout{grid-template-columns:minmax(230px,.65fr) minmax(0,1.35fr)}.learning-sidebar .panel{padding:calc(var(--spacing) * 5.5)}.learning-sidebar p{font-size:14px}progress{height:calc(var(--spacing) * 2.5);width:100%;margin-top:calc(var(--spacing) * 4.5);appearance:none;background-color:var(--color-rose-soft);border:0;border-radius:8px;overflow:hidden}progress::-webkit-progress-bar{background-color:var(--color-rose-soft)}progress::-webkit-progress-value{background-color:var(--color-action)}progress::-moz-progress-bar{background-color:var(--color-action)}.course-section-head{align-items:center;gap:calc(var(--spacing) * 3.5)}.course-section-head h2{font-family:var(--font-display);--tw-font-weight:var(--font-weight-medium);font-size:25px;font-weight:var(--font-weight-medium);margin:0}.section-progress{white-space:normal;text-align:center;color:#3f5c49;flex-shrink:0;max-width:40%;font-size:12px}.course-section .lesson-button{gap:calc(var(--spacing) * 4);text-align:start;border:0;border-bottom:1px solid var(--line);width:100%;padding-inline:calc(var(--spacing) * .5);padding-block:calc(var(--spacing) * 4);background-color:#0000;border-radius:0;grid-template-columns:minmax(0,1fr) auto;align-items:center;display:grid}.course-section .module:last-child{border-bottom:0}.course-section .module:hover{background-color:#faf7f8;transform:none}.course-section .module.completed{border-color:var(--color-line);background-color:#0000}.course-section .module h3{font-family:var(--font-sans);--tw-leading:1.5;--tw-font-weight:var(--font-weight-medium);font-size:15px;line-height:1.5;font-weight:var(--font-weight-medium);margin:0}.course-section .module-state{white-space:nowrap;color:#5d5056;font-size:12px}.course-section .module.completed .module-state{color:#3f5c49}.course-section .module-list{gap:0}.vocab-list{grid-template-columns:1fr 1fr;gap:0 30px;display:grid}.vocabulary-entry{padding-inline:0;padding-block:calc(var(--spacing) * 4);border-top:1px solid var(--line);min-width:0}.vocabulary-entry p{margin-inline:0;margin-block:calc(var(--spacing) * 1.5);font-size:16px}.vocabulary-entry small{color:var(--color-muted);font-size:12px}.preference-panel{align-items:center;gap:calc(var(--spacing) * 8);grid-template-columns:1.2fr 1fr;display:grid}.preference-panel p{margin-bottom:0}.action-row{margin-top:calc(var(--spacing) * 4.5);gap:calc(var(--spacing) * 3);flex-wrap:wrap;display:flex}.danger-button{color:#873b4b;border-color:#ba8b94}.notice{padding-inline:calc(var(--spacing) * 5);padding-block:calc(var(--spacing) * 4.5);margin-bottom:calc(var(--spacing) * 6);color:#58422b;background-color:#fbf2e7;border:1px solid #c4aa8a;border-radius:12px;font-size:14px}.notice p{margin:0}dialog.modal{overscroll-behavior:contain;max-height:90dvh;margin:auto;scroll-padding-top:130px}body:has(dialog[open]){overflow:hidden}dialog.modal::backdrop{background:#2a232659}dialog[open]{animation:.16s ease-out dialog-in}@keyframes dialog-in{0%{opacity:.7;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.close-button{height:calc(var(--spacing) * 11);width:calc(var(--spacing) * 11);color:#5e5157;flex:0 0 44px}.modal-header{z-index:3;margin-bottom:calc(var(--spacing) * 3);background-color:var(--color-surface);padding-block:calc(var(--spacing) * 2);align-items:flex-start;position:sticky;top:-25px}.modal-header h2{--tw-leading:1.2;font-size:clamp(22px,4vw,29px);line-height:1.2}.form-label{--tw-leading:1.4;font-size:14px;line-height:1.4}.form-help{margin-block:8px 12px;font-size:13px}.form-section{margin-bottom:calc(var(--spacing) * 6)}.form-section textarea,.form-section select,.text-input{--tw-leading:1.45;outline:revert;font-size:16px;line-height:1.45}.form-section textarea{min-height:calc(var(--spacing) * 25)}.form-section select{margin-bottom:calc(var(--spacing) * 2)}.checkbox-row{margin-bottom:calc(var(--spacing) * 4.5);min-height:calc(var(--spacing) * 11);cursor:pointer;align-items:flex-start;gap:calc(var(--spacing) * 3);padding-block:calc(var(--spacing) * 2.5);font-size:14px;display:flex}.checkbox-row input{margin:0}.chip{min-height:calc(var(--spacing) * 11);padding-inline:calc(var(--spacing) * 3);padding-block:calc(var(--spacing) * 2);font-size:13px}.form-error{background-color:var(--color-danger-soft);color:var(--color-danger);padding-inline:calc(var(--spacing) * 3.5);padding-block:calc(var(--spacing) * 3);border:1px solid #c58b95;border-radius:10px;font-size:14px}.form-error .secondary-button{margin-top:calc(var(--spacing) * 2.5);display:block}.record-history{margin-bottom:calc(var(--spacing) * 4.5)}.record-history summary{min-height:calc(var(--spacing) * 11);cursor:pointer;padding-block:calc(var(--spacing) * 2.5);color:var(--color-accent);font-size:14px}.history-version{border-top:1px solid var(--line);padding-block:calc(var(--spacing) * 3);font-size:13px}.history-version p{margin-block:calc(var(--spacing) * 1.5);--tw-leading:1.6;line-height:1.6}.evidence-list{border-block:1px solid var(--line);padding-block:calc(var(--spacing) * 5);grid-template-columns:minmax(100px,.8fr) minmax(0,1.2fr);gap:10px 18px;font-size:14px;display:grid}.evidence-list dt{color:var(--color-muted)}.evidence-list dd{margin:0}.peak-days{grid-template-columns:1fr 1fr;align-items:stretch;display:grid}.peak-days>div:not(.peak-arrow){min-width:0;padding:calc(var(--spacing) * 4);text-align:start}.peak-days small{--tw-tracking:0;letter-spacing:0;font-size:12px}.peak-days p{margin:9px 0 0;font-size:13px}.spaced-link{margin-top:calc(var(--spacing) * 4.5)}.lesson-content p{color:var(--color-ink);margin:0 0 18px}.lesson-callout strong{font-family:var(--font-sans);--tw-font-weight:var(--font-weight-semibold);font-size:15px;font-weight:var(--font-weight-semibold)}.lesson-callout p{font-size:14px}.source-list{padding-left:calc(var(--spacing) * 5.5);--tw-leading:1.6;font-size:14px;line-height:1.6}.source-list a{color:var(--color-accent);padding-block:7px;display:inline-block}.lesson-modal>h3{margin-top:calc(var(--spacing) * 6.5);font-size:15px}.toast{--tw-leading:1.4;width:max-content;max-width:calc(100vw - 32px);padding-inline:calc(var(--spacing) * 4.5);padding-block:calc(var(--spacing) * 3);text-align:center;border-radius:12px;font-size:14px;line-height:1.4}.view.active-view{animation:none}@media (width<=1100px){.learning-layout{grid-template-columns:1fr}.learning-sidebar{grid-template-columns:1fr 1fr;position:static}.preference-panel{gap:calc(var(--spacing) * 4.5);grid-template-columns:1fr}}@media (width<=980px){.status-grid,.two-col{grid-template-columns:1fr}.main-content{padding-left:calc(var(--spacing) * 6);padding-right:max(24px,env(safe-area-inset-right))}.topline{flex-wrap:wrap}.topline>div{flex-basis:100%}.panel-heading,.chart-toolbar{flex-wrap:wrap}.insight-grid{gap:calc(var(--spacing) * 3);grid-template-columns:1fr}.insight-grid .panel{grid-template-columns:minmax(0,1fr) auto;gap:8px 20px;margin:0;display:grid}.insight-grid .big-number{grid-area:1/2/span 2;align-self:center;margin:0}.insight-grid .muted{margin:0}.insight-grid{margin-bottom:calc(var(--spacing) * 4.5)}}@media (width<=720px){.main-content{padding:86px max(16px,env(safe-area-inset-right)) calc(112px + env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))}.mobile-header .secondary-button{max-width:55%;padding-inline:calc(var(--spacing) * 2.5);padding-block:calc(var(--spacing) * 2);margin:0;font-size:12px}.bottom-nav{height:calc(var(--spacing) * 20.5);padding-bottom:max(10px,env(safe-area-inset-bottom));background-color:var(--color-surface)}.bottom-nav button small{color:#66535b;font-size:11px}.bottom-nav button{color:#66535b}.lead,.muted,.status-desc,.modal-copy{font-size:15px}.topline{gap:calc(var(--spacing) * 4);flex-wrap:wrap}.topline h1{--tw-leading:1.1;font-size:34px;line-height:1.1}.status-line{font-size:29px}.learning-sidebar,.paths-grid,.vocab-list{grid-template-columns:1fr}.course-section-head{align-items:flex-start;display:flex}.course-section-head h2{font-size:23px}.section-progress{margin:0}.panel-heading{flex-wrap:wrap}.unrecorded{max-width:100%}.recent-panel .pattern-strip{margin-right:0;padding-right:0}.chart-toolbar{align-items:flex-start;display:grid}.segmented{flex-wrap:wrap;width:max-content;max-width:100%}.fertility-table th:first-child{width:calc(var(--spacing) * 30);min-width:calc(var(--spacing) * 30);font-size:12px}.review-row{align-items:flex-start;gap:calc(var(--spacing) * 2.5);flex-direction:column}dialog.modal.sheet,dialog.modal.compact-modal,dialog.modal.lesson-modal{width:100%;max-width:100%;max-height:calc(100dvh - max(16px,env(safe-area-inset-top)));padding:16px max(20px,env(safe-area-inset-right)) calc(24px + env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left));border-radius:22px 22px 0 0;margin:auto 0 0}.modal-header{top:calc(var(--spacing) * -4)}.peak-days,.two-fields{grid-template-columns:1fr}.toast{bottom:calc(96px + env(safe-area-inset-bottom))}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.relation-section{border:1px solid var(--line);padding-inline:calc(var(--spacing) * 4.5);padding-block:calc(var(--spacing) * 4);background-color:#fcf8f9;border-radius:16px}.relation-section legend{padding-inline:calc(var(--spacing) * 1.5)}.relation-option{border-bottom:1px solid var(--line);margin-bottom:calc(var(--spacing) * 2);padding-block:8px 12px}.relation-option .checkbox-row{padding-block:calc(var(--spacing) * 2);align-items:center;margin:0}.relation-option input[type=time]{max-width:calc(var(--spacing) * 45);background-color:var(--color-surface)}.relation-option .form-label{margin-top:calc(var(--spacing) * 3)}.relation-section>button{margin-top:calc(var(--spacing) * 2.5)}#relationHistory summary{min-height:calc(var(--spacing) * 11);cursor:pointer;padding-block:calc(var(--spacing) * 2.5);color:var(--color-accent);font-size:14px}#relationHistory p{--tw-leading:1.65;color:var(--color-muted);border-top:1px solid var(--line);padding-top:calc(var(--spacing) * 2);font-size:12px;line-height:1.65}.relation-context{--tw-leading:1.65;padding-inline:calc(var(--spacing) * 4);padding-block:calc(var(--spacing) * 3.5);color:var(--color-accent);background-color:#f8eff2;border-radius:12px;font-size:14px;line-height:1.65}.ui-icon{height:calc(var(--spacing) * 6);width:calc(var(--spacing) * 6);flex:0 0 24px;display:block}.nav-icon{place-items:center;display:grid}.profile-row .ui-icon{height:calc(var(--spacing) * 5);width:calc(var(--spacing) * 5)}.icon-kicker{align-items:center;gap:9px;display:flex}.icon-kicker .ui-icon{height:calc(var(--spacing) * 5);width:calc(var(--spacing) * 5);flex-basis:calc(var(--spacing) * 5);color:#845766}.mobile-brand-icon{color:var(--color-rose)}.mobile-brand-icon .ui-icon{height:calc(var(--spacing) * 8);width:calc(var(--spacing) * 8)}.header-settings{border:1px solid var(--line);height:calc(var(--spacing) * 11);width:calc(var(--spacing) * 11);color:var(--color-accent);background-color:#fbf8f9;border-radius:14px;place-items:center;display:grid}.welcome-guide,.guide-replay{align-items:flex-start;gap:calc(var(--spacing) * 4.5);display:flex}.welcome-guide{margin-bottom:calc(var(--spacing) * 6);padding-inline:0;padding-block:calc(var(--spacing) * 5.5);border-block:1px solid #ded6d0}.welcome-guide h2{font-family:var(--font-display);--tw-font-weight:var(--font-weight-medium);font-size:25px;font-weight:var(--font-weight-medium);--tw-leading:1.2;margin:0 0 5px;line-height:1.2}.welcome-guide p{color:var(--color-muted);margin:0;font-size:14px}.guide-icon{height:calc(var(--spacing) * 12);width:calc(var(--spacing) * 12);color:#526c5b;background-color:#e9efe9;border-radius:16px;flex:0 0 48px;place-items:center;display:grid}.guide-icon .ui-icon{height:calc(var(--spacing) * 7);width:calc(var(--spacing) * 7)}.guide-link{align-items:center;gap:calc(var(--spacing) * 2.5);flex-shrink:0;display:flex}.guide-link .ui-icon{height:calc(var(--spacing) * 5);width:calc(var(--spacing) * 5)}.intro-toolbar{margin-bottom:calc(var(--spacing) * 7.5);justify-content:space-between;align-items:center;gap:calc(var(--spacing) * 4);display:flex}.intro-toolbar .text-link{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);text-underline-offset:4px;text-decoration-line:underline}.intro-layout{margin-inline:auto;margin-block:calc(var(--spacing) * 6);align-items:flex-start;gap:calc(var(--spacing) * 13);grid-template-columns:.75fr 1.25fr;max-width:1000px;display:grid}.intro-art{isolation:isolate;margin-top:calc(var(--spacing) * 11.5);height:calc(var(--spacing) * 90);color:var(--color-rose);background-color:#f5eeeb;border-radius:160px 160px 24px 24px;place-items:center;display:grid;position:relative}.intro-art-orbit{inset:calc(var(--spacing) * 7.5);border:1px solid #d8bfc4;border-radius:150px 150px 110px 110px;position:absolute}#introArtIcon>.ui-icon{height:calc(var(--spacing) * 32);width:calc(var(--spacing) * 32);stroke-width:.85px}.intro-art-leaf,.intro-art-book{height:calc(var(--spacing) * 16.5);width:calc(var(--spacing) * 16.5);background-color:#f9f8f3;border:1px solid #ded6d0;border-radius:18px;place-items:center;display:grid;position:absolute}.intro-art-leaf{top:calc(var(--spacing) * 9.5);left:calc(var(--spacing) * 2);color:var(--color-sage);transform:rotate(-12deg)}.intro-art-book{right:calc(var(--spacing) * -2.5);bottom:calc(var(--spacing) * 10);color:#845766;transform:rotate(9deg)}.intro-art-leaf .ui-icon,.intro-art-book .ui-icon{height:calc(var(--spacing) * 8.5);width:calc(var(--spacing) * 8.5);stroke-width:1.2px}.intro-step{--tw-font-weight:var(--font-weight-semibold);font-size:13px;font-weight:var(--font-weight-semibold);color:var(--color-accent);margin:0 0 16px}.intro-copy h1{font-family:var(--font-display);--tw-leading:1.1;--tw-font-weight:var(--font-weight-medium);font-size:42px;line-height:1.1;font-weight:var(--font-weight-medium);--tw-tracking:-.025em;letter-spacing:-.025em;margin:0 0 20px}.intro-copy .lead{--tw-leading:1.65;max-width:65ch;font-size:16px;line-height:1.65}#introDetail{margin-top:calc(var(--spacing) * 6)}#introDetail h2{margin:0 0 8px;font-size:16px}#introDetail p{--tw-leading:1.65;color:var(--color-muted);margin:0;font-size:15px;line-height:1.65}.intro-footnote{--tw-leading:1.65;color:var(--color-body);border-top:1px solid var(--line);margin-inline:0;margin-block:calc(var(--spacing) * 6);padding-top:calc(var(--spacing) * 4.5);font-size:13px;line-height:1.65}.intro-controls{justify-content:flex-end;gap:calc(var(--spacing) * 3);display:flex}.intro-controls .primary-button{min-height:calc(var(--spacing) * 12.5);max-width:calc(var(--spacing) * 80);flex:1}.intro-controls .secondary-button{min-width:calc(var(--spacing) * 22.5)}.intro-progress{margin-inline:0;margin-block:calc(var(--spacing) * 5);justify-content:center;gap:7px;display:flex}.intro-progress span{height:var(--spacing);width:calc(var(--spacing) * 7);background-color:#e2dadd;border-radius:4px}.intro-progress span.filled{background-color:#845766}#introDetail .example-label{margin-bottom:calc(var(--spacing) * 2.5);color:var(--color-accent);font-size:12px}.intro-example{padding-inline:calc(var(--spacing) * 5);padding-block:calc(var(--spacing) * 4.5);background-color:#f3f6f2;border:1px solid #d4ddd2;border-radius:15px;margin:0}.intro-example dt{--tw-font-weight:650;margin-bottom:var(--spacing);color:#4f6655;font-size:12px;font-weight:650}.intro-example dd{font-family:var(--font-display);color:#344d3c;margin:0 0 18px;font-size:21px}.intro-example dd:last-child{margin-bottom:0}.intro-routine{gap:calc(var(--spacing) * 4.5);margin:0;padding:0;list-style-type:none;display:grid}.intro-routine li{align-items:flex-start;gap:calc(var(--spacing) * 3.5);display:flex}.intro-routine .ui-icon{color:#845766;margin-top:3px}.intro-routine strong{font-size:15px}#introDetail .intro-routine p{margin-top:3px;font-size:14px}@media (width<=1100px){.intro-layout{gap:calc(var(--spacing) * 8);grid-template-columns:.6fr 1fr}.intro-copy h1{font-size:36px}.intro-art{height:calc(var(--spacing) * 75)}.guide-link{flex-shrink:1}}@media (width<=720px){.mobile-header{background-color:var(--color-surface);height:calc(68px + env(safe-area-inset-top));padding:calc(10px + env(safe-area-inset-top)) max(20px,env(safe-area-inset-right)) 10px max(20px,env(safe-area-inset-left))}.mobile-header .brand{gap:calc(var(--spacing) * 2)}.mobile-header .brand-name{font-size:16px}.main-content{padding-top:calc(92px + env(safe-area-inset-top))}.bottom-nav{height:calc(86px + env(safe-area-inset-bottom));padding:8px max(7px,env(safe-area-inset-right)) calc(10px + env(safe-area-inset-bottom)) max(7px,env(safe-area-inset-left));border-top-color:#ded3d7;box-shadow:0 -4px 20px #3d303409}.bottom-nav button{gap:var(--spacing);min-width:0}.bottom-nav button>span{height:calc(var(--spacing) * 8);width:calc(var(--spacing) * 11.5);border-radius:12px;place-items:center;display:grid}.bottom-nav .ui-icon{stroke-width:1.7px;width:23px;height:23px}.bottom-nav button.active>span{background-color:var(--color-rose-soft);color:var(--color-accent)}.bottom-nav button small{--tw-leading:1.2;font-size:11px;line-height:1.2}.bottom-nav .record-fab>span{margin-top:calc(var(--spacing) * -4);height:calc(var(--spacing) * 12);width:calc(var(--spacing) * 12);background-color:var(--color-action);border-radius:17px;box-shadow:0 4px 10px #76515d29}.bottom-nav .record-fab .ui-icon{width:25px;height:25px}.observation-panel{background-color:#fffdfd;border-color:#d9bfc8}.welcome-guide{margin-bottom:calc(var(--spacing) * 5);gap:calc(var(--spacing) * 3.5);padding-inline:0;padding-block:calc(var(--spacing) * 4.5)}.welcome-guide h2{font-size:23px}.guide-icon{height:calc(var(--spacing) * 10.5);width:calc(var(--spacing) * 10.5);flex-basis:calc(var(--spacing) * 10.5);border-radius:13px}.guide-replay{gap:calc(var(--spacing) * 3)}.guide-replay h2{margin-top:0}.intro-toolbar{margin-bottom:calc(var(--spacing) * 2);align-items:flex-start;gap:calc(var(--spacing) * 4.5)}.intro-toolbar .eyebrow{max-width:45%;padding-top:calc(var(--spacing) * 2.5)}.intro-toolbar .text-link{min-height:calc(var(--spacing) * 11);text-align:right;justify-content:flex-end;max-width:52%;font-size:12px}.intro-layout{gap:calc(var(--spacing) * 5);flex-direction:column;margin:0;display:flex}.intro-art{height:calc(var(--spacing) * 33);width:calc(var(--spacing) * 44);border-radius:90px 90px 28px 28px;align-self:center;margin:0}.intro-art-orbit{inset:calc(var(--spacing) * 3);border-radius:80px 80px 40px 40px}#introArtIcon>.ui-icon{height:calc(var(--spacing) * 19);width:calc(var(--spacing) * 19);stroke-width:1px}.intro-art-leaf,.intro-art-book{height:calc(var(--spacing) * 10);width:calc(var(--spacing) * 10);border-radius:12px}.intro-art-leaf{top:calc(var(--spacing) * 4);left:calc(var(--spacing) * -3)}.intro-art-book{right:calc(var(--spacing) * -3);bottom:calc(var(--spacing) * 3)}.intro-art-leaf .ui-icon,.intro-art-book .ui-icon{height:calc(var(--spacing) * 6);width:calc(var(--spacing) * 6)}.intro-copy{width:100%}.intro-copy h1{margin-bottom:calc(var(--spacing) * 4);--tw-leading:1.12;font-size:34px;line-height:1.12}.intro-copy .lead{font-size:15px}.intro-step{margin-bottom:calc(var(--spacing) * 3)}#introDetail{margin-top:calc(var(--spacing) * 5)}.intro-footnote{margin-block:calc(var(--spacing) * 5);font-size:12.5px}.intro-controls .primary-button{max-width:none}}@media (width>=721px) and (width<=980px){.intro-layout{gap:calc(var(--spacing) * 6);grid-template-columns:minmax(0,1fr)}.intro-art{height:calc(var(--spacing) * 45);width:calc(var(--spacing) * 55);border-radius:110px 110px 28px 28px;margin-block:0;margin-inline:auto}.intro-art-orbit{inset:calc(var(--spacing) * 4.5)}#introArtIcon>.ui-icon{height:calc(var(--spacing) * 24);width:calc(var(--spacing) * 24)}.intro-art-leaf,.intro-art-book{height:calc(var(--spacing) * 12);width:calc(var(--spacing) * 12)}.intro-art-leaf{top:calc(var(--spacing) * 6);left:calc(var(--spacing) * -2)}.intro-art-book{right:calc(var(--spacing) * -2);bottom:calc(var(--spacing) * 5)}}@media (height<=500px) and (width>=721px){.sidebar{padding-top:max(16px,env(safe-area-inset-top));padding-bottom:max(16px,env(safe-area-inset-bottom))}.nav-list,.sidebar-note{margin-top:calc(var(--spacing) * 5)}}.auth-page{background-color:var(--color-canvas);min-height:100vh}.auth-header{max-width:1080px;padding:calc(28px + env(safe-area-inset-top)) max(24px,env(safe-area-inset-right)) 28px max(24px,env(safe-area-inset-left));justify-content:space-between;align-items:center;gap:calc(var(--spacing) * 5);border-bottom:1px solid var(--line);margin:auto;display:flex}.auth-header a{color:var(--color-ink);text-decoration-line:none}.auth-header .brand-name span{margin-top:var(--spacing);--tw-font-weight:var(--font-weight-normal);font-size:11px;font-weight:var(--font-weight-normal);color:var(--color-muted);display:block}.auth-header select{min-height:calc(var(--spacing) * 11);width:auto;max-width:calc(var(--spacing) * 37.5);background-color:var(--color-surface);border:1px solid var(--line);padding-inline:calc(var(--spacing) * 3);padding-block:calc(var(--spacing) * 2);color:var(--color-ink);border-radius:12px}.auth-main{padding:64px max(24px,env(safe-area-inset-right)) calc(48px + env(safe-area-inset-bottom)) max(24px,env(safe-area-inset-left))}.auth-main h1{font-family:var(--font-display);--tw-leading:1.12;margin-inline:0;margin-block:calc(var(--spacing) * 4);--tw-font-weight:var(--font-weight-medium);font-size:42px;line-height:1.12;font-weight:var(--font-weight-medium);--tw-tracking:-.025em;letter-spacing:-.025em}.auth-main .lead{margin-bottom:calc(var(--spacing) * 8)}.auth-form input{min-height:calc(var(--spacing) * 12);background-color:var(--color-surface)}.auth-form button{min-height:calc(var(--spacing) * 12.5)}.password-field input{padding-inline-end:56px}.password-field input::-ms-reveal{display:none}.auth-form .password-toggle{min-height:calc(var(--spacing) * 11);width:calc(var(--spacing) * 11);padding:calc(var(--spacing) * 2.5);color:var(--color-muted);inset-inline-end:2px;background-color:#0000;border:0;border-radius:10px;place-items:center;display:grid;position:absolute;top:50%;transform:translateY(-50%)}.password-toggle:hover{background-color:var(--color-rose-soft);color:var(--color-rose)}.password-toggle:active{background-color:var(--color-line)}.password-toggle:focus-visible{outline:2px solid var(--rose);outline-offset:1px}.password-toggle .ui-icon{height:calc(var(--spacing) * 5.5);width:calc(var(--spacing) * 5.5)}.auth-main>.text-link{margin-top:calc(var(--spacing) * 6);display:inline-block}.auth-footnote{border-top:1px solid var(--line);margin-top:calc(var(--spacing) * 9);padding-top:calc(var(--spacing) * 5);color:var(--color-muted);--tw-leading:1.6;font-size:13px;line-height:1.6}.account-actions{align-items:center;gap:calc(var(--spacing) * 3);flex-wrap:wrap;display:flex}.account-actions a{min-height:calc(var(--spacing) * 11);color:var(--color-accent);align-items:center;display:inline-flex}.cloud-import{margin-top:calc(var(--spacing) * 6)}.cloud-import input{margin-block:calc(var(--spacing) * 3);max-width:100%}.cloud-import input::file-selector-button{min-height:calc(var(--spacing) * 11);padding-inline:calc(var(--spacing) * 3);padding-block:calc(var(--spacing) * 2);border:1px solid var(--line);background-color:var(--color-surface);color:var(--color-ink);font:inherit;cursor:pointer;border-radius:10px;margin-inline-end:8px}@media (width<=480px){.auth-main{padding-top:calc(var(--spacing) * 10)}.auth-main h1{font-size:36px}.auth-header{padding:calc(20px + env(safe-area-inset-top)) max(20px,env(safe-area-inset-right)) 20px max(20px,env(safe-area-inset-left));gap:calc(var(--spacing) * 3);flex-wrap:wrap}}}@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.fixed{position:fixed}.relative{position:relative}.container{width:100%}@media (width>=480px){.container{max-width:480px}}@media (width>=720px){.container{max-width:720px}}@media (width>=980px){.container{max-width:980px}}@media (width>=1100px){.container{max-width:1100px}}@media (width>=96rem){.container{max-width:96rem}}.mx-auto{margin-inline:auto}.my-0{margin-block:0}.block{display:block}.grid{display:grid}.hidden{display:none}.table{display:table}.w-full{width:100%}.max-w-\[460px\]{max-width:460px}.gap-5{gap:calc(var(--spacing) * 5)}}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-leading{syntax:"*";inherits:false}
