:root{--cream:#fffaf3;--paper:#fffefa;--ink:#45373d;--muted:#796b72;--border:#e9e0d8;--peach:#f5cfb6;--purple:#6a527f;--lavender:#e9e0f4;--sage:#e2ebdf;--shadow:0 16px 50px #6a4b4210;font-family:ui-rounded,"Trebuchet MS",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--cream);font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,textarea{font:inherit}button,a,input,textarea{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:wait;opacity:.55}button:focus-visible,a:focus-visible{outline:3px solid #8a64a9;outline-offset:4px}button{color:inherit}a{color:inherit;text-decoration:none}[hidden]{display:none!important}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:800;color:var(--purple)}.brand-word{display:flex;align-items:center;gap:10px;font-size:18px;line-height:1.1}.brand-word strong{font-weight:900}.brand-word small{display:block;letter-spacing:2px;font-size:8px;font-weight:700;margin-top:7px;color:var(--muted)}.primary{border:0;border-radius:14px;background:var(--ink);color:#fffaf5;font-weight:700;min-height:50px;padding:12px 20px}.subtle{background:none;border:0;color:var(--muted);font-size:13px;min-height:44px;padding:8px 10px}.icon{border:1px solid var(--border);background:var(--paper);border-radius:12px;min-width:44px;min-height:44px;font-size:23px}.login-page{min-height:100svh;padding:30px 30px 20px;background:radial-gradient(ellipse at 15% 60%,#f9e5dba8,transparent 46%),radial-gradient(ellipse at 85% 25%,#eee5f0,transparent 40%)}.login-page>.brand-word{max-width:1150px;margin:auto}.login-card{width:min(100%,440px);margin:25px auto 35px;text-align:center}.welcome-mascot{display:block;margin:18px auto 7px}.login-card h1{font-size:48px;letter-spacing:-2px;line-height:1.05;margin:12px 0 18px;font-weight:800}.login-card>p{font-size:15px;color:var(--muted);line-height:1.7}.login-card form{text-align:left;background:#fffefad9;border:1px solid #fff;border-radius:23px;padding:25px;box-shadow:var(--shadow);margin-top:25px}.login-card label{display:block;font-size:12px;font-weight:700;margin:0 0 8px}.login-card input,.account-form input{width:100%;min-height:48px;border:1px solid var(--border);border-radius:11px;padding:12px;background:white;color:var(--ink);outline-offset:3px;font-size:16px}.login-card input#username{margin-bottom:20px}.password-wrap{position:relative}.password-wrap input{padding-right:65px}.password-wrap button{position:absolute;right:6px;top:4px;min-height:40px;border:0;background:none;font-size:12px;font-weight:700;color:var(--purple)}.login-submit{width:100%;display:flex;justify-content:space-between;align-items:center}.login-submit span{font-size:23px}.error{font-size:13px;color:#9b2c36;min-height:0;line-height:1.5}.privacy-note{margin-top:22px;font-size:11px;color:var(--muted)}.privacy-note span{color:var(--purple);margin-right:5px}.login-page footer{text-align:center;font-size:11px;color:var(--muted)}.login-page footer span{color:var(--purple);padding-left:7px}.app{display:flex;height:100dvh;max-height:100dvh}.sidebar{width:265px;flex-shrink:0;border-right:1px solid var(--border);padding:30px 21px 18px;display:flex;flex-direction:column;background:#f7f1e9}.new-chat{margin:34px 0 27px;width:100%;font-size:13px}.section-label{font-size:9px;font-weight:800;color:var(--muted);letter-spacing:1.7px;padding:0 10px 12px}.chat-list{overflow:auto;flex:1}.chat-item{width:100%;text-align:left;border:0;background:transparent;border-radius:12px;padding:13px 12px;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-height:46px}.chat-item.active{background:var(--lavender);color:#584669;font-weight:700}.sidebar-bottom{margin-top:18px}.tiny-mascot{display:flex;align-items:center;gap:9px;padding:16px 8px;border-top:1px solid var(--border)}.tiny-mascot p{font-size:11px;color:var(--muted);line-height:1.6}.tiny-mascot strong{color:var(--ink)}.sidebar-bottom>.subtle{width:100%;text-align:left}.chat-main{display:flex;flex-direction:column;min-width:0;flex:1}.topbar{min-height:89px;display:flex;align-items:center;gap:15px;border-bottom:1px solid var(--border);padding:18px 35px;background:#fffaf3e8}.top-title{flex:1;min-width:0}.top-title .eyebrow{font-size:8px;letter-spacing:1.8px}.top-title h1{font-size:16px;margin:5px 0 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:700}.private-pill{font-size:10px;color:#526149;background:var(--sage);border-radius:25px;padding:8px 11px;white-space:nowrap}.private-pill span{font-size:7px;padding-right:4px}.conversation{flex:1;overflow-y:auto;overscroll-behavior-y:contain;padding:0 35px;scroll-behavior:smooth}.welcome{max-width:800px;margin:42px auto 26px}.welcome-label{font-size:9px;letter-spacing:2px;color:var(--purple);font-weight:800}.welcome-label span{margin-right:7px;font-size:14px}.welcome-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;margin:12px 0 8px}.welcome h2{font-size:clamp(34px,4vw,54px);line-height:1.07;letter-spacing:-2px;margin:0;font-weight:800}.welcome-heading img{transform:rotate(8deg);margin-right:30px}.welcome>p{font-size:16px;line-height:1.65;margin:5px 0}.welcome .welcome-description{font-size:13px;color:var(--muted);max-width:475px;line-height:1.8;margin-top:8px}.prompt-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;margin:28px 0}.prompt-grid button{text-align:left;border:1px solid var(--border);background:var(--paper);border-radius:18px;padding:17px 15px;position:relative;min-height:150px;transition:transform .15s,box-shadow .15s}.prompt-grid button:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.prompt-icon{display:flex;width:33px;height:33px;border-radius:10px;align-items:center;justify-content:center;font-size:19px;margin-bottom:18px}.peach{background:#f9e1d1}.lavender{background:var(--lavender)}.sage{background:var(--sage)}.prompt-grid strong{font-size:12px;display:block}.prompt-grid button>span:not(.prompt-icon){font-size:10px;color:var(--muted);display:block;margin-top:7px}.prompt-grid i{font-style:normal;position:absolute;right:15px;top:18px;color:#9e8994}.milestone-card{border-radius:18px;background:#f2ebf5;display:flex;gap:20px;align-items:center;justify-content:space-between;padding:20px 23px}.milestone-card h3{font-size:14px;margin:7px 0}.milestone-card p{font-size:10px;color:var(--muted);line-height:1.6;margin:0;max-width:220px}.milestone-card .eyebrow{font-size:8px;letter-spacing:1.6px}.badges{display:flex;gap:16px;text-align:center}.badges>span{font-size:23px;color:#a99bae;filter:grayscale(1);opacity:.65}.badges>span.earned{color:#795191;filter:none;opacity:1}.badges small{display:block;white-space:nowrap;font-size:8px;margin-top:5px;font-weight:700}.messages{max-width:800px;margin:20px auto}.bubble-row{margin-bottom:25px;display:flex;gap:12px}.bubble-row.user{justify-content:flex-end}.avatar{width:32px;height:35px;flex-shrink:0}.bubble-content{min-width:0;max-width:100%}.message-label{font-size:10px;font-weight:800;color:var(--purple);margin-bottom:7px}.bubble{font-family:system-ui,-apple-system,sans-serif;font-size:15px;line-height:1.75;overflow-wrap:anywhere;user-select:text;-webkit-user-select:text}.bubble p{white-space:pre-wrap;margin:0 0 12px}.bubble h3{font-size:16px;margin:15px 0 8px}.bubble pre{white-space:pre-wrap;font-size:12px;background:#f1ece7;padding:14px;border-radius:10px;overflow:auto}.user .bubble-content{max-width:min(85%,650px)}.user .bubble{background:var(--lavender);border-radius:18px 18px 4px 18px;padding:14px 18px}.user .bubble p:last-child{margin-bottom:0}.user .message-label{text-align:right;color:var(--muted)}.message-actions{display:flex;gap:6px;margin:5px 0}.message-actions button{border:0;background:none;color:var(--muted);font-size:11px;min-height:40px;padding:7px 10px;border-radius:8px}.message-actions button:hover{background:#f0e8e1}.thinking{max-width:800px;margin:0 auto 22px;display:flex;align-items:center;gap:11px;color:var(--muted);font-size:13px}.thinking small{display:block;font-size:10px;margin-top:6px;line-height:1.5}.dots{animation:pulse 1.5s infinite}.composer-area{padding:12px 35px max(12px,env(safe-area-inset-bottom));background:var(--cream)}#composer{max-width:800px;margin:auto;border:1px solid #d9cbdc;border-radius:19px;background:var(--paper);padding:15px 16px 8px;box-shadow:0 5px 20px #4c355707}#message{display:block;resize:none;max-height:170px;min-height:35px;width:100%;border:0;background:none;outline:none;font-size:16px;line-height:1.55;color:var(--ink);padding:0 3px}#message::placeholder{color:#97858e}.composer-tools{display:flex;align-items:center;gap:12px}.composer-tools .subtle{font-size:11px;padding-left:3px}.composer-hint{font-size:9px;color:#a08f98;flex:1}.send{min-width:40px;min-height:40px;border:0;border-radius:12px;background:var(--purple);color:white;font-size:25px;line-height:1}.medical-note{text-align:center;font-size:9px;color:#8d7d86;margin:10px 0 0;line-height:1.5}.mobile-only{display:none}.connection{padding:12px 20px;background:#fce6d5;font-size:12px;line-height:1.5;text-align:center}.connection button{margin-left:10px;font-size:12px;border:1px solid #b8957d;border-radius:7px;background:white;padding:5px 12px;min-height:35px}dialog{border:1px solid var(--border);border-radius:22px;padding:22px;max-width:500px;width:calc(100% - 30px);max-height:85dvh;background:var(--cream);color:var(--ink);box-shadow:var(--shadow)}dialog::backdrop{background:#382c3866;backdrop-filter:blur(3px)}.sheet-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}.sheet-heading h2{font-size:20px;margin:0}.sheet-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:15px}.sheet-actions button{border:1px solid var(--border);border-radius:11px;background:white;min-height:46px;padding:10px 15px;font-size:13px}.share-preview{width:100%;height:220px;resize:vertical;border:1px solid var(--border);background:white;border-radius:12px;font-size:14px;line-height:1.6;padding:12px;color:var(--ink)}.sheet-help{font-size:12px;line-height:1.7;color:var(--muted)}.account-form{display:grid;gap:12px}.account-form label{font-size:12px;font-weight:700}.account-form input{display:block;margin-top:7px}.toast{position:fixed;left:50%;bottom:max(25px,env(safe-area-inset-bottom));transform:translateX(-50%);background:var(--ink);color:white;border-radius:30px;padding:13px 23px;font-size:13px;max-width:calc(100% - 25px);z-index:20;box-shadow:var(--shadow);text-align:center}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}@keyframes pulse{50%{opacity:.3}}@media(min-width:1450px){.conversation{padding-top:22px}.welcome{margin-top:60px}}@media(max-width:1000px){.sidebar{width:225px;padding:25px 15px}.topbar{padding:15px 23px}.conversation{padding:0 23px}.composer-area{padding-left:23px;padding-right:23px}.welcome-heading img{margin-right:0;width:100px}.milestone-card{gap:12px;padding:18px}.badges{gap:12px}.prompt-grid{gap:9px}.prompt-grid button{padding:14px 11px}.prompt-grid strong{font-size:11px}}@media(max-width:760px){.sidebar{display:none}.mobile-only{display:block}.topbar{min-height:76px;padding:12px 15px;gap:10px}.top-title .eyebrow{font-size:7px}.top-title h1{font-size:14px;max-width:100%}.private-pill{font-size:9px;padding:7px 9px}.topbar>.icon:last-child{min-width:40px}.conversation{padding:0 21px}.welcome{margin-top:29px}.welcome-label{font-size:8px;letter-spacing:1.8px}.welcome-heading{margin-top:18px}.welcome h2{font-size:38px;letter-spacing:-1.5px}.welcome-heading img{width:89px;height:105px;flex-shrink:0}.welcome>p{font-size:15px}.welcome .welcome-description{font-size:12px;line-height:1.8;margin-top:9px;max-width:340px}.prompt-grid{grid-template-columns:1fr;gap:10px;margin:24px 0}.prompt-grid button{min-height:75px;padding:15px 38px 15px 63px;border-radius:15px}.prompt-icon{position:absolute;left:15px;top:19px;margin:0}.prompt-grid strong{font-size:12px}.prompt-grid button>span:not(.prompt-icon){font-size:11px;margin-top:6px}.prompt-grid i{top:27px}.milestone-card{padding:18px;gap:15px;display:block}.milestone-card h3{font-size:14px}.milestone-card p{max-width:none}.badges{justify-content:space-around;margin-top:19px;padding-top:17px;border-top:1px solid #dfd2e5}.badges small{font-size:9px}.badges>span{font-size:22px}.composer-area{padding:10px 12px max(10px,env(safe-area-inset-bottom))}#composer{padding:12px 13px 7px;border-radius:17px}.composer-hint{font-size:8px}.medical-note{font-size:8px;margin-top:7px}.bubble{font-size:15px;line-height:1.75}.bubble-row{gap:8px}.avatar{width:26px;height:30px}.user .bubble-content{max-width:91%}.login-page{padding:24px 23px}.login-card{margin:28px auto}.login-card h1{font-size:44px}.login-card form{padding:22px}.welcome-mascot{width:100px;height:113px;margin-top:20px}.login-page footer{font-size:10px}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Comfortable reading and touch sizes for the whole family. */
:root{--muted:#6c5b65}.eyebrow{font-size:11px}.brand-word small{font-size:10px;letter-spacing:1.3px}.top-title .eyebrow,.welcome-label,.section-label,.private-pill{font-size:11px}.welcome-label{letter-spacing:1.4px}.welcome .welcome-description{font-size:15px;line-height:1.7}.prompt-grid strong{font-size:15px}.prompt-grid button>span:not(.prompt-icon){font-size:13px;line-height:1.5}.composer-hint,.medical-note{font-size:12px;color:var(--muted);line-height:1.5}.composer-tools .subtle{font-size:13px;min-height:44px}.send{min-width:44px;min-height:44px}.topbar>.icon:last-child{min-width:44px;min-height:44px}.milestone-card .eyebrow{font-size:11px;letter-spacing:1.3px}.milestone-card h3{font-size:16px}.milestone-card p{font-size:13px;max-width:280px}.badges>span{color:var(--muted);opacity:1;filter:none;padding:6px;border:1px solid transparent;border-radius:10px}.badges small{font-size:12px;line-height:1.4}.badges>span.earned{background:var(--cream);border-color:#c8afd7;color:#67427f}.login-card label,.password-wrap button{font-size:14px}.password-wrap button{min-height:44px;min-width:48px;top:2px}.privacy-note,.login-page footer{font-size:12px;line-height:1.6}.bubble{font-size:16px}.message-label{font-size:11px}.message-actions button{font-size:13px;min-height:44px}.account-form label,.sheet-help{font-size:14px}.share-preview{font-size:16px}.sidebar-bottom>.subtle{font-size:14px}
@media(max-width:1000px){.milestone-card{flex-wrap:wrap}.prompt-grid strong{font-size:14px}.badges{gap:10px}}@media(max-width:760px){.top-title .eyebrow,.private-pill,.welcome-label{font-size:11px}.welcome .welcome-description{font-size:14px}.prompt-grid button{min-height:82px}.prompt-grid strong{font-size:15px}.prompt-grid button>span:not(.prompt-icon){font-size:13px}.milestone-card h3{font-size:16px}.milestone-card p{font-size:13px}.badges small{font-size:12px}.composer-hint,.medical-note{font-size:12px}.medical-note{margin-top:8px}.composer-tools .subtle{font-size:13px}.bubble{font-size:16px}.login-page footer{font-size:12px}.welcome h2{font-size:36px}.welcome-heading img{width:85px}.login-card>p{font-size:16px}}@media(max-width:360px){.composer-hint{display:none}.topbar{gap:7px;padding-left:10px;padding-right:10px}.private-pill{padding:7px}.welcome-heading img{width:74px}.welcome h2{font-size:33px}}

/* Real Victoria portraits; source images remain unmodified. */
img[data-peanut]{object-fit:cover;border-radius:50%;aspect-ratio:1;width:44px;height:44px;border:2px solid #fff;box-shadow:0 2px 12px #60415b16}
img.welcome-mascot[data-peanut]{width:112px;height:112px}.welcome-heading img[data-peanut]{width:116px;height:116px}.tiny-mascot img[data-peanut]{width:48px;height:48px}.thinking img[data-peanut]{width:34px;height:34px}img.avatar[data-peanut]{width:36px;height:36px;flex-shrink:0}
.chat-photo{margin:12px 0;max-width:420px}.chat-photo>img{display:block;width:100%;max-height:460px;object-fit:contain;border-radius:16px;background:#f6efe3}.chat-photo figcaption{margin-top:8px;font-size:14px;color:#6c5b65}.photo-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.photo-actions a,.photo-actions button{display:inline-flex;align-items:center;min-height:44px;padding:8px 12px;border:1px solid #dbcbd6;border-radius:12px;background:white;color:#65435c;font:inherit;font-size:14px;text-decoration:none}.bubble a{color:#65435c;overflow-wrap:anywhere;text-decoration:underline}.photo-actions a:hover,.photo-actions button:hover{background:#f6edf5}
