:root{--ink:#22352f;--muted:#68766f;--paper:#f6f3ec;--surface:#fffdf8;--line:#dedbd2;--sage:#58776b;--sage-dark:#35574c;--mint:#dce9e2;--peach:#ecb692;--shadow:0 18px 50px #27373017}*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--ink);background:var(--paper);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.55}a{color:inherit;text-decoration:none}button{font:inherit}h1,h2,h3,p{margin-top:0}h1,h2,h3{letter-spacing:-.035em;line-height:1.12}h1{font-size:clamp(2.3rem,6vw,4.8rem);font-weight:570}h2{font-size:clamp(1.7rem,4vw,2.7rem)}.brand{align-items:center;gap:.7rem;font-size:1.1rem;font-weight:720;display:inline-flex}.brand-mark{color:#fff;background:var(--sage-dark);border-radius:50%;place-items:center;width:2.2rem;height:2.2rem;font-family:Georgia,serif;display:grid}.eyebrow{color:var(--sage);letter-spacing:.14em;text-transform:uppercase;margin-bottom:.8rem;font-size:.76rem;font-weight:800}.lead{max-width:45rem;color:var(--muted);font-size:clamp(1rem,2vw,1.25rem)}.muted{color:var(--muted);font-size:.88rem}.auth-shell{grid-template-columns:minmax(0,1.15fr) minmax(23rem,.85fr);min-height:100dvh;display:grid}.auth-intro{background:var(--mint);flex-direction:column;justify-content:space-between;padding:clamp(2rem,6vw,6rem);display:flex}.auth-intro h1{max-width:15ch;margin:0 0 1.5rem}.privacy-note{color:var(--muted);margin:3rem 0 0}.auth-card{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);border-radius:1.4rem;align-self:center;margin:clamp(1.5rem,7vw,6rem);padding:clamp(1.5rem,4vw,3rem)}.auth-card h2{margin-bottom:1rem}.device-code{border:1px dashed var(--sage);background:var(--paper);color:var(--sage-dark);text-align:center;word-break:break-all;border-radius:.8rem;margin:1.5rem 0 1rem;padding:1.1rem;font-size:clamp(1rem,2.2vw,1.35rem);display:block}.loading-line{background:var(--mint);border-radius:1rem;width:100%;height:.3rem;margin-top:2rem;overflow:hidden}.loading-line:after{content:"";background:var(--sage);width:35%;height:100%;animation:1.2s ease-in-out infinite alternate loading;display:block}@keyframes loading{to{transform:translate(185%)}}.primary-button,.secondary-button,.quiet-button{cursor:pointer;border:0;border-radius:999px;transition:transform .15s,background .15s}.primary-button{color:#fff;background:var(--sage-dark);padding:.9rem 1.25rem;font-weight:700}.secondary-button{color:var(--sage-dark);background:var(--mint);padding:.75rem 1rem;font-weight:650}.quiet-button{color:var(--muted);background:0 0;padding:.55rem .85rem}button:hover{transform:translateY(-1px)}button:disabled{opacity:.55;cursor:wait}.topbar{z-index:20;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#f6f3eceb;border-bottom:1px solid #dedbd2cc;grid-template-columns:1fr auto 1fr;align-items:center;min-height:4.6rem;padding:0 clamp(1rem,4vw,3rem);display:grid;position:sticky;top:0}.topbar nav{background:#ebe8e0;border-radius:999px;gap:.4rem;padding:.3rem;display:flex}.topbar nav a,.topbar nav span{color:var(--muted);border-radius:999px;padding:.55rem .9rem;font-size:.9rem}.topbar nav .active{color:var(--ink);background:var(--surface);box-shadow:0 2px 8px #1e322814}.topbar nav span{opacity:.55}.topbar nav small{display:none}.topbar .quiet-button{justify-self:end}.page-wrap{width:min(1120px,100% - 2rem);margin:0 auto;padding:clamp(2.5rem,7vw,6rem) 0}.course-hero{grid-template-columns:1fr auto;align-items:end;gap:3rem;padding-bottom:clamp(3rem,7vw,6rem);display:grid}.course-hero h1{margin-bottom:1rem}.progress-ring{border:.65rem solid var(--mint);border-top-color:var(--sage);border-radius:50%;align-content:center;place-items:center;width:8.5rem;height:8.5rem;display:grid;transform:rotate(12deg)}.progress-ring>*{transform:rotate(-12deg)}.progress-ring strong{font-size:1.5rem;line-height:1}.progress-ring span{color:var(--muted);font-size:.8rem}.module-section{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);border-radius:1.5rem;padding:clamp(1.5rem,4vw,3rem)}.module-section+.module-section{margin-top:1.5rem}.section-heading{justify-content:space-between;align-items:start;gap:1rem;display:flex}.section-heading h2{margin-bottom:1.5rem}.status-pill{color:var(--sage-dark);background:var(--mint);white-space:nowrap;border-radius:999px;padding:.45rem .75rem;font-size:.8rem}.lesson-grid{border-top:1px solid var(--line)}.lesson-card{border-bottom:1px solid var(--line);grid-template-columns:3rem 1fr auto;align-items:center;gap:1.1rem;padding:1.4rem .2rem;display:grid}.lesson-card:hover h3{color:var(--sage)}.lesson-card h3{margin:0 0 .3rem;font-size:1.2rem;transition:color .15s}.lesson-card p{color:var(--muted);margin:0}.lesson-number{color:var(--peach);font-family:Georgia,serif;font-size:1.6rem}.lesson-state{color:var(--sage);font-size:.9rem;font-weight:700}.lesson-state.done{color:var(--muted)}.coming-next{color:var(--muted);border:1px dashed #c9c5bb;border-radius:1rem;gap:1.2rem;margin-top:1.5rem;padding:1.2rem 1.5rem;display:flex}.coming-next span{color:var(--ink);font-weight:700}.coming-next p{margin:0}.reader-shell{width:min(760px,100% - 2rem);margin:0 auto;padding:clamp(2rem,6vw,5rem) 0 7rem}.back-link{color:var(--sage);margin-bottom:3rem;font-weight:650;display:inline-block}.reader-header{border-bottom:1px solid var(--line);padding-bottom:2.2rem}.reader-header h1{margin-bottom:1rem;font-size:clamp(2.5rem,8vw,4.6rem)}.review-note{width:fit-content;color:var(--muted);background:#f0f3f1;border-radius:.55rem;margin:1rem 0 0;padding:.4rem .65rem;font-size:.75rem}.reader-progress{z-index:10;border:1px solid var(--line);width:fit-content;color:var(--muted);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffdf8f0;border-radius:999px;align-items:center;gap:.55rem;margin:1rem auto 3rem;padding:.5rem .8rem;font-size:.78rem;display:flex;position:sticky;top:5.2rem}.saving-dot{background:var(--sage);border-radius:50%;width:.45rem;height:.45rem}.saving-dot.active{animation:.7s infinite alternate pulse}@keyframes pulse{to{opacity:.25}}.content-block{border:1px solid var(--line);background:var(--surface);border-radius:1.2rem;min-height:12rem;margin:0 0 1.2rem;padding:clamp(1.5rem,5vw,2.7rem);box-shadow:0 8px 28px #2737300d}.evidence-badge{color:#3f6557;background:var(--mint);letter-spacing:.03em;text-transform:uppercase;border-radius:999px;margin-bottom:1rem;padding:.28rem .55rem;font-size:.68rem;font-weight:800;display:inline-block}.evidence-likely_mechanism,.evidence-practical_heuristic{color:#72542e;background:#fff3df}.evidence-myth_or_overstatement{color:#854235;background:#fff0ec}.content-block h1,.content-block h2{font-size:clamp(1.55rem,5vw,2.2rem)}.content-block p:last-child{margin-bottom:0}.content-block-safety{border-left:.35rem solid var(--peach);background:#fff9f3}.content-block-practice{border-left:.35rem solid var(--sage)}.ask-block-button{color:var(--sage);cursor:pointer;background:0 0;border:0;margin-top:1.2rem;padding:0;font-weight:700}.assistant-panel{border:1px solid var(--sage);background:var(--mint);border-radius:1.2rem;margin:2rem 0;padding:clamp(1.3rem,4vw,2.2rem)}.assistant-panel-heading{justify-content:space-between;gap:1rem;display:flex}.assistant-panel h2{margin-bottom:1rem;font-size:clamp(1.5rem,4vw,2rem)}.assistant-panel textarea{resize:vertical;width:100%;min-height:7rem;color:var(--ink);background:var(--surface);font:inherit;border:1px solid #b8c9c0;border-radius:.85rem;padding:1rem}.assistant-panel textarea:focus{border-color:var(--sage);outline:.18rem solid #58776b40}.assistant-actions,.assistant-answer-meta{color:var(--muted);justify-content:space-between;align-items:center;gap:1rem;margin-top:.8rem;font-size:.82rem;display:flex}.form-error{color:#8e3f32;margin-top:1rem}.assistant-answer{background:var(--surface);white-space:pre-line;border-radius:.9rem;margin-top:1.3rem;padding:1.2rem}.assistant-answer>p{white-space:pre-line}.assistant-answer-meta a{color:var(--sage-dark);font-weight:700}.citation-list{flex-wrap:wrap;gap:.5rem;display:flex}.citation-list a{color:var(--sage-dark);background:var(--mint);border-radius:.45rem;padding:.35rem .55rem;font-size:.78rem;font-weight:700}.lesson-finish{background:var(--mint);text-align:center;border-radius:1.2rem;margin-top:2.5rem;padding:2rem}.lesson-finish p{margin-bottom:1rem}.assistant-hero{justify-content:space-between;align-items:end;gap:2rem;padding-bottom:clamp(2.5rem,7vw,5rem);display:flex}.assistant-hero h1{margin-bottom:1rem}.assistant-mode{max-width:18rem;color:var(--sage-dark);background:var(--mint);border-radius:.8rem;padding:.65rem .9rem;font-size:.84rem}.discussion-list{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);border-radius:1.3rem;overflow:hidden}.consent-card{background:#fff8f0;border:1px solid #dfcfbf;border-radius:1rem;justify-content:space-between;align-items:center;gap:2rem;margin-bottom:1.5rem;padding:1.3rem;display:flex}.consent-card h2{margin-bottom:.35rem;font-size:1.15rem}.consent-card p{max-width:48rem;color:var(--muted);margin-bottom:0;font-size:.88rem}.consent-card label{min-width:14rem;color:var(--sage-dark);cursor:pointer;align-items:center;gap:.55rem;font-weight:700;display:flex}.consent-card input{width:1.15rem;height:1.15rem;accent-color:var(--sage-dark)}.discussion-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:1rem;padding:1.4rem;display:flex}.discussion-row:last-child{border-bottom:0}.discussion-row:hover h2{color:var(--sage)}.discussion-row span:first-child{color:var(--muted);font-size:.78rem}.discussion-row h2{margin:.25rem 0 0;font-size:1.15rem}.empty-state{text-align:center;padding:clamp(2rem,8vw,5rem)}.empty-state h2{margin-bottom:.7rem}.primary-link{color:#fff;background:var(--sage-dark);border-radius:999px;margin-top:.7rem;padding:.75rem 1rem;font-weight:700;display:inline-block}.discussion-page .reader-header h1{font-size:clamp(2rem,6vw,3.7rem)}.message-thread{gap:1rem;margin:2rem 0;display:grid}.message{border-radius:1rem;padding:1.3rem}.message>span{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;margin-bottom:.6rem;font-size:.75rem;font-weight:800;display:block}.message p:last-of-type{margin-bottom:0}.message-user{background:#ebe7de;margin-left:clamp(1rem,7vw,5rem)}.message-assistant{border:1px solid var(--line);background:var(--surface);margin-right:clamp(1rem,7vw,5rem)}.message .citation-list{margin-top:1rem}.sharing-card{background:var(--mint);border-radius:1rem;justify-content:space-between;align-items:center;gap:2rem;margin-top:2rem;padding:1.5rem;display:flex}.sharing-card h2{margin-bottom:.35rem;font-size:1.25rem}.sharing-card p{color:var(--muted);margin-bottom:0}.shared-by-partner{color:var(--muted);background:var(--mint);text-align:center;border-radius:.8rem;padding:1rem}.journal-hero{justify-content:space-between;align-items:end;gap:2rem;padding-bottom:2.5rem;display:flex}.journal-hero h1{margin-bottom:1rem}.today-summary{background:var(--mint);text-align:center;border-radius:1rem;min-width:11rem;padding:1.2rem;display:grid}.today-summary strong{font-size:2rem;line-height:1}.today-summary span{color:var(--muted);margin-top:.4rem;font-size:.78rem}.child-card{border:1px solid var(--line);background:var(--surface);border-radius:1rem;grid-template-columns:auto 1fr auto;align-items:center;gap:1.2rem;margin-bottom:1.5rem;padding:1.3rem;display:grid}.child-avatar{width:3rem;height:3rem;color:var(--sage-dark);background:var(--mint);border-radius:50%;place-items:center;font-size:1.4rem;display:grid}.child-card h2{margin-bottom:.25rem;font-size:1.35rem}.child-card p:last-child{color:var(--muted);margin-bottom:0}.child-card-form{grid-template-columns:repeat(2,minmax(0,1fr))}.child-card-form .form-buttons{align-self:end}.journal-layout{grid-template-columns:minmax(18rem,.72fr) minmax(0,1.28fr);align-items:start;gap:1.5rem;display:grid}.journal-form-card,.timeline-card{border:1px solid var(--line);background:var(--surface);border-radius:1.2rem;padding:clamp(1.2rem,3vw,2rem);box-shadow:0 8px 28px #2737300d}.journal-form-card{position:sticky;top:6rem}.journal-form-card h2,.timeline-card h2{margin-bottom:1.2rem;font-size:1.55rem}.journal-form-card form,.child-card-form{gap:.9rem;display:grid}.journal-form-card label,.child-card-form label{color:var(--muted);gap:.35rem;font-size:.82rem;font-weight:650;display:grid}.journal-form-card input,.journal-form-card select,.journal-form-card textarea,.child-card-form input,.child-card-form select{border:1px solid var(--line);width:100%;min-height:2.7rem;color:var(--ink);font:inherit;background:#fff;border-radius:.65rem;padding:.65rem .75rem}.journal-form-card textarea{resize:vertical;min-height:6rem}.field-row,.check-row,.form-buttons{gap:.8rem;display:flex}.field-row>*,.form-buttons>*{flex:1}.check-row label{grid-template-columns:auto 1fr;align-items:center;display:flex}.check-row input{width:1.1rem;min-height:1.1rem;accent-color:var(--sage-dark)}.voice-coming{border:1px dashed var(--line);color:var(--muted);text-align:center;border-radius:.65rem;padding:.7rem;font-size:.78rem}.form-divider{color:var(--muted);text-transform:uppercase;align-items:center;gap:.7rem;margin:1rem 0;font-size:.72rem;display:flex}.form-divider:before,.form-divider:after{background:var(--line);content:"";flex:1;height:1px}.voice-capture{gap:.7rem;display:grid}.voice-button,.voice-processing{width:100%;color:var(--sage-dark);font:inherit;text-align:center;background:#f1faf6;border:1px solid #bbd5ca;border-radius:.8rem;padding:.85rem 1rem;font-weight:750}.voice-button{cursor:pointer}.voice-button span{color:#d45142;margin-right:.35rem}.voice-button.recording{color:#7b3127;background:#fff3f0;border-color:#dfaa9f}.voice-processing{color:var(--muted);font-weight:600}.voice-confirmation{background:#f5fbf8;border:1px solid #bfd8cd;border-radius:.8rem;gap:.75rem;margin-bottom:1.5rem;padding:1rem;display:grid}.voice-confirmation form{gap:.75rem;display:grid}.voice-confirmation label{color:var(--muted);gap:.3rem;font-size:.78rem;font-weight:650;display:grid}.voice-confirmation input,.voice-confirmation select,.voice-confirmation textarea{border:1px solid var(--line);width:100%;min-height:2.6rem;color:var(--ink);font:inherit;background:#fff;border-radius:.6rem;padding:.6rem .7rem}.voice-confirmation textarea{resize:vertical;min-height:5.5rem}.voice-confirmation .voice-check{flex-direction:row;align-items:center;display:flex}.voice-confirmation .voice-check input{width:1.1rem;min-height:1.1rem}.voice-confirmation small{color:var(--muted);line-height:1.4}.voice-actions{flex-wrap:wrap;gap:.7rem;display:flex}.timeline-empty{color:var(--muted);text-align:center;padding:3rem 1rem}.timeline-list{display:grid}.timeline-event{border-top:1px solid var(--line);grid-template-columns:auto 1fr auto;align-items:start;gap:.9rem;padding:1rem 0;display:grid}.event-icon{width:2.2rem;height:2.2rem;color:var(--sage-dark);background:var(--mint);border-radius:50%;place-items:center;font-size:1.1rem;font-weight:800;display:grid}.event-title{justify-content:space-between;gap:1rem;display:flex}.event-title time{color:var(--muted);font-size:.75rem}.timeline-event p{color:var(--muted);overflow-wrap:anywhere;margin:.25rem 0 0}.timeline-event small{color:#8e3f32}.timeline-event.erroneous{opacity:.55}.health-shortcut{color:var(--ink);background:linear-gradient(135deg,#f4fbf7,#eef8f6);border:1px solid #bfd8cd;border-radius:1rem;grid-template-columns:auto 1fr auto;align-items:center;gap:.9rem;margin:-.5rem 0 1.5rem;padding:1rem 1.2rem;text-decoration:none;display:grid}.journal-summary{border:1px solid var(--line);background:var(--surface);border-radius:1rem;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem 1.2rem;margin:-.4rem 0 1.4rem;padding:1rem 1.2rem;display:grid}.summary-metric{color:var(--muted);grid-template-columns:minmax(5rem,auto) 1fr auto;align-items:center;gap:.55rem;font-size:.75rem;display:grid}.summary-metric>div{background:#e8efeb;border-radius:999px;height:.36rem;overflow:hidden}.summary-metric i{border-radius:inherit;background:var(--sage-dark);height:100%;display:block}.summary-metric strong{color:var(--ink)}.health-shortcut>span:first-child{color:#fff;background:var(--sage-dark);border-radius:50%;place-items:center;width:2.4rem;height:2.4rem;display:grid}.health-shortcut small{color:var(--muted);margin-top:.15rem;display:block}.vaccines-hero{margin-bottom:2rem}.medical-boundary{color:#664d2d;background:#fff8ed;border:1px solid #e3c59e;border-radius:.9rem;gap:.2rem;max-width:18rem;padding:1rem 1.1rem;display:grid}.medical-boundary span{font-size:.8rem}.source-grid,.national-schedule,.who-schedule,.vaccination-history{border:1px solid var(--line);background:var(--surface);border-radius:1.2rem;margin-bottom:2rem;padding:clamp(1.2rem,3vw,2rem)}.schedule-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;display:grid}.schedule-item,.who-item{border:1px solid var(--line);background:#fff;border-radius:.85rem;justify-content:space-between;align-items:center;gap:1rem;padding:1rem;display:flex}.schedule-item h3,.who-item h3{letter-spacing:-.02em;margin:.25rem 0;font-size:1rem}.schedule-item p,.who-item p,.schedule-age,.who-item span{color:var(--muted);margin:0;font-size:.76rem}.schedule-item strong{color:var(--sage-dark);flex:none;font-size:.82rem}.who-recommendations{gap:.75rem;display:grid}.who-item{background:#f8fbfe;border-color:#cbddea}.vaccine-section-heading{align-items:end;margin-bottom:1.25rem}.vaccine-section-heading h2{font-size:1.55rem}.vaccine-section-heading>p{max-width:35rem;color:var(--muted);font-size:.84rem}.source-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.source-card{border:1px solid var(--line);background:#fff;border-radius:.9rem;padding:1.25rem}.source-card h3{margin:.8rem 0 .35rem;font-size:1.08rem}.source-card>p,.source-card dl{color:var(--muted);font-size:.8rem}.source-card dl{gap:.35rem;margin:.9rem 0;display:grid}.source-card dl div{justify-content:space-between;gap:1rem;display:flex}.source-card dd{text-align:right;margin:0}.source-card a{color:var(--sage-dark);font-size:.82rem;font-weight:700}.source-kind{color:#2c5f4e;background:var(--mint);text-transform:uppercase;border-radius:999px;padding:.25rem .5rem;font-size:.7rem;font-weight:800;display:inline-block}.source-kind.who{color:#345777;background:#e8f2fb}.vaccine-layout{grid-template-columns:minmax(18rem,.72fr) minmax(0,1.28fr);align-items:start;gap:1.5rem;margin-bottom:2rem;display:grid}.vaccine-plan-list{display:grid}.vaccine-plan-item{border-top:1px solid var(--line);grid-template-columns:1fr minmax(9rem,auto);align-items:center;gap:1rem;padding:1rem 0;display:grid}.vaccine-plan-item h3,.record-list h3{font-size:1rem}.vaccine-plan-item p,.vaccine-plan-item small,.record-list p,.record-list small{color:var(--muted);font-size:.8rem}.vaccine-plan-item select,.record-form input,.record-form select{border:1px solid var(--line);min-height:2.55rem;color:var(--ink);font:inherit;background:#fff;border-radius:.65rem;padding:.55rem .65rem}.record-form{background:#f7faf8;border-radius:.9rem;grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem;margin-bottom:1.5rem;padding:1rem;display:grid}.record-form label{color:var(--muted);gap:.3rem;font-size:.75rem;font-weight:650;display:grid}.record-form button{align-self:end}.prebirth-notice{color:var(--muted);background:#f4f7f5;border-radius:.8rem;margin-bottom:1rem;padding:1rem}.record-list article{border-top:1px solid var(--line);grid-template-columns:auto 1fr;gap:.8rem;padding:.8rem 0;display:grid}@media (max-width:760px){.auth-shell{grid-template-columns:1fr}.auth-intro{min-height:48dvh;padding:1.5rem}.auth-card{margin:1rem}.topbar{grid-template-columns:auto 1fr auto;padding:0 .8rem}.topbar nav{z-index:30;box-shadow:var(--shadow);justify-content:space-around;position:fixed;bottom:.7rem;left:.7rem;right:.7rem}.topbar nav a,.topbar nav span{padding:.65rem .55rem;font-size:.8rem}.topbar .brand>span:last-child{display:none}.course-hero{grid-template-columns:1fr}.progress-ring{width:7rem;height:7rem}.module-section{padding:1.2rem}.lesson-card{grid-template-columns:2.3rem 1fr}.lesson-state{grid-column:2}.section-heading{display:block}.status-pill{margin-bottom:1.5rem;display:inline-block}.reader-progress{top:4.9rem}.assistant-actions,.assistant-answer-meta,.assistant-hero,.consent-card,.sharing-card{flex-direction:column;align-items:stretch}.assistant-mode{max-width:none}.journal-hero,.child-card{align-items:stretch}.journal-hero{flex-direction:column}.journal-layout,.vaccine-layout,.source-cards,.schedule-list,.record-form,.journal-summary,.vaccine-plan-item{grid-template-columns:1fr}.journal-form-card{position:static}.child-card-form,.child-card{grid-template-columns:1fr}.today-summary{width:fit-content}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;animation-duration:.01ms!important}}
