:root{font:14px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#213d34;background:#f7f8f5}*{box-sizing:border-box}body{margin:0;display:grid;grid-template-columns:280px 1fr;min-height:100vh}aside{background:#183e32;color:#ecf3ea;padding:32px 25px;display:flex;flex-direction:column;gap:12px}.brand{display:flex;gap:12px;align-items:center;color:inherit;text-decoration:none;font-size:42px;font-weight:750;line-height:1}.brand span{font-size:16px;letter-spacing:.14em}.brand small{display:block;font-size:8px;margin-top:7px;letter-spacing:.16em}.caption{font-size:10px;letter-spacing:.17em;font-weight:700;margin:0;color:#8b9e8d}aside>.caption{margin-top:42px}h1{font-size:24px;letter-spacing:-.04em;line-height:1.5;margin:0}.intro{color:#afc2b1;font-size:13px;margin:0 0 25px}aside label{font-size:11px;color:#bdd0be}button,select,textarea{font:inherit}button,select{border:1px solid #d5dfd2;background:#fff;color:#28513e;border-radius:8px;padding:10px 12px;cursor:pointer}button{font-size:12px;font-weight:650}button:hover{background:#edf3e9}button:disabled{opacity:.45;cursor:default}aside button{background:#2b5140;border-color:#46694e;color:#ecf3e8}aside button:hover{background:#3c624e}#conversations{display:grid;gap:6px;max-height:260px;overflow:auto;margin-top:8px}#conversations button{text-align:left;font-weight:400;font-size:11px}.sidebar-foot{margin-top:auto;padding-top:35px;display:grid;gap:10px;font-size:11px;color:#adc1ae}.sidebar-foot a{color:#c8d9c7}main{width:100%;max-width:1080px;margin:0 auto;padding:28px 45px 20px;display:flex;flex-direction:column;height:100vh}header{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:20px}h2{font-size:21px;letter-spacing:-.03em;margin:5px 0}#identity{font-size:11px;color:#738775}.notice{border-left:3px solid #91a66a;background:#edf2e4;padding:10px 15px;font-size:12px;display:grid;gap:2px}.notice span{color:#63755d}.samples{display:flex;align-items:center;gap:15px;padding:17px 0;border-bottom:1px solid #dde4d8;font-size:12px;flex-wrap:wrap}.samples p{font-size:11px;color:#7b8c79;margin:3px 0}.samples a{color:#3a7452;margin-right:9px;font-size:11px}.samples button{margin-left:auto}#messages{overflow:auto;flex:1;min-height:220px;padding:24px 0;scroll-behavior:smooth}.welcome{text-align:center;padding:25px 0;color:#7b8e7b}.mark{display:inline-grid;place-items:center;width:45px;height:45px;border-radius:14px;background:#e4ebdc;color:#4d7050;font-weight:800;font-size:25px}.welcome h3{color:#446043;font-size:22px;font-weight:500;margin:14px 0 7px}.welcome p{font-size:12px}.message{margin:0 0 18px;max-width:85%;width:fit-content}.message.user{margin-left:auto}.message .who{font-size:10px;color:#8c9a89;margin:0 0 5px}.message .bubble{white-space:pre-wrap;padding:14px 17px;background:#fff;border:1px solid #e0e6db;border-radius:3px 14px 14px 14px;font-size:13px}.message.user .bubble{background:#e7eedf;border-color:#e0e8d7;border-radius:14px 3px 14px 14px}.file-pill{font-size:11px;background:#f1f4ec;border-radius:6px;padding:6px 9px;margin:6px 0}.result{padding:11px 14px;border:1px solid #cbd9c3;border-radius:8px;margin-top:8px;background:#f6f9f1;display:flex;gap:13px;align-items:center;font-size:12px}.result a{color:#285c3d;font-weight:650}.state{font-size:11px;color:#6c8367;padding-top:6px}#composer{border:1px solid #cbd8c4;background:#fff;border-radius:13px;padding:10px 13px;box-shadow:0 4px 12px #29422306}textarea{width:100%;border:0;resize:vertical;max-height:140px;min-height:55px;outline:none;background:transparent;color:#264835;padding:6px}.compose-actions{display:flex;gap:15px;align-items:center}.attach{font-size:12px;cursor:pointer;color:#52714c}.compose-actions span{font-size:10px;color:#97a390}.compose-actions button{margin-left:auto;background:#24573d;color:white;border:0;padding:9px 17px}#selected{display:flex;gap:8px;flex-wrap:wrap}#selected button{font-size:11px;margin-bottom:7px;padding:5px 10px}#notice{font-size:12px;color:#496d46;min-height:18px;margin:3px 0 9px}#notice.error{color:#ad4a30}.footnote{font-size:10px;color:#8c9a86;text-align:center;margin:9px 0 0}a:focus-visible,button:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #84ab68;outline-offset:3px}@media(max-width:800px){body{display:block}aside{padding:16px 20px;display:grid;grid-template-columns:1fr 1fr;gap:8px}.brand{font-size:28px}.brand span{font-size:12px}aside h1,aside>.caption,.intro,.sidebar-foot,#conversations,aside label{display:none}aside select{max-width:200px;margin-left:auto}aside #login,aside #new{padding:7px}main{padding:18px 20px;height:calc(100vh - 126px)}.samples{gap:7px}.samples p{display:none}.samples button{margin-left:0;padding:7px}.message{max-width:95%}header{margin-bottom:12px}.compose-actions span{display:none}}

/* Phone: conversation scrolls independently; controls remain above the keyboard. */
.mobile-only{display:none}.bottom{flex-shrink:0}.message .bubble{overflow-wrap:anywhere}.result{flex-wrap:wrap}
@media(max-width:800px){
 body{height:var(--chat-height,100dvh);min-height:0;overflow:hidden}
 main{height:100%;padding:10px 12px max(8px,env(safe-area-inset-bottom));min-width:0}
 .mobile-only{display:block;min-width:44px;min-height:44px}
 aside{display:none}body.menu-open aside{display:flex;position:fixed;inset:0 15% 0 0;z-index:20;padding:20px;box-shadow:0 0 0 100vmax #10291f80;overflow:auto}
 aside #conversations{display:grid;max-height:none;flex:1;overflow:auto}aside label{display:block}aside select{max-width:none;width:100%;margin:0;font-size:16px}aside #menu-close{align-self:flex-end}aside button{min-height:44px}
 header{gap:10px;flex-shrink:0;margin-bottom:6px}header .caption{display:none}h2{font-size:17px;margin:0}#identity{margin-left:auto;max-width:38%;font-size:10px;overflow-wrap:anywhere}
 main>.notice{display:none}#quick-prompts{flex-wrap:nowrap;overflow-x:auto;padding:6px 0;gap:6px;flex-shrink:0}#quick-prompts button{white-space:nowrap;min-height:44px}
 main>details{font-size:12px;flex-shrink:0}main>details[open]{max-height:25%;overflow:auto}summary{padding:7px 0;cursor:pointer}
 #messages{min-height:0;padding:12px 0;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
 .message{max-width:94%}.message .bubble{font-size:15px;padding:11px 13px}.message button{min-height:40px}
 #notice{font-size:11px;margin:3px 0;min-height:0;max-height:64px;overflow:auto}#reconnect{min-height:44px}
 #composer{padding:6px 9px}textarea{font-size:16px;min-height:44px;resize:none;max-height:140px}.compose-actions{gap:8px}.compose-actions button,.attach{min-height:44px;display:flex;align-items:center}.compose-actions button{min-width:76px}
 .footnote{font-size:9px;margin:3px 0}.welcome{padding:10px 0}#selected{max-height:60px;overflow:auto}
}
@media(max-height:500px) and (max-width:800px){#quick-prompts,main>details,.footnote{display:none}}

.chat-tools{display:flex;align-items:center;gap:10px;padding:7px 0;flex-shrink:0;font-size:12px}.chat-tools a{margin-left:auto;color:#285c3d}.chat-tools button{color:#a6442c}#history-search{font:inherit;border:1px solid #69806a;border-radius:8px;padding:10px;width:100%;min-width:0;background:#f5f8f2;color:#183e32}.chat-tools [hidden]{display:none}@media(max-width:800px){.chat-tools a,.chat-tools button{min-height:44px;display:flex;align-items:center}.chat-tools{padding:0;gap:8px}.chat-tools [hidden]{display:none}#history-search{font-size:16px}.chat-tools #job-summary{font-size:11px}}
[hidden]{display:none!important}#email-auth:not([hidden]){position:fixed;inset:0;z-index:100;background:#f2f6f2;display:flex;align-items:center;justify-content:center;padding:20px;overflow:auto}.auth-card{width:min(100%,420px);margin:auto;color:#183e32}.auth-card input,.auth-card button{display:block;width:100%;box-sizing:border-box;font:inherit;font-size:16px;min-height:48px;border:1px solid #a6bbab;border-radius:10px;padding:12px;margin:8px 0 16px}.auth-card button{background:#24573d;color:white}.auth-card small{display:block;line-height:1.6;color:#607266}#auth-notice{min-height:24px;white-space:pre-wrap}.auth-card input:focus-visible{outline:3px solid #6ba687}.auth-card button:disabled{opacity:.55}body[data-auth-mode=email] #demo-login{display:none!important}

#usage-panel{white-space:pre-wrap;font-size:12px;line-height:1.7;padding:12px;border:1px solid #55705f;border-radius:8px}#auth-check{background:transparent;color:#24573d;font-size:14px}

/* Copy is a quiet secondary action, separate from the message bubble. */
.message button[data-copy]{display:inline-flex;align-items:center;justify-content:center;width:auto;min-width:36px;min-height:28px;margin:3px 0 0;padding:3px 7px;border:0;border-radius:5px;background:transparent;box-shadow:none;color:#687b70;font-size:11px;font-weight:400;line-height:1.4}
.message button[data-copy]:hover{background:#eaf0e9;color:#355844}
.message button[data-copy]:focus-visible{outline:2px solid #84ab68;outline-offset:2px}
@media(pointer:coarse){.message button[data-copy]{min-height:32px;padding:5px 8px}}
.chat-tools{flex-wrap:wrap}.chat-tools #archive-conversation{background:transparent;border:0;color:#687b70;font-size:11px;font-weight:400;padding:4px 7px}.chat-tools #archive-conversation:hover{background:#eaf0e9}

#work-link{display:block;padding:12px 4px;min-height:44px;color:inherit;font-size:14px}
