:root{--ink:#29232b;--muted:#6b6170;--paper:#fbf7f4;--line:#eadfe7;--rose:#8f4155;--sage:#55785a;--white:#fff}*{box-sizing:border-box}body,html{max-width:100%;overflow-x:hidden}body{margin:0;background:linear-gradient(180deg,#fbf7f4,#f8f1ee 52%,#f6f8f3);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}a,button{touch-action:manipulation;-webkit-tap-highlight-color:rgba(143,65,85,.16)}.app-shell,.lesson-card,.material-card,.panel,.readable-text,.sidebar,.table-row,.workspace{min-width:0}.login-page{min-height:100svh;display:grid;place-items:center;padding:24px}.lesson-card,.login-card,.material-card,.panel{background:rgba(255,255,255,.9);border:1px solid var(--line);border-radius:8px;box-shadow:0 20px 60px rgba(76,46,61,.07)}.login-card{width:min(440px,100%);padding:28px}.eyebrow{margin:0 0 10px;color:var(--rose);font-size:13px;font-weight:900;letter-spacing:.05em;text-transform:uppercase}h1,h2,h3{margin:0;line-height:1.12;letter-spacing:0;overflow-wrap:anywhere}h1{font-size:56px}h2{font-size:38px}p{color:var(--muted);line-height:1.6;overflow-wrap:anywhere}.form{display:grid;grid-gap:14px;gap:14px;margin-top:22px}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px;margin-top:18px}.auth-tabs button{border:1px solid var(--line);border-radius:999px;background:#fffaf7;color:#5c4f5e;min-height:42px;padding:10px 12px;font-weight:900;cursor:pointer}.auth-tabs button.active{background:var(--rose);border-color:var(--rose);color:#fff}.form label{display:grid;grid-gap:7px;gap:7px;color:#4e4550;font-weight:800}.form input,.form select,.form textarea{border:1px solid var(--line);border-radius:8px;background:#fffaf7;color:var(--ink);padding:13px 14px}.form textarea{min-height:110px;resize:vertical}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:999px;min-height:50px;padding:13px 18px;background:var(--rose);color:white;font-weight:900;cursor:pointer}.compact-form{margin-top:14px}.secondary-button{background:var(--sage)}.error{border:1px solid #e5a5a5;border-radius:8px;background:#fff2f2;color:#8b2f2f;padding:12px 14px}.success-note{border:1px solid #bdd8c4;border-radius:8px;background:#eef8f0;color:#365f42;padding:12px 14px;font-weight:800}.app-shell{display:grid;grid-template-columns:260px 1fr;min-height:100svh}.sidebar{display:flex;flex-direction:column;padding:24px;border-right:1px solid var(--line);background:rgba(255,255,255,.72)}.brand{display:block;margin-bottom:28px;font-size:20px;font-weight:900}.sidebar nav{display:grid;grid-gap:8px;gap:8px}.sidebar nav a{display:flex;align-items:center;gap:10px;min-height:44px;padding:10px 12px;border:1px solid transparent;border-radius:8px;color:#514850;font-weight:800}.sidebar nav a:hover{background:#fff}.sidebar nav a.active{background:#fff;border-color:rgba(143,65,85,.24);color:var(--rose)}.sidebar nav a.is-pending{cursor:progress;opacity:.72}.nav-loading{margin-top:10px;padding:9px 11px;border:1px solid rgba(85,120,90,.24);border-radius:8px;background:#f4faf1;color:var(--sage);font-size:13px;font-weight:900}.selected-flow-card{display:grid;grid-gap:7px;gap:7px;margin:-10px 0 18px;padding:12px;border:1px solid var(--line);border-radius:8px;background:#fffaf7}.selected-flow-card span{color:var(--muted);font-size:12px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.selected-flow-card strong{color:var(--ink);overflow-wrap:anywhere}.selected-flow-card button{width:-moz-fit-content;width:fit-content;border:1px solid var(--line);border-radius:999px;color:var(--berry);padding:7px 11px}.logout-button,.selected-flow-card button{background:#fff;font-weight:900;cursor:pointer}.logout-button{display:flex;align-items:center;gap:10px;width:100%;min-height:44px;margin-top:auto;border:1px solid var(--line);border-radius:8px;color:#8b2f2f;padding:10px 12px}.workspace{width:100%;max-width:1060px;padding:32px}.hero-panel{padding:32px;margin-bottom:18px}.grid,.metric-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:14px;gap:14px}.metric-grid{margin-bottom:18px}.metric{display:grid;grid-gap:4px;gap:4px;padding:18px;border:1px solid var(--line);border-radius:8px;background:rgba(255,255,255,.9)}.metric strong{font-size:34px;line-height:1}.metric span{color:var(--muted);font-weight:800}.lesson-card,.material-card,.panel{padding:20px}.material-card-with-image{display:grid;grid-gap:12px;gap:12px}.material-card-image{width:100%;max-height:168px;aspect-ratio:1.5;object-fit:contain;border:1px solid var(--line);border-radius:8px;background:#fff}.admin-form{grid-template-columns:repeat(2,minmax(0,1fr))}.wide{grid-column:1/-1}.copy-box{display:grid;grid-gap:12px;gap:12px;margin-top:16px;padding:16px;border-radius:8px;background:#f3eee8}.copy-box pre{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;font-size:16px}.section-heading-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.section-heading-row p{margin-top:6px;color:var(--muted)}.button:disabled,.row-actions button:disabled{opacity:.62;cursor:progress}.sync-result{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.sync-result span{display:inline-flex;gap:5px;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:#fffaf7;color:var(--muted)}.table-panel{margin-top:18px}.table{display:grid;grid-gap:10px;gap:10px;margin-top:16px}.table-row{display:grid;grid-template-columns:1fr auto;grid-gap:16px;gap:16px;padding:14px;border:1px solid var(--line);border-radius:8px;background:#fffaf7}.table-row div:first-child{display:grid;grid-gap:4px;gap:4px}.table-row span{color:var(--muted);overflow-wrap:anywhere}.row-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px}.row-actions.left{justify-content:flex-start}.back-link,.card-actions a,.row-actions button,.text-link{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:999px;background:white;color:var(--rose);padding:8px 12px;font-weight:900;cursor:pointer}.row-actions code{padding:8px 10px;border-radius:8px;background:#f3eee8;color:var(--ink);font-weight:900;overflow-wrap:anywhere}.activity-list{display:grid;grid-gap:10px;gap:10px;margin-top:16px}.activity-row{display:grid;grid-template-columns:1fr auto;grid-gap:14px;gap:14px;padding:14px;border:1px solid var(--line);border-radius:8px;background:#fffaf7}.activity-row>div{display:grid;grid-gap:5px;gap:5px}.activity-row>div:last-child{justify-items:end;color:var(--muted)}.activity-row p,.activity-row span{overflow-wrap:anywhere}.activity-row p{margin:0;color:var(--muted)}.pill{display:inline-flex;padding:7px 10px;border-radius:999px;background:#eee8ef;color:var(--muted);font-weight:900}.pill.active{background:#e5eee4;color:var(--sage)}.pill.blocked{background:#ffe8e8;color:#8b2f2f}.card-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.card-actions .primary-card-link{background:var(--rose);border-color:var(--rose);color:#fff}.readable-text{display:grid;grid-gap:16px;gap:16px;white-space:pre-wrap;line-height:1.7;color:#4e4550;overflow-wrap:anywhere}.material-preview{width:min(820px,100%);margin:0 auto;box-shadow:0 16px 50px rgba(76,46,61,.08)}.material-herb-image,.material-preview{border:1px solid var(--line);border-radius:8px}.material-herb-image{display:block;justify-self:center;width:min(360px,100%);height:auto;aspect-ratio:1;object-fit:contain;background:#fff;box-shadow:0 14px 44px rgba(76,46,61,.08)}.material-actions{margin-top:4px}.material-actions,.material-nav-row{display:flex;flex-wrap:wrap;gap:10px}.material-nav-row{margin:-4px 0 18px}.material-action-button{display:inline-flex;align-items:center;gap:8px}.download-button{justify-self:center;border-radius:999px;background:var(--rose);color:white;padding:13px 18px;font-weight:900}.lesson-download-button{display:inline-flex;align-items:center;gap:8px;justify-self:start;border:0;cursor:pointer}.lesson-reader-toolbar{position:-webkit-sticky;position:sticky;top:0;z-index:5;display:grid;grid-gap:10px;gap:10px;margin-bottom:12px;padding:0 0 10px;background:linear-gradient(180deg,rgba(251,247,244,.98),rgba(251,247,244,.86));-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.lesson-reader-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.reader-pill{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:40px;padding:9px 13px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--rose);font-weight:900;cursor:pointer}.reader-pill.active{background:var(--rose);color:#fff;border-color:var(--rose)}.lesson-search-panel{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:10px;border:1px solid var(--line);border-radius:8px;background:rgba(255,255,255,.94)}.lesson-search-panel input{flex:1 1 220px;min-width:0;border:1px solid var(--line);border-radius:999px;background:#fffaf7;color:var(--ink);padding:10px 13px}.lesson-search-panel button{border:0;border-radius:999px;background:var(--rose);color:#fff;padding:10px 13px;font-weight:900;cursor:pointer}.lesson-search-panel span{color:var(--muted);font-size:14px;font-weight:800}.lesson-download-row{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-bottom:14px}.lesson-back-link{margin-top:0;background:#fffaf7}.lesson-reader-content{min-width:0}.lesson-reader-content .lesson-embedded{width:min(980px,100%);margin:0;padding:0 0 56px}.lesson-reader-content a{color:var(--rose);border-bottom:1px solid rgba(143,65,85,.24)}.lesson-reader-content .card,.lesson-reader-content .closing,.lesson-reader-content .hero,.lesson-reader-content .toc,.lesson-reader-content .toc-card{border:1px solid var(--line);border-radius:8px;background:rgba(255,255,255,.9);box-shadow:0 16px 50px rgba(76,46,61,.07)}.lesson-reader-content .hero{position:relative;overflow:hidden;padding:34px 30px;margin-bottom:18px}.lesson-reader-content .hero>:not(.hero-bg){position:relative;z-index:1}.lesson-reader-content .hero-bg{position:static;display:block;width:100%;max-height:360px;object-fit:contain;object-position:center;margin-bottom:18px;border-radius:8px;background:#fffaf7;opacity:1}.lesson-reader-content .hero-art{float:right;display:block;width:clamp(76px,10vw,112px);max-width:100%;height:auto;object-fit:contain;margin:0 0 12px 16px;filter:drop-shadow(0 18px 30px rgba(76,46,61,.16))}.lesson-reader-content .lead{max-width:780px;margin:20px 0 0;font-size:20px;color:#574d58}.lesson-reader-content .meta{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}.lesson-reader-content .pill{background:#fff;border:1px solid var(--line);color:#5b5260}.lesson-reader-content .note{margin-top:20px;padding:16px 18px;border:1px solid #f1dca8;border-radius:8px;background:#fff8ea;color:#5f4a1f}.lesson-reader-content .section-title{margin:30px 0 16px;font-size:clamp(26px,4vw,38px)}.lesson-reader-content .grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:14px;gap:14px}.lesson-reader-content .toc,.lesson-reader-content .toc-card{display:block;padding:16px}.lesson-reader-content .toc strong,.lesson-reader-content .toc-card strong{display:block;margin-bottom:6px;font-size:17px}.lesson-reader-content .toc span,.lesson-reader-content .toc-card span{display:block;color:var(--muted);font-size:15px}.lesson-reader-content .toc-action{margin-top:10px;color:var(--rose)!important;font-weight:900}.lesson-reader-content article{scroll-margin-top:86px}.lesson-reader-content .card,.lesson-reader-content article.chapter{margin-top:18px;padding:26px}.lesson-reader-content .chapter-header,.lesson-reader-content .head{display:grid;grid-template-columns:auto 1fr;grid-gap:14px;gap:14px;align-items:start;margin-bottom:14px}.lesson-reader-content .icon{width:52px;height:52px;display:grid;place-items:center;border-radius:8px;background:#dbeaf4;font-size:24px}.lesson-reader-content .picture-icon{background:#fff!important;border:1px solid var(--line);overflow:hidden}.lesson-reader-content .chapter-picture{width:46px;height:46px;object-fit:contain;display:block}.lesson-search-hit{outline:2px solid rgba(143,65,85,.32);outline-offset:4px;border-radius:6px;background:linear-gradient(90deg,rgba(255,244,169,.45),rgba(255,255,255,0))}.lesson-search-current{outline-color:var(--rose);background:#fff5b8}.lesson-reader-content .time{display:inline-flex;margin-top:8px;color:var(--muted);font-size:15px;font-weight:800}.lesson-reader-content .summary{margin:16px 0 20px;padding:16px 18px;border-left:5px solid #55785a;border-radius:8px;background:#f1f7ef;color:#405c44;font-size:18px}.lesson-reader-content .deep-dive,.lesson-reader-content .important,.lesson-reader-content .quote{margin:20px 0;padding:16px 18px;border:1px solid var(--line);border-radius:8px;background:#fff}.lesson-reader-content .important strong{display:block;margin-bottom:8px;color:var(--rose);font-size:17px}.lesson-reader-content .quote{background:#fff8f6;color:#5b3e49}.lesson-reader-content .deep-dive ul,.lesson-reader-content .soft-list{display:grid;grid-gap:8px;gap:8px;margin:14px 0;padding-left:22px}.lesson-reader-content .chapter-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}.video-source-switch{display:inline-flex;flex-wrap:wrap;align-items:center;gap:8px;padding:8px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.9);color:var(--muted);font-weight:900}.video-source-switch span{padding:0 4px 0 8px}.video-source-switch button{min-height:34px;padding:7px 12px;border:1px solid transparent;border-radius:999px;background:transparent;color:var(--ink);font:inherit;cursor:pointer}.video-source-switch button.active{border-color:#e5bec8;background:var(--rose);color:#fff}.lesson-reader-content .back-to-contents,.lesson-reader-content .video-link{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--rose);font-weight:900}.lesson-reader-content .closing{margin-top:22px;padding:26px}.lesson-admin-list{display:grid;grid-gap:16px;gap:16px}.lesson-editor h2{margin-top:4px;font-size:24px}.saved-note{align-self:center;color:var(--sage);font-weight:900}.back-link{display:inline-flex;margin-top:14px}.lesson-frame{display:block;width:100%;min-height:78svh;border:1px solid var(--line);border-radius:8px;background:white}.lesson-number{color:var(--rose);text-transform:uppercase}.lesson-number,.status{font-size:13px;font-weight:900}.status{display:inline-flex;margin-top:14px;padding:6px 10px;border-radius:999px;background:#e5eee4;color:var(--sage)}.notes-list{margin-top:18px}.note-card,.notes-list{display:grid;grid-gap:14px;gap:14px}.note-card{padding:22px;border:1px solid var(--line);border-radius:8px;background:rgba(255,255,255,.92);box-shadow:0 16px 48px rgba(76,46,61,.07)}.note-card h2{margin-top:4px;font-size:26px}.note-card blockquote{margin:0;padding:16px 18px;border-left:5px solid var(--sage);border-radius:8px;background:#f3f8f1;color:#405c44;line-height:1.6}.note-comment{margin:0;padding:14px 16px;border-radius:8px;background:#fff8f6;color:#5b3e49}.note-tags{margin:0;color:var(--rose);font-weight:900}.diary-form,.pregnancy-form{grid-template-columns:repeat(2,minmax(0,1fr))}.pregnancy-status{display:grid;grid-template-columns:1fr auto;grid-gap:18px;gap:18px;align-items:center;margin-bottom:18px}.due-date-badge{display:grid;grid-gap:4px;gap:4px;min-width:190px;padding:18px;border-radius:8px;background:#f3f8f1;color:#405c44}.due-date-badge span{color:var(--muted);font-weight:900;text-transform:uppercase;font-size:13px}.due-date-badge strong{font-size:22px}.wide-note{grid-column:1/-1;margin:0}.selection-note-panel{position:fixed;right:24px;bottom:24px;z-index:30;display:grid;grid-gap:10px;gap:10px;width:min(420px,calc(100vw - 32px));padding:18px;border:1px solid var(--line);border-radius:8px;background:rgba(255,255,255,.97);box-shadow:0 22px 70px rgba(76,46,61,.22)}.selection-note-panel blockquote{max-height:130px;overflow:auto;margin:0;padding:12px 14px;border-radius:8px;background:#f3f8f1;color:#405c44;line-height:1.5}.selection-note-panel label{display:grid;grid-gap:6px;gap:6px;color:#4e4550;font-weight:800}.selection-note-panel input,.selection-note-panel textarea{min-width:0;border:1px solid var(--line);border-radius:8px;background:#fffaf7;color:var(--ink);padding:11px 12px}.selection-note-panel textarea{min-height:82px;resize:vertical}.selection-note-panel span{color:var(--muted);font-weight:800}.icon-button{display:inline-grid;place-items:center;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--rose);cursor:pointer}.close-button{position:absolute;top:10px;right:10px;width:34px;height:34px}.toast-note{position:fixed;right:24px;bottom:24px;z-index:31;margin:0;padding:12px 16px;border-radius:999px;background:var(--sage);color:#fff;font-weight:900;box-shadow:0 16px 48px rgba(76,46,61,.16)}@media (max-width:820px){.app-shell{grid-template-columns:1fr}h1{font-size:40px}h2{font-size:30px}.sidebar{position:-webkit-sticky;position:sticky;top:0;z-index:2;padding:10px 12px;border-right:0;border-bottom:1px solid var(--line);overflow:hidden}.brand{margin-bottom:8px;font-size:18px}.sidebar nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible;max-width:100%;grid-gap:7px;gap:7px}.sidebar nav a{min-width:0;border:1px solid var(--line);background:rgba(255,255,255,.78);white-space:normal;font-size:14px;line-height:1.2}.logout-button,.sidebar nav a{min-height:38px;padding:8px 10px}.logout-button{width:auto;margin-top:7px;align-self:flex-start;font-size:15px}.workspace{max-width:100%;padding:16px;overflow:hidden}.hero-panel{padding:22px}.activity-row,.admin-form,.diary-form,.grid,.metric-grid,.pregnancy-form,.pregnancy-status,.table-row{grid-template-columns:1fr}.section-heading-row{display:grid}.activity-row>div:last-child{justify-items:start}.row-actions{justify-content:flex-start}.metric strong{font-size:30px}.lesson-reader-toolbar{position:fixed;left:12px;right:12px;bottom:max(12px,env(safe-area-inset-bottom));top:auto;z-index:20;margin-bottom:0;padding:8px;border:1px solid var(--line);border-radius:22px;background:rgba(255,255,255,.94);box-shadow:0 16px 50px rgba(76,46,61,.16)}.lesson-reader-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;grid-gap:6px;gap:6px}.reader-pill{min-width:0;min-height:42px;padding:8px 9px;font-size:14px;line-height:1;white-space:nowrap}.lesson-search-panel{order:-1;margin-bottom:2px;padding:8px}.lesson-search-panel input{flex-basis:100%}.lesson-search-panel button{flex:1 1}.lesson-search-panel span{width:100%;text-align:center}.lesson-download-row{margin-bottom:12px}.lesson-download-row .back-link,.lesson-download-row .download-button{max-width:100%}.lesson-reader-content .lesson-embedded{padding-bottom:112px}.lesson-reader-content .hero{padding:24px 20px}.lesson-reader-content .hero-bg{width:100%;max-height:none;margin-bottom:14px;border-radius:8px;object-fit:contain}.lesson-reader-content .hero-art{width:92px;max-width:32%;margin:0 0 10px 12px}.lesson-reader-content .grid{grid-template-columns:1fr}.lesson-reader-content .card,.lesson-reader-content .closing,.lesson-reader-content article.chapter{padding:20px 16px}.lesson-reader-content .chapter-header,.lesson-reader-content .head{grid-template-columns:1fr}.selection-note-panel{left:10px;right:10px;bottom:94px;width:auto;max-height:calc(100svh - 130px);overflow:auto}.toast-note{left:14px;right:14px;bottom:94px;text-align:center}}@media (max-width:420px){h1{font-size:34px}h2{font-size:26px}.workspace{padding:12px}.hero-panel,.lesson-card,.material-card,.panel{padding:16px}.sidebar nav a{min-height:40px;padding:8px 10px}.lesson-reader-toolbar{left:10px;right:10px;padding:7px}.reader-pill{gap:5px;padding:8px 7px;font-size:13px}}.landing-save-bar{display:flex;align-items:center;gap:14px;margin-top:16px;flex-wrap:wrap}.landing-changed-note{color:var(--accent,#9f4b43);font-weight:600;font-size:14px}.landing-editor-group h2{margin-bottom:12px}.landing-field-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px;font-weight:600}.landing-changed-badge{color:#9f4b43;font-style:normal;font-size:12px}.link-button{background:none;border:none;padding:0;color:#8f4155;cursor:pointer;font-size:13px;text-decoration:underline;text-underline-offset:3px}.link-button:disabled{opacity:.35;cursor:default}.link-button.danger{color:#b3413c}.landing-list-field{display:grid;grid-gap:12px;gap:12px}.landing-list-item{display:grid;grid-gap:10px;gap:10px;padding:14px;border:1px solid rgba(143,65,85,.18);border-radius:14px;background:rgba(255,255,255,.6)}.landing-list-item-bar{display:flex;justify-content:space-between;color:#7a6a6e;font-size:13px;font-weight:700}.landing-list-item-actions{display:flex;gap:10px}.landing-empty-note{margin:0;color:#7a6a6e;font-size:14px}.landing-history-list{display:grid;grid-gap:10px;gap:10px;margin-top:12px}.landing-history-preview{display:grid;grid-gap:6px;gap:6px;font-size:14px;color:#4a4046;border-top:1px dashed rgba(143,65,85,.25);padding-top:10px}.landing-history-preview p{margin:0}.landing-version-note{margin:12px 0 0;padding:10px 14px;border-radius:12px;background:rgba(141,160,95,.14);color:#4c5a35;font-size:14px}.landing-history-toggle{display:flex;justify-content:space-between;align-items:center;width:100%;background:none;border:none;padding:4px 0;cursor:pointer;font-family:inherit;font-size:22px;font-weight:700;color:inherit}.landing-history-chevron{font-size:14px;font-weight:700;color:#8f4155}.landing-history-scroll{max-height:360px;overflow-y:auto;padding-right:6px;margin-top:12px}