/* Chat first: readable text, high contrast, named actions, and generous targets. */
.simple-app,.simple-modal{--reading-size:19px;color:#243b31;font-size:var(--reading-size);line-height:1.7}
.simple-app.larger-text,.simple-modal.larger-text{--reading-size:23px}
.simple-app{height:100dvh;min-height:520px;display:flex;flex-direction:column;overflow:hidden;background:#f8faf5}
.simple-header{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-shrink:0;padding:20px 32px;border-bottom:1px solid #dce3d6;background:#fff}
.simple-brand{display:flex;align-items:center;gap:13px;flex-shrink:0}
.simple-brand strong{display:block;font-size:22px;font-weight:650;line-height:1.2;letter-spacing:-.4px}
.simple-brand span{display:block;font-size:15px;color:#5d6d56;line-height:1.5;margin-top:3px}
.simple-header-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.simple-app .button,.simple-modal .button{font-size:16px;min-height:48px;padding:11px 17px;border-radius:9px;line-height:1.45;gap:9px}
.simple-app .button.secondary,.simple-modal .button.secondary{border-color:#bac9b1;background:#fff;color:#29452e}
.simple-app .button.secondary:hover,.simple-modal .button.secondary:hover{background:#edf3e6;border-color:#7e956e}
.simple-app .button.text{padding:10px 12px;color:#345538}
.simple-chat-main{width:min(960px,100%);margin:0 auto;padding:18px 30px 14px;flex:1;min-height:0;display:flex;flex-direction:column}
.simple-chat-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-shrink:0}
.text-size-button{font:inherit;font-size:16px;min-height:48px;border:0;background:transparent;color:#365a35;text-decoration:underline;text-underline-offset:4px;padding:10px 4px;cursor:pointer}
.simple-messages{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:24px 4px;scrollbar-gutter:stable}
.simple-welcome{max-width:680px;text-align:center;margin:clamp(20px,5vh,60px) auto 20px}
.simple-welcome>img{margin-bottom:18px}
.simple-welcome h1{font:500 34px/1.25 var(--sans);letter-spacing:-.9px;margin:0 0 18px;color:#233c2c}
.simple-welcome>p{max-width:550px;margin:0 auto 25px;color:#53664c;font-size:var(--reading-size);line-height:1.7}
.starter-questions{display:grid;gap:12px;max-width:520px;margin:0 auto}
.simple-app .starter-question{justify-content:space-between;font-size:18px;min-height:60px;padding:15px 19px;font-weight:500;white-space:normal;text-align:left}
.starter-question svg{order:2}
.simple-message{display:grid;grid-template-columns:36px minmax(0,1fr);gap:14px;margin-bottom:24px}
.simple-message-avatar{display:flex;align-items:flex-start;justify-content:center;padding-top:6px;font-size:17px;font-weight:600;color:#375a34}
.simple-message.user .simple-message-avatar{width:36px;height:36px;background:#e0ead6;align-items:center;padding:0;border-radius:50%;margin-top:7px}
.simple-message-content{background:#fff;border:1px solid #dce5d4;border-radius:13px;padding:20px 23px;min-width:0;overflow-wrap:anywhere}
.simple-message.user .simple-message-content{background:#eaf1e1;border-color:#dce6d0}
.simple-message-content>strong{display:block;font-size:16px;font-weight:650;color:#365735;margin-bottom:8px}
.simple-app .markdown,.simple-modal .markdown{font-size:var(--reading-size);line-height:1.75;color:#263d2f}
.simple-app .markdown p,.simple-modal .markdown p{line-height:1.75;margin-bottom:13px}
.simple-app .markdown p:last-child{margin-bottom:0}
.simple-app .markdown h1,.simple-app .markdown h2,.simple-modal .markdown h2{font:600 24px/1.4 var(--sans);letter-spacing:-.3px}
.simple-app .markdown h3,.simple-modal .markdown h3{font-size:21px;line-height:1.5}
.simple-app .markdown a,.simple-modal .markdown a{color:#2e6230;text-decoration-color:#537c42;text-underline-offset:4px}
.simple-app .markdown strong,.simple-modal .markdown strong{color:#233d2a}
.simple-app .markdown li,.simple-modal .markdown li{margin-bottom:10px}
.simple-app .markdown code,.simple-modal .markdown code{font-size:.9em}
.simple-thinking{color:#526e48;margin:0;font-size:var(--reading-size)}
.simple-message.failed .simple-message-content{border-color:#cbaa85;background:#fffaf2}
.simple-message.failed .simple-message-content>p{margin-bottom:14px}
.simple-composer{flex-shrink:0;padding:18px 0 0;border-top:1px solid #d3ddca;background:#f8faf5}
.simple-composer>label{display:block;font-size:18px;font-weight:600;margin-bottom:10px;color:#2f4a32}
.simple-input-row{display:grid;grid-template-columns:minmax(0,1fr) 115px;align-items:end;gap:12px}
.simple-app textarea{font-size:var(--reading-size);padding:14px 16px;border:1.5px solid #9bae8b;border-radius:10px;line-height:1.6;min-height:88px;max-height:170px;background:#fff;color:#243b31;resize:vertical}
.simple-app textarea::placeholder{color:#68765f;opacity:1}
.simple-send{display:flex;align-items:center;justify-content:center;gap:8px;min-height:60px;padding:16px 14px;background:#244d36;color:#fff;border:1px solid #244d36;border-radius:10px;font-size:19px;font-weight:600;line-height:1.4}
.simple-send:hover{background:#173e28}
.simple-send:disabled{opacity:1;background:#e4eadc;border-color:#b9c9ac;color:#4d6443;cursor:wait;font-size:16px}
.simple-chat-status{font-size:16px;line-height:1.6;color:#4d6444;margin:11px 0 0}
.simple-chat-status:empty,.simple-chat-error:empty{display:none}
.simple-chat-error{background:#fff3e4;border:1px solid #c79b69;padding:13px 16px;border-radius:9px;margin-top:12px;font-size:17px;color:#71451e}
.simple-chat-error p{margin:0}
.simple-chat-error .button{margin-top:10px}
.simple-privacy{margin:12px 0 0;color:#586b50;font-size:14px;line-height:1.65;text-align:center;flex-shrink:0}
.simple-modal{width:min(900px,calc(100% - 32px));max-height:90dvh;margin:auto;border:1px solid #b8c8ad;border-radius:15px;padding:0;background:#fff;box-shadow:0 20px 90px #14291344;overflow:hidden}
.simple-modal[open]{display:flex;flex-direction:column}
.simple-modal::backdrop{background:#172c1cc4}
.simple-modal-header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 25px;border-bottom:1px solid #d7e1ce;flex-shrink:0;background:#fff}
.simple-modal-header h2{font-size:25px;line-height:1.3;margin:0;font-weight:600;letter-spacing:-.4px}
.simple-modal-header>.button{min-width:83px}
.simple-modal-body{padding:24px 28px 30px;overflow-y:auto;min-height:0;overscroll-behavior:contain}
.simple-modal-body>p{margin-bottom:20px}
.simple-modal .document{padding:0;border:0;border-radius:0;background:transparent}
.simple-modal .markdown h1{font:600 29px/1.4 var(--sans);letter-spacing:-.4px;margin-top:24px}
.simple-modal .markdown table{font-size:16px}
.simple-modal .markdown th,.simple-modal .markdown td{padding:13px}
.simple-report-intro{background:#eff5e8;border:1px solid #d2e0c3;border-radius:10px;padding:18px 21px;margin-bottom:30px}
.simple-report-intro p{margin-bottom:13px}
.simple-feedback{border-top:1px solid #cfdcc2;margin:28px 0;padding:15px 0}
.simple-feedback summary{font-size:19px;font-weight:600;min-height:52px;padding:12px 0;color:#345332;cursor:pointer}
.simple-feedback summary:focus-visible{outline:3px solid #6a854e;outline-offset:4px}
.simple-feedback>p{font-size:17px;line-height:1.7;margin:12px 0 16px}
.simple-feedback textarea{font-size:19px;line-height:1.65;padding:15px;border-color:#9cae8a}
.simple-review-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:17px}
.review-feedback{font-size:18px;color:#315c2a;margin-top:16px}
.review-feedback:empty{display:none}
.simple-history{display:grid;gap:12px}
.history-choice{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;text-align:left;column-gap:15px;row-gap:5px;width:100%;min-height:85px;padding:18px 20px;background:#f7faf2;border:1px solid #becfae;border-radius:10px;color:#28472b}
.history-choice:hover{background:#edf4e3;border-color:#7b9765}
.history-choice strong{font-size:19px;font-weight:550;overflow-wrap:anywhere;line-height:1.5}
.history-choice span{grid-column:1;font-size:16px;color:#586e4c}
.history-choice svg{grid-column:2;grid-row:1/3}
.easy-login{min-height:100dvh;display:grid;place-items:center;padding:35px 22px;background:#f6f9f0}
.easy-card{max-width:470px;width:100%;padding:36px 38px;border:1px solid #d0dcc5;background:#fff;border-radius:15px;box-shadow:0 10px 35px #2d4b2410}
.easy-brand{display:flex;align-items:center;gap:13px;color:#29472f;font-size:25px;font-weight:600;margin-bottom:35px}
.easy-card h1{font:600 32px/1.3 var(--sans);letter-spacing:-.7px;margin-bottom:13px}
.easy-card>p{font-size:18px;line-height:1.7;color:#52664a;margin-bottom:28px}
.easy-card .auth-form{gap:20px}
.easy-card .field>label,.password-setup .field>label{font-size:18px;font-weight:600}
.easy-card input,.password-setup input{font-size:19px;line-height:1.6;padding:13px 15px;border:1.5px solid #9aac88;border-radius:9px;min-height:56px;color:#243b31}
.easy-card input::placeholder,.password-setup input::placeholder{color:#65735c}
.easy-card .button,.password-setup .button{font-size:18px;min-height:54px;line-height:1.5;padding:13px 17px}
.easy-card .auth-form>.button.text,.password-setup .auth-form>.button.text{justify-self:start;justify-content:center;margin:0;padding:3px 4px;min-height:44px;text-decoration:underline;text-underline-offset:4px}
.easy-card .auth-form>.button.primary{margin-top:3px;justify-content:center;gap:12px}
.easy-card .form-error,.password-setup .form-error{font-size:17px;line-height:1.6}
.easy-card p.easy-help{font-size:16px;text-align:center;line-height:1.7;margin:25px 0 0;color:#586e4c}
.password-setup{background:#f6f9f0}
.password-setup .auth-card{max-width:500px;padding:35px}
.password-setup h2{font:600 29px/1.35 var(--sans);margin:23px 0 15px;letter-spacing:-.4px}
.password-setup .muted{font-size:18px;line-height:1.7;color:#53664a}
.password-setup .field small{font-size:16px;line-height:1.6;color:#566a4d}
.password-setup .auth-form{gap:20px}
.simple-app :focus-visible,.simple-modal :focus-visible,.easy-login :focus-visible,.password-setup :focus-visible{outline:3px solid #577e3f;outline-offset:4px}
#toast{font-size:17px;line-height:1.6;padding:16px 23px;max-width:min(650px,92vw)}
@media(max-width:980px){.simple-header{padding:18px 24px;gap:18px;align-items:flex-start}.simple-header-actions{gap:8px}.simple-header-actions .button{padding:11px 12px;font-size:15px}.simple-brand strong{font-size:21px}.simple-brand span{font-size:14px}.simple-chat-main{padding-left:24px;padding-right:24px}}
@media(max-width:700px){.simple-header{padding:15px 18px;display:block}.simple-brand{margin-bottom:14px}.simple-brand img{width:40px;height:40px}.simple-header-actions{justify-content:flex-start;gap:8px}.simple-header-actions .button{font-size:15px;min-height:46px;padding:10px 12px;gap:7px}.simple-header-actions .button svg{width:18px;height:18px}.simple-header-actions .button.text{margin-left:auto}.simple-chat-main{padding:12px 16px 12px}.simple-chat-toolbar .button,.text-size-button{font-size:16px;min-height:46px}.simple-messages{padding:18px 0;scrollbar-gutter:auto}.simple-welcome{margin:20px 0}.simple-welcome>img{width:50px;height:50px;margin-bottom:14px}.simple-welcome h1{font-size:27px;letter-spacing:-.5px;margin-bottom:15px}.simple-welcome>p{font-size:18px;line-height:1.6;margin-bottom:21px}.simple-app .starter-question{font-size:17px;min-height:57px;padding:13px 15px}.simple-message{grid-template-columns:minmax(0,1fr);gap:0;margin-bottom:18px}.simple-message-avatar{display:none}.simple-message-content{padding:17px 18px}.simple-input-row{grid-template-columns:minmax(0,1fr) 94px;gap:9px}.simple-app textarea{min-height:82px;padding:12px 13px;line-height:1.5}.simple-send{font-size:18px;min-height:58px;padding:13px 10px}.simple-send svg{display:none}.simple-composer{padding-top:13px}.simple-composer>label{font-size:17px;margin-bottom:8px}.simple-chat-status{font-size:15px}.simple-privacy{font-size:14px;line-height:1.55;margin-top:10px}.simple-modal{width:calc(100% - 20px);max-height:94dvh}.simple-modal-header{padding:16px 18px;gap:12px}.simple-modal-header h2{font-size:23px}.simple-modal-header .button{font-size:16px;min-width:74px}.simple-modal-body{padding:20px 18px}.simple-report-intro{padding:16px}.simple-report-intro .button{font-size:16px;white-space:normal}.simple-modal .markdown h1{font-size:25px}.simple-modal .markdown table{font-size:16px}.simple-review-actions{display:grid}.simple-review-actions .button{width:100%;font-size:17px}.simple-history .history-choice{padding:15px 17px}.history-choice strong{font-size:18px}.easy-card{padding:28px 25px;box-shadow:none}.easy-brand{font-size:23px;margin-bottom:29px}.easy-card h1{font-size:29px}.password-setup{padding:22px}.password-setup .auth-card{padding:28px 25px}.password-setup h2{font-size:27px}}
@media(max-height:680px){.simple-header{padding-top:12px;padding-bottom:12px}.simple-welcome{margin:13px auto}.simple-welcome>img{display:none}.simple-welcome h1{font-size:27px}.simple-app .starter-question{min-height:50px;padding-top:10px;padding-bottom:10px}.simple-privacy{font-size:13px}.simple-chat-main{padding-top:8px}}
@media(max-width:700px){.simple-header{position:relative}.simple-brand{padding-right:80px}.simple-header-actions>.button.text{position:absolute;right:14px;top:13px;margin:0}.simple-welcome{margin:14px 0}.simple-welcome>img{display:none}.simple-welcome>p{margin-bottom:18px}}
@media(prefers-reduced-motion:reduce){.simple-app *,.simple-modal *{scroll-behavior:auto!important;transition:none!important}}
