:root{--ink:#20231f;--muted:#797d74;--paper:#f7f7f5;--white:#fff;--olive:#696d50;--olive-dark:#51553d;--sage:#e9eadf;--line:#e9e9e4;--shadow:0 16px 48px rgba(27,30,24,.08);--font:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased}button,input,textarea{font:inherit}button{color:inherit}.app-shell{display:flex;min-height:100vh}.sidebar{width:276px;flex:0 0 276px;background:#f0f0ec;border-right:1px solid #e8e8e2;padding:25px 18px 18px;display:flex;flex-direction:column;position:relative;z-index:3}.brand{display:flex;align-items:center;gap:11px;text-decoration:none;color:var(--ink);font-size:14px;font-weight:700;letter-spacing:-.2px;padding:0 7px 25px}.brand-light{font-weight:450;color:var(--muted)}.brand-mark{width:34px;height:34px;display:grid;place-items:center;border-radius:11px;background:var(--olive);color:white;font-weight:700;font-size:16px;box-shadow:0 4px 0 rgba(72,75,53,.16)}.new-chat{height:43px;width:100%;display:flex;align-items:center;gap:10px;border:1px solid #dedfd7;border-radius:10px;background:rgba(255,255,255,.58);padding:0 13px;text-align:left;font-size:12px;font-weight:650;cursor:pointer;transition:.18s}.new-chat:hover{background:white;border-color:#c8c9bf}.new-chat span{font-size:19px;font-weight:400;color:var(--olive)}.side-label{margin:29px 8px 11px;font-size:9px;letter-spacing:1.4px;font-weight:750;color:#92958d}.library-card{display:flex;align-items:center;gap:10px;padding:11px 10px;border:1px solid #e1e1db;background:rgba(255,255,255,.48);border-radius:9px}.library-icon{width:30px;height:30px;border-radius:8px;display:grid;place-items:center;background:#e6e7dc;color:var(--olive);font-size:16px}.library-card>span:nth-child(2){min-width:0;display:grid;gap:3px}.library-card strong{font-size:10px;font-weight:700}.library-card small{font-size:9px;line-height:1.4;color:var(--muted)}.live-dot{width:7px;height:7px;border-radius:99px;background:#87a77d;margin-left:auto;align-self:flex-start;margin-top:5px}.sidebar-bottom{margin-top:auto}.privacy-note{display:flex;gap:9px;padding:11px 10px;margin-bottom:12px;border-radius:8px;background:#e8e9df;color:var(--olive-dark)}.privacy-note>span{font-size:14px}.privacy-note p{font-size:10px;line-height:1.5;margin:0;color:#656951}.logout-button{width:100%;display:flex;align-items:center;gap:9px;padding:10px;border:0;background:none;text-align:left;font-size:11px;color:#6c7067;cursor:pointer}.logout-button:hover{color:var(--ink)}.logout-button span{font-size:15px}.main-panel{min-width:0;min-height:100vh;flex:1;display:flex;flex-direction:column;background:var(--paper)}.topbar{height:68px;flex:0 0 68px;display:flex;align-items:center;justify-content:space-between;padding:0 34px;border-bottom:1px solid rgba(33,36,29,.06);background:rgba(247,247,245,.88)}.model-pill{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#eeefe8;border:1px solid #e8e9e0;border-radius:99px;color:#5d6148;font-size:10px;font-weight:680}.model-spark{font-size:12px}.pill-divider{color:#b3b5a8}.topbar-right{display:flex;align-items:center;gap:14px}.secure-label{font-size:10px;color:#878b81}.secure-label span{font-size:8px;color:#80a27a;margin-right:4px}.avatar{width:29px;height:29px;border-radius:50%;display:grid;place-items:center;background:#dfe0d4;color:var(--olive-dark);font-weight:700;font-size:11px}.menu-button{display:none;border:0;background:none;font-size:18px;cursor:pointer}.conversation{flex:1;width:100%;max-width:960px;margin:0 auto;padding:30px 42px 20px;display:flex;flex-direction:column}.welcome{width:min(100%,680px);margin:auto;transform:translateY(-8px);text-align:center}.welcome-icon{width:46px;height:46px;margin:0 auto 18px;border-radius:15px;display:grid;place-items:center;background:#e9eadf;color:var(--olive);font-size:23px}.overline{font-size:9px;letter-spacing:1.8px;font-weight:750;color:#85897d;margin:0}.welcome h1{font-size:clamp(34px,4.5vw,51px);line-height:1.12;letter-spacing:-2.2px;margin:13px 0 13px;font-weight:650}.welcome h1 span{color:var(--olive)}.welcome-copy{max-width:440px;margin:0 auto;color:#777b72;font-size:13px;line-height:1.7}.messages{display:grid;gap:25px;width:min(100%,720px);margin:0 auto}.message{display:grid;grid-template-columns:30px minmax(0,1fr);gap:12px;animation:appear .22s ease}.message-avatar{width:29px;height:29px;border-radius:9px;display:grid;place-items:center;background:#e8e9df;color:var(--olive-dark);font-size:12px;font-weight:700}.message.user .message-avatar{background:#dddccc;color:#565943}.message-content{min-width:0;padding-top:4px}.message-label{margin:0 0 7px;font-size:10px;font-weight:720;color:#55594d}.message-text{font-size:13px;line-height:1.75;white-space:pre-wrap;overflow-wrap:anywhere;color:#373a34}.citations{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.citation{display:inline-flex;align-items:center;gap:6px;max-width:100%;padding:6px 9px;border:1px solid #e6e7df;border-radius:7px;color:#666b57;background:#f0f1e9;font-size:9px;text-decoration:none}.citation:hover{background:#e7e9dc}.citation span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.typing{display:flex;gap:4px;padding:7px 0}.typing i{width:5px;height:5px;border-radius:50%;background:#999d8c;animation:bounce .9s infinite alternate}.typing i:nth-child(2){animation-delay:.16s}.typing i:nth-child(3){animation-delay:.32s}.composer-area{padding:15px 28px 17px}.composer-wrap{width:min(100%,760px);margin:0 auto}.composer{padding:12px 13px 10px 17px;background:white;border:1px solid #e3e4dd;border-radius:15px;box-shadow:0 5px 24px rgba(32,35,30,.055);transition:border .16s,box-shadow .16s}.composer:focus-within{border-color:#bfc2b1;box-shadow:0 6px 25px rgba(32,35,30,.08)}.composer textarea{display:block;resize:none;width:100%;max-height:160px;min-height:29px;border:0;outline:0;background:none;color:var(--ink);font-size:13px;line-height:1.55}.composer textarea::placeholder{color:#a0a39a}.composer-tools{display:flex;align-items:center;justify-content:space-between;margin-top:6px}.attach-group{display:flex;align-items:center;gap:9px;min-width:0}.tool-button{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border:1px solid #e8e8e3;border-radius:8px;background:#fafaf8;color:#65695c;font-size:10px;cursor:pointer}.tool-button:hover{background:#f0f1e9;border-color:#d9dbd0}.tool-button:first-letter{font-size:16px}.upload-status{font-size:10px;color:#7a8068;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.send-button{width:32px;height:32px;display:grid;place-items:center;border:0;border-radius:10px;background:var(--olive);color:white;font-size:20px;line-height:1;cursor:pointer;transition:.17s}.send-button:hover{background:var(--olive-dark);transform:translateY(-1px)}.send-button:disabled,.tool-button:disabled{opacity:.5;cursor:wait}.disclaimer{text-align:center;color:#969990;font-size:9px;margin:10px 0 0}.setup-alert{padding:9px 12px;margin:10px 0 0;border-radius:8px;background:#f4e9de;color:#8a542d;font-size:10px;text-align:center}.setup-alert code{font-size:10px}.mobile-scrim{display:none}.login-page{min-height:100vh;display:grid;place-items:center;padding:22px;background:radial-gradient(ellipse at 50% 42%,#fdfdfa 0,#f4f4ef 62%,#eeefe9 100%)}.login-card{width:min(100%,390px);padding:38px;background:white;border:1px solid #e9e9e3;border-radius:17px;box-shadow:var(--shadow)}.login-card .brand-mark{width:43px;height:43px;margin-bottom:25px}.login-card .overline{font-size:8px}.login-card h1{margin:10px 0 8px;font-size:25px;letter-spacing:-.9px}.login-copy{font-size:12px;color:var(--muted);line-height:1.6;margin:0 0 24px}.login-card form{display:grid;gap:9px}.login-card label{font-size:10px;font-weight:700;color:#55594f}.login-card input{height:43px;padding:0 12px;border:1px solid #dedfd8;border-radius:8px;outline:0;font-size:12px}.login-card input:focus{border-color:#9b9e8a;box-shadow:0 0 0 3px #eff0e9}.primary-button{height:43px;margin-top:8px;padding:0 14px;border:0;border-radius:8px;background:var(--olive);color:white;font-size:12px;font-weight:680;cursor:pointer}.primary-button span{float:right;font-size:17px}.primary-button:hover{background:var(--olive-dark)}.login-error{padding:9px 10px;border-radius:7px;background:#fbefed;color:#8b3026;font-size:11px;line-height:1.5}
@keyframes appear{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@keyframes bounce{to{opacity:.35;transform:translateY(-3px)}}
.topbar{height:0;flex:0 0 0;padding:0;border:0;background:transparent;justify-content:flex-start}.brand{gap:0}.brand-name{max-width:185px;font-size:12px;line-height:1.35;font-weight:720;letter-spacing:-.15px}.login-mascot{display:block;width:64px;height:74px;object-fit:contain;margin-bottom:20px}.login-card .overline{letter-spacing:.7px}
.source-list{display:grid;gap:3px;max-height:38vh;overflow:auto;margin-top:7px;padding-right:2px}.source-empty{padding:8px 9px;color:var(--muted);font-size:9px;line-height:1.5}.source-item{display:flex;align-items:center;gap:7px;min-width:0;padding:7px 8px;border-radius:7px;color:#606459}.source-item:hover{background:rgba(255,255,255,.55)}.source-item-icon{flex:0 0 17px;color:#878b76;font-size:11px}.source-item-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:9px}.source-item-status{flex:0 0 auto;margin-left:auto;color:#a27452;font-size:8px}.source-item-status.is-ready{color:#72916a}
@media(max-width:850px){.sidebar{width:245px;flex-basis:245px}.conversation{padding-inline:26px}.topbar{padding-inline:24px}}
@media(max-width:680px){.sidebar{position:fixed;inset:0 auto 0 0;width:280px;transform:translateX(-102%);transition:transform .22s;box-shadow:none}.sidebar.open{transform:translateX(0);box-shadow:var(--shadow)}.mobile-scrim.show{display:block;position:fixed;inset:0;background:rgba(25,27,23,.3);z-index:2}.main-panel{min-height:100dvh}.topbar{height:58px;flex-basis:58px;padding:0 15px;border-bottom:1px solid rgba(33,36,29,.06)}.menu-button{display:block}.secure-label{display:none}.topbar-right{gap:8px}.conversation{padding:19px 16px 12px}.welcome{transform:none}.welcome-icon{width:41px;height:41px;margin-bottom:14px}.welcome h1{font-size:36px;letter-spacing:-1.8px}.welcome-copy{font-size:12px}.messages{gap:20px}.message{grid-template-columns:27px minmax(0,1fr);gap:9px}.message-avatar{width:26px;height:26px}.message-text{font-size:12px}.composer-area{padding:10px 11px max(12px,env(safe-area-inset-bottom))}.composer{padding:10px 10px 8px 13px}.tool-button{padding:6px 8px}.disclaimer{font-size:8px}.login-card{padding:29px 24px}}

.welcome-mascot{display:block;width:120px;height:138px;object-fit:contain;margin:0 auto 17px}
@media(max-width:680px){.welcome-mascot{width:103px;height:120px;margin-bottom:14px}}

.admin-users-button{display:flex;align-items:center;justify-content:center;min-height:38px;margin-top:8px;padding:0 12px;border:1px solid #dedfd7;border-radius:9px;background:#e8e9df;color:var(--olive-dark);font-size:11px;font-weight:700;text-decoration:none;transition:.18s}.admin-users-button:hover{background:#fff;border-color:#c8c9bf}.admin-card{width:min(100%,520px);padding:34px;background:#fff;border:1px solid #e9e9e3;border-radius:17px;box-shadow:var(--shadow)}.admin-back{display:inline-block;margin-bottom:25px;color:var(--olive-dark);font-size:11px;text-decoration:none}.admin-back:hover{text-decoration:underline}.admin-card h1{margin:9px 0 8px;font-size:26px;letter-spacing:-.8px}.admin-card .login-copy{margin:0 0 16px}.admin-card form{display:grid;gap:9px;margin-top:18px}.admin-card label{font-size:10px;font-weight:700;color:#55594f}.admin-card input{height:43px;padding:0 12px;border:1px solid #dedfd8;border-radius:8px;outline:0;font-size:12px}.admin-card input:focus{border-color:#9b9e8a;box-shadow:0 0 0 3px #eff0e9}.admin-card .primary-button{margin-top:8px}.field-help{margin-top:-5px;color:var(--muted);font-size:10px;line-height:1.5}.success-message{padding:9px 10px;border-radius:7px;background:#edf4e9;color:#496543;font-size:11px;line-height:1.5}.user-list-section{margin-top:28px}.user-list-section h2{margin:0 0 10px;font-size:13px}.user-list{display:grid;gap:7px;margin:0;padding:0;list-style:none}.user-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 11px;border:1px solid #e9e9e3;border-radius:8px}.user-row strong{font-size:11px}.user-row small{color:var(--muted);font-size:9px;text-align:right}@media(max-width:520px){.admin-card{padding:27px 22px}.user-row{align-items:flex-start;flex-direction:column;gap:4px}.user-row small{text-align:left}}

.topbar img,.topbar .topbar-right{display:none!important}

.welcome h1{font-size:clamp(17px,2.25vw,25.5px);line-height:1.2;letter-spacing:-1.1px}
.welcome-mascot{width:180px;height:207px}
.mode-selector{display:flex;justify-content:center;gap:12px;width:min(100%,560px);margin:23px auto 0}
.mode-option{display:grid;flex:1;align-content:center;gap:5px;min-height:62px;padding:11px 15px;border:1px solid #dedfd7;border-radius:11px;background:rgba(255,255,255,.7);text-align:center;cursor:pointer;transition:background .18s,border-color .18s,box-shadow .18s}
.mode-option strong{font-size:12px;font-weight:700;color:#41443a}
.mode-option small{font-size:10px;line-height:1.35;color:#777b72}
.mode-option:hover{background:#fff;border-color:#bfc2b1}
.mode-option.is-active{background:#e9eadf;border-color:#85896f;box-shadow:0 0 0 2px rgba(105,109,80,.11)}
.mode-option:focus-visible{outline:3px solid rgba(105,109,80,.32);outline-offset:2px}
.mode-indicator{margin:0 0 8px;text-align:center;color:#777b72;font-size:10px;line-height:1.4}
.citation[href]{cursor:pointer}
@media(max-width:680px){.welcome h1{font-size:18px;letter-spacing:-.9px}.welcome-mascot{width:155px;height:180px}.mode-selector{flex-direction:column;gap:8px;margin-top:18px}.mode-option{flex:auto;min-height:54px}.mode-option strong{font-size:11px}.mode-option small{font-size:9px}}
