@font-face{font-family:'Inter';font-style:normal;font-weight:400 700;font-display:optional;src:url('../fonts/inter-latin.woff2') format('woff2')}
@font-face{font-family:'Poppins';font-style:normal;font-weight:400;font-display:optional;src:url('../fonts/poppins-400-latin.woff2') format('woff2')}
@font-face{font-family:'Poppins';font-style:normal;font-weight:500;font-display:optional;src:url('../fonts/poppins-500-latin.woff2') format('woff2')}
@font-face{font-family:'Poppins';font-style:normal;font-weight:600;font-display:optional;src:url('../fonts/poppins-600-latin.woff2') format('woff2')}
@font-face{font-family:'Poppins';font-style:normal;font-weight:700;font-display:optional;src:url('../fonts/poppins-700-latin.woff2') format('woff2')}
:root{--cream:#FAF9F6;--peach:#FF8A73;--terracotta:#E07A5F;--sage:#81B29A;--soft-rose:#FFF1F2;--ink:#373f39;--muted:#70756f;--line:#e9e9e1;--title:'Poppins',sans-serif;--body:'Inter',sans-serif}

*{box-sizing:border-box}
body{margin:0;background:#efefe8;color:var(--ink);font:14px/1.65 var(--body);-webkit-font-smoothing:antialiased}
button,input{font:inherit}
button,a{-webkit-tap-highlight-color:transparent}
button{cursor:pointer}
button{color:inherit}
button:disabled{cursor:not-allowed;opacity:.5}
a{color:inherit}
button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #536e5d;outline-offset:4px}
button{border:0;background:none}
h1,h2,h3,p{margin:0}
h1,h2,h3{font-family:var(--title);line-height:1.4}
h1{font-size:25px;letter-spacing:-.9px;font-weight:600}
h2{font-size:16px;font-weight:600;letter-spacing:-.35px}
h3{font-size:14px}
strong{font-weight:600}
small{font-size:11px}
svg.lucide{width:21px;height:21px;stroke-width:1.7}
[hidden]{display:none!important}
.full{width:100%}
.small{font-size:11px}
.muted{color:var(--muted)}
.eyebrow{font-size:9px;letter-spacing:1.7px;font-weight:600;color:#626d5d}
.app-shell{max-width:448px;margin:auto;background:var(--cream);min-height:100svh;box-shadow:0 0 90px #68735a12}
.app-header{height:87px;display:flex;align-items:center;justify-content:space-between;padding:12px 25px;border-bottom:1px solid var(--line);gap:12px}
.brand{display:flex;gap:10px;align-items:center;text-decoration:none;font:600 21px/1.25 var(--title);letter-spacing:-.7px}
.brand img{object-fit:contain;border-radius:10px}
.brand-sub{display:block;font:9px/1.7 var(--body);color:var(--muted);letter-spacing:.1px;margin-top:3px}
.icon-button{display:grid;place-items:center;min-width:44px;min-height:44px;border-radius:50%;font-size:25px;background:#fff;border:1px solid var(--line);flex-shrink:0}
.icon-button:hover{background:#f0f3eb}
main{padding:24px 24px 110px;outline:none}
.greeting-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:25px;gap:10px}
.greeting-row h1{margin:7px 0 4px}
.greeting-row .muted{font-size:11px}
.trimester{font-size:11px;font-weight:600;background:#e8ede3;color:#54715a;border:1px solid #dbe5d5;min-width:38px;text-align:center;padding:6px 10px;border-radius:12px;align-self:center}
.hero{background:#fce7de;border:1px solid #f2dbd1;border-radius:27px;padding:22px 22px 15px;text-align:center;overflow:hidden;position:relative}
.hero-top{display:flex;align-items:center;justify-content:space-between;gap:8px}
.hero-top .eyebrow{color:#805642;font-size:8px;letter-spacing:1.25px}
.pill{display:inline-flex;align-items:center;gap:5px;border-radius:20px;font-size:9px;line-height:1.5;padding:5px 9px;white-space:nowrap;font-weight:500}
.pill.light{background:#fff8f0;color:#7c5843}
.live-dot{height:5px;width:5px;border-radius:50%;background:#819868}
.gestation{font:600 32px/1.3 var(--title);letter-spacing:-1.2px;margin:17px 0 4px;color:#564337}
.hero-caption{color:#795846;font-size:11px}
.baby-visual{height:180px;position:relative;display:grid;place-items:center;margin:0 auto;max-width:275px}
.fruit{font-size:99px;line-height:1;filter:drop-shadow(0 14px 15px #c4775426);transform:rotate(-12deg);z-index:1}
.orbit{position:absolute;top:15px;left:50%;transform:translateX(-50%);height:155px;width:155px;border:1px solid #d9b5a469;border-radius:50%}
.orbit-two{width:191px;height:191px;top:-3px;border-style:dashed;opacity:.5}
.spark{position:absolute;color:#b18d6e;font-size:19px}
.spark-one{left:26px;top:30px}
.spark-two{right:33px;bottom:43px}
.tiny-heart{position:absolute;right:28px;top:26px;font-size:29px;color:#cf957c;transform:rotate(12deg)}
.baby-comparison{color:#765643;font-size:12px}
.baby-comparison strong{color:#614d3c}
.baby-stats{display:flex;justify-content:center;gap:24px;align-items:center;margin:16px auto 20px}
.baby-stats div{min-width:72px}
.baby-stats span:not(.stat-divider){display:block;font:600 19px var(--title);letter-spacing:-.6px;color:#654f3d}
.baby-stats small{display:block;font-size:9px;color:#795846}
.stat-divider{height:29px;width:1px;background:#dbb6a67d}
.progress-label{display:flex;justify-content:space-between;font-size:8px;gap:8px;color:#73513c}
.progress-label strong{font-size:10px}
progress{display:block;width:100%;height:5px;margin:7px 0 8px;appearance:none;border:0;border-radius:10px;overflow:hidden;background:#efd0c0}
progress::-webkit-progress-bar{background:#efd0c0;border-radius:10px}
progress::-webkit-progress-value{background:#ba8064;border-radius:10px;transition:width .4s}
progress::-moz-progress-bar{background:#ba8064;border-radius:10px}
.hero-footnote{font-size:10px;color:#795846}
.due-card{background:#fff;border:1px solid var(--line);border-radius:18px;display:flex;align-items:center;gap:12px;margin-top:15px;padding:16px}
.icon-tile{display:grid;place-items:center;border-radius:12px;background:#edf2e8;color:#6a8460;width:41px;height:43px;flex-shrink:0}
.due-card .muted{font-size:9px}
.due-card strong{font:500 12px var(--title)}
.countdown{margin-left:auto;text-align:center;border-left:1px solid var(--line);padding-left:15px}
.countdown strong{display:block;font-size:22px;line-height:1.15;color:#915b42}
.countdown span{font-size:8px;color:var(--muted)}
.birth-window{margin:10px 3px 22px;font-size:9px;color:#626c5b;line-height:1.6}
.section-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:24px 0 12px}
.section-heading h2{font-size:13px}
.text-button{color:#896149;font-size:10px;font-weight:600;min-height:44px;padding:0 3px}
.text-button:hover{text-decoration:underline}
.appointment{padding:16px;background:#fff;border:1px solid var(--line);border-radius:17px;display:flex;align-items:flex-start;gap:13px;text-align:left}
.appointment-icon{min-width:39px;height:41px;border:1px solid #e3e9dc;background:#f2f5ed;color:#798c66;border-radius:13px;display:grid;place-items:center}
.appointment-body{flex:1;min-width:0}
.appointment h3{font-size:11px;margin:0 0 4px}
.appointment p{font-size:9px;color:var(--muted)}
.appointment .pill{margin-top:8px}
.status-next{background:#f3f1eb;color:#756650}
.status-current{background:#e8efe0;color:#587049}
.status-past{background:#eceeeb;color:#68716a}
.tool-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.tool-card{background:#fff;border:1px solid var(--line);border-radius:19px;padding:16px;text-align:left;position:relative;min-height:137px;transition:transform .2s,box-shadow .2s}
.tool-card:hover{transform:translateY(-2px);box-shadow:0 5px 20px #4b3c2110}
.tool-symbol{width:41px;height:41px;border-radius:13px;display:grid;place-items:center;flex-shrink:0;font-size:21px}
.rose{background:#fcecee;color:#b77b84}
.sage{background:#eaf0e4;color:#72895d}
.peach{background:#fff0df;color:#b08959}
.tool-card strong{display:block;margin:12px 0 3px;font-size:11px}
.tool-card small{display:block;font-size:9px;color:var(--muted)}
.tool-arrow{position:absolute;right:15px;top:16px;color:#9a9c90}
.bag-banner{display:flex;align-items:center;gap:12px;width:100%;text-align:left;background:#f5f1e6;border:1px solid #eae4d4;border-radius:17px;padding:13px 15px;margin-top:13px}
.bag-banner span:last-child{margin-left:auto}
.bag-banner strong{display:block;font-size:11px}
.bag-banner small{display:block;font-size:9px;color:#71674e;margin-top:3px}
.birth-button{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:48px;margin-top:24px;border:1px dashed #d9c9bb;border-radius:15px;font-size:11px;color:#765640}
.birth-button span{font-size:20px}
.page-footer{font-size:9px;text-align:center;color:#70766a;line-height:1.8;margin:25px 0 0}
.page-footer>span{font-size:16px;margin-right:4px}
.bottom-nav{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:100%;max-width:448px;display:grid;grid-template-columns:repeat(4,1fr);padding:9px 12px calc(11px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:#fffdf9f5;backdrop-filter:blur(12px);z-index:5}
.bottom-nav button{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:5px;color:#6d7566;min-height:49px;font-size:9px;border-radius:14px}
.bottom-nav button[aria-current]{color:#7d5837;background:#f7f0e5}
.bottom-nav svg{width:20px;height:20px}
.view{animation:appear .3s ease}
.view>.eyebrow{margin-bottom:7px}
.intro{font-size:12px;color:var(--muted);margin:12px 0 23px}
.note-card{background:#edf2e7;padding:18px;border-radius:18px;font-size:11px;margin:20px 0;color:#57654d;border:1px solid #e3eadb}
.note-card h2{margin-bottom:8px}
.note-card p+p{margin-top:10px}
.timeline{margin:24px 0;display:grid;gap:12px;border-left:1px solid #d8e0ce;padding-left:15px}
.timeline .appointment{position:relative}
.timeline .appointment:before{content:'';position:absolute;width:7px;height:7px;background:#8ca477;border-radius:50%;left:-20px;top:22px;border:2px solid var(--cream)}
.source-link{display:inline-block;margin-top:12px;color:#5b775d;font-size:10px;text-decoration:underline;text-underline-offset:3px}
.wide-tool{width:100%;display:flex;align-items:center;gap:14px;background:#fff;padding:20px 15px;border:1px solid var(--line);border-radius:19px;text-align:left;margin-bottom:13px}
.wide-tool>span:last-child{margin-left:auto}
.wide-tool strong,.wide-tool small{display:block}
.wide-tool strong{font-size:12px}
.wide-tool small{font-size:10px;color:var(--muted);margin-top:5px}
.guide-card{padding:22px 0;border-bottom:1px solid var(--line)}
.guide-label{font-size:9px;letter-spacing:1.2px;color:#776249;font-weight:600}
.guide-card h2{margin:9px 0 10px;font-size:17px}
.guide-card p{font-size:12px;color:#687062}
.guide-card p+p{margin-top:12px}
.water-guide{background:#eef2f1;padding:21px;border-radius:20px;margin-top:18px;border:0}
.newborn-art{font-size:95px;margin:18px 0}
.postnatal-hero h2{font-size:27px}
.postnatal-hero .gestation{font-size:22px}
.postnatal-hero>p:last-child{font-size:10px;color:#795846;margin:10px 0}
.preview-note{background:#f5eddf;border-radius:10px;padding:8px 12px;color:#745436;font-size:10px;margin-bottom:16px}
.preview-note button{text-decoration:underline;font-weight:600}

dialog{border:1px solid #e8e4da;border-radius:27px;padding:25px;width:calc(100% - 28px);max-width:420px;background:var(--cream);color:var(--ink);max-height:calc(100svh - 32px);overflow:auto;box-shadow:0 24px 100px #26372129;scrollbar-width:thin}
dialog::backdrop{background:#343c3466;backdrop-filter:blur(5px)}
dialog h2{font-size:23px;letter-spacing:-.8px}
dialog>p.muted{font-size:12px;margin:10px 0 23px}
.dialog-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;gap:12px}
.dialog-head .icon-button{background:transparent;border:0;min-width:38px;min-height:38px}
.welcome-symbol{font-size:43px;margin:6px 0 12px}
form label{display:block;font-size:11px;font-weight:500;margin:16px 0 0}
input:not([type=radio]):not([type=checkbox]){display:block;width:100%;min-height:47px;border-radius:12px;border:1px solid #dddfd5;background:#fff;padding:11px 12px;margin-top:7px;color:var(--ink);font-size:14px;max-width:100%;min-width:0}
fieldset{border:0;margin:18px 0 0;padding:0}
legend{font-size:11px;font-weight:500}
form .radio-option{display:flex;align-items:center;gap:9px;margin:9px 0;border:1px solid var(--line);background:#fff;border-radius:11px;padding:12px;font-weight:400}
.radio-option input{accent-color:#977459;width:17px;height:17px;margin:0}
.privacy-note{display:flex;align-items:flex-start;gap:8px;margin:20px 0;font-size:9px;color:#657055}
.privacy-note svg{width:15px;height:15px;flex-shrink:0}
.primary,.secondary{min-height:47px;border-radius:13px;padding:12px 17px;font-size:12px;font-weight:600}
.primary{background:#526b50;color:#fff;box-shadow:0 4px 12px #536b4c17}
.primary:hover{background:#435b41}
.secondary{background:#fff;border:1px solid #daddce}
.primary>span{margin-left:12px}
.danger-button{min-height:44px;color:#a45142;font-size:11px;margin-top:12px}
.dialog-actions{display:grid;gap:10px;margin-top:20px}
.form-error{font-size:11px;color:#a33f35;margin:12px 0}
.sheet{margin:auto auto 12px;border-radius:26px 26px 19px 19px}
.sheet h2{font-size:21px;margin:10px 0}
.tool-intro{font-size:12px;color:var(--muted);margin:8px 0 20px}
.tool-counter{text-align:center;background:#fcece5;border:1px solid #f0ded3;border-radius:21px;margin:20px 0;padding:23px}
.tool-counter output{display:block;font:600 43px/1.4 var(--title);color:#785c43}
.tool-counter p{font-size:11px;color:#74533b}
.counter-actions{display:grid;gap:10px}
.tool-alert{background:#fbede4;border-left:3px solid #b78258;padding:13px 15px;font-size:11px;color:#7d533b;line-height:1.7;margin:20px 0}
.tool-alert strong{display:block;margin-bottom:5px}
.log-list{margin:18px 0;padding:0;list-style:none}
.log-list li{display:flex;justify-content:space-between;gap:10px;font-size:11px;padding:11px 0;border-bottom:1px solid var(--line)}
.log-list time{color:var(--muted)}
.history-title{margin-top:23px;font-size:13px}
table{width:100%;border-collapse:collapse;font-size:10px;margin:15px 0}
th,td{text-align:left;padding:10px 4px;border-bottom:1px solid var(--line)}
th{font-weight:500;color:var(--muted)}
.bag-group h3{margin:20px 0 7px}
.check-item{display:flex;align-items:center;gap:12px;min-height:46px;padding:9px 2px;border-bottom:1px solid var(--line);font-size:12px;cursor:pointer}
.check-item input{accent-color:#6b845a;width:19px;height:19px;flex-shrink:0}
.check-item:has(input:checked){color:#89927e}
.check-item:has(input:checked) span{text-decoration:line-through}
.bag-progress{font-size:12px;color:#637a52;margin-top:13px}
.toast{position:fixed;bottom:calc(90px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);z-index:20;max-width:390px;width:calc(100% - 40px);padding:12px 18px;background:#374a34;color:#fff;border-radius:13px;box-shadow:0 6px 30px #0002;font-size:12px;text-align:center}
.skip-link{position:fixed;top:-80px;left:10px;background:white;padding:12px;z-index:30}
.skip-link:focus{top:10px}
.noscript{position:fixed;inset:20px;background:var(--cream);border:1px solid var(--line);padding:30px;z-index:40}
@keyframes appear{from{opacity:0;transform:translateY(5px)}
to{opacity:1;transform:none}
}
@media(min-width:700px){body{padding:30px 0}
.app-shell{border-radius:30px;overflow:hidden;border:1px solid #e5e6dc}
.bottom-nav{border-radius:0 0 25px 25px}
.app-header{height:86px}
main{padding-bottom:130px}
}
@media(max-width:360px){main{padding:20px 17px 105px}
.app-header{padding:12px 17px}
.hero{padding:19px 16px 14px}
.hero-top .eyebrow{font-size:7px;letter-spacing:.8px}
.gestation{font-size:28px}
.section-heading h2{font-size:12px}
.section-heading .small{font-size:9px}
.tool-card{padding:13px}
.greeting-row h1{font-size:23px}
dialog{padding:20px}
.brand-sub{font-size:8px}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}
/* V2: a spacious notebook on desktop, a pocket companion on mobile. */
.app-shell{max-width:1120px}.header-actions,.language-switch{display:flex;align-items:center;gap:8px;flex-shrink:0}.language-switch{gap:0;padding:3px;border:1px solid #e0e3d8;background:#f0f2e9;border-radius:13px}.language-switch button{min-height:38px;min-width:34px;font-size:11px;font-weight:600;border-radius:9px;color:#66705f}.language-switch button[aria-pressed=true]{background:#fff;color:#45563f;box-shadow:0 2px 5px #48533212}.greeting-row>div,.brand,.brand>span{min-width:0}.greeting-row h1,.postnatal-hero #baby-name{overflow-wrap:anywhere}.brand-sub,.eyebrow{font-size:10px}.greeting-row .muted{font-size:12px}.bottom-nav{max-width:1120px;grid-template-columns:repeat(5,minmax(0,1fr))}.bottom-nav button{font-size:10px;min-width:0}.page-footer,.hero-footnote,.baby-stats small,.due-card .muted,.birth-window,.appointment p,.tool-card small,.bag-banner small,.privacy-note{font-size:11px}.hero-top .eyebrow{font-size:9px}.hero-caption,.text-button,.small,.note-card,.source-link,.tool-intro,.tool-alert,.log-list li,table{font-size:12px}.pill,.progress-label,.countdown span{font-size:10px}.progress-label strong{font-size:11px}.due-card strong,.intro,.guide-card p{font-size:14px}.section-heading h2{font-size:15px}.appointment h3,.tool-card strong,.bag-banner strong,.birth-button,form label,legend,.primary,.secondary{font-size:13px}.guide-label{font-size:11px}dialog{scroll-padding:20px}select,textarea{display:block;width:100%;border:1px solid #dddfd5;border-radius:12px;background:#fff;color:var(--ink);padding:12px;margin-top:7px;font:14px/1.6 var(--body);min-height:47px}textarea{resize:vertical}select:focus-visible,textarea:focus-visible{outline:3px solid #536e5d;outline-offset:3px}
.pregnancy-layout{display:grid;gap:24px}.pregnancy-primary,.pregnancy-secondary{min-width:0}.pregnancy-secondary>.section-heading:first-child{margin-top:0}.daily-card{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:23px;background:#edf2e7;border:1px solid #dce6d3;border-radius:23px;margin:0 0 25px}.daily-copy{flex:1;min-width:0}.daily-copy h2{font-size:20px;margin:7px 0 8px;color:#495e40}.daily-copy>p:last-child{font-size:13px;color:#606d57;max-width:530px}.daily-actions{display:grid;gap:7px;flex-shrink:0}.daily-actions .primary{background:#617a53}.daily-check{padding:8px;font-size:11px;color:#526747;border-radius:10px;min-height:38px}.daily-check[aria-pressed=true]{background:#dce8d2}.week-explorer{background:#fff;border:1px solid var(--line);border-radius:18px;padding:17px;margin-top:15px}.week-explorer label{font-size:12px;font-weight:600}.week-controls{display:flex;align-items:center;gap:10px;margin:5px 0}.week-controls input{accent-color:#9e765c;width:100%;min-width:30px;height:30px;flex:1}.week-controls output{font-size:11px;white-space:nowrap;font-weight:600}.week-controls button{font-size:10px;white-space:nowrap;min-height:38px}.explore-preview{display:flex;gap:16px;align-items:center;padding-top:10px}.explore-preview>span{font-size:36px}.explore-preview strong{font-size:12px;font-weight:500}.explore-preview p{font-size:11px;color:#697261}.postnatal-hero>p:last-child{font-size:12px}
.notebook-grid{display:grid;gap:19px}.notebook-card{min-width:0;padding:22px;background:#fff;border:1px solid var(--line);border-radius:22px}.notebook-card>.section-heading{margin-top:0}.notebook-card>h2{margin-bottom:12px}.notebook-card>p{font-size:13px;color:#66715e}.journal-entry{border-bottom:1px solid var(--line);padding:15px 0}.entry-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.entry-heading strong{font-size:13px;min-width:0;overflow-wrap:anywhere}.entry-heading .text-button{font-size:11px;min-height:32px;flex-shrink:0}.journal-entry time{font-size:11px;color:#68755f}.journal-entry p{font-size:12px;color:#64715b;margin-top:6px;overflow-wrap:anywhere}.journal-entry .pill{margin-top:9px}.entry-text{white-space:pre-wrap}.empty-state{font-size:12px;color:#6f7866;padding:20px 0;font-style:italic}.summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-top:17px}.summary-grid>div{background:#f3f5ed;border-radius:12px;text-align:center;padding:10px 3px;min-width:0}.summary-grid strong{display:block;font:600 21px var(--title);color:#5c704a}.summary-grid span{font-size:10px;overflow-wrap:anywhere}.support-note{font-size:12px!important;margin:20px 0 0;padding-left:12px;border-left:3px solid #cc997b;color:#795d46!important}.memories-card{background:#fbf4e9;border-color:#ece0cc}.partner-card{background:#edf2e8}.partner-card h2{margin:9px 0 15px}.backup-card{background:#f7f8f3}.backup-actions{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0 10px}.backup-actions button{flex:1;min-width:180px}.notebook-card>.secondary{margin-top:20px}
.print-dialog{max-width:900px}.print-help{margin:15px 0}#print-content{padding:25px 0}#print-content>h1{margin-bottom:8px}#print-content>h2{margin:25px 0 10px}#print-content>article{margin:12px 0}#print-content>article h3{margin:12px 0 7px}#print-content>article p{font-size:13px;overflow-wrap:anywhere}#print-content>ul{padding-left:20px;font-size:12px}.print-footer{margin-top:30px;font-size:11px;color:#6f7866}.memory-print-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:25px 0}.memory-print-grid .journal-entry{background:#faf2e6;border:1px solid #e8dbc4;border-radius:20px;padding:25px}.memory-print-grid .journal-entry:before{content:'✦';display:block;color:#a8855a;font-size:27px;margin-bottom:25px}.memory-print-grid strong{font:500 18px var(--title)}.memory-print-grid time{font-size:12px}.memory-print-grid .entry-text{margin-top:20px}.print-trigger{margin-top:15px}
body[data-trimester="1"] .hero{background:#f9e8e8;border-color:#f0dada}body[data-trimester="3"] .hero{background:#eaf0e0;border-color:#dce5d0}.hero:before{content:'';position:absolute;pointer-events:none;width:230px;height:230px;border-radius:50%;background:radial-gradient(circle,#fff6 0%,#fff0 70%);top:80px;left:50%;transform:translateX(-50%)}.hero>*{position:relative}.primary,.secondary,.tool-card,.language-switch button{transition:background .2s,transform .2s,box-shadow .2s}.primary:active,.secondary:active,.tool-card:active{transform:scale(.98)}.radio-option:has(input:checked){background:#edf2e7;border-color:#c4d2b7}
@media(prefers-reduced-motion:no-preference){.fruit{animation:float-fruit 6s ease-in-out infinite}.newborn-art{animation:float-fruit 7s ease-in-out infinite}.explore-preview{animation:appear .3s ease}.daily-card{animation:appear .45s ease}.check-item input:checked{animation:check-pop .2s ease}@keyframes float-fruit{0%,100%{transform:translateY(0) rotate(-8deg)}50%{transform:translateY(-8px) rotate(-3deg)}}@keyframes check-pop{50%{transform:scale(1.18)}}}
@media(max-width:600px){.app-shell{max-width:600px}.app-header{padding:12px 18px}.brand{font-size:20px;gap:8px}.brand-sub{display:none}.brand img{width:34px;height:36px}main{padding:24px 18px 110px}.daily-card{display:block;padding:20px}.daily-copy h2{font-size:19px}.daily-actions{display:flex;align-items:center;gap:8px;margin-top:17px;flex-wrap:wrap}.daily-actions .primary{flex:1}.daily-check{flex:1;min-width:100px;line-height:1.4}.pregnancy-layout{gap:23px}.notebook-card{padding:19px}.section-heading h2{font-size:14px}.notebook-card .section-heading .text-button{font-size:11px}.bottom-nav{padding:8px 6px calc(10px + env(safe-area-inset-bottom))}.bottom-nav button{font-size:9px;line-height:1.3;padding:4px 1px}.backup-actions button{min-width:100%;flex:1}.memory-print-grid{grid-template-columns:1fr}.small{font-size:11px}}
@media(min-width:601px){.app-shell{max-width:760px}.app-header{padding:17px 30px}main{padding:30px 30px 125px}.notebook-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.backup-card{grid-column:1/-1}.bottom-nav{max-width:760px}.daily-card{padding:25px}.pregnancy-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:23px}.hero{padding:20px 16px 16px}.hero-top .eyebrow{font-size:8px}.hero .gestation{font-size:28px}.tool-grid{gap:8px}.tool-card{padding:13px}.section-heading .small{display:none}.pregnancy-secondary>.section-heading h2{font-size:13px}.greeting-row h1{font-size:29px}.greeting-row .muted{font-size:13px}.postnatal-hero{max-width:480px;margin:auto}.postnatal-hero~.note-card{max-width:480px;margin:22px auto}}
@media(min-width:1100px){body{padding:32px 24px;background:radial-gradient(ellipse at 18% 18%,#f2e9db 0%,#edf0e8 55%,#e8eddf 100%)}.app-shell{max-width:1160px;display:grid;grid-template-columns:167px minmax(0,1fr);border-radius:28px}.app-header{grid-column:1/-1;padding:19px 32px;height:90px}main{grid-column:2;grid-row:2;padding:30px 32px 35px;min-width:0;border-left:1px solid var(--line)}.bottom-nav{position:sticky;top:110px;left:auto;transform:none;grid-column:1;grid-row:2;align-self:start;display:flex;flex-direction:column;gap:9px;max-width:none;width:auto;background:none;backdrop-filter:none;border:0;margin:22px 10px;padding:0;border-radius:0}.bottom-nav button{flex-direction:row;justify-content:flex-start;gap:10px;font-size:11px;padding:12px;min-height:48px;line-height:1.4}.bottom-nav svg{flex-shrink:0;width:19px}.pregnancy-layout{gap:26px}.hero{padding:23px 24px 18px}.hero .gestation{font-size:32px}.hero-top .eyebrow{font-size:9px}.daily-card{padding:24px 26px}.greeting-row{margin-bottom:25px}.brand{font-size:23px}.notebook-grid{gap:21px}.notebook-card{padding:23px}.toast{bottom:30px;max-width:480px}}
@media(max-width:350px){.brand{font-size:18px}.brand img{width:29px;height:32px}.app-header{padding:12px 14px;gap:8px}.language-switch button{min-width:30px}.icon-button{min-width:40px;min-height:44px}main{padding-left:14px;padding-right:14px}.greeting-row h1{font-size:23px}.daily-copy h2{font-size:18px}.section-heading h2{font-size:13px}.section-heading .text-button{font-size:11px}.hero .gestation{font-size:28px}.summary-grid span{font-size:9px}.notebook-card{padding:16px}.header-actions{gap:6px}.hero-top .eyebrow{letter-spacing:.6px}}
@media print{@page{margin:16mm}body{padding:0;background:#fff;color:#222}body>*:not(#print-dialog){display:none!important}#print-dialog{display:block!important;position:static;width:100%;max-width:none;max-height:none;overflow:visible;box-shadow:none;border:0;border-radius:0;margin:0;padding:0;background:white}#print-dialog::backdrop{display:none}#print-dialog>.dialog-head,.print-help,.print-trigger{display:none!important}#print-content{padding:0}#print-content .journal-entry,#print-content>article{break-inside:avoid}.memory-print-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.memory-print-grid .journal-entry{min-height:220px;print-color-adjust:exact;-webkit-print-color-adjust:exact}.print-footer{margin-top:25px}#print-content h2{break-after:avoid}#print-content p{font-size:11pt}#print-content ul{font-size:10pt}.entry-heading strong{font-size:12pt}}

/* Context help stays available to touch and keyboard users. */
.context-help{position:relative;margin:12px 0;font-size:12px}.context-help summary{cursor:pointer;color:#45563f;min-height:44px;display:flex;align-items:center;gap:8px;text-decoration:underline;text-underline-offset:3px}.context-help summary::before{content:'?';display:inline-grid;place-items:center;border:1px solid #68785c;border-radius:50%;width:22px;height:22px;flex-shrink:0}.context-help p{background:#edf2e7;border:1px solid #ccd9c0;border-radius:12px;padding:14px;margin-top:4px;color:#374a34;line-height:1.7}.context-help summary:focus-visible{outline:3px solid #536e5d;outline-offset:3px;border-radius:6px}#guide-dialog p{margin:16px 0;line-height:1.7}#guide-dialog .dialog-actions{margin-top:16px}#guide-dialog button:disabled{opacity:.5;cursor:default}@media(max-width:350px){.header-actions{gap:3px}.header-actions .icon-button{min-width:34px;width:34px}.language-switch button{min-width:28px}}

:root{color-scheme:light}.advice-links{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}.advice-links button{padding:10px 14px;border:1px solid var(--line);border-radius:20px;background:#edf2e7;color:#45563f;text-decoration:none;font-size:12px}.advice-actions{display:flex;gap:12px;flex-wrap:wrap;margin:14px 0}.guide-card[id]{scroll-margin-top:20px}.guide-card details{margin:14px 0}.guide-card .tool-alert h2{font-size:16px}.guide-card .tool-alert p{color:inherit}.guide-card .tool-alert .source-link{color:inherit}
:root[data-theme="dark"]{color-scheme:dark;--cream:#18211f;--ink:#ecf0eb;--muted:#b7c2b9;--line:#3e4d45}
:root[data-theme="dark"] body{background:#101815}
:root[data-theme="dark"] :is(.app-shell,dialog){background:var(--cream);border-color:var(--line)}
:root[data-theme="dark"] :is(.icon-button,.due-card,.appointment,.tool-card,.wide-tool,.notebook-card,.week-explorer,.radio-option,input,select,textarea){background:#202c27;color:var(--ink);border-color:var(--line)}
:root[data-theme="dark"] :is(.note-card,.daily-card,.partner-card,.backup-card,.water-guide,.summary-grid>div,.language-switch,.context-help p,.advice-links button){background:#25352d;color:var(--ink);border-color:var(--line)}
:root[data-theme="dark"] :is(.bag-banner,.memories-card,.tool-counter,.preview-note){background:#352e26;color:var(--ink);border-color:#635443}
:root[data-theme="dark"] .hero,:root[data-theme="dark"] body[data-trimester] .hero{background:#332e2b;border-color:#655348}
:root[data-theme="dark"] :is(.hero-caption,.gestation,.baby-comparison,.baby-comparison strong,.baby-stats span,.baby-stats small,.progress-label,.hero-footnote,.hero-top .eyebrow,.postnatal-hero>p:last-child,.tool-counter output,.tool-counter p,.countdown strong){color:#f4d3bd}
:root[data-theme="dark"] :is(.eyebrow,.guide-label,.birth-window,.bag-banner small,.notebook-card>p,.journal-entry p,.daily-copy>p:last-child,.context-help summary,.source-link,.text-button,.birth-button,.page-footer,.empty-state,.log-list time){color:#c7d2c1}
:root[data-theme="dark"] :is(.daily-copy h2,.summary-grid strong,.daily-check,.bottom-nav button){color:#d6e7cc}
:root[data-theme="dark"] :is(.pill,.icon-tile,.appointment-icon,.tool-symbol,.trimester){background:#304034;color:#e0ebd9;border-color:#516248}
:root[data-theme="dark"] :is(.tool-alert,.support-note){background:#392b25;color:#ffe0c5!important;border-color:#dfaa82}
:root[data-theme="dark"] .bottom-nav{background:#18211ff5;border-color:var(--line)}
:root[data-theme="dark"] :is(.bottom-nav button[aria-current],.language-switch button[aria-pressed=true],.daily-check[aria-pressed=true],.radio-option:has(input:checked)){background:#3b4b39;color:#f0f7eb}
:root[data-theme="dark"] :is(button,a,input,select,textarea,summary):focus-visible{outline-color:#cfb694}
:root[data-theme="dark"] .secondary{background:#2f3d32;color:#eff3eb;border-color:#596a53}
:root[data-theme="dark"] .primary{background:#d7ad8d;color:#1c251f}
:root[data-theme="dark"] .daily-actions .primary{background:#b8cfaa;color:#172418}
:root[data-theme="dark"] .skip-link{background:#26352b;color:#fff}
:root[data-theme="dark"] .icon-button:hover{background:#304034}
@media print{:root[data-theme="dark"] #print-dialog{background:white;color:#222;color-scheme:light}:root[data-theme="dark"] #print-content *{color:#222!important}:root[data-theme="dark"] #print-content .journal-entry{background:white;border-color:#ccc}}

:root[data-theme="dark"] :is(.form-error,.danger-button){color:#ffbea8}:root[data-theme="dark"] .privacy-note{color:var(--muted)}.guide-card[tabindex]:focus-visible{outline:3px solid #9c8060;outline-offset:5px;border-radius:8px}

:root[data-theme="dark"] :is(.guide-card p,.journal-entry time,.explore-preview p,.language-switch button){color:var(--muted)}:root[data-theme="dark"] .language-switch button[aria-pressed=true]{color:#f0f7eb}

/* Immersion 2.5: static lighting, compositor-only motion, no canvas or WebGL loop. */
.hero{background:#1e3531!important;border-color:#35534b!important;color:#f7eee0;box-shadow:0 14px 35px #172b2420}
.hero::before{display:none}
.hero .hero-top .eyebrow,.hero .hero-caption,.hero .baby-stats small,.hero .progress-label,.hero .hero-footnote,.hero.postnatal-hero>p:last-child{color:#d0dcd0!important}
.hero .gestation,.hero .baby-comparison,.hero .baby-comparison strong,.hero .baby-stats span:not(.stat-divider),.hero .progress-label strong,.hero #baby-name{color:#f8e9ce!important}
.hero .pill.light{background:#ffffff10;border:1px solid #ffffff24;color:#f0dbc0}.hero .live-dot{background:#d4ba81}
.hero .stat-divider{background:#78908265}.hero progress,.hero progress::-webkit-progress-bar{background:#ffffff15}.hero progress::-webkit-progress-value{background:#d6ba82}.hero progress::-moz-progress-bar{background:#d6ba82}
.depth-scene{perspective:850px;isolation:isolate;--tilt-x:0deg;--tilt-y:0deg}
.depth-stage{position:relative;transform-style:preserve-3d;transform:rotateX(var(--tilt-x)) rotateY(var(--tilt-y));transition:transform .35s ease-out}
.baby-visual{height:236px;max-width:300px;margin:4px auto 0;contain:layout style}
.baby-visual .depth-stage{height:100%;width:100%;display:grid;place-items:center}
.scene-halo{position:absolute;width:228px;height:228px;border-radius:50%;background:radial-gradient(circle,#d9c18b18,transparent 68%);transform:translateZ(-65px)}
.scene-sphere{position:absolute;width:158px;height:158px;border-radius:50%;background:radial-gradient(circle at 28% 22%,#ffffff30 0%,#ffffff06 47%,#0b211d55 85%);border:1px solid #ffffff2c;box-shadow:inset 6px 6px 16px #ffffff0f,inset -8px -12px 22px #091d1740,0 24px 30px #06181330;transform:translateZ(10px)}
.scene-sphere:after{content:'';position:absolute;left:29px;top:19px;width:45px;height:17px;background:#ffffff20;border-radius:50%;transform:rotate(-35deg)}
.scene-shadow{position:absolute;bottom:22px;width:120px;height:13px;border-radius:50%;background:radial-gradient(ellipse,#091d1880,transparent 70%);transform:translateZ(-30px)}
.hero .fruit{font-size:88px;filter:drop-shadow(0 9px 5px #071e1840);transform:translateZ(48px) rotate(-9deg);animation:none}
.scene-orbit{position:absolute;width:244px;height:244px;border:1px solid #cfb78985;border-radius:50%;transform:rotateX(67deg) rotateZ(-24deg);box-shadow:0 1px 0 #ffe7b433}
.scene-orbit-two{width:208px;height:208px;border-color:#90b5a055;transform:rotateY(65deg) rotateZ(29deg)}
.scene-satellite{position:absolute;height:12px;width:12px;border-radius:50%;background:radial-gradient(circle at 30% 25%,#ffefd4,#c49e64 65%,#745834);box-shadow:0 5px 8px #071e1840}
.satellite-one{left:33px;top:136px;transform:translateZ(62px)}.satellite-two{right:40px;top:68px;width:8px;height:8px;transform:translateZ(-25px)}
.scene-star{position:absolute;color:#c2d2ba;font-size:17px;transform:translateZ(35px)}.star-one{left:43px;top:52px}.star-two{right:42px;bottom:46px;font-size:13px}
.scene-toolbar{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;margin:0 0 16px}.scene-caption{font-size:10px;letter-spacing:.5px;color:#d1dbd0}
.motion-toggle{min-height:44px;padding:6px 10px;font-size:10px;border:1px solid #b4c6af70;border-radius:20px;color:#f5e7cc;background:#ffffff08}.motion-toggle:before{content:'Ⅱ';display:inline-block;margin-right:6px;font-size:11px}.motion-toggle[aria-pressed=false]:before{content:'▷'}.motion-toggle:hover{background:#ffffff14}.motion-toggle:focus-visible{outline-color:#f0d7a4}.motion-toggle:disabled{opacity:.8;cursor:default}
.family-scene{width:min(320px,100%);margin:auto;height:245px;overflow:hidden;border-radius:18px}.family-scene .depth-stage{height:100%}.family-art{width:100%;height:100%;object-fit:contain}.postnatal-hero .motion-toggle{margin:8px 0 12px}
.advice-immersive{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:center;background:#1e3531;color:#f8e9ce;border:1px solid #35534b;border-radius:24px;overflow:hidden;min-height:224px;margin:22px 0 20px}.advice-immersive-copy{padding:22px 0 22px 24px;position:relative;z-index:1}.advice-immersive .eyebrow{font-size:9px;color:#c9d6c5;letter-spacing:1.2px}.advice-immersive h2{font-size:24px;line-height:1.3;margin:10px 0;letter-spacing:-.7px}.advice-immersive p:not(.eyebrow){color:#d1dbd0;font-size:12px;line-height:1.6}.advice-immersive .motion-toggle{margin-top:14px}.advice-immersive .depth-stage{padding:12px 10px 12px 0}.advice-immersive img{width:100%;height:auto;display:block;border-radius:16px}
.week-explorer{background:#f3f5ed}.explore-preview>span{display:grid;place-items:center;flex-shrink:0;width:64px;height:64px;border-radius:50%;font-size:35px;background:radial-gradient(circle at 25% 20%,#fff,#e6dfcc 70%,#ccc5ad);box-shadow:inset -4px -5px 9px #7a785220,0 8px 12px #34412c10;transform:perspective(400px) rotateY(-12deg) rotateX(7deg)}
.daily-card{background:linear-gradient(115deg,#eef3e8,#f7f4eb);border-color:#dde4d3}.daily-check[aria-pressed=true]{color:#395534}
.bottom-nav button[aria-current=page]{box-shadow:inset 0 0 0 1px #78906b20}
#view-outils label[for=motion-choice]{display:block;margin-top:14px;font-weight:600}
@media(prefers-reduced-motion:no-preference){
 .view{animation:appear .24s ease-out}
 [data-depth-scene] .fruit{animation:cocon-float 8s ease-in-out infinite;animation-play-state:paused}
 [data-depth-scene] .scene-orbit-one{animation:cocon-orbit 24s linear infinite;animation-play-state:paused}
 [data-depth-scene] .family-art,[data-depth-scene].advice-immersive img{animation:cocon-family 10s ease-in-out infinite;animation-play-state:paused}
 [data-depth-scene][data-motion-active=true] .fruit,[data-depth-scene][data-motion-active=true] .scene-orbit-one,[data-depth-scene][data-motion-active=true] .family-art,[data-depth-scene][data-motion-active=true].advice-immersive img{animation-play-state:running}
 @keyframes cocon-float{0%,100%{transform:translateZ(48px) translateY(0) rotate(-9deg)}50%{transform:translateZ(48px) translateY(-7px) rotate(-4deg)}}
 @keyframes cocon-orbit{from{transform:rotateX(67deg) rotateZ(-24deg)}to{transform:rotateX(67deg) rotateZ(336deg)}}
 @keyframes cocon-family{0%,100%{transform:translateZ(16px) translateY(0)}50%{transform:translateZ(16px) translateY(-4px)}}
}
:root[data-motion=off] .view,:root[data-motion=off] .daily-card,:root[data-motion=off] .explore-preview{animation:none!important}
:root[data-motion=off] .depth-stage{transition:none;transform:none}
:root[data-theme=dark] .week-explorer{background:#202e26}
:root[data-theme=dark] .daily-card{background:linear-gradient(115deg,#24332b,#2d3228)}
@media(min-width:1100px){.advice-immersive{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);min-height:285px}.advice-immersive-copy{padding:32px 14px 32px 34px}.advice-immersive h2{font-size:33px}.advice-immersive p:not(.eyebrow){font-size:14px;max-width:330px}.advice-immersive img{max-width:320px;margin:auto}}
@media(max-width:350px){.baby-visual{height:218px;max-width:240px}.scene-orbit{width:215px;height:215px}.scene-orbit-two{width:186px;height:186px}.advice-immersive-copy{padding-left:16px}.advice-immersive h2{font-size:20px}.advice-immersive p:not(.eyebrow){font-size:11px}.advice-immersive .eyebrow{font-size:8px;letter-spacing:.4px}.scene-toolbar{gap:6px}.motion-toggle{font-size:10px;min-height:44px}}
@media(prefers-reduced-motion:reduce){.depth-stage{transform:none!important;transition:none!important}.scene-orbit-one{transform:rotateX(67deg) rotateZ(-24deg)!important}.hero .fruit{transform:translateZ(48px) rotate(-9deg)!important}}
@media print{.depth-scene,.motion-toggle{display:none!important}}
