:root{--ink:#594438;--blue:#976047;--muted:#796657;--line:#e8d8c5;--bg:#f8f1e7;--gold:#f2dcc0}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;color:var(--ink);background:var(--bg);font-family:system-ui,-apple-system,'Noto Sans TC',sans-serif;font-size:16px;line-height:1.75}a{color:var(--blue);text-underline-offset:4px}button,select{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #dd9300;outline-offset:5px}header{background:#fffaf2f2;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10}nav{max-width:1180px;margin:auto;display:flex;align-items:center;gap:28px;padding:17px 30px}nav a{text-decoration:none;color:var(--ink);font-size:14px}.brand{font-weight:800;letter-spacing:.12em;margin-right:auto;font-size:19px}.brand span{display:inline-flex;align-items:center;justify-content:center;background:var(--ink);color:var(--gold);border-radius:50%;width:32px;height:32px;margin-right:9px;letter-spacing:0}.share{border:1px solid var(--ink);background:white;border-radius:50px;padding:7px 18px;font-size:14px}main{max-width:1180px;margin:auto;padding:42px 30px 70px}.eyebrow{font-size:13px;letter-spacing:.18em;text-transform:uppercase;font-weight:700}.intro{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:25px}h1{font-family:Georgia,'Noto Serif TC',serif;font-size:clamp(32px,5vw,52px);font-weight:500;line-height:1.35;margin:10px 0}.sub{color:var(--muted);margin:8px 0}.edition{text-align:right;font-size:14px;color:var(--muted);white-space:nowrap}.overview{display:grid;grid-template-columns:1.05fr 1.8fr;gap:20px}.week-card{background:var(--ink);color:white;border-radius:20px;padding:30px 34px;position:relative}.week-card .eyebrow{color:#79604e}.week-number{font:normal 92px/1.15 Georgia,serif;margin:14px 0}.week-number small{font:normal 19px/1.5 system-ui;color:#735a49}.week-number em{font:normal 38px Georgia,serif;color:var(--gold)}.week-foot{border-top:1px solid #cfb799;padding-top:17px;color:#735a49;font-size:14px}.week-foot strong{float:right;color:var(--gold)}.metrics{display:grid;grid-template-columns:1fr 1fr;gap:14px}.metric{padding:22px;background:white;border:1px solid var(--line);border-radius:16px}.label{font-size:14px;color:var(--muted)}.metric strong{display:block;font:normal 40px/1.5 Georgia,serif}.metric strong small{font:normal 15px system-ui;margin-left:6px}.metric p{font-size:14px;margin:0;color:var(--muted)}.flag{display:inline-block;background:#f6e4bd;color:#755325;padding:2px 9px;border-radius:5px;font-size:13px}.notice{border-left:4px solid #d49924;background:#fff0d5;padding:19px 24px;margin-top:22px;border-radius:0 12px 12px 0}.notice p{margin:6px 0;font-size:15px;color:#6d573d}.notice a{color:#76502f}.section-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin:48px 0 18px}h2{font-size:26px;font-weight:650;line-height:1.4;margin:5px 0}h3{font-size:19px;margin:0 0 9px}p{margin:8px 0 14px}.count{font-size:14px;color:var(--muted)}.chart-card{background:#fff;border:1px solid var(--line);padding:25px;border-radius:18px}.chart-top{display:flex;justify-content:space-between;gap:20px;align-items:center}.switch{display:flex;gap:4px;padding:4px;background:var(--bg);border-radius:10px}.switch button{border:0;background:transparent;border-radius:7px;color:var(--muted);font-size:14px;padding:7px 13px}.switch button[aria-pressed=true]{background:var(--ink);color:white}.chart{width:100%;height:auto;display:block;margin:20px 0 2px}.chart text{font-family:system-ui;font-size:14px;fill:var(--muted)}.chart .point-label{fill:var(--ink);font-weight:700}.caption{font-size:14px;color:var(--muted)}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:14px}th,td{text-align:left;padding:11px 15px;border-bottom:1px solid var(--line);white-space:nowrap}th{font-weight:600;color:var(--muted);background:var(--bg)}.timeline{display:grid;grid-template-columns:130px 1fr;gap:0 25px}.stamp{font-family:Georgia,serif;font-size:25px;padding:25px 0;text-align:right}.stamp small{display:block;font:normal 14px system-ui;color:var(--muted)}.entry{border-left:2px solid #dfcbb1;padding:0 0 23px 28px;position:relative}.entry:before{content:'';position:absolute;left:-6px;top:36px;width:10px;height:10px;background:var(--blue);border-radius:50%;outline:5px solid var(--bg)}.entry-inner{background:white;border:1px solid var(--line);border-radius:16px;padding:25px 28px}.entry-top{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:9px}.week-tag{font-size:13px;color:var(--blue);background:#f7e5d8;border-radius:50px;padding:3px 11px;white-space:nowrap}.entry p{color:#715b4d}.bits{display:flex;flex-wrap:wrap;gap:8px;margin:15px 0}.bits span{background:var(--bg);padding:4px 10px;border-radius:5px;font-size:14px}.entry details{border-top:1px solid var(--line);margin-top:14px;padding-top:12px}summary{cursor:pointer;color:var(--blue);font-size:14px}.report{padding:16px 0}.report+.report{border-top:1px dashed var(--line)}.report h4{margin:6px 0;font-size:16px}.report .zh{border-left:3px solid var(--blue);padding-left:13px}.original{white-space:pre-wrap;overflow-wrap:anywhere;background:var(--bg);border-radius:9px;padding:20px;font-size:14px;line-height:1.8}.ai-note{background:#faf0e0;border-radius:9px;padding:15px 18px;margin-top:15px;font-size:15px}.ai-note strong{color:var(--blue);font-size:14px}.ai-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.ai-card{background:white;border:1px solid var(--line);border-radius:16px;padding:26px}.ai-card .num{font:normal 30px Georgia;color:#927157;margin-bottom:15px}.ai-card p{color:#715b4d;font-size:15px}.questions{background:var(--ink);color:white;padding:28px 32px;border-radius:16px;margin:20px 0}.questions ol{padding-left:23px;margin-bottom:0}.questions li{padding:5px 0;color:#735a49}.source-box{border-top:1px solid var(--line);padding-top:22px;font-size:14px;color:var(--muted)}.source-box li{margin:7px 0}.source-box a{overflow-wrap:anywhere}footer{display:flex;justify-content:space-between;margin-top:35px;padding-top:20px;border-top:1px solid var(--line);font-size:13px;color:var(--muted)}#share-status{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);background:var(--ink);color:white;border-radius:10px;padding:12px 22px;z-index:20;max-width:90%}#share-status:empty{display:none}@media(max-width:700px){nav{padding:13px 18px;gap:14px}nav .nav-link{display:none}.brand{font-size:16px}main{padding:25px 18px 45px}.intro{display:block}.edition{text-align:left}.overview{grid-template-columns:1fr}.week-card{padding:25px}.week-number{font-size:72px;margin:5px 0}.metric{padding:16px}.metric strong{font-size:35px}.section-head{margin-top:35px}.chart-card{padding:16px}.chart-top{display:block}.switch{width:max-content;margin-top:12px}.timeline{grid-template-columns:1fr;gap:0}.stamp{text-align:left;padding:12px 0;font-size:21px}.stamp small{display:inline;margin-left:9px}.entry{margin-left:5px;padding-left:18px}.entry-inner{padding:20px}.entry-top{display:block}.week-tag{display:inline-block;margin-top:5px}.ai-grid{grid-template-columns:1fr}footer{display:block}.questions{padding:24px}h2{font-size:23px}.count{font-size:13px}}

/* Cream, biscuit and peach */
body{background:#f8f1e7}header{backdrop-filter:blur(12px)}.brand span{background:#eed5bd;color:#6c4d36;border:1px solid #dec2a4}.share{background:#fffaf3;border-color:#d2b799;color:#674a35}.week-card{background:#ead8bd;color:var(--ink);border:1px solid #d9c2a1;border-radius:26px}.week-number em,.week-foot strong{color:#805135}.metric,.chart-card,.entry-inner,.ai-card{background:#fffcf6;border-radius:23px;box-shadow:0 5px 18px #78573605}.questions{background:#eee0cb;color:var(--ink);border:1px solid #ddc9ae;border-radius:23px}.questions a{color:#805135!important}.bits span{border-radius:12px}.notice{border-radius:0 19px 19px 0}.countdown-card{display:flex;align-items:center;justify-content:space-between;gap:30px;background:#f3dfd0;border:1px solid #dfbea7;border-radius:30px;padding:27px 36px;margin:0 0 24px;box-shadow:0 7px 22px #8a64400a}.countdown-card h2{font-family:Georgia,'Noto Serif TC',serif;font-size:27px;line-height:1.6;margin:8px 0}.countdown-card .eyebrow{color:#80563e}.countdown-card p{font-size:14px;color:#775d4b;margin:7px 0}.countdown-date{display:inline-block;background:#fff8ed;border:1px dashed #d3b396;padding:5px 15px;border-radius:30px}.countdown-number{display:flex;align-items:baseline;justify-content:center;gap:12px;min-width:210px;color:#80563e}.countdown-number strong{font:normal clamp(76px,10vw,116px)/1.1 Georgia,serif;letter-spacing:-.035em;font-variant-numeric:tabular-nums}.countdown-number span{font-size:23px}.countdown-number-wrap{text-align:center}.countdown-number-wrap p{margin-top:10px}.countdown-message{font-size:19px;color:#80563e;font-weight:650;max-width:290px}.countdown-card [hidden]{display:none}@media(max-width:700px){.countdown-card{padding:24px;gap:15px;flex-direction:column;align-items:stretch}.countdown-card h2{font-size:24px}.countdown-number{min-width:0}.countdown-number strong{font-size:88px}.countdown-message{max-width:none}.countdown-card .countdown-number-wrap p{margin-bottom:0}}

/* One compact summary for countdown and scan age. */
.meeting-summary{background:#f0dfca;border:1px solid #ddc4a7;border-radius:22px;padding:18px 24px;margin-bottom:18px}.summary-columns{display:grid;grid-template-columns:1fr 1fr;gap:24px}.summary-columns h2{font-family:inherit;font-size:16px;font-weight:600;line-height:1.5;margin:0 0 8px}.summary-columns h2 time{font-size:14px;font-weight:400;margin-left:5px;color:var(--muted)}.summary-scan{border-left:1px solid #d8bea0;padding-left:24px}.summary-columns p{font-size:14px;color:#735a49;margin:8px 0 0}.meeting-summary .countdown-number{justify-content:flex-start;min-width:0;gap:7px}.meeting-summary .countdown-number strong,.summary-week strong{font:normal 46px/1.1 Georgia,serif;letter-spacing:-.02em;color:#80563e}.meeting-summary .countdown-number span,.summary-week span{font-size:16px}.summary-week{display:flex;align-items:baseline;gap:7px}.summary-footer{border-top:1px solid #ddc4a7;margin-top:14px;padding-top:10px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:2px 16px;font-size:13px;color:#79614e}.meeting-summary .countdown-message{font-size:15px;line-height:1.6}.meeting-summary [hidden]{display:none}.overview{display:block}.overview>.metrics{grid-template-columns:repeat(4,minmax(0,1fr))}@media(max-width:700px){.meeting-summary{padding:16px;border-radius:20px}.summary-columns{gap:14px}.summary-scan{padding-left:14px}.summary-columns h2{font-size:14px}.summary-columns h2 time{font-size:13px}.meeting-summary .countdown-number strong,.summary-week strong{font-size:38px}.summary-week{gap:4px}.summary-footer{display:block;font-size:13px}.summary-footer span{display:block}.overview>.metrics{grid-template-columns:1fr 1fr}}@media(max-width:350px){.summary-week strong,.meeting-summary .countdown-number strong{font-size:32px}.summary-columns{gap:10px}.summary-scan{padding-left:10px}}

.scan-gallery{margin-top:19px;padding-top:16px;border-top:1px solid var(--line)}.gallery-heading{font-size:16px;margin:0 0 5px}.entry .gallery-help{font-size:13px;color:var(--muted);margin:5px 0 12px}.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.scan-tile{display:block;border:1px solid var(--line);border-radius:12px;overflow:hidden;text-decoration:none;background:#f8f1e7;color:var(--ink);min-width:0}.scan-tile img{width:100%;aspect-ratio:4/3;object-fit:contain;display:block;background:#202325}.scan-tile span{display:block;font-size:13px;line-height:1.5;padding:7px 9px;overflow-wrap:anywhere}.gallery-group h4{font-size:15px;margin:17px 0 10px}.gallery-more{margin-bottom:12px}@media(max-width:500px){.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.scan-gallery>.gallery-grid .scan-tile:last-child{display:none}.scan-tile span{font-size:12px;padding:6px}}

/* Compact opening with the latest recorded size illustration. */
.intro{display:grid;grid-template-columns:minmax(0,1fr) 330px;align-items:center;gap:22px;margin-bottom:18px;padding:14px 22px 14px 26px;background:#fffaf3;border:1px solid var(--line);border-radius:22px;min-height:190px}.intro-copy{min-width:0}.intro h1{font-size:clamp(28px,3.6vw,43px);line-height:1.32;margin:5px 0}.intro .sub{margin:5px 0}.intro .edition{text-align:left;font-size:13px;white-space:normal;margin:5px 0 0}.baby-figure{display:grid;grid-template-columns:132px minmax(0,1fr);align-items:center;gap:13px;margin:0;padding:4px 0}.baby-figure img{display:block;width:132px;height:154px;object-fit:contain;filter:drop-shadow(0 8px 12px #8c64451a)}.baby-figure figcaption{display:flex;flex-direction:column;gap:2px;font-size:14px;line-height:1.55;color:var(--muted)}.baby-figure figcaption strong{font-size:14px;color:var(--ink)}.baby-figure figcaption span{font:normal 20px/1.4 Georgia,'Noto Serif TC',serif;color:#80563e}.baby-figure figcaption small{font-size:12px}
@media(max-width:700px){main{padding-top:16px}.intro{grid-template-columns:minmax(0,1fr) 112px;gap:10px;padding:13px 14px 13px 17px;min-height:0}.intro h1{font-size:25px;line-height:1.3}.intro .eyebrow{font-size:11px;letter-spacing:.12em}.intro .sub{font-size:14px}.intro .edition{font-size:12px;line-height:1.5}.baby-figure{display:block;text-align:center}.baby-figure img{width:105px;height:122px;margin:auto}.baby-figure figcaption{font-size:12px;line-height:1.4}.baby-figure figcaption strong{font-size:12px}.baby-figure figcaption span{font-size:15px}.baby-figure figcaption small{font-size:11px}.meeting-summary{margin-top:0}}
@media(max-width:420px){.intro{grid-template-columns:minmax(0,1fr) 94px}.baby-figure img{width:90px;height:106px}.baby-figure figcaption strong{display:none}.baby-figure figcaption span{font-size:13px}.baby-figure figcaption small{font-size:10px}}

.baby-figure figcaption span{font-size:18px;line-height:1.35}.baby-figure figcaption small{line-height:1.4}
@media(max-width:700px){.baby-figure figcaption span{font-size:14px}.baby-figure figcaption small{font-size:10px}}
@media(max-width:420px){.baby-figure figcaption span{font-size:12px}}

/* Installable PWA controls. */
.share,.install{border-radius:50px;padding:7px 16px;font-size:14px}.install{border:1px solid #80563e;background:#80563e;color:#fffaf3}.install[hidden]{display:none}
@media(max-width:420px){nav{gap:8px}.share,.install{padding:6px 11px;font-size:13px}.brand{letter-spacing:.06em}.brand span{margin-right:5px}}

/* Daily model: clearly separated from ultrasound measurements. */
.baby-figure img{transform:scale(var(--baby-scale,1));transform-origin:center;transition:transform .35s ease}.daily-growth{display:grid;grid-template-columns:1fr 1.15fr;gap:16px;margin:0 0 18px}.daily-copy,.development{background:#fffaf3;border:1px solid var(--line);border-radius:20px;padding:19px 22px}.daily-copy h2{font-family:Georgia,'Noto Serif TC',serif;font-weight:500;font-size:23px;margin:3px 0 11px}.daily-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.daily-stats>div{background:#f4e6d4;border-radius:13px;padding:9px 11px}.daily-stats span{display:block;color:var(--muted);font-size:12px;line-height:1.35}.daily-stats strong{display:block;color:#80563e;font:normal 20px/1.4 Georgia,'Noto Serif TC',serif;white-space:nowrap}.daily-stats b,.baby-figure b{font-weight:inherit}.model-note{font-size:12px;color:var(--muted);margin:9px 0 0}.development .week-tag{display:inline-block}.development h3{font-family:Georgia,'Noto Serif TC',serif;font-size:20px;font-weight:500;margin:8px 0 5px}.development>p{font-size:14px;line-height:1.65;color:#715b4d;margin:5px 0}.daily-focus{display:flex;gap:8px;align-items:flex-start;background:#f4e6d4;border-radius:12px;padding:8px 11px!important;margin-top:10px!important}.daily-focus strong{font-size:12px;white-space:nowrap;color:#80563e}.daily-focus span{font-size:13px}.simulation-warning{grid-column:1/-1;font-size:12px;line-height:1.6;color:var(--muted);margin:-7px 2px 0}.simulation-warning strong{color:#80563e}.daily-growth+.overview{margin-top:0}
@media(max-width:700px){.daily-growth{grid-template-columns:1fr;gap:10px}.daily-copy,.development{padding:16px}.daily-copy h2{font-size:20px}.daily-stats{gap:6px}.daily-stats>div{padding:8px}.daily-stats strong{font-size:17px}.simulation-warning{margin-top:-2px}.baby-figure img{transform:scale(min(var(--baby-scale,1),1.16))}}
@media(max-width:370px){.daily-stats{grid-template-columns:1fr 1fr}.daily-stats>div:last-child{grid-column:1/-1}}

/* In-page ultrasound viewer: swipeable and safe for standalone PWA history. */
body.photo-open{overflow:hidden}.photo-viewer[hidden]{display:none}.photo-viewer{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));background:#241b17f2}.photo-backdrop{position:absolute;inset:0;width:100%;height:100%;border:0;background:transparent}.photo-panel{position:relative;width:min(100%,1100px);height:min(100%,900px);display:grid;grid-template-rows:auto minmax(0,1fr) auto;color:#fff;overscroll-behavior:contain}.photo-top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:4px 2px 10px}.photo-meta{min-width:0;display:flex;flex-direction:column}.photo-title{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.photo-count{font-size:13px;color:#e2d5ca}.photo-close,.photo-arrow{border:1px solid #ffffff4d;background:#251c18cc;color:#fff;display:grid;place-items:center}.photo-close{flex:0 0 42px;width:42px;height:42px;border-radius:50%;font-size:29px;line-height:1}.photo-stage{position:relative;min-height:0;display:grid;place-items:center;overflow:hidden;border-radius:15px;background:#0d0b0a;touch-action:pan-y pinch-zoom;user-select:none;-webkit-user-select:none}.photo-full{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;-webkit-user-drag:none}.photo-status{position:absolute;inset:auto 50% 50%;transform:translate(50%,50%);padding:8px 13px;border-radius:20px;background:#251c18cc;font-size:14px;white-space:nowrap}.photo-status[hidden]{display:none}.photo-arrow{position:absolute;top:50%;transform:translateY(-50%);width:46px;height:56px;border-radius:15px;font:normal 42px/1 Georgia,serif}.photo-prev{left:10px}.photo-next{right:10px}.photo-hint{text-align:center;color:#e2d5ca;font-size:13px;margin:8px 0 0}.photo-viewer button:focus-visible{outline-color:#ffd39c}@media(max-width:700px){.photo-viewer{padding-top:max(7px,env(safe-area-inset-top));padding-right:max(7px,env(safe-area-inset-right));padding-bottom:max(7px,env(safe-area-inset-bottom));padding-left:max(7px,env(safe-area-inset-left))}.photo-panel{width:100%;height:100%}.photo-stage{border-radius:11px}.photo-arrow{width:40px;height:50px;font-size:36px;background:#251c1899}.photo-prev{left:6px}.photo-next{right:6px}.photo-hint{margin-top:5px}}

/* Readable labels for the growth card. */
.daily-stats span,.model-note,.simulation-warning{font-size:14px}.daily-stats strong{white-space:normal;overflow-wrap:anywhere}.daily-stats>div{min-width:0}.daily-copy,.development{min-width:0}.model-note{line-height:1.7}.daily-stats #sim-gain{font-family:inherit;font-size:18px}

#costs td:first-child{white-space:normal}
#costs th,#costs td{padding:10px 12px}
#maternal-labs td:first-child{white-space:normal;min-width:7em}
