:root{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#202822;background:#fcfcf9;font-synthesis:none}*{box-sizing:border-box}body{margin:0;display:flex;min-height:100dvh}button,a,textarea{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,textarea:focus-visible{outline:3px solid #8db59d;outline-offset:3px}button{color:inherit}aside{width:255px;flex-shrink:0;background:#f0f2ec;border-right:1px solid #e3e7de;padding:28px 20px;display:flex;flex-direction:column;position:fixed;inset:0 auto 0 0}.brand{display:flex;align-items:center;gap:10px;font-weight:650;letter-spacing:-.5px;color:inherit;text-decoration:none;font-size:20px}.mark{font-family:Georgia,serif;font-style:italic;font-size:31px;color:#356b4d}.new{margin:34px 0 32px;border:1px solid #d2dace;background:#fafbf7;border-radius:10px;padding:13px 8px;text-align:left;font-size:13px;font-weight:600}.side-label{font-size:10px;letter-spacing:1.5px;color:#727c70;margin-bottom:14px}.thread{border:0;background:#e4e9df;border-radius:9px;padding:13px 12px;text-align:left;font-size:12px;line-height:1.5}.thread span{display:block;font-size:10px;color:#727c70;margin-top:4px}.side-bottom{margin-top:auto;display:flex;align-items:center;gap:10px;font-size:12px}.side-bottom small{display:block;font-size:10px;color:#727c70;margin-top:4px}.avatar{width:32px;height:32px;background:#d8e1d3;display:grid;place-items:center;border-radius:50%;font-family:Georgia,serif}main{margin-left:255px;width:calc(100% - 255px);min-height:100dvh;display:flex;flex-direction:column}header{padding:25px 38px;border-bottom:1px solid #e9ebe5;display:flex;align-items:center;justify-content:space-between;gap:12px}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:600;color:#778475}h1{font-size:18px;font-weight:600;margin:5px 0 0;letter-spacing:-.5px}h1 span{font-size:12px;font-weight:400;color:#83917f;margin-left:4px}.status{border:1px solid #e0e6dc;background:#f7f8f3;border-radius:30px;padding:9px 12px;display:flex;align-items:center;gap:7px;font-size:11px;color:#60715e}.status i{display:block;width:6px;height:6px;background:#9ca995;border-radius:50%}.status.online i{background:#3b855b}.status.online{color:#356d4c}#messages{flex:1;max-width:850px;width:100%;margin:auto;padding:34px 35px 25px;overflow-wrap:anywhere}#welcome{text-align:center;padding:34px 0 20px}.welcome-symbol{font:italic 50px Georgia,serif;color:#4e7c5b;margin-bottom:25px}#welcome h2{font:normal 45px/1.12 Georgia,serif;letter-spacing:-1.8px;margin:18px 0 20px}.intro{font-size:13px;line-height:1.8;color:#7b8477}.suggestions{display:flex;gap:10px;margin-top:36px}.suggestions button{flex:1;text-align:left;font-size:11px;background:white;border:1px solid #e2e7dc;border-radius:10px;padding:17px 13px;transition:background .15s}.suggestions button:hover{background:#f1f5ed}.suggestions span{float:right;color:#829379;margin-left:8px}.compose-wrap{max-width:850px;width:100%;margin:0 auto;padding:12px 35px 24px}#notice{font-size:11px;color:#74816d;text-align:center;margin-bottom:13px;line-height:1.6}#composer{background:white;border:1px solid #d9e1d2;border-radius:17px;padding:16px 18px 10px;box-shadow:0 6px 28px #223c1705}textarea{width:100%;resize:vertical;max-height:220px;min-height:54px;border:0;background:transparent;font-size:14px;line-height:1.6;color:#263224;outline:none}textarea::placeholder{color:#9aA495}.compose-bottom{display:flex;align-items:center;justify-content:space-between}.compose-bottom span{font-size:10px;color:#9aa490;letter-spacing:.4px}#send{width:34px;height:34px;border:0;border-radius:10px;background:#3e6e4c;color:white;font-size:21px}#send:disabled{background:#e6ebe1;color:#a5b29e;cursor:not-allowed}.footnote{font-size:10px;text-align:center;color:#99a092;margin:14px 0 0}.message{margin:0 0 28px;font-size:14px;line-height:1.8}.message .label{font-size:10px;letter-spacing:1.4px;margin-bottom:8px;color:#7a8a73}.message .content{white-space:pre-wrap}.message.user{background:#edf2e8;border-radius:14px;padding:16px 20px;margin-left:38px}.message.user .label{color:#66805d}.message.assistant{padding:0 8px}.message.pending{color:#83917c}dialog{border:1px solid #d9e1d2;border-radius:16px;padding:28px;max-width:410px;color:inherit}dialog::backdrop{background:#15231050}dialog h2{font-size:20px}dialog p{font-size:13px;color:#77826f}dialog form{display:flex;gap:10px;margin-top:25px}dialog button{border:1px solid #d9e1d2;padding:10px 12px;border-radius:8px;background:white;font-size:12px}.danger{background:#3e6e4c;color:white}.sr-only{position:absolute;left:-9999px}@media(max-width:760px){aside{display:none}main{margin:0;width:100%}header{padding:20px}#messages{padding:20px}#welcome{padding:25px 0 10px}#welcome h2{font-size:38px}.suggestions{flex-direction:column;margin-top:26px}.suggestions button{padding:14px}.compose-wrap{padding:10px 20px 20px}.message.user{margin-left:15px}.status{font-size:10px}header .eyebrow{font-size:8px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}

.header-actions{display:flex;align-items:center;gap:8px}#mobile-new{display:none;border:1px solid #d9e1d2;background:white;border-radius:20px;font-size:10px;padding:9px 10px}@media(max-width:760px){#mobile-new{display:block}}

/* Phone input: prevent Safari focus zoom; accessible touch targets and safe area. */
@media(max-width:760px){textarea{font-size:16px}#send{width:44px;height:44px}#refresh,#mobile-new{min-height:44px}.compose-wrap{padding-bottom:calc(20px + env(safe-area-inset-bottom))}header{flex-wrap:wrap}.header-actions{margin-left:auto}dialog{max-width:calc(100vw - 32px)}dialog button{min-height:44px}}

/* Stable app viewport: only the conversation scrolls, not the composer. */
html{height:100%;overflow:hidden}body{height:100vh;height:100dvh;min-height:0;overflow:hidden}main{height:100%;min-height:0;overflow:hidden}header,.compose-wrap{flex-shrink:0}#messages{min-height:0;overflow-y:auto;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;margin:0 auto;scroll-padding-bottom:20px}textarea{resize:none;overflow-y:auto;max-height:160px}.header-actions{min-width:0}.compose-wrap{background:#fcfcf9}
@media(max-width:760px){body{position:fixed;top:var(--viewport-top,0px);left:0;right:0;height:var(--viewport-height,100dvh)}header{padding:calc(10px + env(safe-area-inset-top)) 14px 10px;gap:8px;flex-wrap:nowrap}header .eyebrow{display:none}h1{font-size:16px;margin:0}h1 span{font-size:11px;margin-left:2px}.header-actions{gap:5px}#refresh{max-width:140px;padding:8px;font-size:10px}#mobile-new{padding:8px;font-size:10px;white-space:nowrap}#messages{padding:18px 16px}#welcome{padding:12px 0}#welcome h2{font-size:32px;margin:12px 0}.welcome-symbol{font-size:36px;margin-bottom:12px}.intro{font-size:12px}.suggestions{margin-top:20px;gap:8px}.suggestions button{min-height:44px}.compose-wrap{padding:8px 12px max(10px,env(safe-area-inset-bottom))}#notice{margin-bottom:6px;font-size:10px}#composer{padding:10px 12px 7px;border-radius:14px}textarea{min-height:48px;max-height:120px;font-size:16px}.footnote{margin-top:6px;font-size:9px;line-height:1.4}.message.user{margin-left:8px}.keyboard-open .footnote{display:none}.keyboard-open .compose-wrap{padding-bottom:6px}}
@media(max-width:360px){h1 span{display:none}#refresh{max-width:118px}.compose-bottom span{font-size:9px}}
