:root{color:#172033;background:#f6f7f9;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:16px;line-height:1.5;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,textarea{font:inherit}button{cursor:pointer}.app-shell{display:grid;grid-template-columns:300px minmax(0,1fr);height:100vh;height:100dvh;overflow:hidden;background:linear-gradient(180deg,#ffffffb8,#f6f7f9eb),#f6f7f9}.sidebar{display:flex;flex-direction:column;gap:16px;min-height:0;padding:18px;color:#f8fafc;background:#111827}.brand,.topbar{display:flex;align-items:center;gap:12px}.brand span,.topbar span{display:block;color:#9aa5b1;font-size:.84rem}.brand-mark{display:block;width:38px;height:38px;border-radius:50%;object-fit:cover;background:#e8eef9}.brand-mark.large{width:64px;height:64px;margin:0 auto}.topbar-logo{flex:none;width:36px;height:36px;border-radius:50%;object-fit:cover;background:#e8eef9}.new-chat,.history-item,.sidebar-toggle,.composer button{border:1px solid transparent;border-radius:8px;transition:background .14s ease,border-color .14s ease,transform .14s ease}.new-chat{width:100%;padding:12px;color:#f8fafc;background:#243244;border-color:#ffffff14}.history{display:flex;flex:1;flex-direction:column;gap:8px;overflow-y:auto}.history-item{display:block;width:100%;padding:10px;color:#d8dee8;text-align:left;background:transparent}.history-item span,.history-item small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.history-item small{color:#8a95a6;font-size:.76rem}.history-item.active,.history-item:hover,.new-chat:hover{background:#1f2a3a}.chat-panel{display:grid;grid-template-rows:auto minmax(0,1fr) auto auto;min-width:0;min-height:0}.drawer-close,.drawer-backdrop{display:none}.topbar .usage-counter span,.topbar .account-button span{display:inline;color:inherit;font-size:inherit}.topbar .usage-counter .counter-short,.topbar .account-button .account-initial{display:none}.topbar{min-height:66px;padding:14px 22px;background:#ffffffdb;border-bottom:1px solid #e4e7ec;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.sidebar-toggle{display:none;padding:8px 10px;color:#172033;background:#fff;border-color:#d8dee8}.messages{display:flex;flex-direction:column;gap:18px;overflow-y:auto;padding:28px clamp(18px,5vw,72px)}.empty-state{width:min(720px,100%);margin:auto;text-align:center}.empty-state h1{margin:18px 0 8px;color:#101828;font-size:clamp(2rem,5vw,3.4rem);letter-spacing:0}.empty-state p{margin:0 auto 22px;max-width:540px;color:#667085}.message-row{display:grid;grid-template-columns:44px minmax(0,760px);gap:14px;width:100%;justify-content:center}.message-row.user{grid-template-columns:minmax(0,760px) 44px}.message-row.user .avatar{grid-column:2;grid-row:1}.message-row.user .message-content{grid-column:1;justify-self:end;background:#e9eef7}.avatar{display:grid;width:38px;height:38px;place-items:center;border-radius:8px;color:#475467;background:#fff;border:1px solid #e4e7ec;font-size:.78rem;font-weight:700}.message-content{min-width:0;overflow-wrap:anywhere;width:100%;padding:14px 16px;background:#fff;border:1px solid #e4e7ec;border-radius:8px;box-shadow:0 10px 28px #0f172a0a}.markdown p,.markdown ul,.markdown h3{margin:0 0 12px}.markdown p:last-child,.markdown ul:last-child,.markdown h3:last-child{margin-bottom:0}.markdown ul{padding-left:20px}.markdown code{padding:2px 5px;border-radius:5px;background:#eef2f6}.markdown a{color:#175cd3}.typing{display:flex;align-items:center;gap:5px;height:24px}.typing span{width:7px;height:7px;border-radius:999px;background:#7a8494;animation:pulse 1s infinite ease-in-out}.typing span:nth-child(2){animation-delay:.12s}.typing span:nth-child(3){animation-delay:.24s}@keyframes pulse{0%,80%,to{opacity:.35;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}.citations{margin-top:12px;border-top:1px solid #eef1f5;padding-top:10px}.support-line,.limit-panel>p.support-line{margin:10px 0 0;color:#667085;font-size:.82rem;font-weight:400}.limit-panel>p.support-line{margin-bottom:12px}.support-line a{color:#175cd3;font-weight:600;white-space:nowrap}.citations summary{color:#475467;cursor:pointer;font-size:.88rem;font-weight:700}.source-list,.evidence-list{display:grid;gap:8px;margin-top:10px}.source-pill,.evidence-item{display:grid;gap:2px;padding:10px;border-radius:8px;background:#f8fafc;border:1px solid #e4e7ec}.source-pill span,.evidence-item small,.evidence-item span{color:#667085;font-size:.82rem}.tool-status{align-self:center;width:min(760px,100%);color:#667085;font-size:.86rem}.composer{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;width:min(900px,calc(100% - 36px));margin:0 auto;padding:14px 0 20px}.composer textarea{width:100%;max-height:160px;resize:none;padding:14px 15px;color:#172033;background:#fff;border:1px solid #cfd6e2;border-radius:8px;box-shadow:0 14px 32px #0f172a0f}.composer textarea:focus{outline:2px solid #f9c74f;outline-offset:1px}.composer button{min-width:78px;padding:0 18px;color:#111827;background:#f9c74f;border-color:#e8b83e;font-weight:800}.composer button:disabled{cursor:not-allowed;opacity:.48}.error-text{color:#b42318}.message-error{display:grid;gap:8px;justify-items:start}.message-error button{padding:8px 12px;color:#7a271a;background:#fff4ed;border:1px solid #f7b27a;border-radius:8px;font-weight:700}.message-error button:disabled{cursor:not-allowed;opacity:.5}.landing,.legal-page{display:grid;place-items:center;min-height:100vh;padding:24px 16px}.landing-card,.legal-page article{width:min(460px,100%);padding:32px 28px;text-align:center;background:#fff;border:1px solid #e4e7ec;border-radius:16px;box-shadow:0 12px 32px #11182714}.landing-mascot{display:block;width:auto;height:200px;margin:0 auto 12px}.landing-card h1,.legal-page h1{margin:0 0 8px;font-size:1.6rem}.landing-tagline{margin:0 0 24px;color:#4b5565}.google-button{display:flex;justify-content:center;min-height:44px}.landing-status{color:#4b5565;font-size:.9rem}.landing-legal{margin:20px 0 0;color:#697586;font-size:.84rem}.landing-legal a,.legal-page a{color:#1d4ed8}.legal-page article{width:min(680px,100%);text-align:left}.draft-badge{display:inline-block;margin:0 0 12px;padding:2px 10px;color:#92400e;font-weight:700;letter-spacing:.08em;background:#fef3c7;border-radius:999px}.session-notice{position:fixed;top:12px;left:50%;z-index:10;margin:0;padding:8px 14px;color:#172033;background:#fef3c7;border-radius:8px;transform:translate(-50%)}.topbar-title{flex:1;min-width:0}.account-menu{position:relative}.account-button{max-width:220px;padding:8px 12px;overflow:hidden;color:#172033;text-overflow:ellipsis;white-space:nowrap;background:#fff;border:1px solid #d8dee8;border-radius:999px}.account-dropdown{position:absolute;top:calc(100% + 6px);right:0;z-index:20;display:flex;flex-direction:column;gap:4px;min-width:220px;padding:8px;background:#fff;border:1px solid #e4e7ec;border-radius:12px;box-shadow:0 12px 32px #1118271f}.account-dropdown button{padding:8px 10px;color:#172033;text-align:left;background:transparent;border:0;border-radius:8px}.account-dropdown button:hover{background:#f1f3f6}.account-dropdown .account-menu-link{padding:8px 10px;color:#172033;text-decoration:none;border-radius:8px}.account-dropdown .account-menu-link:hover{background:#f1f3f6}.account-email{margin:0;padding:4px 10px 8px;overflow:hidden;color:#697586;font-size:.84rem;text-overflow:ellipsis;border-bottom:1px solid #eef0f3}.usage-counter{flex:none;padding:4px 10px;color:#344054;font-size:.84rem;white-space:nowrap;background:#f1f3f6;border-radius:999px}.topbar .usage-counter{display:inline-block;color:#344054}.topbar .usage-counter.exhausted{color:#b42318;background:#fef3f2;font-weight:600}.limit-panel{width:min(720px,100%);margin:0 auto;padding:18px 20px;background:#fff;border:1px solid #d8dee8;border-radius:14px}.limit-panel>p{margin:0 0 12px;font-weight:600}.limit-panel h2,.modal h2{margin:0 0 12px;font-size:1.05rem}.expert-link-row{width:min(860px,calc(100% - 36px));margin:0 auto;text-align:right}.expert-link{padding:2px 0;color:#1d4ed8;font-size:.9rem;text-decoration:underline;background:transparent;border:0}.expert-link-row:has(.expert-link.prominent){text-align:center}.expert-link.prominent{margin:8px 0;padding:12px 22px;color:#fff;font-size:1rem;font-weight:700;text-decoration:none;background:#1d4ed8;border-radius:999px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;display:grid;place-items:center;padding:16px;background:#11182773}.modal{width:min(440px,100%);max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);overflow-y:auto;padding:20px;background:#fff;border-radius:14px;box-shadow:0 20px 48px #11182740}.modal-header{display:flex;align-items:center;justify-content:space-between}.modal-header h2{margin:0}.modal-close{width:32px;height:32px;color:#344054;font-size:1.3rem;line-height:1;background:transparent;border:0;border-radius:8px}.callback-form{display:grid;gap:12px;margin-top:12px}.callback-form label{display:grid;gap:4px;color:#344054;font-size:.9rem}.callback-form input,.callback-form select{padding:9px 10px;font:inherit;color:#172033;background:#fff;border:1px solid #d0d5dd;border-radius:8px}.callback-form button[type=submit]{padding:10px 14px;color:#fff;font-weight:600;background:#1d4ed8;border:0;border-radius:10px}.callback-form button[type=submit]:disabled{opacity:.6}.field-error{color:#b42318}.callback-note{margin:0;color:#697586;font-size:.82rem}.callback-done{margin:8px 0 0;color:#067647;font-weight:600}.account-dropdown button.danger{color:#b42318}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.modal-actions button{padding:9px 14px;color:#172033;background:#fff;border:1px solid #d0d5dd;border-radius:10px}.modal-actions .danger-button{color:#fff;font-weight:600;background:#b42318;border-color:#b42318}.modal-actions button:disabled{opacity:.6}.admin-page{min-height:100vh;padding:20px 16px 40px;background:#f7f8fa}.admin-header{display:flex;align-items:center;justify-content:space-between;gap:12px;max-width:1200px;margin:0 auto 16px}.admin-header h1{margin:0;font-size:1.4rem}.admin-tabs{display:flex;gap:8px;max-width:1200px;margin:0 auto 12px}.admin-tabs button{padding:8px 16px;color:#344054;background:#fff;border:1px solid #e4e7ec;border-radius:999px}.admin-tabs button[aria-selected=true]{color:#fff;background:#1d4ed8;border-color:#1d4ed8}.admin-section{max-width:1200px;margin:0 auto}.admin-actions{display:flex;justify-content:flex-end;margin-bottom:8px}.admin-download{padding:8px 14px;color:#1d4ed8;font-weight:600;text-decoration:none;background:#fff;border:1px solid #c7d7fe;border-radius:8px}.admin-table-wrap{overflow-x:auto;background:#fff;border:1px solid #e4e7ec;border-radius:12px}.admin-table{width:100%;border-collapse:collapse;font-size:.9rem}.admin-table th,.admin-table td{padding:10px 12px;text-align:left;white-space:nowrap;border-bottom:1px solid #eef1f5}.admin-table th{color:#475467;font-weight:600;background:#f9fafb}.admin-table select{padding:4px 6px;border:1px solid #d0d5dd;border-radius:6px}.admin-footer{display:flex;flex-direction:column;align-items:center;gap:8px;padding:12px 0;color:#667085}.admin-footer button{padding:8px 18px;background:#fff;border:1px solid #d0d5dd;border-radius:8px}@media(max-width:767px){.app-shell{grid-template-columns:minmax(0,1fr)}.sidebar{position:fixed;inset:0 auto 0 0;z-index:41;width:min(86vw,320px);padding-top:max(18px,env(safe-area-inset-top));padding-bottom:max(18px,env(safe-area-inset-bottom));transform:translate(-100%);visibility:hidden;transition:transform .2s ease,visibility 0s linear .2s;box-shadow:18px 0 44px #0f172a47}.sidebar.is-open{transform:translate(0);visibility:visible;transition:transform .2s ease}.drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;display:block;background:#0f172a80}.brand{position:relative}.drawer-close{display:grid;width:40px;height:40px;margin-left:auto;place-items:center;color:#f8fafc;font-size:1.1rem;background:transparent;border:1px solid rgba(255,255,255,.16);border-radius:10px}.sidebar-toggle{display:grid;flex:none;width:40px;height:40px;padding:0;place-items:center;font-size:1.25rem;line-height:1}.topbar{gap:8px;min-height:56px;padding:max(8px,env(safe-area-inset-top)) 10px 8px}.topbar-logo{width:30px;height:30px}.topbar-title strong{display:block;overflow:hidden;font-size:.98rem;text-overflow:ellipsis;white-space:nowrap}.topbar-title span{display:none}.usage-counter{padding:3px 8px;font-size:.76rem}.topbar .usage-counter .counter-long,.topbar .account-button .account-name{display:none}.topbar .usage-counter .counter-short,.topbar .account-button .account-initial{display:inline}.account-button{display:grid;width:36px;height:36px;padding:0;place-items:center;font-weight:700;border-radius:50%}.account-dropdown{position:fixed;top:calc(56px + env(safe-area-inset-top));right:10px;max-width:calc(100vw - 20px)}.messages{gap:14px;padding:14px 10px;overscroll-behavior:contain}.empty-state h1{font-size:1.8rem}.message-row,.message-row.user{grid-template-columns:30px minmax(0,1fr);gap:8px}.message-row.user .avatar{grid-column:1}.message-row.user .message-content{grid-column:2;justify-self:stretch}.avatar{width:30px;height:30px;font-size:.7rem}.message-content{padding:12px}.expert-link-row{width:calc(100% - 20px)}.expert-link{font-size:.84rem}.expert-link.prominent{margin:4px 0;padding:8px 16px;font-size:.92rem}.composer{width:calc(100% - 20px);padding:8px 0 max(10px,env(safe-area-inset-bottom))}.composer textarea{padding:11px 12px}.composer button{min-width:64px;padding:0 14px}.limit-panel{padding:14px}.composer textarea,.callback-form input,.callback-form select{font-size:16px}.callback-form input,.callback-form select{min-height:44px}.modal-backdrop{align-items:end;padding:0}.modal{width:100%;padding-bottom:max(20px,env(safe-area-inset-bottom));border-radius:16px 16px 0 0}.landing{min-height:100dvh;padding:max(12px,env(safe-area-inset-top)) 12px max(12px,env(safe-area-inset-bottom))}.landing-card{padding:20px 18px}.landing-mascot{height:clamp(96px,26dvh,200px)}.landing-card h1{font-size:1.4rem}.landing-tagline{margin-bottom:18px;font-size:.95rem}.landing-legal{margin-top:14px}}.app-shell.embed{grid-template-columns:minmax(0,1fr)}.embed .topbar{gap:8px;min-height:52px;padding:8px 10px}.embed .topbar-logo{width:30px;height:30px}.embed .topbar-title span,.embed .topbar .usage-counter .counter-long,.embed .topbar .account-button .account-name{display:none}.embed .topbar .usage-counter .counter-short,.embed .topbar .account-button .account-initial{display:inline}.embed .usage-counter{padding:3px 8px;font-size:.76rem}.embed .account-button{display:grid;width:34px;height:34px;padding:0;place-items:center;font-weight:700;border-radius:50%}.embed .messages{gap:12px;padding:12px 10px}.embed .message-row,.embed .message-row.user{grid-template-columns:28px minmax(0,1fr);gap:8px}.embed .message-row.user .avatar{grid-column:1}.embed .message-row.user .message-content{grid-column:2;justify-self:stretch}.embed .avatar{width:28px;height:28px;font-size:.68rem}.embed .message-content{padding:10px 12px}.embed .empty-state h1{font-size:1.6rem}.embed .expert-link-row,.embed .composer{width:calc(100% - 20px)}.embed .composer{padding:8px 0 10px}.embed .composer textarea,.embed .callback-form input,.embed .callback-form select{font-size:16px}.landing.embed-landing .landing-card{padding:18px 16px}.landing.embed-landing .landing-mascot{height:clamp(80px,22dvh,150px)}.full-window-link{display:inline-block;margin-top:10px;color:#1d4ed8;font-weight:600}
