:root{--ink:#263b36;--muted:#73817a;--green:#235747;--line:#e1e7df;--paper:#fbfcf9}
body{background:var(--paper);color:var(--ink);grid-template-columns:270px minmax(0,1fr);font-family:"Segoe UI",system-ui,sans-serif}
button,input,select,textarea{transition:border-color .15s,background .15s,box-shadow .15s}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #497e69;outline-offset:3px}
button{border-radius:10px}.primary{background:var(--green);border-color:var(--green)}
.brand{font-size:34px;letter-spacing:-1.8px;font-weight:650;color:var(--green)}
.brand .brand-dot{font-size:9px;margin-left:5px;vertical-align:middle;color:#bd9b5e}
.sidebar{background:#f0f3ed;border-color:var(--line);padding:30px 20px;gap:19px}
.brand small{letter-spacing:1.5px;font-size:9px;margin:7px 0 17px}
.sidebar>.primary{padding:13px;text-align:left;box-shadow:0 3px 8px #1c493412}
.side-label{margin:10px 4px -7px}.side-search-status:empty{display:none}
#dialog-search{font-size:12px;background:#fafbf7;border-color:#dce3d9;padding:12px}
.dialog-list{flex:1;min-height:0}.dialog-list button{border-radius:8px;font-size:13px;padding:11px 12px}
.dialog-list button.active{background:#dfe9de;color:var(--green)}
.sidebar-bottom{padding-top:16px;border-top:1px solid #dce3d9;font-size:11px}
main{max-width:1320px;padding:28px 46px 18px;margin:0 auto;gap:0}
header{position:relative}header .eyebrow{font-size:9px;letter-spacing:1.6px}
h1{font-size:23px;line-height:1.3;margin:8px 0 17px;font-weight:600}
.profile{position:relative;align-self:flex-start;margin-top:5px}
#access-toggle{max-width:210px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;border-color:var(--line);background:white}
#profile-menu{position:absolute;right:0;top:46px;z-index:5;min-width:230px;background:white;border:1px solid var(--line);padding:10px;border-radius:13px;box-shadow:0 12px 32px #19372818}
#profile-menu p{padding:2px 10px 9px;margin:7px 0;border-bottom:1px solid var(--line);font-size:12px;overflow-wrap:anywhere;color:var(--muted)}
#profile-menu button{width:100%;text-align:left;border:0;font-size:13px}
#app-status:empty{display:none}#app-status{font-size:13px;padding:12px 16px;border-radius:10px;background:#f7efdf;color:#7b582e;margin:4px 0 12px}
.context{gap:16px;padding:14px 0 20px;border-color:var(--line)}
.context label{font-size:10px;letter-spacing:.2px;color:var(--muted)}
.context{flex-wrap:wrap}.mode-hint{font-size:12px;color:var(--muted);margin:8px 0 14px;line-height:1.5}.mode-control select[data-mode="full"]{border-color:#ba7459;color:#914f34}.mode-control select[data-mode="test_write"]{border-color:#b99e61}
.context select{font-size:13px;min-width:175px;padding:10px 34px 10px 12px;border-color:var(--line);background:#fff}
#llm-status{font-size:11px;color:#75826f;line-height:1.6;max-width:175px}
.tabs{gap:22px;padding:0;border-color:var(--line);overflow:auto;flex-shrink:0}
.tabs button{font-size:12px;white-space:nowrap;padding:15px 0;color:#7b857d}
.tabs button[aria-current=page]{color:var(--green);border-color:var(--green)}
.tabs span{background:#edf0e8}.chat-panel{min-height:340px}
.empty-chat{padding:46px 0 34px}.empty-chat h2{font-size:32px;margin:20px 0 12px;letter-spacing:-1px;font-weight:500}
.spark{width:56px;height:56px;border-radius:18px;background:#e9eee3;color:#5e8062;font-size:34px}
.empty-chat p{font-size:14px;line-height:1.8;color:#7c887c}
.suggestions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:30px auto 0;max-width:760px}
.suggestions button{text-align:left;line-height:1.6;background:#fff;border-color:var(--line);padding:17px;font-size:12px;border-radius:12px}
.composer{padding:16px 19px;border-color:#d7e0d2;border-radius:17px;box-shadow:0 7px 26px #23442b08}
.composer:focus-within{border-color:#81a88e;box-shadow:0 0 0 3px #497e6909}
.composer textarea{font-size:14px;min-height:65px}.composer-bottom{gap:8px}.composer-bottom button{padding:8px 10px;font-size:11px}
.composer-bottom>span{max-width:230px;line-height:1.5}.composer .primary{padding:9px 15px}
.composer-shortcuts{color:#8b9689;font-size:10px;text-align:center;margin:10px 0 0}footer{margin:8px 0 0;font-size:10px;color:#899484}
.messages{gap:24px;padding:30px 0}.chat-message{border-radius:15px;padding:19px 22px;font-size:14px}
.chat-message.user{background:#edf3e8;border:0;max-width:80%}.chat-message.assistant{border:0;background:transparent;padding:8px 0;max-width:100%}
.chat-message>strong{font-size:11px;letter-spacing:.3px;color:#638168}
.signed-out{display:block}.signed-out>.sidebar,.signed-out>main{display:none}
.auth-screen{min-height:100dvh;display:grid;grid-template-columns:46% 54%;background:#fbfcf9}
.auth-story{padding:42px 9% 25px;background:#e9eee2;display:flex;flex-direction:column;overflow:hidden;position:relative}
.auth-story>.brand{font-size:42px;width:max-content}.auth-story-content{margin:auto 0;padding:48px 0 22px}
.auth-story .eyebrow{font-size:10px;color:#6c826e;letter-spacing:2px}
.auth-story h1{font-size:clamp(34px,3.7vw,57px);line-height:1.15;font-weight:500;letter-spacing:-2px;margin:25px 0 22px}
.auth-story-content>p{font-size:15px;line-height:1.9;color:#788773}
.auth-story-footer{font-size:10px;line-height:1.5;color:#7e8b75;margin:25px 0 0}
.auth-illustration{position:relative;max-width:380px;margin-top:46px;height:200px}
.illustration-card{background:#fbfcf5;border:1px solid #d9e1cf;border-radius:15px;padding:23px;width:82%;transform:rotate(-4deg);box-shadow:0 10px 30px #34563208}
.illustration-label{font-size:8px;letter-spacing:1.5px;color:#8c967f}.illustration-line{height:6px;width:42%;background:#dce5d3;border-radius:8px;margin-top:12px}.illustration-line.wide{width:65%;margin-top:18px}
.illustration-bars{height:55px;display:flex;align-items:flex-end;gap:10px;margin-top:22px}.illustration-bars i{width:20px;height:40%;background:#b8cbae;border-radius:4px 4px 0 0}.illustration-bars i:nth-child(2){height:60%}.illustration-bars i:nth-child(3){height:53%}.illustration-bars i:nth-child(4){height:85%}.illustration-bars i:nth-child(5){height:70%}.illustration-bars i:nth-child(6){height:100%;background:#779c77}
.illustration-reply{position:absolute;right:0;bottom:-5px;display:flex;align-items:center;gap:13px;padding:18px 21px;border-radius:13px;background:#fff;box-shadow:0 10px 28px #34563210;font-size:12px;transform:rotate(2deg)}
.illustration-reply>span{font-size:30px;color:#73926b}.illustration-reply small{display:block;font-size:10px;color:#8c9783;margin-top:5px}
.auth-side{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:55px 30px 24px;min-width:0}
.auth-card{width:100%;max-width:365px;margin:auto 0}.auth-card>.eyebrow{font-size:9px;letter-spacing:1.8px;color:#8a9685}
.auth-card h2{font-size:31px;font-weight:500;letter-spacing:-1px;margin:15px 0 8px}.auth-description{font-size:14px;color:#84907e;margin:0 0 32px}
#login-form label,.account-dialog label{display:block;font-size:12px;color:#5d6c5a;margin:20px 0 8px}
#login-form input,.account-dialog input{width:100%;padding:13px 14px;background:#fff;border-color:#dce3d5;border-radius:9px;font-size:14px}
#login-form input::placeholder{color:#a0aa97}.password-field{position:relative}.password-field input{padding-right:91px!important}.password-field button{position:absolute;right:4px;top:4px;font-size:10px;padding:11px 9px;border:0;color:#7e8c73}
.login-button{width:100%;padding:14px 16px;margin-top:25px;text-align:left;font-size:13px;font-weight:600;display:flex;justify-content:space-between;align-items:center}
.login-button span{font-size:18px;font-weight:400}.login-help{font-size:12px;color:#89957f;line-height:1.85;margin:23px 0}
.auth-security{font-size:10px;color:#84917a;border-top:1px solid #e3e8dc;padding-top:22px;display:flex;gap:9px;align-items:center}.auth-security>span{font-size:19px;color:#709466}
.auth-copyright{font-size:10px;color:#a1aa99;margin-top:50px}#login-status:not(:empty){margin-top:17px;padding:11px 13px;border-radius:8px;background:#f6eede;color:#846039;font-size:12px;line-height:1.6}
.account-dialog{border:1px solid var(--line);border-radius:18px;padding:28px;max-width:440px;width:calc(100% - 32px);color:var(--ink);box-shadow:0 20px 70px #18352826}
.account-dialog::backdrop{background:#20382d66;backdrop-filter:blur(3px)}.account-dialog h2{margin:0 0 12px;font-size:23px}.account-dialog p{font-size:13px;line-height:1.7;color:#78856f}
.account-dialog small{font-size:11px;line-height:1.5;display:block;margin-top:8px}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}.dialog-actions button{font-size:13px}
#password-status:not(:empty){color:#a24d37;background:#fbefe6;padding:9px 12px;border-radius:8px}
@media(min-width:1200px){main{padding-left:64px;padding-right:64px}}
@media(max-width:1050px){body{grid-template-columns:230px minmax(0,1fr)}.signed-out{display:block}main{padding:25px}.sidebar{padding:27px 17px}.context select{min-width:130px;max-width:220px}.context{flex-wrap:wrap}#llm-status{flex:1 1 100%;max-width:none;margin:0}.auth-story{padding:35px 10%}.auth-story h1{font-size:40px}.suggestions{grid-template-columns:1fr}.suggestions button{padding:12px 15px}.empty-chat{padding:32px 0 25px}.composer-bottom{flex-wrap:wrap}.composer-bottom>div{margin-left:auto}.auth-illustration{margin-top:36px}}
@media(max-width:700px){body{display:block}.auth-screen{display:flex;flex-direction:column}.auth-story{padding:24px 26px;background:#e9eee2}.auth-story>.brand{font-size:32px}.auth-story-content,.auth-story-footer{display:none}.auth-side{flex:1;padding:38px 25px 22px}.auth-card{max-width:380px}.auth-copyright{margin-top:35px}.sidebar{position:static;height:auto;gap:12px;padding:17px 20px}.sidebar .brand{font-size:28px}.sidebar>.primary{position:absolute;top:17px;right:20px;padding:10px 14px;font-size:12px}.sidebar .brand small,.side-label,.sidebar-bottom{display:none}.dialog-list{display:flex;max-height:140px;flex-direction:column}.dialog-day{flex-shrink:0}main{padding:23px 18px;min-height:calc(100dvh - 160px)}header h1{font-size:19px}#access-toggle{max-width:140px;padding:9px 11px}.context select{max-width:100%;min-width:0}.tabs{gap:18px}.tabs button{font-size:11px}.empty-chat h2{font-size:27px}.empty-chat{padding:30px 0 24px}.suggestions{margin-top:22px;gap:8px}.composer{padding:13px 14px}.composer-bottom>div{gap:5px}.composer-bottom button{padding:8px;font-size:10px}.composer-bottom>span{font-size:10px;max-width:none}.chat-message.user{max-width:92%}.profile{margin-top:0}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
@media(max-width:700px){.tabs{flex-wrap:nowrap}.empty-chat{padding:24px 0 18px}.empty-chat h2{margin:15px 0 9px;font-size:25px}.empty-chat p{font-size:12px;line-height:1.7}.suggestions{display:flex;justify-content:flex-start;overflow-x:auto;max-width:100%;padding-bottom:6px;margin-top:18px}.suggestions button{flex:0 0 85%;font-size:11px}.spark{height:46px;width:46px;font-size:28px}.chat-panel{min-height:285px}}
.admin-links{display:grid;gap:8px;padding:10px 0;border-bottom:1px solid var(--line)}.admin-links a{font-size:11px;text-decoration:none;color:#456d54;padding:5px 3px}.admin-links a:hover{text-decoration:underline}
