@import url('https://fonts.googleapis.com/css2?family=Fredoka:wght@500;600;700&family=Nunito:wght@400;500;600;700;800&display=swap');
:root { --cream:#fff8ed; --cream-deep:#f5ecdc; --sage:#314b42; --sage-2:#607661; --sage-soft:#dfe8dc; --coral:#ee7180; --coral-deep:#d9586d; --coral-soft:#f9d7d6; --peach:#f4b08a; --yellow:#edc768; --ink:#2c3934; --muted:#68746f; --white:#fffdfa; --line:#e7ddcf; --shadow:0 18px 50px rgba(62,64,51,.12); --serif:'Fredoka','Arial Rounded MT Bold',system-ui,sans-serif; --sans:'Nunito',system-ui,sans-serif; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; background:var(--cream); }
body { margin:0; color:var(--ink); font-family:var(--sans); font-size:16px; line-height:1.55; background:var(--cream); }
.marketing-body { font-size:clamp(14px,1.05vw,16px); }
button,a,input,textarea,select { font:inherit; }
button,a { -webkit-tap-highlight-color:transparent; }
button { color:inherit; }
a { color:inherit; }
.wrap { width:min(1160px,calc(100% - 40px)); margin-inline:auto; }
.is-hidden { display:none !important; }
.brand { display:inline-flex; align-items:center; gap:0; text-decoration:none; font:700 1.55rem/1 var(--serif); color:var(--sage); position:relative; }
.brand b,.mini-brand b,.loading-word b { color:var(--coral); }
.brand-logo { width:29px; height:29px; margin-left:6px; flex:none; }
.button { display:inline-flex; align-items:center; justify-content:center; min-height:54px; padding:0 26px; border:0; border-radius:18px; background:var(--coral); color:white; box-shadow:0 10px 24px rgba(217,88,109,.2); text-decoration:none; font-weight:700; cursor:pointer; transition:transform .2s,background .2s; }
.button:hover { background:var(--coral-deep); transform:translateY(-2px); }
.button-small { min-height:42px; padding:0 18px; border-radius:14px; }
.eyebrow { margin:0 0 10px; color:var(--coral-deep); font-size:.78rem; letter-spacing:.12em; text-transform:uppercase; font-weight:700; }
h1,h2,h3,p { margin-top:0; }
h1,h2,h3 { font-family:var(--serif); font-weight:600; line-height:1.1; color:var(--sage); }
.site-header { height:82px; display:flex; align-items:center; justify-content:space-between; gap:25px; }
.site-header nav { display:flex; gap:28px; margin-left:auto; }
.site-header nav a { text-decoration:none; font-weight:600; color:var(--muted); }
.hero { min-height:720px; display:grid; grid-template-columns:1.05fr .75fr; gap:70px; align-items:center; padding-block:65px 90px; position:relative; }
.hero::before { content:''; position:absolute; width:190px; height:190px; border-radius:48% 52% 70% 30%; background:#f8dec4; left:-150px; top:80px; transform:rotate(22deg); }
.hero-copy { max-width:640px; position:relative; z-index:1; }
.hero h1 { font-size:clamp(3.3rem,6vw,5.8rem); letter-spacing:-.035em; margin-bottom:25px; }
.hero-lede { max-width:570px; font-size:1.2rem; color:var(--muted); }
.hero-actions { display:flex; align-items:center; gap:clamp(10px,2vw,24px); margin-top:32px; white-space:nowrap; }
.hero-actions .button { flex:none;padding-inline:clamp(14px,2vw,26px);font-size:clamp(.78rem,1.1vw,1rem); }
.hero-actions .text-link { flex:none;font-size:clamp(.76rem,1.05vw,1rem); }
.text-link { font-weight:700; text-decoration-color:var(--coral); text-decoration-thickness:2px; text-underline-offset:6px; }
.trial-note { margin-top:18px; font-size:.9rem; color:var(--muted); }
.hero-phone { width:min(100%,300px); justify-self:center; padding:22px 17px 17px; background:var(--white); border:7px solid var(--sage); border-radius:42px; box-shadow:var(--shadow); transform:rotate(2deg); position:relative; }
.hero-phone::after { content:''; position:absolute; width:116px; aspect-ratio:1; border-radius:50%; background:#cddcc9; right:-110px; bottom:48px; z-index:-1; }
.phone-top { display:flex; justify-content:space-between; font-size:.7rem; margin-bottom:18px; }
.mini-brand,.loading-word { font:700 1.1rem var(--serif); color:var(--sage); }.mini-brand { display:inline-flex;align-items:center;text-decoration:none;line-height:1; }.mini-logo { width:23px;height:23px;margin-left:5px;flex:none; }.app-brand { font-size:1.22rem; }
.mini-date,.mini-label { font-size:.7rem; margin:16px 0 4px; color:var(--coral-deep); text-transform:uppercase; letter-spacing:.08em; font-weight:700; }
.hero-phone h2 { font-size:1.65rem; margin-bottom:18px; }
.mini-card,.mini-idea { display:flex; align-items:center; gap:11px; border:1px solid var(--line); background:white; border-radius:17px; padding:12px; margin-bottom:12px; }
.mini-card div:nth-child(2),.mini-idea div { flex:1; }
.mini-card strong,.mini-card small,.mini-idea strong,.mini-idea small { display:block; }
.mini-card small,.mini-idea small { color:var(--muted); font-size:.7rem; }
.avatar { width:44px; height:44px; border-radius:50%; display:grid; place-items:center; flex:none; font-size:.75rem; font-weight:700; color:var(--sage); }
.avatar.coral,.coral { background:var(--coral-soft); }.avatar.sage,.sage { background:var(--sage-soft); }.avatar.yellow,.yellow { background:#f8e7ac; }
.mini-add { width:100%; border:0; padding:15px; border-radius:15px; background:var(--coral); color:white; font-weight:700; }
.mini-idea { background:var(--cream); border:0; }.mini-season-icon { width:40px;height:40px;display:grid;place-items:center;flex:none;border-radius:13px;background:#f6dfae;color:#b76f3f; }.mini-season-icon svg { width:27px;height:27px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round; }
.phone-nav { display:flex; justify-content:space-around; margin-top:18px; color:var(--sage); }.phone-nav span { display:flex; flex-direction:column; align-items:center; gap:3px; text-align:center; font-weight:700; }.phone-nav i { width:31px; height:29px; display:grid; place-items:center; border-radius:10px; font-style:normal; }.phone-nav svg { width:21px; height:21px; fill:none; stroke:currentColor; stroke-width:2.5; stroke-linecap:round; stroke-linejoin:round; }.phone-nav .active { color:var(--coral-deep); }.phone-nav .active i { background:var(--coral-soft); }.phone-nav small { display:block; font-size:.67rem; }
.trust-strip { background:var(--sage); color:#f8f3e9; padding:38px 0; }.trust-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:45px; }.trust-grid p { margin:0; color:#dfe8dc; }.trust-grid strong { color:white; font-family:var(--serif); font-size:1.15rem; }
.section { padding-block:88px; }.section-heading { display:grid; grid-template-columns:1.5fr .7fr; gap:70px; align-items:end; margin-bottom:44px; }.section-heading h2,.split-section h2,.pricing-layout h2,.safety h2 { font-size:clamp(2.1rem,4vw,3.7rem); letter-spacing:-.02em; margin:0; }.section-heading p { margin:0;color:var(--muted); }
#features { padding-bottom:46px; }
.feature-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }.feature-card { padding:30px; border-radius:28px; min-height:285px; display:flex; flex-direction:column; align-items:flex-start; }.feature-card h3 { font-size:1.55rem; margin:18px 0 10px; }.feature-card p { color:#46544e; }.feature-card small { margin-top:auto; font-weight:700; color:var(--sage-2); }.feature-icon { width:54px; height:54px; display:grid; place-items:center; border-radius:18px; background:rgba(255,255,255,.72);color:var(--sage);box-shadow:0 7px 18px rgba(49,75,66,.07); }.feature-icon svg { width:30px;height:30px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round; }.coral-card { background:#f7cbc9; }.sage-card { background:#dce7d8; }.yellow-card { background:#f7e4a4; }.cream-card { background:#f0e7d8; }.pink-card { background:#f7dce3; }
.split-section { display:grid; grid-template-columns:.85fr 1.15fr; gap:80px; align-items:center; padding-block:42px 70px; }.split-section>div>p { color:var(--muted); }.role-cards { display:grid; grid-template-columns:1fr 1fr; gap:18px; }.role-cards article { padding:30px; border-radius:28px; background:var(--white); border:1px solid var(--line); box-shadow:0 14px 35px rgba(49,75,66,.08); }.role-cards article:nth-child(2) { transform:translateY(20px); }.role-cards span { color:var(--coral-deep); font-weight:700; font-size:.8rem; text-transform:uppercase; letter-spacing:.08em; }.role-cards h3 { font-size:1.65rem; margin:18px 0 10px; }.role-cards p { margin:0;color:var(--muted); }
.pricing-section { background:#f5d6d6; padding:68px 0; }.pricing-layout { display:grid; grid-template-columns:1fr .7fr; gap:80px; align-items:center; }.pricing-layout>div>p:last-child { color:var(--muted); font-size:1.1rem; }.price-card { background:var(--white); border-radius:30px; padding:34px; box-shadow:var(--shadow); }.price { font:700 3rem var(--serif); color:var(--sage); }.price-card ul { list-style:none; padding:0; margin:18px 0; }.price-card li { padding:6px 0; }.price-card li::before { content:'✓'; margin-right:10px; color:var(--sage-2); font-weight:700; }.price-card .button { width:100%; }
.safety { display:grid; grid-template-columns:auto 1fr; align-items:center; gap:28px; max-width:900px; padding-block:58px; }.safety-mark { width:90px;height:90px;border-radius:30px;background:var(--sage-soft);display:grid;place-items:center;color:var(--sage); }.safety-mark svg { width:48px;height:48px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round; }.safety h2 { font-size:2.1rem; }.safety p:last-child { margin:0;color:var(--muted); }
.footer { min-height:110px; border-top:1px solid var(--line); display:flex; align-items:center; gap:30px; }.footer p { margin:0; flex:1;color:var(--muted); }.footer-links { display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px 18px; }.footer-links a { font-weight:700;font-size:.88rem;text-decoration-thickness:1px;text-underline-offset:4px; }
.legal-main { min-height:calc(100vh - 192px); }.legal-hero { padding:80px 0 44px;display:grid;grid-template-columns:1fr .7fr;gap:70px;align-items:end; }.legal-hero h1 { margin:0;font-size:clamp(3rem,6vw,5rem);letter-spacing:-.035em; }.legal-hero>p { margin:0;color:var(--muted);font-size:1.08rem; }.legal-grid { display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:55px;padding-bottom:90px; }.legal-copy { max-width:760px; }.legal-copy section { padding:26px 0;border-top:1px solid var(--line); }.legal-copy h2 { font-size:1.45rem;margin-bottom:10px; }.legal-copy h3 { font-size:1rem;margin:20px 0 6px; }.legal-copy p,.legal-copy li { color:#526159; }.legal-copy ul { padding-left:20px; }.legal-copy li { margin:8px 0; }.legal-note { position:sticky;top:30px;align-self:start;padding:24px;border-radius:24px;background:var(--sage);color:white;box-shadow:var(--shadow); }.legal-note h2,.legal-note p { color:white; }.legal-note h2 { font-size:1.25rem; }.legal-note p { margin:0;font-size:.84rem;opacity:.88; }.beta-pill { display:inline-block;margin-bottom:12px;padding:6px 10px;border-radius:99px;background:var(--coral-soft);color:var(--coral-deep);font-size:.7rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em; }.plan-grid { display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:12px 0 32px; }.plan-card { padding:30px;border:1px solid var(--line);border-radius:27px;background:var(--white);box-shadow:0 12px 30px rgba(49,75,66,.07); }.plan-card.featured { border:3px solid var(--coral);transform:translateY(-7px); }.plan-card .price { display:block;margin:12px 0 0; }.save-badge { display:inline-block;padding:5px 9px;border-radius:99px;background:#f8e7ac;color:#655931;font-weight:800;font-size:.72rem; }.plan-card ul { min-height:130px;padding-left:20px;color:var(--muted); }.plan-card .button { width:100%; }.talk-card { padding:30px;border-radius:28px;background:linear-gradient(135deg,var(--coral-soft),#f8e7ac); }.talk-form { display:grid;gap:16px; }.talk-form .field { margin:0; }.talk-form button { justify-self:start; }.talk-status { min-height:24px;margin:0;color:var(--sage);font-weight:800; }

/* App shell */
.app-body { position:fixed; inset:0; width:100%; height:100dvh; overflow:hidden; overscroll-behavior:none; background:var(--cream); }
.loading-screen,.welcome-screen,.tour-screen,.signin-screen,.trial-ended,.onboarding,.app-shell { position:absolute; inset:0; width:100%; height:100dvh; background:var(--cream); }
.loading-screen { z-index:20; display:grid; place-items:center; align-content:center; animation:screen-away .3s ease 4.7s forwards; }
@keyframes screen-away { to { opacity:0; visibility:hidden; pointer-events:none; } }
.loading-logo { display:flex;flex-direction:column;align-items:center;gap:12px;position:relative;z-index:2; }.loading-mark { width:104px;height:104px;display:block;filter:drop-shadow(0 12px 18px rgba(217,88,109,.18));animation:logo-breathe 1.35s ease-in-out infinite alternate; }.loading-word { font-size:2.35rem; }.loading-screen>p { margin:25px 0 12px;color:var(--muted);position:relative;z-index:2; }.loading-track { width:180px;height:7px;background:var(--sage-soft);border-radius:99px;overflow:hidden;position:relative;z-index:2; }.loading-track i { display:block;height:100%;width:100%;background:linear-gradient(90deg,var(--coral),var(--peach));border-radius:99px;transform-origin:left;animation:load-once 4.7s linear forwards; }.loading-track i::after { content:none; }.loading-leaves { position:absolute;left:0;right:0;bottom:0;height:128px;overflow:hidden;pointer-events:none; }.loading-leaves i { position:absolute;bottom:-30px;width:72px;height:118px;border-radius:90% 10% 88% 12%;background:#b8cdb4;transform-origin:bottom center; }.loading-leaves i:nth-child(1) { left:2%;transform:rotate(29deg);background:#f4c8a7; }.loading-leaves i:nth-child(2) { left:15%;bottom:-48px;transform:rotate(18deg);background:#93b08f; }.loading-leaves i:nth-child(3) { left:30%;bottom:-62px;transform:rotate(-12deg);background:#cddcc9; }.loading-leaves i:nth-child(4) { right:30%;bottom:-65px;transform:rotate(14deg);background:#f2d0b7; }.loading-leaves i:nth-child(5) { right:14%;bottom:-43px;transform:rotate(-21deg);background:#93b08f; }.loading-leaves i:nth-child(6) { right:1%;transform:rotate(-30deg);background:#cddcc9; } @keyframes load-once { from { transform:scaleX(0); } to { transform:scaleX(1); } } @keyframes logo-breathe { from { transform:translateY(2px) scale(.97); } to { transform:translateY(-2px) scale(1.02); } }
.welcome-screen { overflow:hidden; padding:max(18px,env(safe-area-inset-top)) 22px max(16px,env(safe-area-inset-bottom)); }
.welcome-inner { width:min(100%,470px); height:100%; margin:auto; display:grid; grid-template-rows:auto auto minmax(125px,1fr) auto auto auto auto; align-items:center; text-align:center; gap:7px; }
.brand.centered { justify-self:center; }.welcome-copy { align-self:end; }.welcome-copy .eyebrow { margin-bottom:4px; }.welcome-copy h1 { margin:0 0 7px;font-size:clamp(2rem,7vw,2.7rem);letter-spacing:-.02em; }.welcome-copy>p:last-child { max-width:390px;margin:0 auto;color:var(--muted);line-height:1.4; }.welcome-art { width:100%;height:100%;min-height:130px;display:grid;place-items:center;position:relative; }.welcome-screen .welcome-illustration { display:block;width:100%;max-height:34dvh;object-fit:contain;position:relative; }.welcome-button { width:100%; font-size:1.05rem; }.plain-button { border:0;background:transparent;color:var(--sage);font-weight:700;padding:5px;cursor:pointer; }.prototype-note { margin:0;font-size:.72rem;color:var(--muted); }
.signin-screen { overflow-y:auto;overscroll-behavior:contain;padding:max(16px,env(safe-area-inset-top)) 20px max(18px,env(safe-area-inset-bottom)); }.signin-inner { width:min(100%,470px);min-height:100%;margin:auto;display:grid;grid-template-rows:auto minmax(130px,24dvh) auto;gap:13px;align-content:center; }.signin-top { display:flex;align-items:center;justify-content:space-between; }.signin-back { position:static;flex:none; }.signin-picture { overflow:hidden;border-radius:28px;background:var(--coral-soft);position:relative;isolation:isolate; }.signin-picture::before { content:'';position:absolute;width:45%;height:90%;left:-8%;bottom:-35%;border-radius:50%;background:#f8e7ac; }.signin-picture::after { content:'';position:absolute;width:38%;aspect-ratio:1;border-radius:50%;right:-8%;top:-30%;background:var(--sage-soft); }.signin-picture>span { position:absolute;width:24%;aspect-ratio:1;border-radius:50%;right:13%;bottom:-18%;background:var(--peach);opacity:.85; }.signin-picture img { width:100%;height:100%;object-fit:contain;position:relative;z-index:1; }.signin-card { background:var(--white);border:1px solid var(--line);border-radius:27px;padding:22px;box-shadow:var(--shadow); }.signin-card h1 { margin:0 0 7px;font-size:2rem;letter-spacing:-.02em; }.signin-card>p:not(.eyebrow):not(.signin-note) { margin-bottom:16px;color:var(--muted); }.signin-card .button { min-height:49px; }.signin-note { margin:12px 0 0;text-align:center;color:var(--muted);font-size:.72rem; }.auth-toggle { display:grid;grid-template-columns:1fr 1fr;gap:5px;margin:14px 0;padding:5px;border-radius:15px;background:var(--cream-deep); }.auth-toggle button { min-height:41px;border:0;border-radius:11px;background:transparent;color:var(--muted);font-weight:850;cursor:pointer; }.auth-toggle button.active { background:white;color:var(--sage);box-shadow:0 4px 12px rgba(49,77,67,.09); }.preview-divider { display:flex;align-items:center;gap:10px;margin:8px 0;color:var(--muted);font-size:.7rem;text-transform:uppercase; }.preview-divider::before,.preview-divider::after { content:'';height:1px;flex:1;background:var(--line); }.preview-button { min-height:48px;border:1px solid var(--sage);border-radius:14px;background:var(--sage-soft);color:var(--sage);font-weight:850;cursor:pointer; }.trial-ended { display:grid;place-items:center;padding:22px;overflow:auto; }.trial-ended-card { width:min(100%,460px);padding:28px;border:1px solid var(--line);border-radius:30px;background:white;box-shadow:var(--shadow);text-align:center; }.trial-ended-mark { width:116px;height:116px;margin:18px auto 12px;overflow:hidden;border-radius:28px;box-shadow:0 12px 28px rgba(49,77,67,.14); }.trial-ended-mark img { width:100%;height:100%;object-fit:cover; }.trial-ended-card h1 { margin:6px 0 10px;font-size:2.25rem; }.trial-ended-card>p:not(.eyebrow) { color:var(--muted); }.trial-plan-options { display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:20px 0 12px; }.trial-plan-options .button { padding:13px 8px; }.trial-plan-options .yearly { background:var(--sage); }.trial-ended-card small { display:block;margin-top:12px;color:var(--muted); }.tour-screen { padding:max(16px,env(safe-area-inset-top)) 20px max(18px,env(safe-area-inset-bottom));overflow:auto;overscroll-behavior:contain; }.tour-inner { width:min(100%,470px);min-height:100%;margin:auto;display:grid;grid-template-rows:auto minmax(0,1fr) auto auto;gap:14px; }.tour-top { display:flex;align-items:center;justify-content:space-between; }.tour-slide { display:grid;grid-template-rows:minmax(220px,1fr) auto;gap:16px;min-height:0; }.tour-picture { min-height:220px;border-radius:30px;overflow:hidden;background:linear-gradient(145deg,var(--coral-soft),var(--sage-soft));display:grid;place-items:end center; }.tour-picture img { display:block;width:100%;height:100%;max-height:48dvh;object-fit:contain;object-position:center bottom; }.tour-copy { text-align:center;padding:0 8px; }.tour-copy .eyebrow { margin-bottom:6px; }.tour-copy h1 { margin:0 0 9px;font-size:clamp(1.8rem,7vw,2.45rem); }.tour-copy p:last-child { margin:0;color:var(--muted);line-height:1.45; }.tour-dots { display:flex;justify-content:center;gap:7px; }.tour-dots i { width:8px;height:8px;border-radius:50%;background:#d9cfc1;transition:.2s; }.tour-dots i.active { width:25px;border-radius:99px;background:var(--coral); }.tour-actions { display:grid;grid-template-columns:1fr 2fr;gap:10px; }.tour-actions .button { min-height:50px; }.tour-actions .plain-button:disabled { opacity:.35; }.clerk-signin { min-height:180px;display:grid;place-items:center; }.clerk-signin>p { color:var(--muted);font-size:.82rem; }.clerk-signin .cl-rootBox { width:100%; }.clerk-signin .cl-cardBox,.clerk-signin .cl-card { width:100%;box-shadow:none; }
.onboarding { display:grid;place-items:center;padding:22px;overflow:auto;overscroll-behavior:contain; }.onboarding-card { width:min(100%,480px);background:var(--white);border:1px solid var(--line);border-radius:30px;padding:30px;box-shadow:var(--shadow);position:relative; }.back-button { width:42px;height:42px;border:0;border-radius:14px;background:var(--cream-deep);font-size:1.8rem;position:absolute;right:22px;top:22px;cursor:pointer; }.onboarding-card h1 { font-size:2.25rem;margin:24px 0 12px; }.onboarding-card>p:not(.eyebrow):not(.prototype-card-note) { color:var(--muted); }.role-options { display:grid;gap:12px;margin:26px 0 20px; }.role-options button { display:grid;grid-template-columns:auto 1fr;column-gap:14px;text-align:left;padding:17px;border-radius:19px;border:1px solid var(--line);background:var(--cream);cursor:pointer; }.role-options button:hover { border-color:var(--coral); }.role-symbol { width:46px;height:46px;grid-row:span 2;display:grid;place-items:center;border-radius:15px;background:var(--coral-soft);font-size:1.4rem; }.role-options strong { align-self:end; }.role-options small { color:var(--muted); }.prototype-card-note { margin:0;padding:12px;border-radius:13px;background:var(--sage-soft);font-size:.82rem; }
.app-shell { display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;background:var(--cream);max-width:680px;left:50%;transform:translateX(-50%);box-shadow:0 0 0 1px rgba(0,0,0,.03),0 0 60px rgba(49,75,66,.12); }
.app-header { min-height:64px;padding:max(10px,env(safe-area-inset-top)) 18px 8px;display:flex;align-items:end;justify-content:space-between;background:rgba(255,248,237,.96); }.header-actions { display:flex;gap:8px; }.icon-button,.avatar-button { width:38px;height:38px;border:0;border-radius:13px;background:var(--sage-soft);font-weight:700;cursor:pointer; }.avatar-button { background:var(--sage);color:white; }
.prototype-banner { padding:6px 14px;background:#f5df9d;color:#5a4b24;text-align:center;font-size:.72rem;font-weight:600; }.prototype-banner span { text-transform:uppercase;letter-spacing:.08em;margin-right:5px; }
.app-content { min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:22px 18px 32px;scrollbar-width:thin; }.page-head h1 { margin:0 0 8px;font-size:2.1rem;letter-spacing:-.02em; }.page-head>p:last-child:not(.eyebrow) { color:var(--muted);margin-bottom:24px; }.page-back { display:inline-flex;align-items:center;gap:5px;margin:0 0 17px;padding:8px 12px 8px 9px;border:1px solid var(--line);border-radius:13px;background:var(--white);color:var(--sage);font:800 .78rem var(--sans);box-shadow:0 5px 14px rgba(49,75,66,.06);cursor:pointer; }.page-back svg { width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round; }.page-back:active { transform:translateY(1px); }.page-back:focus-visible { outline:3px solid rgba(238,113,128,.3);outline-offset:2px; }.today-summary { display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:20px 0 28px; }.today-summary button { min-width:0;background:var(--white);border:1px solid var(--line);border-radius:17px;padding:13px 7px 10px;text-align:center;font-family:var(--sans);cursor:pointer;box-shadow:0 5px 14px rgba(49,75,66,.04);transition:transform .16s,border-color .16s,box-shadow .16s; }.today-summary button:hover { transform:translateY(-2px);border-color:#c9d7cf;box-shadow:0 8px 18px rgba(49,75,66,.08); }.today-summary button:focus-visible { outline:3px solid rgba(238,113,128,.3);outline-offset:2px; }.today-summary strong,.today-summary span,.today-summary small { display:block; }.today-summary strong { font:700 1.65rem var(--serif);color:var(--sage); }.today-summary span { min-height:25px;color:var(--muted);font-size:.7rem;line-height:1.2; }.today-summary small { margin-top:5px;color:var(--coral-deep);font-size:.61rem;font-weight:900;text-transform:uppercase;letter-spacing:.05em; }
.activity-illustration { min-height:170px;margin:2px 0 20px;border-radius:24px;overflow:hidden;position:relative;display:grid;place-items:end center;isolation:isolate;background:linear-gradient(145deg,var(--coral-soft),#f8e7ac); }.activity-illustration::after { content:'';position:absolute;width:150px;height:150px;border-radius:50%;right:-45px;top:-55px;background:rgba(255,255,255,.42);z-index:-1; }.activity-illustration img { display:block;width:100%;height:185px;object-fit:contain;object-position:center bottom;position:relative;z-index:1; }.activity-illustration>span { position:absolute;left:12px;top:12px;z-index:2;padding:6px 10px;border-radius:99px;background:rgba(255,253,250,.9);color:var(--sage);font-size:.7rem;font-weight:800;box-shadow:0 5px 14px rgba(49,75,66,.1); }.leaf-illustration { background:linear-gradient(145deg,#e1eadb,#f8e7ac); }.flapjack-illustration { background:linear-gradient(145deg,#f8e7ac,var(--coral-soft)); }.tower-illustration { background:linear-gradient(145deg,var(--coral-soft),#f8e7ac); }.socks-illustration { background:linear-gradient(145deg,var(--sage-soft),#f8e7ac); }
.reports-illustration { background:linear-gradient(145deg,var(--sage-soft),var(--coral-soft)); }.children-illustration { min-height:158px;margin:0 0 20px;padding:20px 46% 18px 18px;border-radius:23px;background:linear-gradient(145deg,var(--coral-soft),#f8e7ac);position:relative;overflow:hidden; }.children-illustration h2 { margin:2px 0 7px;font-size:1.2rem; }.children-illustration p:last-child { margin:0;color:var(--muted);font-size:.78rem;line-height:1.35; }.children-illustration img { position:absolute;right:-3%;bottom:-2%;width:57%;height:100%;object-fit:contain;object-position:right bottom; }.celebration-card { display:grid;grid-template-columns:58px 1fr;gap:14px;align-items:start;margin:0 0 20px;padding:17px;border-radius:22px;background:#f8e7ac;border:1px solid #ead18a; }.celebration-date { width:58px;height:64px;border-radius:17px;background:var(--white);display:grid;place-content:center;text-align:center;color:var(--coral-deep);box-shadow:0 6px 16px rgba(73,67,41,.08); }.celebration-date strong { font:700 1.7rem/1 var(--serif); }.celebration-date span { font-size:.62rem;font-weight:800;letter-spacing:.11em; }.celebration-card .eyebrow { margin:1px 0 4px;font-size:.65rem; }.celebration-card h2 { margin:0 0 6px;font-size:1.15rem; }.celebration-card p:last-of-type { margin:0;color:#5f5c47;font-size:.8rem;line-height:1.4; }.celebration-card button { border:0;background:transparent;color:var(--coral-deep);padding:9px 0 0;font-size:.75rem;font-weight:800;cursor:pointer; }
.season-card { display:grid;grid-template-columns:70px 1fr;gap:15px;align-items:center;margin:0 0 16px;padding:18px;border:1px solid rgba(72,94,78,.12);border-radius:23px;overflow:hidden;position:relative; }.season-card::after { content:'';position:absolute;width:100px;height:100px;border:18px solid rgba(255,255,255,.3);border-radius:50%;right:-58px;top:-58px; }.season-winter { background:linear-gradient(135deg,#e7f1ef,#dce8f4); }.season-spring { background:linear-gradient(135deg,#e0edd8,#f8e3df); }.season-summer { background:linear-gradient(135deg,#fff0b8,#f8d9c7); }.season-autumn { background:linear-gradient(135deg,#f7dfba,#ead8c5); }.season-festive { background:linear-gradient(135deg,#dce8da,#f6d7d8); }.season-icon { width:70px;height:70px;border-radius:22px;background:rgba(255,253,250,.88);display:grid;place-items:center;font-size:2.35rem;box-shadow:0 8px 20px rgba(49,75,66,.09); }.season-card .eyebrow { margin:0 0 3px;font-size:.65rem; }.season-card h2 { margin:0 0 5px;font-size:1.18rem; }.season-card p:last-of-type { margin:0;color:#59665d;font-size:.79rem;line-height:1.42; }.season-card button { border:0;background:transparent;color:var(--sage);padding:9px 0 0;font-size:.74rem;font-weight:850;cursor:pointer;position:relative;z-index:1; }
.weather-card { display:grid;grid-template-columns:84px 1fr;gap:15px;align-items:start;margin:0 0 24px;padding:18px;border:1px solid #cddcd5;border-radius:23px;background:var(--white);box-shadow:0 9px 24px rgba(49,75,66,.06); }.weather-map { width:84px;height:102px;border-radius:20px;position:relative;display:grid;place-items:center;background:linear-gradient(#cce7ee 0 58%,#d8e5c7 58%);overflow:hidden; }.weather-map::before,.weather-map::after { content:'';position:absolute;background:rgba(255,255,255,.58);border-radius:50%; }.weather-map::before { width:38px;height:18px;left:-9px;top:23px;box-shadow:22px -7px 0 rgba(255,255,255,.58); }.weather-map::after { width:55px;height:22px;right:-22px;bottom:14px;box-shadow:-35px 10px 0 #b9d2ad; }.weather-map span { font-size:2.5rem;position:relative;z-index:2;transform:translateY(-8px); }.weather-map i { position:absolute;z-index:3;bottom:7px;left:9px;width:25px;height:25px;border-radius:50% 50% 50% 8px;transform:rotate(-45deg);display:grid;place-items:center;background:var(--coral);color:#fff;font:900 .8rem/1 sans-serif;box-shadow:0 4px 10px rgba(126,59,70,.2); }.weather-map i::first-letter { transform:rotate(45deg); }.weather-wet { background:linear-gradient(#b9d1dc 0 58%,#b7caa9 58%); }.weather-dry { background:linear-gradient(#bfe5ef 0 58%,#cde0aa 58%); }.weather-copy .eyebrow { margin:1px 0 3px;font-size:.64rem; }.weather-copy h2 { margin:0 0 6px;font-size:1.16rem; }.weather-copy>p:last-of-type { margin:0;color:var(--muted);font-size:.78rem;line-height:1.4; }.weather-copy button { margin-top:11px;border:0;border-radius:12px;background:var(--sage);color:white;padding:10px 13px;font-size:.73rem;font-weight:850;cursor:pointer; }.weather-copy button:disabled { opacity:.65;cursor:wait; }.weather-copy small { display:block;margin-top:7px;color:var(--muted);font-size:.62rem;line-height:1.3; }.weather-suggestion { margin-top:11px;padding:10px 11px;border-radius:13px;background:var(--sage-soft);font-size:.74rem;line-height:1.38; }.weather-suggestion strong,.weather-suggestion span { display:block; }.weather-suggestion strong { margin-bottom:2px;color:var(--sage); }.weather-card.loading { opacity:.72; }.weather-card.error { border-color:#ead4c8;background:#fffaf5; }
.section-row,.label-row { display:flex;align-items:center;justify-content:space-between;gap:12px; }.section-row h2 { font-size:1.15rem;margin:0; }.section-row button,.label-row button { border:0;background:transparent;color:var(--coral-deep);font-size:.8rem;font-weight:700;cursor:pointer; }.count { min-width:26px;height:26px;display:grid;place-items:center;border-radius:9px;background:var(--coral-soft);font-size:.75rem;font-weight:700; }
.child-row { display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:13px 0 24px; }.child-row button { border:0;border-radius:19px;background:var(--white);padding:14px 7px;display:flex;align-items:center;flex-direction:column;cursor:pointer; }.child-row strong { margin-top:6px;font-size:.86rem; }.child-row small { font-size:.65rem;color:var(--muted); }.big-moment { width:100%;display:flex;align-items:center;gap:15px;border:0;border-radius:20px;background:var(--coral);color:white;padding:17px 20px;text-align:left;box-shadow:0 12px 24px rgba(217,88,109,.2);cursor:pointer; }.big-moment>span { width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:rgba(255,255,255,.22);font-size:1.6rem; }.big-moment div { flex:1; }.big-moment strong,.big-moment small { display:block; }.big-moment small { opacity:.82; }.panel,.idea-card,.voice-card,.guidance-card,.care-panel,.report-hero,.learning-highlight,.trial-panel { background:var(--white);border:1px solid var(--line);border-radius:22px;padding:18px;margin-top:18px; }.task { display:flex;align-items:center;gap:12px;margin-top:14px; }.task-icon { width:40px;height:40px;border-radius:13px;background:var(--sage-soft);display:grid;place-items:center; }.task>div { flex:1; }.task strong,.task small { display:block; }.task small { color:var(--muted);font-size:.75rem; }.task button { border:0;border-radius:11px;background:var(--cream-deep);padding:9px 12px;font-weight:700;font-size:.75rem;cursor:pointer; }.idea-card { background:#e1eadb; }.idea-card>div { display:flex;gap:14px; }.idea-card h2 { margin:0 0 5px;font-size:1.2rem; }.idea-card p { margin-bottom:6px; }.idea-card small { color:var(--muted); }.idea-emoji { font-size:2.3rem; }.idea-card button { margin-top:14px;border:0;background:var(--sage);color:white;border-radius:13px;padding:10px 15px;font-weight:700;cursor:pointer; }
.bottom-nav { display:grid;grid-template-columns:repeat(5,1fr);padding:7px 7px max(8px,env(safe-area-inset-bottom));background:var(--white);border-top:1px solid var(--line);box-shadow:0 -8px 24px rgba(49,75,66,.08);overflow:visible; }.bottom-nav.six-tabs { grid-template-columns:repeat(6,1fr); }.bottom-nav button { border:0;background:transparent;color:var(--sage-2);display:flex;flex-direction:column;align-items:center;gap:3px;padding:4px 1px;min-width:0;cursor:pointer;font-weight:700; }.bottom-nav .nav-icon { width:37px;height:32px;display:grid;place-items:center;border-radius:12px;transition:background .2s,color .2s,transform .2s; }.bottom-nav svg { width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round; }.bottom-nav button[data-tab="moment"] { position:relative;z-index:2;color:var(--sage); }.bottom-nav button[data-tab="moment"] .nav-icon { width:58px;height:54px;margin-top:-23px;margin-bottom:-1px;background:transparent;filter:drop-shadow(0 8px 13px rgba(217,88,109,.28));transform:translateY(-5px); }.bottom-nav button[data-tab="moment"] .nav-icon img { display:block;width:56px;height:56px; }.bottom-nav button small { font-size:.67rem;line-height:1.05;white-space:nowrap;font-weight:800; }.bottom-nav button.active { color:var(--coral-deep); }.bottom-nav button.active .nav-icon { background:var(--coral-soft);transform:translateY(-2px); }.bottom-nav button[data-tab="moment"].active .nav-icon { background:transparent;transform:translateY(-7px) scale(1.06); }.bottom-nav button:focus-visible { outline:3px solid rgba(238,113,128,.35);outline-offset:1px;border-radius:13px; }
.profile-list { display:grid;gap:12px; }.profile-list article { display:flex;align-items:center;gap:14px;padding:17px;background:var(--white);border-radius:20px;border:1px solid var(--line); }.profile-list article>div { flex:1; }.profile-list h2,.profile-list p { margin:0; }.profile-list h2 { font-size:1.15rem; }.profile-list p,.profile-list small { color:var(--muted); }.profile-list small { display:block;font-size:.75rem;margin-top:4px; }.profile-list button { border:0;border-radius:12px;padding:9px 11px;background:var(--coral-soft);color:var(--coral-deep);font-size:.73rem;font-weight:700;cursor:pointer; }.age-guide h2 { font-size:1.2rem; }.age-guide p { margin:0;color:var(--muted); }
.field { margin:18px 0; }.field label { display:block;margin-bottom:7px;font-weight:700;color:var(--sage); }.field label span { color:var(--coral-deep);font-size:.65rem;text-transform:uppercase; }.field input,.field select,.field textarea { width:100%;border:1px solid var(--line);border-radius:15px;background:var(--white);padding:13px;color:var(--ink);outline:none; }.field input:focus,.field textarea:focus,.field select:focus { border-color:var(--coral);box-shadow:0 0 0 3px var(--coral-soft); }.field-prompt { margin:7px 3px 0;color:var(--muted);font-size:.77rem; }.voice-card { text-align:center;background:var(--sage-soft); }.voice-orb { width:62px;height:62px;margin:0 auto 10px;border-radius:50%;background:var(--sage);color:white;display:grid;place-items:center; }.voice-orb svg { width:30px;height:30px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round; }.voice-card h2 { font-size:1.3rem;margin-bottom:5px; }.voice-card p { color:var(--muted);margin-bottom:12px; }.voice-card small { display:block;margin-top:8px;color:var(--muted);font-size:.7rem; }.voice-actions { display:flex;justify-content:center;gap:8px;flex-wrap:wrap; }.voice-button,.voice-demo-button { border:0;border-radius:14px;padding:11px 15px;font-weight:800;cursor:pointer; }.voice-button { background:var(--white);color:var(--sage); }.voice-demo-button { background:var(--coral);color:white; }.voice-button.listening { background:var(--coral);color:white; }.photo-picker { display:grid !important;grid-template-columns:auto 1fr;column-gap:12px;border:1px dashed #bfafa0;border-radius:17px;background:rgba(255,255,255,.55);padding:14px;cursor:pointer; }.photo-picker>span { grid-row:span 2;width:43px;height:43px;display:grid;place-items:center;background:var(--cream-deep);border-radius:13px; }.photo-picker small { color:var(--muted); }.guidance-card { background:#f7eab7; }.guidance-card>p:last-of-type { margin-bottom:12px; }.tag-row { display:flex;gap:7px;flex-wrap:wrap; }.tag-row span,.tag-row b { background:rgba(255,255,255,.65);border-radius:99px;padding:5px 9px;font-size:.69rem;color:var(--sage-2);font-weight:700; }.full-width { width:100%; }.photo-preview { margin-top:8px; }.photo-preview img,#photo-preview img { width:100%;max-height:220px;object-fit:cover;border-radius:16px; }.photo-preview button,#photo-preview button { border:0;background:transparent;color:var(--coral-deep);font-weight:700;margin-top:6px; }
.secure-children { margin:22px 0; }.secure-pill { padding:5px 9px;border-radius:99px;background:var(--sage-soft);color:var(--sage);font-size:.66rem;font-weight:900;text-transform:uppercase; }.empty-child-card { margin-bottom:10px;padding:18px;border:1px dashed #b9aa98;border-radius:19px;background:rgba(255,255,255,.45);text-align:center; }.empty-child-card h2 { margin-bottom:5px;font-size:1.15rem; }.empty-child-card p { margin:0;color:var(--muted);font-size:.8rem; }.add-child-button { margin-top:12px; }.demo-heading { margin-top:24px; }.secure-invite { display:flex;gap:14px;align-items:flex-start;margin:18px 0;padding:18px;border-radius:22px;background:var(--sage-soft); }.secure-invite>span { width:50px;height:50px;display:grid;place-items:center;flex:none;border-radius:16px;background:white;color:var(--sage); }.secure-invite svg { width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:2; }.secure-invite h2 { margin:0 0 6px;font-size:1.15rem; }.secure-invite p:not(.eyebrow) { margin:0 0 10px;color:var(--muted);font-size:.78rem; }.secure-invite button { border:0;border-radius:12px;background:var(--sage);color:white;padding:9px 12px;font-weight:800;cursor:pointer; }.field-pair { display:grid;grid-template-columns:1fr 1fr;gap:10px; }.field-pair .field { margin:0; }.child-form>.field { margin:14px 0; }.data-notice { display:flex;gap:12px;margin-bottom:18px;padding:15px;border-radius:19px;background:#f8e7ac;color:#64593c; }.data-notice>span { width:33px;height:33px;display:grid;place-items:center;flex:none;border-radius:50%;background:white;color:var(--sage);font-weight:900; }.data-notice strong { color:var(--sage);font-family:var(--serif); }.data-notice p { margin:3px 0 0;font-size:.74rem;line-height:1.45; }.form-status { min-height:21px;margin:5px 0 9px;color:var(--coral-deep);font-size:.78rem;font-weight:700; }
.account-empty { margin:18px 0 24px;padding:24px; }.account-empty .button { margin-top:16px; }.save-check-card { margin:18px 0 24px;padding:20px;border-radius:22px;background:var(--sage-soft); }.save-check-card h2 { margin:3px 0 10px;font-size:1.3rem; }.save-check-card ul { margin:0;padding-left:20px;color:var(--muted);font-size:.8rem;line-height:1.5; }.save-check-card li+li { margin-top:6px; }.save-check-card strong { color:var(--sage); }
.form-section-heading { display:flex;align-items:center;gap:11px;margin:26px 0 12px;padding-top:22px;border-top:1px solid var(--line); }.form-section-heading:first-child { margin-top:5px;padding-top:0;border-top:0; }.form-section-heading>span { width:34px;height:34px;display:grid;place-items:center;flex:none;border-radius:50%;background:var(--coral-soft);color:var(--coral-deep);font:800 .85rem var(--serif); }.form-section-heading strong,.form-section-heading small { display:block; }.form-section-heading strong { color:var(--sage);font-family:var(--serif); }.form-section-heading small { color:var(--muted);font-size:.7rem;line-height:1.35; }.permission-list { display:grid;gap:9px;margin-bottom:17px; }.permission-list label { display:flex;gap:11px;align-items:flex-start;padding:13px;border:1px solid var(--line);border-radius:15px;background:var(--white);cursor:pointer; }.permission-list input { width:20px;height:20px;margin-top:2px;accent-color:var(--coral-deep); }.permission-list span,.permission-list strong,.permission-list small { display:block; }.permission-list span { flex:1; }.permission-list strong { color:var(--sage);font-size:.8rem; }.permission-list small { margin-top:2px;color:var(--muted);font-size:.67rem;line-height:1.35; }
.filter-chips { display:flex;gap:7px;overflow:auto;margin:18px -18px;padding:0 18px 5px; }.filter-chips button { flex:none;border:1px solid var(--line);border-radius:99px;background:var(--white);padding:8px 12px;font-size:.78rem;cursor:pointer; }.filter-chips button.active { background:var(--sage);color:white;border-color:var(--sage); }.activity-list { display:grid;gap:12px; }.activity-card { display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;width:100%;background:var(--white);border:1px solid var(--line);border-radius:20px;padding:16px;text-align:left;cursor:pointer;box-shadow:0 6px 16px rgba(49,75,66,.04);transition:transform .18s,border-color .18s,box-shadow .18s; }.activity-card:hover { transform:translateY(-2px);border-color:#c9bba9;box-shadow:0 10px 22px rgba(49,75,66,.09); }.activity-card:focus-visible { outline:3px solid rgba(238,113,128,.35);outline-offset:2px; }.activity-card-icon { width:54px;height:54px;display:grid;place-items:center;flex:none;background:var(--cream-deep);border-radius:17px;color:var(--sage); }.activity-card-icon svg { width:31px;height:31px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round; }.activity-card-copy { min-width:0; }.activity-card-copy>small,.activity-card-copy>strong,.activity-card-copy>span:not(.tag-row) { display:block; }.activity-card-copy>small { color:var(--coral-deep);font-size:.67rem;font-weight:800;text-transform:uppercase;letter-spacing:.055em; }.activity-card-copy>strong { margin:2px 0 5px;color:var(--sage);font:600 1.12rem/1.15 var(--serif); }.activity-card-copy>span:not(.tag-row) { margin-bottom:9px;color:var(--muted);font-size:.8rem;line-height:1.4; }.activity-arrow { color:var(--coral-deep);font:600 2rem/1 var(--serif); }.idea-emoji svg { width:42px;height:42px;fill:none;stroke:var(--sage);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round; }
.activity-detail-hero { display:flex;align-items:center;gap:16px;margin-bottom:14px;padding:20px;border-radius:24px;background:linear-gradient(135deg,var(--sage-soft),#f8e7ac); }.activity-detail-hero>span { width:72px;height:72px;display:grid;place-items:center;flex:none;border-radius:22px;background:rgba(255,255,255,.72);color:var(--sage); }.activity-detail-hero svg { width:43px;height:43px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round; }.activity-detail-hero .eyebrow { margin-bottom:5px; }.activity-detail-hero h2 { margin:0;font-size:1.2rem;line-height:1.25; }.activity-facts { display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-bottom:14px; }.activity-facts>span { padding:12px 14px;border:1px solid var(--line);border-radius:16px;background:var(--white); }.activity-facts small,.activity-facts strong { display:block; }.activity-facts small { color:var(--coral-deep);font-size:.62rem;font-weight:900;letter-spacing:.08em; }.activity-facts strong { margin-top:3px;color:var(--sage);font-size:.76rem;line-height:1.35; }.activity-detail-section { margin:12px 0;padding:18px;border:1px solid var(--line);border-radius:21px;background:var(--white); }.activity-detail-section .eyebrow { margin-bottom:10px; }.materials-list { display:grid;gap:7px;margin:0;padding:0;list-style:none; }.materials-list li { position:relative;padding-left:25px;color:#506059;font-size:.84rem; }.materials-list li::before { content:'✓';position:absolute;left:0;width:18px;height:18px;border-radius:50%;background:var(--sage-soft);color:var(--sage);display:grid;place-items:center;font-size:.68rem;font-weight:900; }.steps-section { background:#fffaf2; }.steps-section ol { list-style:none;counter-reset:steps;margin:0;padding:0;display:grid;gap:12px; }.steps-section li { counter-increment:steps;position:relative;padding-left:39px;color:#506059;font-size:.84rem;line-height:1.45; }.steps-section li::before { content:counter(steps);position:absolute;left:0;top:-2px;width:28px;height:28px;border-radius:10px;background:var(--coral);color:white;display:grid;place-items:center;font-weight:900; }.age-adaptations { background:var(--sage-soft);border:0; }.age-adaptations>div+div { margin-top:12px;padding-top:12px;border-top:1px solid rgba(49,75,66,.14); }.age-adaptations strong { color:var(--sage);font-size:.83rem; }.age-adaptations p,.learning-links>p { margin:4px 0 0;color:var(--muted);font-size:.8rem;line-height:1.45; }.learning-links .tag-row { margin-bottom:11px; }.activity-safety { display:flex;gap:12px;margin:12px 0 18px;padding:16px;border-radius:19px;background:#f8e7ac;color:#64593c; }.activity-safety>span { width:33px;height:33px;display:grid;place-items:center;flex:none;border-radius:50%;background:white;color:var(--sage);font-weight:900; }.activity-safety strong { color:var(--sage);font-family:var(--serif); }.activity-safety p { margin:3px 0 0;font-size:.76rem;line-height:1.45; }
.eyfs-links { margin:10px 0 2px;padding-top:9px;border-top:1px solid rgba(49,75,66,.13);text-align:left; }.eyfs-links>small { display:block;color:var(--sage-2)!important;font-size:.61rem!important;font-weight:900!important;letter-spacing:.055em;text-transform:uppercase; }.eyfs-links>div { display:flex;flex-wrap:wrap;gap:5px;margin-top:6px; }.eyfs-links>div>span { display:inline-flex!important;align-items:center;margin:0!important;padding:5px 8px;border-radius:99px;background:#e4eee0;color:var(--sage)!important;font-size:.62rem!important;font-weight:850;line-height:1.15!important; }.activity-card .eyfs-links { margin-top:9px; }.activity-card .eyfs-links>div>span { background:var(--cream-deep); }.characteristic-note { display:grid;gap:3px;margin-top:10px;padding:10px 12px;border-radius:13px;background:#f8edc2;color:#5d5943; }.characteristic-note strong { margin:0!important;color:var(--sage)!important;font:850 .7rem/1.25 var(--sans)!important; }.characteristic-note span { font-size:.68rem;line-height:1.35; }
.report-hero { display:flex;align-items:center;gap:13px; }.report-icon { width:50px;height:50px;display:grid;place-items:center;background:var(--sage-soft);border-radius:16px;font-size:1.3rem; }.report-hero>div { flex:1; }.report-hero h2,.report-hero p { margin:0; }.report-hero h2 { font-size:1.1rem; }.report-hero p { color:var(--muted);font-size:.75rem; }.draft-pill { padding:5px 8px;border-radius:99px;background:var(--cream-deep);font-size:.68rem;font-weight:700; }.progress-block { padding:18px 3px;border-bottom:1px solid var(--line); }.progress-block>div { display:flex;justify-content:space-between;gap:10px; }.progress-block>div span { color:var(--muted);font-size:.75rem; }.progress-block i { display:block;height:7px;background:linear-gradient(90deg,var(--coral) var(--progress),#eadfd1 var(--progress));border-radius:99px;margin:10px 0; }.progress-block p { margin:0;color:var(--muted);font-size:.85rem; }.check-list { list-style:none;padding:0;margin:0; }.check-list li { padding:6px 0; }
.report-document { background:var(--white);border:1px solid var(--line);border-radius:25px;overflow:hidden;box-shadow:0 12px 32px rgba(49,75,66,.08); }.report-cover { display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:22px;background:linear-gradient(135deg,var(--sage-soft),#f8e7ac); }.report-cover .eyebrow { margin:0 0 4px; }.report-cover h2 { margin:0 0 4px;font-size:1.65rem; }.report-cover p:last-child { margin:0;color:var(--muted);font-size:.78rem; }.complete-pill { flex:none;padding:6px 9px;border-radius:99px;background:var(--sage);color:white;font-size:.64rem;font-weight:900;text-transform:uppercase;letter-spacing:.05em; }.fiction-banner { display:flex;gap:7px;align-items:center;flex-wrap:wrap;padding:10px 20px;background:var(--coral-soft);color:#704a4f;font-size:.72rem; }.fiction-banner strong { color:var(--coral-deep); }.report-meta { display:grid;grid-template-columns:1fr 1fr;margin:0;padding:9px 20px 18px; }.report-meta div { padding:11px 4px;border-bottom:1px solid var(--line); }.report-meta div:nth-child(odd) { padding-right:12px; }.report-meta dt { color:var(--muted);font-size:.63rem;font-weight:850;text-transform:uppercase;letter-spacing:.06em; }.report-meta dd { margin:3px 0 0;color:var(--sage);font-size:.78rem;font-weight:750;line-height:1.35; }.report-section { padding:20px;border-top:1px solid var(--line); }.report-section h2 { margin:2px 0 10px;font-size:1.35rem; }.report-section>p:not(.report-label) { color:#4e5d56;font-size:.83rem;line-height:1.55; }.report-label { margin:0 0 4px;color:var(--coral-deep);font-size:.63rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em; }.report-summary { background:#fbf7ef; }.progress-story { display:grid;grid-template-columns:1fr auto 1fr;gap:8px;align-items:stretch; }.progress-story>div { padding:13px;border-radius:15px;background:var(--cream); }.progress-story>div:last-child { background:var(--sage-soft); }.progress-story>span { align-self:center;color:var(--coral-deep);font-size:1.2rem; }.progress-story p { margin:5px 0 0;color:var(--muted);font-size:.76rem;line-height:1.42; }.area-list { display:grid;gap:10px; }.area-report { padding:15px;border:1px solid var(--line);border-radius:17px;background:#fffefa; }.area-report h3 { margin:0 0 7px;font-size:1.05rem; }.area-report>p { margin:0;color:#526159;font-size:.8rem;line-height:1.48; }.area-report details { margin-top:10px;border-top:1px solid var(--line);padding-top:9px; }.area-report summary { color:var(--coral-deep);font-size:.72rem;font-weight:850;cursor:pointer; }.area-report details div { padding-top:10px; }.area-report details strong { display:block;color:var(--sage);font-size:.72rem; }.area-report details p { margin:3px 0 9px;color:var(--muted);font-size:.76rem;line-height:1.45; }.learning-characteristics { display:grid;gap:9px; }.learning-characteristics>div { padding:13px;border-radius:15px;background:var(--cream); }.learning-characteristics strong { color:var(--sage);font-size:.82rem; }.learning-characteristics p { margin:4px 0 0;color:var(--muted);font-size:.76rem;line-height:1.42; }.report-bullets { margin:0;padding-left:19px; }.report-bullets li { margin:8px 0;color:#526159;font-size:.78rem;line-height:1.45; }.voice-grid { display:grid;grid-template-columns:1fr 1fr;gap:9px; }.voice-grid blockquote { margin:0;padding:14px;border-radius:16px;background:var(--coral-soft);color:#5c4d4f;font:600 .8rem/1.45 var(--sans); }.voice-grid blockquote:last-child { background:var(--sage-soft);color:#46564f; }.voice-grid span { display:block;margin-bottom:6px;color:var(--coral-deep);font-size:.63rem;font-weight:900;text-transform:uppercase;letter-spacing:.07em; }.voice-grid blockquote:last-child span { color:var(--sage); }.next-steps { background:#f8edc2; }.next-steps ol { margin:8px 0 0;padding-left:21px; }.next-steps li { padding:5px 0 5px 3px;color:#555542;font-size:.78rem;line-height:1.45; }.provision-impact { background:var(--sage-soft); }.inspection-note { margin:18px 20px;padding:14px;border-radius:16px;background:var(--sage);color:#edf4eb; }.inspection-note strong { color:white;font-family:var(--serif); }.inspection-note p { margin:5px 0 0;font-size:.72rem;line-height:1.45; }.report-signoff { display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:20px;border-top:1px solid var(--line); }.report-signoff span,.report-signoff strong,.report-signoff small { display:block; }.report-signoff span { color:var(--muted);font-size:.63rem;text-transform:uppercase;font-weight:850; }.report-signoff strong { margin:4px 0;color:var(--sage);font-size:.8rem; }.report-signoff small { color:var(--muted);font-size:.67rem;line-height:1.35; }
.report-actions { display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:0 0 16px;padding:14px;border-radius:20px;background:var(--sage); }.report-actions button,.report-actions a,.report-actions label { min-width:0;min-height:65px;padding:9px 5px;border:0;border-radius:13px;background:rgba(255,255,255,.12);color:white;text-decoration:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;text-align:center;font:800 .66rem/1.2 var(--sans);cursor:pointer; }.report-actions button:hover,.report-actions a:hover,.report-actions label:hover { background:rgba(255,255,255,.2); }.report-actions svg { width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round; }.report-actions>small { grid-column:1/-1;color:#dce7d8;font-size:.64rem;line-height:1.4;text-align:center; }.photo-help { margin:0 0 11px!important;color:var(--muted)!important;font-size:.72rem!important; }.report-photo-grid { display:grid;grid-template-columns:1fr 1fr;gap:9px; }.report-photo-grid figure { margin:0;overflow:hidden;border:1px solid var(--line);border-radius:15px;background:var(--cream); }.report-photo-grid figure:only-child,.report-photo-grid figure:last-child:nth-child(odd) { grid-column:1/-1; }.report-photo-grid img { display:block;width:100%;aspect-ratio:4/3;object-fit:cover; }.report-photo-grid figcaption { padding:10px;color:var(--muted);font-size:.65rem;line-height:1.25;word-break:break-word; }.report-caption-fields { display:grid;gap:8px; }.report-caption-fields label { color:var(--sage);font-size:.64rem;font-weight:850; }.report-caption-fields input { display:block;width:100%;margin-top:4px;padding:8px;border:1px solid var(--line);border-radius:10px;background:white;color:var(--ink);font:700 .7rem var(--sans); }.report-caption-fields button { display:block;justify-self:start;margin:0;padding:0;border:0;background:transparent;color:var(--coral-deep);font-weight:850;cursor:pointer; }.photo-print-caption { display:none; }.photo-print-caption strong,.photo-print-caption span { display:block; }.photo-print-caption strong { color:var(--sage);font-size:.75rem; }.photo-print-caption span { margin-top:3px;color:var(--muted);font-size:.67rem; }
.menu-list { display:grid;gap:10px; }.menu-list button,.care-panel button { display:flex;align-items:center;gap:13px;width:100%;border:1px solid var(--line);border-radius:18px;background:var(--white);padding:14px;text-align:left;cursor:pointer; }.menu-list button>span,.care-panel button>span { width:42px;height:42px;border-radius:13px;background:var(--sage-soft);display:grid;place-items:center;font-size:1.15rem; }.menu-list button>div,.care-panel button>div { flex:1; }.menu-list strong,.menu-list small,.care-panel strong,.care-panel small { display:block; }.menu-list small,.care-panel small { color:var(--muted); }.care-panel h2 { font-size:1.25rem; }.care-panel button { border:0;padding:10px 0; }.care-panel button b { font-size:.7rem;color:var(--coral-deep); }.care-eyfs { display:block;margin-top:4px;color:var(--sage-2);font-size:.6rem;font-style:normal;font-weight:850;line-height:1.3; }.trial-panel { background:var(--sage);color:white; }.trial-panel p,.trial-panel h2 { margin:0;color:white; }.trial-panel span { color:#dce7d8;font-size:.82rem; }.trial-panel.family { background:var(--coral); }
.eyfs-guide-intro { padding:22px;border-radius:24px;background:linear-gradient(135deg,var(--sage-soft),#f8e7ac); }.eyfs-guide-intro h2 { margin:3px 0 8px;font-size:1.55rem; }.eyfs-guide-intro p:last-child { margin:0;color:#526159;font-size:.84rem; }.eyfs-groups { display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:14px 0; }.eyfs-groups section { padding:17px;border:1px solid var(--line);border-radius:19px;background:var(--white); }.eyfs-groups h2 { margin:0 0 7px;font-size:1.08rem; }.eyfs-groups p:last-child { margin:0;color:var(--muted);font-size:.74rem;line-height:1.45; }.eyfs-area-grid { display:grid;gap:9px; }.eyfs-area-grid article { display:flex;gap:12px;align-items:flex-start;padding:15px;border:1px solid var(--line);border-radius:18px;background:var(--white); }.eyfs-area-grid article>span { width:31px;height:31px;display:grid;place-items:center;flex:none;border-radius:10px;background:var(--coral-soft);color:var(--coral-deep);font:800 .78rem var(--serif); }.eyfs-area-grid h2 { margin:0 0 3px;font-size:1rem; }.eyfs-area-grid p { margin:0;color:var(--muted);font-size:.72rem;line-height:1.4; }.characteristics-panel { margin:15px 0;padding:19px;border-radius:22px;background:var(--sage);color:white; }.characteristics-panel h2 { color:white;font-size:1.25rem; }.characteristics-panel>div { display:grid;gap:8px; }.characteristics-panel article { padding:12px;border-radius:14px;background:rgba(255,255,255,.1); }.characteristics-panel strong { color:white;font-size:.78rem; }.characteristics-panel article p { margin:3px 0 0;color:#dce7d8;font-size:.7rem;line-height:1.4; }.eyfs-how>p { color:var(--muted);font-size:.75rem; }.official-guidance { display:grid;gap:8px;margin-top:14px;padding:18px;border:1px solid var(--line);border-radius:20px;background:var(--white); }.official-guidance h2 { margin:0 0 3px;font-size:1.15rem; }.official-guidance a { display:flex;justify-content:space-between;gap:10px;padding:11px 12px;border-radius:13px;background:var(--cream-deep);color:var(--sage);font-size:.75rem;font-weight:850;text-decoration:none; }
.parent-hero { display:flex;align-items:center;gap:14px;padding:18px;border-radius:22px;background:var(--coral-soft); }.avatar.large { width:62px;height:62px; }.parent-hero h2 { margin:2px 0 0;font-size:1.25rem; }.parent-hero small { color:var(--coral-deep);font-weight:700; }.timeline { margin:22px 0; }.timeline article { display:grid;grid-template-columns:45px 1fr;gap:9px;position:relative;padding-bottom:16px; }.timeline article::after { content:'';position:absolute;left:53px;top:48px;bottom:0;border-left:1px dashed #cabdad; }.timeline article:last-child::after { display:none; }.timeline i { font-style:normal;color:var(--muted);font-size:.72rem;padding-top:14px; }.timeline article>div { background:var(--white);border:1px solid var(--line);border-radius:18px;padding:14px; }.timeline-icon { float:left;margin-right:10px;font-size:1.4rem; }.timeline h2 { font-size:1.05rem;margin:0 0 4px; }.timeline p { clear:both;margin:5px 0 9px;color:var(--muted); }.parent-add { background:var(--sage); }.learning-highlight { background:#e1eadb; }.learning-highlight h2 { font-size:1.4rem; }.learning-highlight p:last-child { margin:0;color:var(--muted); }.learning-grid { display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:16px 0; }.learning-grid article { background:var(--white);border:1px solid var(--line);border-radius:18px;padding:14px; }.learning-grid span,.learning-grid strong,.learning-grid small { display:block; }.learning-grid span { font:700 1.8rem var(--serif);color:var(--coral-deep); }.learning-grid small { color:var(--muted); }.progress-ring { width:170px;height:170px;margin:22px auto;border-radius:50%;background:conic-gradient(var(--coral) 0 78%,var(--sage-soft) 78%);padding:14px; }.progress-ring>div { width:100%;height:100%;border-radius:50%;background:var(--cream);display:grid;place-content:center;text-align:center; }.progress-ring strong { font:700 2.6rem var(--serif);color:var(--sage); }.progress-ring span { max-width:100px;color:var(--muted);font-size:.75rem; }.toast { position:fixed;left:50%;bottom:90px;transform:translate(-50%,20px);width:min(calc(100% - 32px),420px);padding:12px 16px;border-radius:14px;background:var(--sage);color:white;text-align:center;font-size:.82rem;box-shadow:var(--shadow);opacity:0;pointer-events:none;transition:.25s;z-index:99; }.toast.show { opacity:1;transform:translate(-50%,0); }

@media (max-width:760px) { .site-header nav { display:none; }.site-header { height:70px; }.hero { min-height:auto;grid-template-columns:1fr;gap:45px;padding-block:38px 58px; }.hero h1 { font-size:clamp(2.55rem,13vw,3.2rem); }.hero-actions { gap:7px;margin-top:25px; }.hero-actions .button { min-height:42px;padding-inline:9px;font-size:clamp(.6rem,2.55vw,.76rem); }.hero-actions .text-link { font-size:clamp(.58rem,2.45vw,.74rem); }.hero-phone { width:min(82vw,280px); }.hero-phone::after { width:106px;right:-102px;bottom:42px; }.trust-grid,.feature-grid,.section-heading,.split-section,.pricing-layout,.legal-hero,.legal-grid,.plan-grid { grid-template-columns:1fr; }.trust-grid { gap:20px; }.section { padding-block:62px; }.section-heading { gap:20px; }.feature-grid { gap:12px; }.feature-card { min-height:230px; }.split-section { gap:28px;padding-block:38px 54px; }.role-cards article:nth-child(2) { transform:none; }.pricing-section { padding:54px 0; }.pricing-layout { gap:28px; }.safety { grid-template-columns:1fr;padding-block:48px; }.footer { flex-wrap:wrap;padding-block:25px; }.footer p { width:100%;order:3;flex-basis:100%; }.footer-links { width:100%;justify-content:flex-start; }.site-header .button-small { font-size:.75rem;padding:0 13px; }.legal-hero { padding:48px 0 30px;gap:20px; }.legal-grid { gap:25px;padding-bottom:60px; }.legal-note { position:static; }.plan-card.featured { transform:none; } }
@media (max-width:410px) { .report-meta,.voice-grid,.report-signoff,.field-pair,.eyfs-groups { grid-template-columns:1fr; }.field-pair { gap:14px; }.report-meta div:nth-child(odd) { padding-right:4px; }.progress-story { grid-template-columns:1fr; }.progress-story>span { transform:rotate(90deg);justify-self:center; } }
@media (max-height:700px) { .welcome-copy h1 { font-size:1.75rem; }.welcome-screen img { max-height:29dvh; }.welcome-copy>p:last-child { font-size:.85rem; }.brand.centered { font-size:1.25rem; }.prototype-note { display:none; }.signin-inner { grid-template-rows:auto 115px auto;align-content:start; }.signin-card { padding:17px; }.signin-card h1 { font-size:1.65rem; }.signin-field { margin-bottom:8px; }.signin-field input,.signin-field select { height:42px; } }
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto !important;animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important; } }
.moment-review-card { overflow:hidden;border:1px solid var(--line);border-radius:22px;background:var(--white);box-shadow:0 10px 25px rgba(49,77,67,.07); }.moment-review-card>header { display:flex;align-items:center;gap:12px;padding:17px;background:var(--sage-soft); }.moment-review-card h2,.moment-review-card p { margin:0; }.moment-review-card header small { color:var(--muted); }.moment-review-card>section { padding:16px 18px;border-top:1px solid var(--line); }.moment-review-card>section strong { display:block;margin-bottom:6px;color:var(--sage);font-family:var(--serif); }.moment-review-card>section p { color:var(--muted);line-height:1.55;white-space:pre-wrap; }.moment-review-photo { margin:0;padding:14px 14px 0; }.moment-review-photo img { display:block;width:100%;max-height:240px;object-fit:cover;border-radius:16px; }.moment-review-photo figcaption { padding:7px 2px;color:var(--muted);font-size:.68rem; }.review-actions { display:grid;grid-template-columns:1fr 1.35fr;gap:9px;margin-top:14px; }.review-actions button { min-height:50px; }

@media print { @page { size:A4;margin:12mm; } body { background:white!important; }.app-shell { width:100%!important;max-width:none!important;height:auto!important;box-shadow:none!important;background:white!important; }.app-header,.prototype-banner,.bottom-nav,.page-head,.report-actions,.toast { display:none!important; }.app-content { overflow:visible!important;padding:0!important; }.report-document { border:0!important;border-radius:0!important;box-shadow:none!important;overflow:visible!important; }.report-cover,.report-summary,.next-steps,.provision-impact,.fiction-banner,.inspection-note { print-color-adjust:exact;-webkit-print-color-adjust:exact; }.area-report,.report-section,.report-photo-section figure,.inspection-note { break-inside:avoid; }.area-report details>div { display:block!important; }.area-report summary { display:none!important; }.report-photo-grid img { max-height:75mm; }.report-caption-fields,.photo-help { display:none!important; }.photo-print-caption { display:block!important; }.report-signoff { break-inside:avoid; } }

/* Keep the app locked to a calm vertical flow on small screens. */
html, body { overflow-x:hidden; }
.app-content { overflow-x:hidden; }
.child-form .field input[type="date"] { width:100%; min-height:50px; appearance:none; -webkit-appearance:none; border:1.5px solid var(--line); border-radius:16px; background:var(--white); color:var(--ink); color-scheme:light; padding:13px 14px; font:600 1rem/1.2 var(--sans); letter-spacing:0; box-shadow:0 4px 12px rgba(49,75,66,.04); }
.child-form .field input[type="date"]:focus { border-color:var(--coral); box-shadow:0 0 0 3px var(--coral-soft),0 5px 14px rgba(49,75,66,.06); outline:none; }
.child-form .field input[type="date"]::-webkit-calendar-picker-indicator { opacity:.75; filter:sepia(.2) saturate(.8); cursor:pointer; }
.child-form [data-custom-date] { cursor:pointer; }
.child-form [data-custom-date]::placeholder { color:var(--muted); opacity:1; }
.calendar-backdrop { position:fixed; inset:0; z-index:120; display:grid; place-items:center; padding:22px; background:rgba(49,75,66,.38); backdrop-filter:blur(5px); }
.littleloop-calendar { position:relative; width:min(100%,390px); padding:24px 20px 20px; border:1px solid rgba(255,255,255,.7); border-radius:28px; background:var(--cream); box-shadow:0 22px 65px rgba(49,75,66,.28); color:var(--ink); }
.littleloop-calendar .eyebrow { margin:0 0 3px; font-size:.65rem; }
.littleloop-calendar h2 { margin:0 0 16px; color:var(--sage); font:700 1.55rem/1.15 var(--serif); }
.calendar-close { position:absolute; top:14px; right:14px; width:36px; height:36px; border:0; border-radius:12px; background:var(--sage-soft); color:var(--sage); font:500 1.55rem/1 var(--sans); cursor:pointer; }
.calendar-nav { display:grid; grid-template-columns:42px 1fr 42px; align-items:center; gap:8px; margin-bottom:14px; }
.calendar-nav strong { color:var(--sage); text-align:center; font:700 1.05rem var(--serif); }
.calendar-nav button { width:42px; height:42px; border:0; border-radius:13px; background:var(--coral-soft); color:var(--coral-deep); font:500 2rem/1 var(--serif); cursor:pointer; }
.calendar-weekdays,.calendar-days { display:grid; grid-template-columns:repeat(7,1fr); gap:5px; text-align:center; }
.calendar-weekdays { margin-bottom:7px; color:var(--sage-2); font-size:.65rem; font-weight:900; text-transform:uppercase; letter-spacing:.04em; }
.calendar-day,.calendar-empty { min-width:0; aspect-ratio:1; }
.calendar-day { border:0; border-radius:13px; background:transparent; color:var(--ink); font:700 .9rem var(--sans); cursor:pointer; }
.calendar-day:hover { background:var(--coral-soft); color:var(--coral-deep); }
.calendar-day.today { box-shadow:inset 0 0 0 2px var(--coral); color:var(--coral-deep); }
.calendar-day.selected { background:var(--coral); color:white; box-shadow:0 6px 14px rgba(217,88,109,.25); }
.calendar-today { width:100%; margin-top:16px; min-height:45px; border:0; border-radius:15px; background:var(--sage); color:white; font:800 .8rem var(--sans); cursor:pointer; }
