*{box-sizing:border-box}
html,body{height:100%;margin:0}
body{font-family:Inter,"Segoe UI",Arial,sans-serif;color:#223228;background:#e7e9e6;-webkit-font-smoothing:antialiased}
button,textarea{font:inherit}
button{cursor:pointer}
button:disabled{cursor:default}
button:focus-visible,a:focus-visible,textarea:focus-visible,.conversation:focus-visible{outline:2px solid #397524;outline-offset:4px}
[hidden]{display:none!important}
.layout{height:100dvh;min-height:520px;display:grid;grid-template-columns:410px minmax(0,1fr);max-width:1760px;margin:auto;background:#f2f3f1}
.sidebar{background:#25282b;color:#f4f5f2;padding:26px 36px 25px;display:flex;flex-direction:column;border-right:1px solid #283d21;position:relative;overflow:hidden;isolation:isolate;border-right-color:#d9ddd6}
.sidebar:before{content:"";position:absolute;inset:0;background:none;z-index:-1}
.brand-top{display:flex;align-items:center;gap:15px;position:relative;z-index:2}
.brand{color:inherit;text-decoration:none;display:block}


.brand-divider{height:28px;width:1px;background:#51575a}
.brand-category{font-size:8px;line-height:1.7;letter-spacing:1.4px;color:#d1d5cf;font-weight:600}
.sidebar-copy{position:relative;z-index:2;margin-top:42px}
.eyebrow{font-size:9px;letter-spacing:1.9px;font-weight:700;color:#b4c1ac;display:inline-flex;align-items:center;gap:9px}
.status-dot{width:5px;height:5px;background:#73ff32;border-radius:50%;box-shadow:0 0 13px #73ff32}
.sidebar h1{font-size:46px;line-height:1.09;letter-spacing:-2px;font-weight:650;margin:18px 0 15px}
.sidebar h1 em{font-style:normal;color:#f5f7f2}
.sidebar-copy>p{font-size:12px;line-height:1.8;color:#aab4a4;margin:0}
.hero-art{position:absolute;z-index:0;left:0;right:0;top:290px;bottom:90px;pointer-events:none}
.hero-art img{display:block;width:100%;height:100%;object-fit:contain;object-position:50% 100%;mask-image:linear-gradient(transparent 0%,#000 18%,#000 83%,transparent 100%);mix-blend-mode:lighten}
.sidebar-footer{margin-top:auto;position:relative;z-index:2;padding-top:18px;background:none}
.footer-rule{width:30px;height:2px;background:#dcbb4f;margin-bottom:15px;box-shadow:0 0 18px #d7b8454a}
.sidebar-footer>span{font-size:8px;letter-spacing:2px;color:#cfb86b;font-weight:650}
.sidebar-footer>p{font-size:11px;color:#c8cfc3;margin:9px 0 0}
.chat-shell{display:flex;flex-direction:column;min-width:0;min-height:0;background:#eceeeb;color:#1f3025}
.chat-header{padding:20px 37px;border-bottom:1px solid #263124;display:flex;align-items:center;gap:13px;background:#f2f3f1;flex-shrink:0;border-bottom-color:#dfe3dc}
.agent-icon{width:46px;height:46px;border:1px solid #568b30;border-radius:15px;overflow:hidden;background:#060d07;box-shadow:0 0 24px #7dff2a0b}
.agent-icon img{width:100%;height:100%;object-fit:cover;object-position:28% 30%;transform:scale(2.4);transform-origin:28% 32%}
.agent-name{display:flex;flex-direction:column;gap:7px}
.agent-name strong{font-size:13px;font-weight:600;display:flex;align-items:center;gap:9px;color:#1d3022}
.ai-badge{font-size:8px!important;line-height:1;background:#e5e9e2;color:#5a6951!important;letter-spacing:.7px;padding:4px 5px;border:1px solid #39592d;border-radius:4px;border-color:#d3dacf}
.ai-badge:before{display:none!important}
.agent-name>span{font-size:10px;color:#5d6d55}
.agent-name>span:before{content:"";display:inline-block;width:5px;height:5px;border-radius:50%;background:#87917e;margin-right:6px}
.agent-name>span.online:before{background:#7bff37;box-shadow:0 0 9px #7bff3750}
.info-button{margin-left:auto;border:1px solid #37452f!important;border-radius:50%!important;width:38px!important;height:38px!important;font:14px Georgia!important;color:#687b5f!important;border-color:#d6ded0!important}
.conversation{flex:1;overflow:auto;min-height:0;padding:30px max(30px,calc((100% - 730px)/2));scrollbar-width:thin;scrollbar-color:#c6d0c0 transparent;scroll-behavior:smooth;background:#eceeeb}
.welcome{padding:0 0 20px;text-align:center}
.welcome .eyebrow{color:#826a26;font-size:8px;letter-spacing:2.5px}
.welcome h2{font-size:39px;line-height:1.18;letter-spacing:-1.35px;font-weight:600;margin:18px 0;color:#203026}
.welcome h2 em{font-style:normal;color:#397b21}
.welcome>p{font-size:13px;line-height:1.9;color:#697361;margin:0}
.suggestions{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:29px auto 0;max-width:650px}
.suggestions button{border:1px solid #34462b;background:#fff;color:#41543a;border-radius:10px;font-size:12px;padding:13px 14px;transition:border-color .2s,background .2s,transform .2s;border-color:#dbe4d4;box-shadow:0 3px 10px #263b1605}
.suggestions button:hover{background:#f3faed;border-color:#92bf6d;transform:translateY(-2px)}
.suggestions span{margin-right:6px;color:#528c30}
.message{margin:0 0 28px;display:flex;flex-direction:column;align-items:flex-start;gap:10px;min-width:0}
.message.user{align-items:flex-end}
.message-label{font-size:10px;font-weight:650;letter-spacing:1px;text-transform:uppercase;color:#67765d;display:flex;align-items:center;gap:8px}
.message-label img{width:18px;height:18px;border-radius:5px}
.message-content{font-size:14px;line-height:1.85;overflow-wrap:anywhere;max-width:100%;color:#293c2b}
.message.assistant .message-content{padding:16px 19px;background:#fff;border:1px solid #dce1d9;border-radius:3px 15px 15px 15px;box-shadow:0 2px 9px #1a2e1005}
.message.user .message-content{background:#fff;border:1px solid #405e30;color:#293c2b;padding:12px 18px;border-radius:15px 15px 3px 15px;max-width:86%;white-space:pre-wrap;border-color:#dce3d7;box-shadow:0 2px 8px #1b321005}
.message-content p{margin:0 0 13px}
.message-content p:last-child{margin:0}
.message-content strong{color:#1d3020;font-weight:650}
.message-content a{color:#397524;text-underline-offset:4px;text-decoration-color:#92b47a}
.message-content ul,.message-content ol{padding-left:22px;margin:8px 0 14px}
.message-content li{padding-left:3px;margin:4px 0}
.working{display:flex;align-items:center;gap:12px;color:#667c57;font-size:11px;margin:10px 0 26px}
.typing{display:inline-flex;gap:4px}
.typing i{background:#6bb83c;width:5px;height:5px;border-radius:50%;animation:pulse 1s infinite}
.typing i:nth-child(2){animation-delay:.15s}
.typing i:nth-child(3){animation-delay:.3s}
@keyframes pulse{50%{opacity:.3;transform:translateY(-3px)}}
.composer-area{flex-shrink:0;padding:15px max(30px,calc((100% - 730px)/2)) 21px;background:linear-gradient(#eceeeb00,#eceeeb 15%)}
.composer{display:flex;align-items:center;padding:10px;border:1px solid #455b37;box-shadow:0 5px 25px #283e1610;background:#fff;border-radius:16px;gap:7px;border-color:#d3dfca}
.composer:focus-within{border-color:#7aaa59;box-shadow:0 0 0 3px #90c76512,0 5px 25px #283e160c}
textarea{resize:none;border:0;background:transparent;color:#263a28;min-width:0;flex:1;max-height:160px;min-height:40px;line-height:1.6;padding:9px 1px;font-size:13px;outline:none!important}
textarea::placeholder{color:#66765e}
.icon-button{border:0;background:transparent;color:#a4b997;display:grid;place-items:center;border-radius:10px;width:42px;height:44px;flex-shrink:0}
.icon-button:hover{background:#2b4023;color:#a7ff78}
.icon-button svg,.send-button svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.send-button{display:grid;place-items:center;background:linear-gradient(135deg,#a1f747,#7bdf2c);border:1px solid #a0ff5d;color:#23400e;width:44px;height:44px;border-radius:11px;flex-shrink:0;box-shadow:none;border-color:#8ee13d}
.send-button:hover{background:#a2f858}
.send-button:disabled{background:#eff4e9;color:#acb99d;border-color:#e7eedf;box-shadow:none}
.composer-meta{display:flex;gap:12px;justify-content:space-between;font-size:10px;color:#68775d;padding:12px 4px 0;line-height:1.5}
.attachment{display:flex;align-items:center;gap:10px;background:#f0f6e9;padding:7px 10px;border:1px solid #425b32;border-radius:9px;margin:0 0 9px;font-size:11px;color:#486537;border-color:#d5e2c8}
#attachment-name{overflow-wrap:anywhere}
.attachment .icon-button{margin-left:auto;width:32px;height:32px;font-size:20px}
.notice{padding:12px 14px;background:#fff5e6;border:1px solid #67542a;color:#775c2b;border-radius:10px;font-size:12px;line-height:1.7;margin-bottom:10px;border-color:#ead9b8}
.notice button{border:0;background:transparent;text-decoration:underline;color:inherit;font-size:12px;font-weight:650;margin-left:8px}
.delivery-status{padding:10px 14px;background:#f0f7e9;border:1px solid #38552b;border-radius:9px;color:#52763b;font-size:11px;line-height:1.6;margin-bottom:10px;border-color:#d8e7cc}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.recorder{display:flex;align-items:center;gap:9px;background:#fff4ef;border:1px solid #654a3c;border-radius:10px;padding:12px;margin-bottom:9px;font-size:11px;color:#77503c;border-color:#ead5c6}
.recording-dot{width:7px;height:7px;border-radius:50%;background:#ff7059;animation:pulse 1s infinite}
.recorder>button{min-height:40px;border:0;background:transparent;color:#835f46;font-size:12px;padding:7px}
.recorder>button:first-of-type{margin-left:auto}
.recorder #stop-record{border:1px solid #8eaf5d;border-radius:6px;color:#456830;background:#eef7e4;border-color:#c7dbb3}
#audio-preview{width:100%;height:38px;display:block;margin:0 0 9px;color-scheme:light}
dialog{border:1px solid #4b633b;border-radius:18px;max-width:440px;width:calc(100% - 36px);padding:25px;color:#263d27;background:#fff;box-shadow:0 20px 80px #10201040;border-color:#dce6d3}
dialog::backdrop{background:#020705bb;backdrop-filter:blur(5px)}
dialog h2{font-size:20px;letter-spacing:-.5px;margin:0}
.dialog-heading{display:flex;align-items:center;justify-content:space-between}
.dialog-heading button{font-size:25px}
dialog p{font-size:13px;line-height:1.8;color:#63775b}
.dialog-close{width:100%;background:#91ed49;border:0;border-radius:8px;color:#132a0c;padding:12px;margin-top:8px;font-weight:600}
@media(min-width:1500px){.layout{grid-template-columns:460px 1fr}.sidebar{padding-left:44px;padding-right:44px}.sidebar h1{font-size:53px}.hero-art{top:310px}}
@media(max-height:820px) and (min-width:801px){.sidebar-copy{margin-top:28px}.sidebar h1{font-size:39px}.hero-art{top:240px;bottom:80px}.welcome h2{font-size:34px;margin:15px 0}.suggestions{margin-top:22px}.sidebar-copy>p{font-size:11px}.sidebar-footer{padding-top:12px}.conversation{padding-top:22px}}
@media(max-width:1100px){.layout{grid-template-columns:330px 1fr}.sidebar{padding-left:26px;padding-right:26px}.sidebar h1{font-size:39px}.brand-top{gap:10px}.brand-category{font-size:7px}.chat-header{padding:19px 25px}.conversation{padding-left:25px;padding-right:25px}.composer-area{padding-left:25px;padding-right:25px}.suggestions{gap:7px}.suggestions button{font-size:11px;padding:11px}.welcome h2{font-size:32px}}
@media(max-width:800px){.layout{display:block;min-height:0}.sidebar{display:none}.chat-shell{height:100dvh}.chat-header{padding:15px 19px;gap:11px}.agent-name strong{font-size:12px}.agent-icon{width:42px;height:42px;border-radius:13px}.conversation{padding:25px 20px}.welcome{padding:8px 0 20px}.welcome h2{font-size:33px;letter-spacing:-1px}.welcome>p{font-size:12px}.welcome .eyebrow{font-size:7px}.suggestions{margin-top:24px;max-width:330px;gap:8px}.suggestions button{width:100%;text-align:left;padding:13px 16px;font-size:11px}.composer-area{padding:10px 13px max(15px,env(safe-area-inset-bottom))}.composer{padding:8px;gap:3px;border-radius:14px}.composer-meta{font-size:7px;gap:6px;padding-top:10px}textarea{font-size:16px;padding-top:8px}.icon-button{width:34px}.send-button{width:38px}.message-content{font-size:14px;line-height:1.8}.message.assistant .message-content{padding:14px 16px}.message.user .message-content{max-width:94%}.recorder{flex-wrap:wrap;font-size:11px}.desktop-break{display:none}}
@media(max-height:690px) and (max-width:800px){.welcome{padding-top:0}.welcome h2{font-size:29px}.welcome>p{font-size:11px}.suggestions{margin-top:18px}.suggestions button{padding:11px 14px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
.chat-shell .icon-button{color:#778a69}
.chat-shell .icon-button:hover{background:#f0f6e9;color:#416e2d}
.sidebar .eyebrow{color:#d0d6cc}
.chat-header .info-button:hover{background:#e8ede4}
@media(max-width:800px){.icon-button{width:40px;height:44px}.send-button{width:44px;height:44px}.composer{gap:4px}.composer-meta{font-size:9px}.message-label{font-size:9px}}

@media(max-width:800px){.info-button{width:44px!important;height:44px!important}.recorder>button{min-height:44px}}
.header-brand{border:1px solid #323a30;background:#1e2321;border-radius:8px;padding:6px 10px;flex-shrink:0;display:block}.header-brand:hover{background:#293028}.welcome-mascot{height:180px;width:170px;overflow:hidden;position:relative;margin:0 auto 26px;border-radius:24px;background:#080d09;border:1px solid #d3dbcd;box-shadow:0 12px 26px #1c301317}.welcome-mascot img{display:block;position:absolute;width:240px;height:360px;max-width:none;left:-35px;top:-48px}.welcome h2{font-size:36px;letter-spacing:-1.2px}.chat-header{gap:16px}.working{background:#ffffffb3;border:1px solid #dce1d9;align-self:flex-start;padding:13px 16px;border-radius:12px;width:fit-content;max-width:100%}@media(max-width:800px){.chat-header{padding:14px 16px;gap:11px}.agent-name strong{font-size:11px;gap:6px}.agent-name>span{font-size:9px}.welcome-mascot{width:150px;height:160px;margin-bottom:22px}.welcome-mascot img{width:216px;height:324px;left:-33px;top:-44px}.welcome h2{font-size:32px}.message-content{font-size:14px}.conversation{padding:24px 18px}.welcome .eyebrow{font-size:8px}.composer-meta{font-size:8px}}@media(max-width:360px){.chat-header{padding-left:12px;padding-right:12px;gap:9px}.agent-name strong{font-size:10px}.ai-badge{font-size:7px!important}.info-button{width:38px!important;height:38px!important}.welcome h2{font-size:28px}.welcome>p{font-size:11px}.conversation{padding-left:14px;padding-right:14px}}

@media(max-height:690px) and (max-width:800px){.welcome-mascot{width:120px;height:128px;margin-bottom:17px}.welcome-mascot img{width:180px;height:270px;left:-30px;top:-38px}.welcome h2{font-size:27px}}
.brand-wordmark{width:202px;height:75px;display:block;object-fit:contain}.header-brand img{position:static;display:block;width:152px;height:56px;object-fit:contain}.brand-top{gap:15px}@media(max-width:1100px){.brand-wordmark{width:176px;height:65px}}@media(max-width:800px){.header-brand{padding:5px 8px}.header-brand img{width:116px;height:43px}}@media(max-width:360px){.header-brand{padding:4px 6px}.header-brand img{width:100px;height:37px}}
