@import url('https://fonts.googleapis.com/css2?family=Be+Vietnam+Pro:wght@400;450;500;550;600;650;700;750&family=Manrope:wght@500;600;650;700;750;800&display=swap');

:root{font-family:'Be Vietnam Pro',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:#243534;background:#f9faf8;font-synthesis:none;--ink:#203533;--teal:#173e3b;--muted:#82908b;--line:#e4e9e3;--soft:#f1f4ee;--sidebar-width:268px;--content-width:890px}
*{box-sizing:border-box}body{margin:0}button,input,textarea{font:inherit}button,a,input,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed}button{color:inherit}a{color:inherit}button:focus-visible,a:focus-visible,textarea:focus-visible,input:focus-visible,[tabindex]:focus-visible{outline:3px solid #79b5a2;outline-offset:4px}button:disabled{opacity:.45}svg{height:22px;width:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip-link{position:fixed;left:20px;top:-70px;padding:12px 20px;background:white;z-index:100}.skip-link:focus{top:16px}.workspace{height:100dvh;min-height:580px;display:grid;grid-template-columns:var(--sidebar-width) minmax(0,1fr);overflow:hidden}
.sidebar{display:flex;flex-direction:column;background:#f0f3ed;border-right:1px solid var(--line);padding:31px 17px 15px;min-width:0;z-index:30}.brand{display:flex;gap:13px;align-items:center;text-decoration:none;margin:0 13px 36px}.brand-mark{position:relative;font-family:'Manrope',sans-serif;font-size:43px;line-height:1;letter-spacing:-5px;font-weight:800;color:var(--teal)}.brand-mark>span{font-family:Arial,sans-serif;font-size:24px;position:absolute;left:36px;top:-3px;letter-spacing:0;color:#5b8568}.brand-copy{display:flex;flex-direction:column;margin-left:13px;gap:5px}.brand-copy strong{font-family:'Manrope',sans-serif;font-size:14px;letter-spacing:1.5px;font-weight:800}.brand-copy small{font-size:8px;letter-spacing:1.9px;color:#79877c;font-weight:600}.new-chat{border:1px solid #d4ddd1;background:#fff;border-radius:9px;min-height:44px;text-align:left;padding:8px 12px;display:flex;align-items:center;gap:9px;font-size:11px;font-weight:600;box-shadow:0 2px 3px #172e2110;transition:background .2s,border .2s}.new-chat:hover{background:#f7faf5;border-color:#9cb39c}.new-chat>span{font-size:23px;line-height:1;font-weight:400}.new-chat kbd{margin-left:auto;background:#f6f7f3;border:1px solid #e5e9e1;padding:3px 4px;border-radius:4px;color:#859180;font-size:8px;white-space:nowrap}.history-label{display:flex;justify-content:space-between;font-size:8px;letter-spacing:1.3px;font-weight:600;color:#8c978b;margin:32px 12px 13px}.history-label>span{letter-spacing:0}.conversation-list{flex:1;overflow:auto;margin:0 -4px;padding:0 4px}.history-placeholder{font-size:11px;line-height:1.8;margin:10px 12px}.conversation-group{font-size:9px;margin:17px 12px 8px;color:#8c978b}.conversation-item{position:relative;display:flex;align-items:center;width:100%;border:0;text-align:left;background:none;border-radius:7px;gap:9px;padding:11px 12px;margin-bottom:3px;font-size:11px;line-height:1.5;min-height:43px}.conversation-item .conversation-icon{font-size:15px;color:#879386;flex-shrink:0}.conversation-item .conversation-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.conversation-item:hover{background:#e6ece2}.conversation-item[aria-current=true]{background:#e0e8dc;color:#294b35;font-weight:550}.conversation-item[aria-current=true]::after{content:'';width:5px;height:5px;background:#5c835a;border-radius:100%;margin-left:auto;flex-shrink:0}.sidebar-bottom{padding-top:16px}.studio-note{display:flex;align-items:center;padding:17px 12px 24px;gap:13px;color:#8a9785}.note-symbol{font-size:38px;font-weight:400;color:#bccab1}.studio-note p{font-size:9px;line-height:1.85;margin:0}.studio-note strong{font-weight:500;color:#768770}.account{display:flex;align-items:center;gap:9px;text-decoration:none;border-top:1px solid #dfe5d9;padding:16px 8px 0}.avatar{width:32px;height:32px;display:grid;place-items:center;background:#dce7d5;color:#52704c;border-radius:50%;font-size:10px;font-weight:600;flex-shrink:0}.account-copy{display:flex;flex-direction:column;min-width:0;gap:3px}.account-copy strong{font-size:10px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.account-copy small{font-size:8px;color:#8b9589;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.account>span:last-child{font-size:14px;color:#8d978a;margin-left:auto}
.main{min-width:0;display:flex;flex-direction:column;background:#fdfefb;position:relative;overflow:hidden}.topbar{height:77px;min-height:77px;margin:0 36px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px}.topbar-title{display:flex;gap:13px;align-items:center;min-width:0}.breadcrumb{font-size:10px;color:#8d9890;white-space:nowrap}.breadcrumb-slash{color:#c0c9bf;font-size:12px}.topbar h1{font-size:10px;font-weight:550;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:420px}.internal-badge{display:flex;align-items:center;gap:6px;font-size:8px;letter-spacing:.1px;border:1px solid #e5eae1;border-radius:20px;padding:6px 9px;white-space:nowrap;color:#7a8879}.internal-badge span{height:4px;width:4px;background:#749a68;border-radius:50%}.chat-scroll{flex:1;overflow:auto;overscroll-behavior:contain;padding:0 36px;scroll-behavior:smooth}.welcome{width:min(100%,var(--content-width));margin:auto;padding:clamp(50px,10vh,105px) 0 43px}.welcome-eyebrow{font-size:8px;font-weight:600;letter-spacing:1.55px;color:#8b9b87;display:flex;align-items:center;gap:9px}.welcome-glyph{font-size:23px;line-height:1;color:#5b8161}.welcome h2{font-family:'Manrope','Be Vietnam Pro',sans-serif;font-size:clamp(35px,3.5vw,51px);font-weight:600;line-height:1.24;letter-spacing:-1.9px;margin:23px 0 21px;color:#263e37}.welcome h2 em{font-style:normal;color:#829476;font-weight:500}.welcome-description{font-size:11px;line-height:1.9;color:#8a958a;max-width:400px;margin:0 0 32px}.suggestions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;max-width:800px}.suggestion{position:relative;display:flex;flex-direction:column;border:1px solid #e5eadd;background:#fbfcf7;border-radius:10px;padding:18px 16px 17px;text-align:left;min-height:128px;transition:background .2s,transform .2s,border .2s}.suggestion:hover{background:#f1f5eb;border-color:#cad9c0;transform:translateY(-2px)}.suggestion-icon{font-size:25px;color:#7b9273;line-height:1;margin-bottom:17px}.suggestion strong{font-size:10px;font-weight:550;color:#4b6047;line-height:1.65;margin-bottom:6px}.suggestion>span:not(.suggestion-icon){font-size:8px;color:#95a08e;line-height:1.8}.suggestion>b{font-size:16px;font-weight:400;position:absolute;right:15px;top:17px;color:#a7b69e}.welcome-caption{max-width:800px;display:flex;align-items:center;justify-content:center;gap:12px;font-size:7px;letter-spacing:1.9px;color:#a7b19f;margin-top:35px}.welcome-caption span{width:28px;height:1px;background:#e4eadd}
.composer-area{padding:0 36px 19px}.composer,.job-status,.error-banner{width:min(100%,var(--content-width));margin-left:auto;margin-right:auto}.composer{background:#fff;border:1px solid #dce4d5;box-shadow:0 4px 25px #253f2b06;border-radius:12px;transition:border-color .2s,box-shadow .2s;overflow:hidden}.composer:focus-within{border-color:#9ab491;box-shadow:0 2px 15px #3158380a}.composer textarea{display:block;width:100%;resize:none;border:0;padding:19px 19px 9px;background:transparent;font-size:11px;line-height:1.9;min-height:76px;max-height:220px;color:#354a36;outline:none}.composer textarea::placeholder{color:#a0aa99}.composer textarea:focus-visible{outline:none}.composer-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:6px 12px 11px}.composer-tools,.send-tools{display:flex;align-items:center;gap:10px;min-width:0}.icon-button{width:31px;height:31px;display:grid;place-items:center;background:none;border:0;border-radius:6px;padding:4px;color:#82967c}.icon-button:hover:not(:disabled){background:#f0f4eb}.toolbar-separator{width:1px;height:13px;background:#e1e7dc}.model-label{font-size:9px;color:#84917e;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:280px}.keyboard-hint{font-size:7px;color:#abb4a5;white-space:nowrap}.send-button{height:31px;width:32px;border:0;border-radius:7px;color:white;background:#34593f;display:grid;place-items:center;transition:background .2s}.send-button svg{height:18px;width:18px;stroke-width:2}.send-button:hover:not(:disabled){background:#1b4130}.send-button:disabled{background:#d5dfcc;opacity:.8}.stop-button{background:#f1f4ee;border:1px solid #d7e0d0;font-size:9px;padding:8px 11px;border-radius:7px;display:flex;gap:7px;align-items:center;white-space:nowrap}.stop-button>span{font-size:8px}.composer-footer{display:flex;justify-content:space-between;gap:16px;width:min(100%,var(--content-width));margin:12px auto 0;font-size:7px;color:#a5ae9f;line-height:1.7}.runtime-label{display:flex;gap:6px;align-items:flex-start;max-width:55%}.runtime-dot{width:4px;height:4px;flex-shrink:0;display:inline-block;border-radius:100%;background:#a9b3a1;margin-top:4px}.runtime-label.ready{color:#8b9e81}.runtime-label.ready .runtime-dot{background:#78a16b}.runtime-label.offline .runtime-dot{background:#cba27b}.connection-banner{background:#f6f2e9;border-bottom:1px solid #e9dfc9;padding:10px 36px;font-size:10px;line-height:1.6;color:#8c7348}.job-status{font-size:10px;line-height:1.7;color:#819277;display:flex;align-items:center;gap:8px;padding-bottom:10px}.activity-dot{height:5px;width:5px;background:#8aa57b;border-radius:50%;animation:pulse 1.8s infinite}.error-banner{display:flex;gap:12px;align-items:center;justify-content:space-between;padding:10px 13px;margin-bottom:10px;background:#fbf0ed;border:1px solid #eeded7;border-radius:8px;color:#9e6759;font-size:10px;line-height:1.7}.error-banner button{background:none;border:0;color:inherit;font-size:20px}.muted{color:#99a190}
.messages{width:min(100%,var(--content-width));margin:0 auto;padding:33px 0 20px}.message{padding:0 0 30px}.message-meta{display:flex;align-items:center;gap:8px;margin-bottom:12px;color:#7f907b;font-size:9px}.message-avatar{height:24px;width:24px;border-radius:7px;display:grid;place-items:center;font-size:9px;font-weight:650;background:#edf2e8;color:#6d8863}.message.assistant .message-avatar{background:#34593f;color:#fff;font-size:11px}.message-meta strong{font-size:10px;font-weight:550;color:#52634b}.message-meta time{font-size:8px;color:#acb5a4}.message-body{padding-left:32px;font-size:12px;line-height:1.95;color:#41523b;overflow-wrap:anywhere}.message.user .message-body{margin-left:32px;padding:12px 16px;background:#f0f4ea;border:1px solid #e7ecdf;border-radius:0 10px 10px 10px}.message-body p{white-space:pre-wrap;margin:0 0 12px}.message-body p:last-child{margin-bottom:0}.message-body pre{white-space:pre-wrap;overflow:auto;font-family:Consolas,'Courier New',monospace;font-size:11px;line-height:1.8;padding:16px;background:#f2f4ed;border:1px solid #e1e7da;border-radius:7px}.message-body blockquote{margin:10px 0;padding-left:14px;border-left:3px solid #bed0b2;color:#7e8c73;white-space:pre-wrap}.message-status{margin:10px 0 0 32px;font-size:9px;color:#a3ad99}.message-status.error{color:#aa7767}.message-actions{display:flex;gap:10px;align-items:center;margin:9px 0 0 32px}.copy-message{border:0;background:none;color:#98a58c;font-size:8px;padding:3px 0}.copy-message:hover{color:#45653a}.message-body:empty:after{content:'Đang chờ phản hồi…';color:#a2ad98;font-size:11px}.message-attachments{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 0 32px}.attachment-card{border:1px solid #e0e7d7;background:#f9fbf5;border-radius:8px;min-width:125px;max-width:240px;overflow:hidden;text-align:left;text-decoration:none;display:flex;align-items:center;gap:9px;padding:9px;color:#607352;font-size:9px}.attachment-card img{height:50px;width:50px;object-fit:cover;border-radius:4px}.file-symbol{width:30px;height:36px;display:grid;place-items:center;font-size:20px;background:#edf2e5;border-radius:4px;flex-shrink:0}.attachment-details{min-width:0;display:flex;flex-direction:column;gap:4px}.attachment-details strong{font-size:9px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attachment-details small{font-size:8px;color:#9aa58e}.attachment-tray{display:flex;gap:8px;overflow:auto;padding:12px 13px 0}.attachment-chip{display:flex;align-items:center;gap:8px;position:relative;background:#f5f8f0;border:1px solid #e3eadd;border-radius:7px;padding:7px;min-width:135px;max-width:225px;flex-shrink:0}.attachment-chip img{width:34px;height:34px;border-radius:4px;object-fit:cover}.attachment-chip>button{background:none;border:0;color:#8b9e7d;padding:3px;font-size:18px}.attachment-chip .attachment-details{flex:1}.attachment-chip.failed{border-color:#e4c3b8;background:#fff8f5}.attachment-chip.failed small{color:#ad7665}.attachment-chip.uploading{opacity:.7}
.login-dialog{border:1px solid #e1e8d8;border-radius:18px;padding:0;color:var(--ink);box-shadow:0 25px 100px #1b33253d;width:min(470px,calc(100vw - 32px));max-height:calc(100dvh - 40px)}.login-dialog::backdrop{background:#263c2c42;backdrop-filter:blur(7px)}.login-form{padding:38px 40px 29px}.login-mark{display:block;color:#365b40;font-family:'Manrope',sans-serif;font-size:35px;font-weight:800;letter-spacing:-3px}.eyebrow{font-size:8px;letter-spacing:1.5px;color:#8c9c80;margin:14px 0 23px}.login-form h2{font-family:'Manrope','Be Vietnam Pro',sans-serif;font-size:27px;line-height:1.4;font-weight:600;letter-spacing:-.8px;margin:0 0 13px}.login-form>p:not(.eyebrow):not(.login-error){font-size:11px;line-height:1.9;color:#8b9880;margin-bottom:27px}.login-form label{display:block;font-size:10px;font-weight:550;margin:17px 0 8px;color:#637659}.login-form input{width:100%;height:44px;border:1px solid #dce5d2;border-radius:7px;padding:10px 12px;font-size:11px;background:#fcfdf9;color:#405737}.login-form input::placeholder{color:#adb8a3}.primary-button{display:flex;justify-content:space-between;align-items:center;background:#34593f;color:#fff;border:0;border-radius:7px;width:100%;padding:13px 15px;font-size:11px;margin-top:25px}.primary-button>span{font-size:18px}.text-button{display:block;margin:15px auto 0;background:none;border:0;color:#738d64;font-size:9px;padding:5px}.login-help{display:block;text-align:center;font-size:8px;color:#9aa98d;text-decoration:none;margin:17px 0 0}.login-error{font-size:10px;color:#b1715e;line-height:1.8;margin-bottom:0}.toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#284a35;color:#fff;border-radius:8px;padding:12px 20px;font-size:11px;max-width:calc(100vw - 32px);z-index:100;box-shadow:0 4px 20px #1c36262b}.noscript{position:fixed;inset:0;display:grid;place-items:center;background:#fff;padding:40px}.mobile-menu{display:none}.sidebar-overlay{position:fixed;inset:0;background:#20372b5c;border:0;z-index:29}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.3}}
@media(min-width:1600px){:root{--content-width:980px;--sidebar-width:288px}.welcome{padding-top:clamp(60px,12vh,150px)}.topbar{margin:0 48px}.chat-scroll{padding:0 48px}.composer-area{padding:0 48px 25px}}
@media(max-width:1150px){:root{--sidebar-width:235px}.sidebar{padding-left:12px;padding-right:12px}.brand{margin-left:10px}.brand-copy strong{font-size:12px}.brand-copy small{font-size:7px}.new-chat kbd{display:none}.topbar{margin:0 26px}.chat-scroll{padding:0 26px}.composer-area{padding:0 26px 17px}.keyboard-hint{display:none}.suggestions{gap:9px}.suggestion{padding:16px 12px}.suggestion strong{font-size:9px}.breadcrumb{display:none}.breadcrumb-slash{display:none}.model-label{max-width:230px}}
@media(max-width:760px){.workspace{grid-template-columns:minmax(0,1fr);min-height:0}.sidebar{position:fixed;top:0;bottom:0;width:275px;transform:translateX(-100%);transition:transform .2s;padding:26px 16px 22px}.workspace.sidebar-open .sidebar{transform:translateX(0)}.mobile-menu{display:grid;width:27px;height:28px;font-size:18px;margin-left:-3px}.topbar{height:63px;min-height:63px;margin:0 20px;gap:12px}.topbar-title{gap:10px}.topbar h1{font-size:10px;max-width:calc(100vw - 190px)}.internal-badge{font-size:7px;padding:5px 7px}.chat-scroll{padding:0 22px}.welcome{padding-top:57px;padding-bottom:30px}.welcome h2{font-size:39px;letter-spacing:-1.5px;margin-top:21px}.welcome-description{font-size:10px;max-width:330px;margin-bottom:27px}.welcome-eyebrow{font-size:7px;letter-spacing:1.3px}.suggestions{grid-template-columns:1fr;gap:9px}.suggestion{padding:14px 40px 14px 51px;min-height:70px;display:block;border-radius:8px}.suggestion-icon{position:absolute;left:16px;top:21px;font-size:23px;margin:0}.suggestion strong{display:block;font-size:10px;margin-bottom:2px}.suggestion>span:not(.suggestion-icon){display:block;font-size:8px}.suggestion>b{top:23px;right:17px}.welcome-caption{margin-top:25px;font-size:6px}.composer-area{padding:0 14px max(12px,env(safe-area-inset-bottom))}.composer textarea{padding:15px 14px 6px;font-size:11px;min-height:74px}.composer-toolbar{padding:6px 9px 9px}.composer-footer{font-size:6px;gap:12px;padding:0 3px;margin-top:9px}.composer-footer>span:last-child{max-width:50%;text-align:right}.model-label{font-size:8px;max-width:calc(100vw - 190px)}.send-tools{gap:7px}.job-status{font-size:9px;padding:0 5px 9px}.connection-banner{padding:9px 20px;font-size:9px}.messages{padding-top:25px}.message-body{font-size:11px;padding-left:0}.message.user .message-body{margin-left:0}.message-attachments,.message-actions,.message-status{margin-left:0}.message{padding-bottom:26px}.login-form{padding:30px 28px 25px}.login-form h2{font-size:25px}.error-banner{font-size:9px}.attachment-card{max-width:210px}.toast{bottom:20px}.suggestion:hover{transform:none}}
@media(max-height:700px) and (min-width:761px){.welcome{padding-top:38px;padding-bottom:24px}.welcome h2{font-size:38px;margin:15px 0}.welcome-description{margin-bottom:22px}.suggestion{min-height:110px;padding-top:14px}.suggestion-icon{margin-bottom:12px}.welcome-caption{margin-top:24px}.composer textarea{min-height:65px}.topbar{height:65px;min-height:65px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
