@charset "UTF-8";
:root{--ink:#263a32;--muted:#69746b;--forest:#385847;--forest-deep:#2a4537;--cream:#f7f6f1;--paper:#fffefa;--sage:#e9eee5;--line:#dce1d7;--side:#eeefe7;--warm:#e9dbb9;--radius:18px;--app-height:100dvh;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--cream);font-size:15px}
*{box-sizing:border-box}
body{margin:0}
button,textarea,input{font:inherit}
button,a,input,textarea{-webkit-tap-highlight-color:transparent}
button{cursor:pointer;color:inherit}
button:disabled{cursor:default}
button,textarea{outline-offset:4px}
:focus-visible{outline:3px solid #6d8564;outline-offset:4px}
a{color:inherit}
button{border:0}
button svg,svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;flex:none}
[hidden]{display:none!important}
.icon-library{display:none}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:fixed;z-index:10;left:15px;top:-80px;background:var(--forest);color:white;border-radius:10px;padding:14px}
.skip-link:focus{top:12px}
.app-shell{height:100vh;height:var(--app-height);min-height:520px;display:grid;grid-template-columns:270px minmax(0,1fr);overflow:hidden}
.sidebar{display:flex;flex-direction:column;gap:0;background:var(--side);border-right:1px solid var(--line);padding:34px 22px 20px;min-height:0}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-family:Georgia,"Times New Roman",serif;font-size:32px;letter-spacing:-1.5px;padding:0 5px}
.brand-mark{width:42px;height:42px;display:grid;place-items:center;background:var(--forest);color:#f4f3e9;border-radius:50% 50% 45% 50%;transform:rotate(-8deg)}
.brand-mark svg{width:31px;height:31px;stroke-width:1.3;transform:rotate(8deg)}
.brand-caption{display:block;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:10px;letter-spacing:.2px;color:var(--muted);margin-top:0}
.new-chat{margin:35px 0 32px;display:flex;align-items:center;justify-content:center;gap:8px;min-height:47px;border:1px solid #b9c5b6;background:#f8f9f2;border-radius:10px;font-size:13px;font-weight:600;box-shadow:0 2px 2px #263a3203}
.new-chat:hover{background:#fffefa;border-color:#91a18a}
.new-chat svg{width:17px;height:17px}
.history-heading{display:flex;align-items:center;justify-content:space-between;padding:0 9px}
.history-heading h2{font-size:10px;text-transform:uppercase;letter-spacing:1.5px;font-weight:600;color:#6d766b;margin:0}
.history-heading span{font-size:10px;background:#e0e5da;border-radius:20px;padding:3px 6px;color:#54694e}
.history-empty{font-size:12px;line-height:1.8;color:#7a8276;padding:7px 9px;max-width:180px}
.conversation-list{display:flex;flex-direction:column;gap:5px;margin:16px -4px;min-height:20px;overflow:auto;scrollbar-width:thin}
.conversation-button{display:flex;align-items:center;gap:10px;min-height:44px;padding:9px 12px;background:transparent;text-align:left;border-radius:9px;font-size:12px;width:100%}
.conversation-button:hover{background:#e5e9de}
.conversation-button[aria-current="page"]{background:#dfe6d9;color:#304c3c}
.conversation-symbol{font-size:23px;line-height:1;color:#667e5d}
.conversation-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sidebar-bottom{margin-top:auto;padding-top:20px}
.privacy-note{display:flex;align-items:center;gap:9px;border-top:1px solid #d8ded0;padding:20px 4px 18px;color:#65745f}
.privacy-note svg{width:16px;height:16px}
.privacy-note p{font-size:11px;line-height:1.6;margin:0;white-space:pre-line}
.settings-button{display:flex;align-items:center;gap:10px;width:100%;min-height:44px;background:transparent;padding:9px 6px;font-size:12px;border-radius:8px}
.settings-button:hover{background:#e1e6d9}
.settings-button svg{width:18px;height:18px}
.settings-dot{width:5px;height:5px;border-radius:50%;background:#8b9d81;margin-left:auto}
.adult-label{font-size:9px;color:#737c70;text-align:center;letter-spacing:.3px;margin:17px 0 0}
.main{min-width:0;min-height:0;position:relative;display:flex;flex-direction:column;background:radial-gradient(ellipse at 60% 35%,#fffefa66,transparent 75%),var(--cream)}
.topbar{height:94px;min-height:94px;border-bottom:1px solid #e3e6dc;display:flex;align-items:center;justify-content:space-between;padding:0 39px;gap:20px}
.topbar-title{display:flex;align-items:center;gap:12px;min-width:0}
.topbar-title>div{min-width:0}
.eyebrow{font-size:9px;font-weight:600;letter-spacing:1.8px;color:#788473;margin:0 0 7px}
.topbar h1{font-size:13px;font-weight:500;letter-spacing:.1px;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:46vw}
.header-actions{display:flex;gap:18px;align-items:center}
.demo-badge{display:flex;align-items:center;gap:7px;color:#5b6c53;background:#eaf0e3;border:1px solid #dae4d0;font-size:10px;padding:7px 10px;border-radius:20px;white-space:nowrap}
.demo-badge>span{height:5px;width:5px;border-radius:50%;background:#8da16e}
.icon-button{width:38px;height:38px;display:grid;place-items:center;border-radius:10px;background:transparent;color:#61705e}
.icon-button:hover:not(:disabled){background:#e7ecdf}
.icon-button:disabled{opacity:.35}
.icon-button svg{height:19px;width:19px}
.mobile-history{display:none}
.notice{font-size:12px;line-height:1.6;padding:11px 30px;color:#55482b;background:#f0e8d3;border-bottom:1px solid #e2d5b4}
.chat-scroll{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#ccd5c5 transparent}
.welcome{display:flex;flex-direction:column;align-items:center;text-align:center;padding:54px 32px 35px;max-width:870px;margin:auto;min-height:100%;justify-content:center}
.welcome-emblem{position:relative;display:grid;place-items:center;width:70px;height:70px;border-radius:50%;background:#e8eddf;color:#6b8560;margin-bottom:22px}
.welcome-emblem:before{content:"";position:absolute;inset:-8px;border:1px solid #dde5d5;border-radius:50%}
.welcome-emblem svg{width:40px;height:40px;stroke-width:1}
.welcome-kicker{font-size:9px;letter-spacing:2.4px;color:#728168;font-weight:600;margin:6px 0 17px}
.welcome h2{font-family:Georgia,"Times New Roman",serif;font-size:clamp(34px,3.65vw,52px);font-weight:400;letter-spacing:-1.9px;line-height:1.13;margin:0;color:#344e3d}
.welcome-copy{font-size:13px;line-height:1.85;color:#73806c;margin:21px 0 30px}
.starter-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;width:100%;margin-top:1px}
.starter{position:relative;display:flex;flex-direction:column;gap:17px;align-items:flex-start;text-align:left;background:#fffefa99;border:1px solid #dce2d4;padding:19px 17px 18px;border-radius:13px;min-height:142px;transition:border-color .15s,transform .15s,background .15s}
.starter:hover{background:#fffefa;border-color:#a8b99d;transform:translateY(-2px)}
.starter>svg{width:21px;height:21px;color:#6d8460}
.starter>span:not(.starter-arrow){font-size:12px;font-weight:500;letter-spacing:.1px}
.starter small{display:block;font-size:10px;font-weight:400;color:#77826f;line-height:1.6;margin-top:7px;max-width:138px}
.starter-arrow{position:absolute;right:14px;top:16px;color:#97a38d;font-size:15px}
.welcome-demo{font-size:10px;line-height:1.8;color:#7c8574;margin:23px 0 0}
.messages{max-width:800px;margin:0 auto;padding:32px 40px 16px}
.message{padding:0 0 31px;overflow-wrap:anywhere}
.message-heading{display:flex;align-items:center;gap:9px;min-height:29px;margin-bottom:12px}
.message-author{font-size:12px;font-weight:600}
.sage-avatar,.you-avatar{display:grid;place-items:center;width:27px;height:27px;border-radius:50%;font:17px Georgia,serif;color:#f6f5ed;background:#4d6b4e}
.you-avatar{font:11px -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:#e4e8db;color:#6a795e}
.message-origin{font-size:9px;color:#6b7a60;padding:4px 7px;border:1px solid #dce3d3;border-radius:20px}
.message-state{font-size:10px;color:#6e7e64;margin-left:auto}
.message-body{white-space:pre-wrap;line-height:1.8;font-size:14px;letter-spacing:.02px;margin-left:36px}
.user .message-body{background:#eaf0e2;padding:15px 19px;border-radius:3px 15px 15px 15px;color:#3d5438}
.composer-wrap{position:relative;padding:15px 40px max(17px,env(safe-area-inset-bottom));max-width:800px;width:100%;margin:0 auto}
.intent-row{display:flex;gap:7px;margin:0 0 11px 3px}
.intent{background:transparent;color:#77836e;padding:8px 12px;border-radius:20px;font-size:10px;border:1px solid transparent;min-height:34px}
.intent:hover:not(:disabled){background:#edf0e6}
.intent.active{border-color:#d3deca;background:#e7eddf;color:#425e36}
.intent:disabled{opacity:.65}
.composer{background:var(--paper);border:1px solid #d4ddcc;border-radius:17px;box-shadow:0 3px 14px #34452c05;padding:17px 17px 12px;transition:border-color .2s,box-shadow .2s}
.composer:focus-within{border-color:#96aa89;box-shadow:0 0 0 3px #e4ebdc}
.composer textarea{resize:none;width:100%;min-height:46px;max-height:130px;border:0;outline:none;background:transparent;color:var(--ink);font-size:13px;line-height:1.7;padding:0 1px;scrollbar-width:thin}
.composer textarea::placeholder{color:#8b9583}
.composer-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px;min-height:36px}
.composer-status{font-size:10px;color:#7e8975;line-height:1.5}
.send-controls{display:flex;gap:12px;align-items:center;flex-shrink:0}
.character-count{font-size:9px;color:#8a947f;font-variant-numeric:tabular-nums}
.send-button{width:35px;height:35px;border-radius:10px;display:grid;place-items:center;background:var(--forest);color:#fff}
.send-button:hover:not(:disabled){background:var(--forest-deep)}
.send-button:disabled{background:#dde4d5;color:#8d9b81}
.send-button svg{width:18px;height:18px}
.stop-button{display:flex;align-items:center;gap:6px;min-height:35px;padding:8px 10px;background:#f1ecdd;color:#6b5f42;font-size:11px;border-radius:9px}
.stop-button>span{font-size:9px}
.composer-help{display:flex;justify-content:space-between;gap:12px;color:#818c78;font-size:9px;margin:11px 3px 0;line-height:1.6}
.newest-button{position:absolute;left:50%;top:-31px;transform:translateX(-50%);z-index:1;padding:9px 14px;min-height:35px;background:var(--forest);color:#fffefa;border:1px solid #fffefa;border-radius:25px;font-size:11px;box-shadow:0 3px 8px #263a321a}
.preferences{width:min(530px,calc(100% - 32px));max-height:calc(100dvh - 40px);padding:29px;background:var(--paper);border:1px solid #d2ddc9;border-radius:21px;color:var(--ink);box-shadow:0 20px 100px #253c3033}
.preferences::backdrop{background:#273b3266;backdrop-filter:blur(3px)}
.dialog-header{display:flex;align-items:center;justify-content:space-between;margin:0 0 24px}
.preferences h2{font:29px Georgia,serif;letter-spacing:-.7px;margin:0}
.preference-card{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;padding:19px 0;border-top:1px solid var(--line)}
.preference-card h3{font-size:13px;font-weight:600;margin:0 0 9px}
.preference-card p{font-size:12px;line-height:1.75;margin:0;color:#697563}
.settings-detail{font-size:11px;line-height:1.75;color:#6d7966;margin:0 0 21px}
.preference-card.compact{align-items:center;padding:19px 0}
.compact p{font-size:11px}
.small-pill{font-size:9px;background:#e9eee1;color:#5d7352;border-radius:20px;padding:6px 8px;flex:none}
.switch{position:relative;display:block;flex:none;width:39px;height:27px;margin-top:1px}
.switch input{position:absolute;width:39px;height:27px;opacity:0;margin:0;z-index:1;cursor:pointer}
.switch>span[aria-hidden]{display:block;position:absolute;width:39px;height:23px;top:2px;border-radius:15px;background:#dce3d4;transition:background .15s}
.switch>span[aria-hidden]:after{content:"";position:absolute;top:3px;left:3px;background:white;width:17px;height:17px;border-radius:50%;box-shadow:0 1px 2px #263a3233;transition:transform .15s}
.switch input:checked+span{background:#4f6c48}
.switch input:checked+span:after{transform:translateX(16px)}
.switch input:focus-visible+span{outline:3px solid #6d8564;outline-offset:4px}
.clear-button{display:flex;align-items:center;justify-content:center;gap:8px;background:transparent;border:1px solid #ded9cb;border-radius:10px;min-height:42px;padding:9px;width:100%;margin:16px 0 15px;color:#7c5d48;font-size:11px}
.clear-button:hover{background:#f4efe5}
.clear-button svg{width:15px;height:15px}
.settings-footnote{font-size:10px;line-height:1.75;color:#78836e;margin:0}
.confirm-dialog{max-width:440px;padding:28px}
.confirm-dialog>p{font-size:13px;line-height:1.8;color:#6d7966;margin:16px 0 25px}
.confirm-actions{display:flex;justify-content:flex-end;gap:9px}
.secondary-button,.danger-button{font-size:12px;min-height:42px;padding:11px 17px;border-radius:9px;background:#e9eee1}
.danger-button{background:#805b46;color:white}
.noscript{position:fixed;bottom:0;left:0;right:0;padding:20px;background:#f0e8d3;color:#55482b;text-align:center;z-index:20}
@media(min-width:1500px){.app-shell{grid-template-columns:290px minmax(0,1fr)}.sidebar{padding:38px 26px 25px}.welcome{max-width:900px}.welcome h2{font-size:55px}.messages,.composer-wrap{max-width:850px}}
@media(max-height:820px) and (min-width:761px){.welcome{padding-top:30px;padding-bottom:20px}.welcome-emblem{width:54px;height:54px;margin-bottom:14px}.welcome-emblem svg{width:33px;height:33px}.welcome h2{font-size:40px}.welcome-copy{margin:16px 0 22px}.starter{min-height:125px;padding:14px;gap:12px}.welcome-demo{margin-top:15px}.topbar{height:80px;min-height:80px}}
@media(max-width:1050px){.app-shell{grid-template-columns:235px minmax(0,1fr)}.sidebar{padding-left:16px;padding-right:16px}.topbar{padding:0 27px}.welcome{padding-left:26px;padding-right:26px}.starter-grid{gap:7px}.starter{padding:15px 12px}.starter small{font-size:9px}.messages{padding-left:28px;padding-right:28px}.composer-wrap{padding-left:28px;padding-right:28px}}
@media(max-width:760px){
  .app-shell{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr);min-height:360px}
  .sidebar{display:none}
  .history-open .app-shell{grid-template-rows:auto minmax(0,1fr)}
  .history-open .sidebar{display:flex;max-height:42dvh;min-height:220px;padding:15px 20px 12px;border-right:0;border-bottom:1px solid var(--line)}
  .history-open .sidebar .brand,.history-open .sidebar .privacy-note,.history-open .sidebar .adult-label{display:none}
  .history-open .new-chat{margin:0 0 15px;min-height:40px;flex:none}
  .history-open .sidebar-bottom{margin:0;padding-top:0}
  .history-open .conversation-list{min-height:0;flex:1;margin:7px 0}
  .history-open .history-empty{margin:7px 0 0;max-width:none}
  .history-open .settings-button{min-height:36px}
  .main{grid-row:auto;overflow:hidden}
  .topbar{height:73px;min-height:73px;padding:0 17px;gap:8px}
  .topbar-title{gap:7px}
  .topbar h1{font-size:12px;max-width:42vw}
  .topbar .eyebrow{font-size:8px;margin-bottom:5px;letter-spacing:1.2px}
  .mobile-history{display:grid;width:33px;height:40px}
  .header-actions{gap:5px}
  .demo-badge{font-size:8px;padding:6px 8px;gap:5px}
  .header-actions .icon-button{width:32px}
  .welcome{padding:30px 22px 25px;max-width:540px}
  .welcome h2{font-size:40px;letter-spacing:-1.8px}
  .welcome-emblem{width:52px;height:52px;margin-bottom:15px}
  .welcome-emblem svg{width:32px;height:32px}
  .welcome-kicker{font-size:8px;margin:4px 0 14px}
  .welcome-copy{font-size:12px;margin:16px 0 24px;line-height:1.8}
  .starter-grid{grid-template-columns:1fr;gap:8px}
  .starter{min-height:72px;flex-direction:row;gap:13px;align-items:center;padding:13px 15px;border-radius:12px}
  .starter>svg{height:20px;width:20px}
  .starter>span:not(.starter-arrow){font-size:12px}
  .starter small{max-width:none;font-size:10px;margin-top:4px;line-height:1.5}
  .starter-arrow{top:25px;right:17px}
  .welcome-demo{font-size:9px;line-height:1.7;margin-top:20px}
  .messages{padding:26px 19px 8px}
  .message{padding-bottom:26px}
  .message-body{font-size:14px;margin-left:0;line-height:1.8}
  .message-heading{gap:8px;margin-bottom:10px}
  .message-state{font-size:9px}
  .user .message-body{padding:13px 15px}
  .composer-wrap{padding:10px 17px max(13px,env(safe-area-inset-bottom))}
  .intent-row{gap:1px;margin:0 0 9px}
  .intent{font-size:10px;padding:7px 10px;min-height:33px}
  .composer{padding:14px 14px 11px;border-radius:15px}
  .composer textarea{font-size:16px;min-height:45px;line-height:1.55}
  .composer-toolbar{margin-top:7px;min-height:34px}
  .composer-status{font-size:9px}
  .character-count{font-size:8px}
  .send-controls{gap:9px}
  .composer-help{font-size:8px;margin-top:9px;gap:7px}
  .notice{font-size:11px;padding:9px 19px}
  .preferences{padding:23px}
}
@media(max-width:370px){.demo-badge{padding:5px;font-size:7px}.topbar{padding:0 10px}.welcome h2{font-size:36px}.composer-help>span:first-child{display:none}.composer-help{justify-content:center}.character-count{display:none}.intent{padding:7px 8px;font-size:9px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media(forced-colors:active){button,.composer,.starter,.demo-badge,.message-origin,.intent.active,.preferences{border:1px solid ButtonText}.brand-mark,.sage-avatar,.you-avatar{border:1px solid CanvasText}.switch>span[aria-hidden]{border:1px solid ButtonText}.switch>span[aria-hidden]:after{background:ButtonText}.switch input:checked+span{background:Highlight}}

.preferences-status{font-size:11px;line-height:1.75;color:#62502d;background:#f1ebd9;border:1px solid #e3d8b9;border-radius:10px;padding:12px 14px;margin:0 0 18px}
.messages:empty{display:none}
:root { color-scheme: light; }
[hidden] { display: none !important; }
.auth-gate { max-width: 34rem; margin: 12vh auto; padding: 2rem; text-align: center; }
.auth-gate h1 { font-size: clamp(2rem, 5vw, 3.5rem); line-height: 1.1; }
.auth-gate p { line-height: 1.6; }
.auth-gate button { margin: 1rem 0; }
.account-email { max-width: 14rem; overflow: hidden; text-overflow: ellipsis; font-size: .8rem; }
@media (max-width: 700px) { .account-email { display: none; } .header-actions { flex-wrap: wrap; } }
