/* Soft stationery, clear buttons, and one place to start. No external assets. */
:root{--bg:#fffcf8;--paper:#fffefa;--ink:#634e4a;--muted:#947c75;--green:#ad5750;--pale:#fff0e7;--border:#eedfd7;--sidebar:#fff5ed}
body{font-size:16px;color:var(--ink)}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline-color:#ad5750}
button:not(:disabled),a{touch-action:manipulation}
aside{width:272px;padding:30px 20px 16px;background:var(--sidebar);border-right:1px solid var(--border)}
.brand{gap:8px;margin:0 0 25px;font-size:19px;font-weight:700;letter-spacing:.2px;white-space:nowrap}
.brand-mascot{width:53px;height:62px;object-fit:contain}
.brand small{font-size:10px;letter-spacing:.3px;color:#a18b80;margin-top:3px}
.new-chat{border:1px solid #e9b9a9;border-radius:15px;padding:12px 15px;background:#fce1d3;color:#944d43;box-shadow:0 3px 0 #f1d2c4}
.new-chat:hover{background:#fbd6c5}.new-chat span{margin-right:4px}
nav{margin:25px 0 24px;gap:6px}.nav{color:#8b7168;padding:11px 15px;border-radius:13px;font-size:15px}
.nav span{font-size:21px;width:31px}.nav.active{background:#fce5db;color:#9e514a;font-weight:650}
.nav:hover,.history button:hover{background:#f9e9de}
.history-heading{font-size:11px;color:#a58b80;letter-spacing:.4px}
.history button{color:#896f65;padding:10px 13px}.history button.selected{background:#fae9de;color:#a3554d}
.sidebar-bottom{border-color:var(--border)}.avatar{background:#f4dbcf;color:#a55f50}
.profile-button{font-size:13px}.profile-button small{color:#a48b81;max-width:160px}.settings-symbol{color:#ac8e80}
.parent-tools{margin:13px 0 0 5px;font-size:11px;color:#a18a7e}.parent-tools summary{cursor:pointer;width:max-content}
.parent-tools button{display:block;padding:8px 3px}.parent-tools #logout{margin:0;padding:8px 3px}
#local-preview-note{font-size:10px;color:#a18b80;margin:8px 0 0 6px}
main{margin-left:272px;background-image:radial-gradient(#ebdcd233 .8px,transparent .8px);background-size:18px 18px}
header{height:76px;border-color:#f1e7de;padding:0 32px;background:#fffcf8dd;font-size:14px;color:#8d756b}
.header-left{min-width:0}.header-left>span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden;max-width:42vw}
.header-right{display:flex;align-items:center;gap:22px;flex-shrink:0}.header-badge{color:#a38b7c;font-size:11px}
.help-button{border:1px solid #ead8cc;border-radius:20px;background:#fffefa;color:#926c5a;padding:7px 13px;font-size:12px;display:flex;align-items:center;gap:6px;white-space:nowrap}
.help-button>span{width:17px;height:17px;border-radius:50%;background:#f8e7d5;display:grid;place-items:center;font-size:11px;font-weight:700}
.help-button:hover{background:#fff0e2}.icon-button:hover{background:#fae9dd}
.chat-view{min-height:calc(100dvh - 76px)}.welcome{position:relative;width:min(680px,calc(100% - 70px));margin:32px auto 30px;text-align:center}
.welcome-art{width:180px;height:154px;position:relative;margin:0 auto 9px}.welcome-art>img{width:153px;height:153px}
.sticker{position:absolute;pointer-events:none}.sticker-star{top:39px;left:-7px;font-size:24px;color:#e6b45e;transform:rotate(-14deg)}
.sticker-note{bottom:12px;right:-67px;transform:rotate(-7deg);background:#f8eebd;border:1px solid #eadb9a;box-shadow:2px 3px 0 #eee3b74d;color:#8e7851;border-radius:5px;padding:4px 10px;font-size:11px}
.eyebrow{color:#a38475;font-size:11px;letter-spacing:1.1px}.welcome h1{font-family:inherit;font-size:35px;letter-spacing:1px;font-weight:700;line-height:1.5;margin:12px 0 11px;color:#74574e}
.welcome h1 span{color:#bd7062}.welcome>p{font-size:14px;color:#9c8377;line-height:1.9}.mobile-break{display:none}
.starter-grid{gap:14px;margin-top:24px}.starter{border:1px solid #ecded2;border-radius:18px;box-shadow:0 4px 0 #f3e8df80;padding:19px 14px 19px 61px;background:#fffefa;min-height:91px}
.starter:hover{border-color:#dfa88c;transform:translateY(-2px)}.starter strong{color:#805f53;font-size:14px;font-weight:600}.starter small{color:#ad9182;font-size:11px;line-height:1.6;margin-top:4px}
.card-symbol{top:23px;left:17px;width:31px;height:33px;border-radius:10px;font-size:22px;transform:rotate(-7deg)}.peach{background:#fbe2d0;color:#bc8060}.blue{background:#dceff3;color:#6a99a6}
.card-arrow{color:#bba290}.welcome-tip{font-size:11px;color:#a9917e;margin-top:20px}
.composer-wrap{width:min(790px,calc(100% - 64px));background:linear-gradient(transparent,var(--bg) 14px);padding-top:15px}
.composer{border:1.5px solid #e8c6b4;border-radius:21px;background:#fffefa;box-shadow:0 5px 0 #f6e9df,0 8px 22px #c2a18b0b;padding:12px 18px 13px}
.composer:focus-within{border-color:#c8927d}.composer-options{font-size:11px;color:#b1998b}.composer-options>summary{display:inline-flex;cursor:pointer;gap:7px;align-items:center;padding:2px 0;list-style:none}.composer-options>summary::-webkit-details-marker{display:none}.composer-options>summary:after{content:'⌄';color:#bca18f;font-size:14px}
.composer-options[open]>summary:after{content:'⌃'}.composer-options>summary span{border-radius:8px;background:#fff0e5;color:#a7735c;padding:1px 8px;font-size:10px}.composer-top{padding:6px 0 2px}
select{color:#91654f;border-color:#ead4c2;background:#fff8ec}.composer textarea{font-size:16px;color:var(--ink);padding-top:12px;min-height:77px}.composer textarea::placeholder{color:#b6a296}
.composer-bottom{gap:12px}.attach-button{font-size:12px;color:#a5785f;min-height:34px}.input-tip{color:#baa69a}
.send-button{border-radius:13px;min-width:73px;width:auto;height:37px;display:flex;gap:10px;padding:0 13px;background:#b65e54;box-shadow:0 2px 0 #9c4d45;color:#fff;font-size:13px;font-weight:600}.send-button>span{font-size:20px}.send-button:hover{background:#a75149}
.footnote{color:#ae9788;font-size:10px;margin:12px 0 16px;line-height:1.8}
.message.user .bubble{background:#f9e9df;color:#795d52;border-radius:18px 18px 4px 18px;font-size:15px}.assistant-name{color:#a9806e;font-size:12px}
.tiny-logo{background:#fce9dd;color:#b17660;border-radius:8px}.tiny-mascot{width:31px;height:31px}.prose{color:#67564e;line-height:1.95;font-size:16px}.prose h1,.prose h2,.prose h3{color:#8e5b4c}
.prose pre,.prose code{background:#f6ede4}.prose th{background:#faf0e7}.prose blockquote{border-color:#ddbba4;color:#a18370}.message-tools button{color:#aa8977;font-size:12px;min-height:32px}
.task-status{color:#a67b62}.status-dot{background:#c18b6f}.job-error{color:#a56d4c;background:#fff3e4;border-color:#e3b379}
.file-card{border-radius:12px;background:#fffefa;border-color:#ebdacd;min-height:44px}.file-card .file-icon{color:#bd9b7d}.attachment-chip{background:#fcf0e3;color:#9f795e;border-radius:9px}
.collection h1{font-family:inherit;font-size:29px;color:#835f50;font-weight:650}.section-intro{color:#a38978;line-height:1.9}
.record,.report-form{border-radius:18px;border-color:#eddcd0;background:#fffefa}.record h3{color:#8c6554}.record p{color:#a18372}.record-subject{background:#f8ead7;color:#aa835f}
.record-footer .delete{color:#b67d6c}.empty-state{border-radius:17px;border-color:#e6cdb5;color:#ad917a;background:#fffaf1}
.primary{background:#b65e54;border-radius:12px;box-shadow:0 2px 0 #a14f47;font-size:14px}.primary:hover{background:#a65149}.report-form small,.subtle{color:#a38b7d}
input:not([type=file]),dialog textarea,.report-form textarea{border-color:#ead7c6;background:#fffdf8;color:#765d50;border-radius:11px}input::placeholder,textarea::placeholder{color:#b8a798}
label{color:#a0806a}.maintenance-info{background:#fbefdf;border-color:#ecd6b9;color:#a0805f}.record-footer select{background:#fff7e9}
.auth-screen{background:#faf0e4ed}.auth-card{border-radius:27px;border-color:#ecd8c9;box-shadow:0 15px 70px #9c685515;text-align:center;padding:28px 32px}.auth-card h1{font-family:inherit;font-weight:650;color:#865c4b}.auth-card label{text-align:left}.auth-mascot{width:105px;height:105px;margin:0 auto 13px}.auth-card>small{color:#ad9484;margin-top:14px}.auth-card .text-button{font-size:12px}.auth-card input{text-align:left}.auth-card p.error{color:#b86250}
dialog{border-radius:22px;border-color:#e8cfbd;background:#fffcf8;color:#7c6152;box-shadow:0 20px 90px #8a5c4320}dialog::backdrop{background:#6d504556;backdrop-filter:blur(5px)}
.dialog-heading h2{font-weight:650;color:#885f4d}.toast{background:#fffbf5;color:#95664e;border-color:#e8ceba;border-radius:15px;box-shadow:0 7px 35px #8a5c4320}
.help-dialog{width:min(690px,calc(100% - 32px));padding:28px 30px}.help-dialog .dialog-heading{position:sticky;top:-28px;background:#fffcf8;z-index:1;padding:8px 0 13px;align-items:center}.help-dialog .dialog-heading h2{font-size:23px;margin-top:6px}.help-dialog .icon-button{flex-shrink:0}
.help-welcome{display:flex;align-items:center;gap:17px;padding:8px 5px 15px}.help-welcome img{width:90px;height:90px}.help-welcome p{font-size:14px;line-height:1.9;color:#a07d67}
.help-steps{list-style:none;counter-reset:help;padding:0;margin:0 0 18px;display:grid;gap:12px}.help-steps>li{counter-increment:help;position:relative;background:#fff5e9;border:1px solid #efdeca;border-radius:16px;padding:15px 17px 14px 55px}
.help-steps>li:before{content:counter(help);position:absolute;left:16px;top:14px;display:grid;place-items:center;width:25px;height:25px;border-radius:9px;background:#f4dac3;color:#a37451;font-size:13px;font-weight:700}.help-steps strong{font-size:15px;color:#93674f}.help-steps p{font-size:13px;line-height:1.95;margin:6px 0 0;color:#9d806a}
.help-extra{border:1px solid #efdfd0;border-radius:13px;padding:12px 15px;margin:10px 0;font-size:13px;color:#997963}.help-extra summary{cursor:pointer;font-weight:600;color:#90664e}.help-extra p{line-height:1.95;margin:12px 0 5px}.help-done{margin-bottom:4px}
@media(min-width:1500px){.welcome{margin-top:45px}.welcome-art{height:175px}.welcome-art>img{width:175px;height:175px}}
@media(max-width:1100px){aside{width:248px;padding-inline:15px}.brand{font-size:17px}.brand-mascot{width:46px}main{margin-left:248px}.header-badge{display:none}.welcome{width:calc(100% - 46px)}.welcome h1{font-size:30px}.starter{padding-left:54px}.card-symbol{left:13px}.starter small{font-size:10px}}
@media(max-width:700px){aside{width:272px;padding:25px 20px 17px}.brand{font-size:19px}.brand-mascot{width:53px}main{margin-left:0}header{height:63px;padding:0 14px;gap:10px}.header-left>span{max-width:48vw;font-size:13px}.header-right{gap:0}.help-button{font-size:11px;padding:6px 10px;gap:4px}.help-button>span{width:16px;height:16px}.chat-view{min-height:calc(100dvh - 63px)}.welcome{width:calc(100% - 36px);margin:20px auto 25px}.welcome-art{width:140px;height:128px;margin-bottom:5px}.welcome-art>img{width:130px;height:130px}.sticker-star{top:30px;left:-10px;font-size:20px}.sticker-note{bottom:8px;right:-52px;font-size:9px;padding:4px 7px}.eyebrow{font-size:10px;letter-spacing:.8px}.welcome h1{font-size:27px;line-height:1.45;margin-top:10px}.welcome h1 span{display:block}.welcome>p{font-size:12px;line-height:1.9}.mobile-break{display:block}.starter-grid{margin-top:20px;gap:11px}.starter{padding:45px 11px 13px;min-height:110px;border-radius:16px}.card-symbol{top:12px;left:12px;width:25px;height:25px;font-size:19px}.starter strong{font-size:12px}.starter small{font-size:10px}.welcome-tip{font-size:10px;margin-top:16px}.composer-wrap,.messages,.task-status{width:calc(100% - 26px)}.composer{padding:10px 13px 12px;border-radius:18px}.composer textarea{font-size:16px;min-height:77px}.send-button{min-width:68px;height:36px;padding:0 10px;font-size:12px}.attach-button{font-size:12px}.footnote{font-size:9px;margin-bottom:max(12px,env(safe-area-inset-bottom))}.collection{padding:0 20px;margin-top:32px}.collection h1{font-size:25px}.prose{font-size:15px}.help-dialog{padding:20px;width:calc(100% - 24px);max-height:88dvh}.help-dialog .dialog-heading{top:-20px}.help-dialog .dialog-heading h2{font-size:20px}.help-welcome{gap:10px}.help-welcome img{width:66px;height:76px}.help-welcome p{font-size:12px}.help-steps>li{padding:13px 13px 13px 48px}.help-steps>li:before{left:12px;top:12px}.help-steps strong{font-size:14px}.help-steps p{font-size:12px}.help-extra{font-size:12px}.maintenance-return{margin-left:20px}}
@media(max-width:360px){.starter strong{font-size:11px}.starter small{font-size:9px}.welcome h1{font-size:25px}.header-left>span{max-width:40vw}}

/* Minimal chat home. Secondary learning tools stay in More. */
.welcome{margin:clamp(40px,9vh,110px) auto 32px}.welcome h1{font-size:30px}.parent-tools{font-size:13px}.parent-tools button{font-size:13px;padding:9px 3px}.help-steps{margin-top:20px}.help-dialog{max-width:520px}.help-dialog .dialog-heading h2{margin:0}.header-badge{font-size:10px}.composer-options>summary{font-size:11px}.input-tip{margin-left:auto}
@media(max-width:700px){.welcome{margin:50px auto 24px}.welcome h1{font-size:27px}.welcome-art{height:130px}.help-steps p{line-height:1.6}}
