:root{--white:#fff;--canvas:#fafafa;--soft:#f3f3f3;--line:#e5e5e5;--line-strong:#d4d4d4;--muted:#666;--text:#171717;--black:#0a0a0a;--font:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;--mono:"SFMono-Regular",Consolas,"Liberation Mono",monospace}
*{box-sizing:border-box}body{margin:0;font:14px/1.65 var(--font);color:var(--text);background:var(--white);-webkit-font-smoothing:antialiased}button,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button:disabled{cursor:default}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin:0}svg{fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.icon{width:19px;height:19px;flex-shrink:0}.svg-library{position:absolute;width:0;height:0;overflow:hidden}[hidden]{display:none!important}::selection{background:#dedede}:focus-visible{outline:2px solid #555;outline-offset:4px}.sr-only,.skip-link:not(:focus){position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip-link:focus{position:fixed;z-index:100;top:10px;left:10px;padding:12px;background:#171717;color:#fff}.app-shell{display:flex;height:100dvh;min-height:420px;overflow:hidden}.sidebar{width:244px;flex-shrink:0;background:var(--canvas);border-right:1px solid var(--line);display:flex;flex-direction:column;padding:30px 18px 20px}.wordmark{display:inline-flex;align-items:center;font-size:24px;font-weight:700;letter-spacing:-1px;line-height:1;margin:4px 12px 32px}.brand-icon{display:grid;place-items:center;width:28px;height:28px;margin-right:10px;background:var(--text);color:var(--white);border-radius:6px;font:23px var(--mono)}.wordmark-dot{color:var(--muted)}.new-chat{display:flex;align-items:center;gap:10px;width:100%;padding:11px 12px;background:var(--white);border:1px solid var(--line-strong);border-radius:7px;font-size:12px;font-weight:500;transition:border-color .15s,box-shadow .15s}.new-chat:hover{border-color:#999;box-shadow:0 2px 5px #00000008}.new-chat .icon{width:17px}.key-hint{margin-left:auto;font:10px var(--mono);color:#888}.history-heading{display:flex;justify-content:space-between;margin:30px 12px 13px;font:9px var(--mono);color:#777;letter-spacing:1.2px}.history-heading span{color:#999}.history-list{flex:1;min-height:0;overflow:auto}.history-empty{padding:10px 12px;color:#8a8a8a;font-size:11px;line-height:1.8}.history-row{display:flex;align-items:center;gap:4px;margin-bottom:4px;border-radius:6px}.history-row.active{background:#eaeaea}.history-row:hover{background:#efefef}.history-select{display:flex;align-items:center;gap:9px;padding:11px 10px;text-align:left;border:0;background:none;min-width:0;flex:1;font-size:11px}.history-select .icon{width:15px;height:15px;color:#777}.history-select span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.delete-chat{opacity:0;padding:6px;margin-right:3px}.delete-chat .icon{width:14px;height:14px}.history-row:hover .delete-chat,.history-row:focus-within .delete-chat{opacity:1}.sidebar-bottom{padding:20px 6px 0}.local-card{padding:15px 12px;border:1px solid var(--line);border-radius:7px;background:var(--white)}.micro-label{font:9px/1.6 var(--mono);letter-spacing:1px;color:var(--muted)}.status-dot{display:inline-block;width:5px;height:5px;border-radius:50%;background:currentColor;vertical-align:middle;margin-right:4px}.local-card p{font-size:10px;color:#777;line-height:1.8;margin-top:9px}.landing-link{display:flex;justify-content:space-between;font-size:11px;padding:20px 7px 17px}.landing-link:hover{text-decoration:underline}.sidebar-footer{display:block;color:#8a8a8a;font:8px var(--mono);letter-spacing:.8px;margin-left:7px}.workspace{flex:1;min-width:0;display:flex;flex-direction:column;position:relative}.chat-header{height:76px;flex-shrink:0;padding:0 30px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:10px}.header-left,.header-right{display:flex;align-items:center;gap:18px}.header-left{min-width:0}.header-divider{height:16px;width:1px;background:var(--line)}.header-title{font-size:12px;color:#626262;white-space:nowrap}.icon-button{display:inline-grid;place-items:center;border:0;border-radius:5px;background:none;padding:6px;color:#777}.icon-button:hover{background:#ededed;color:var(--black)}.demo-pill{font:9px var(--mono);color:#777}.demo-pill .status-dot{width:4px;height:4px}.scroll-area{flex:1;min-height:0;overflow-y:auto;scrollbar-gutter:stable;overscroll-behavior:contain}.welcome{width:min(740px,calc(100% - 80px));margin:0 auto;padding:64px 0 28px;position:relative}.welcome:before{content:"";pointer-events:none;position:absolute;z-index:-1;inset:15px -40px 135px;background-image:linear-gradient(#e8e8e8 1px,transparent 1px),linear-gradient(90deg,#e8e8e8 1px,transparent 1px);background-size:44px 44px;mask-image:radial-gradient(ellipse 50% 65% at 53% 30%,#00000070,transparent 100%)}.welcome-mark{position:relative;width:48px;height:48px;display:grid;place-items:center;margin-bottom:28px}.welcome-mark span{display:grid;place-items:center;width:38px;height:38px;background:var(--text);color:var(--white);border-radius:9px;font:31px/1 var(--mono);z-index:1}.welcome-mark i{position:absolute;inset:0;border:1px solid #dedede;border-radius:10px;transform:rotate(12deg)}.welcome-mark i:last-child{transform:rotate(-12deg)}.eyebrow{font:9px var(--mono);letter-spacing:1.7px;color:#777;margin-bottom:17px}h1{font-size:clamp(38px,4vw,53px);font-weight:550;line-height:1.14;letter-spacing:-2.4px}h1>span{color:#a3a3a3}.welcome-description{margin-top:20px;color:var(--muted);font-size:14px;line-height:1.85;letter-spacing:-.1px}.suggestions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:40px}.suggestion{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:18px;min-height:138px;text-align:left;padding:18px 16px 28px;border:1px solid var(--line);background:var(--white);border-radius:8px;font-size:11px;line-height:1.8;transition:transform .15s,border-color .15s,box-shadow .15s}.suggestion:hover{transform:translateY(-3px);border-color:#bababa;box-shadow:0 5px 12px #00000006}.suggestion-index{color:#888;font:8px var(--mono);letter-spacing:.8px}.suggestion-arrow{position:absolute;right:13px;bottom:8px;font-size:16px;color:#888}.welcome-foot{display:flex;align-items:center;gap:8px;margin-top:22px;color:#888;font-size:10px}.welcome-foot .icon{width:14px;height:14px}.welcome-foot>span{margin-left:auto;font-size:9px;color:#999}.composer-area{position:relative;flex-shrink:0;width:min(780px,calc(100% - 64px));margin:0 auto;padding-top:20px;padding-bottom:18px;background:#fff}.composer{border:1px solid #d8d8d8;border-radius:12px;padding:17px 17px 11px;box-shadow:0 3px 12px #00000005;background:#fff;transition:border-color .15s,box-shadow .15s}.composer:focus-within{border-color:#999;box-shadow:0 3px 15px #00000008}textarea{display:block;width:100%;min-height:35px;max-height:140px;resize:none;overflow-y:auto;border:0;outline:none!important;background:transparent;font-size:13px;line-height:1.7;color:var(--text);padding:0}textarea::placeholder{color:#929292}textarea:disabled{opacity:.7}.composer-bottom{display:flex;align-items:center;justify-content:space-between;margin-top:14px}.composer-context{display:flex;align-items:center;gap:7px;font-size:10px;color:#888}.context-icon{display:inline-grid;place-items:center;border:1px solid var(--line);border-radius:4px;width:21px;height:21px;font:13px var(--mono);color:#777}.composer-actions{display:flex;align-items:center;gap:12px}.input-hint{font:9px var(--mono);color:#a0a0a0}.send-button{width:32px;height:32px;display:grid;place-items:center;border:0;border-radius:7px;background:var(--text);color:#fff;transition:background .15s}.send-button:hover{background:#333}.send-button:disabled{background:#ebebeb;color:#b7b7b7}.send-button .icon{width:18px;height:18px;stroke-width:1.8}.stop-button>span{width:10px;height:10px;background:#fff;border-radius:1px}.composer-note{font-size:9px;color:#929292;text-align:center;margin-top:11px;line-height:1.6}.messages{width:min(740px,calc(100% - 80px));margin:0 auto;padding:36px 0 12px}.message{margin-bottom:34px;animation:appear .2s ease-out both}.message-user{display:flex;flex-direction:column;align-items:flex-end;margin-bottom:33px}.user-content{max-width:90%;padding:12px 17px;background:var(--soft);border:1px solid #ededed;border-radius:12px 12px 3px 12px;font-size:13px;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.8}.assistant-label{display:flex;align-items:center;gap:8px;font-size:11px;font-weight:600;margin-bottom:14px}.assistant-avatar{display:grid;place-items:center;width:23px;height:23px;color:#fff;background:var(--text);border-radius:5px;font:18px var(--mono)}.assistant-mode{font:8px var(--mono);letter-spacing:.4px;font-weight:400;color:#8a8a8a;margin-left:3px}.answer-content{font-size:13px;line-height:1.95;overflow-wrap:anywhere;min-height:24px}.answer-content p+p{margin-top:15px}.answer-content h3{font-size:14px;letter-spacing:-.15px;font-weight:600;margin:23px 0 10px}.answer-content h3:first-child{margin-top:0}.answer-content ul,.answer-content ol{margin:9px 0 15px;padding-left:22px}.answer-content li{margin:5px 0}.answer-content strong{font-weight:600}.answer-content code{padding:2px 4px;border:1px solid var(--line);border-radius:3px;font:11px var(--mono);background:var(--canvas)}.citation{display:inline-grid;place-items:center;min-width:18px;height:18px;padding:0 4px;margin:0 2px;border:1px solid #ddd;border-radius:4px;background:var(--canvas);font:9px var(--mono);vertical-align:middle}.citation:hover{background:#e8e8e8}.message.streaming .answer-content:after{content:"";display:inline-block;background:#333;width:5px;height:13px;margin-left:4px;vertical-align:middle;animation:blink 1s infinite}.waiting{font-size:11px;color:#888;display:flex;align-items:center;gap:8px;padding-top:4px}.waiting .status-dot{animation:blink 1s infinite}.source-chips{display:flex;flex-wrap:wrap;gap:7px;margin-top:20px}.source-chip{display:flex;align-items:center;gap:7px;background:#fff;border:1px solid var(--line);border-radius:6px;padding:7px 9px;font-size:10px;color:#666;max-width:100%}.source-chip .icon{width:13px;height:13px}.source-chip:hover{background:var(--canvas);border-color:#bbb}.source-chip span{font:9px var(--mono);color:#999}.message-actions{display:flex;gap:6px;align-items:center;margin-top:13px}.message-actions .icon-button{padding:6px}.message-actions .icon{width:14px;height:14px}.answer-status{font-size:9px;color:#888;margin-right:4px}.message-error{border-left:2px solid #777;padding-left:12px;color:#666}.source-panel{width:328px;flex-shrink:0;border-left:1px solid var(--line);background:var(--canvas);overflow-y:auto}.source-panel>header{height:76px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:0 24px;font-size:12px}.source-content{padding:30px 24px}.source-symbol{width:40px;height:46px;border:1px solid var(--line-strong);border-radius:5px;background:#fff;font:25px var(--mono);display:grid;place-items:center;margin:27px 0 25px}.source-code{font:12px var(--mono);color:#777;margin-bottom:10px}.source-content h2{font-size:21px;font-weight:550;line-height:1.45;letter-spacing:-.6px}.source-section{display:block;font-size:10px;color:#888;margin-top:16px}.source-content blockquote{margin:22px 0;padding:15px 14px;border-left:2px solid #333;background:#fff;border-radius:0 5px 5px 0;font-size:12px;line-height:1.9;white-space:pre-wrap}.source-note{font-size:10px;color:#888;line-height:1.9}.jump-button{position:absolute;top:-28px;left:50%;transform:translateX(-50%);white-space:nowrap;border:1px solid #ddd;border-radius:16px;background:#fff;box-shadow:0 2px 6px #00000008;padding:6px 13px;font-size:10px;color:#777}.conversation-bottom{height:1px}.toast{position:fixed;bottom:30px;left:50%;transform:translateX(-50%);z-index:50;background:#222;color:white;padding:10px 17px;border-radius:7px;font-size:11px;max-width:90%}.shade{position:fixed;inset:0;z-index:20;background:#00000035;border:0}.noscript{position:fixed;inset:40% 10%;background:#fff;padding:30px;border:1px solid #ddd;z-index:100}.sidebar-collapsed .sidebar{display:none}
@keyframes blink{0%,100%{opacity:1}50%{opacity:.25}}@keyframes appear{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1600px){.welcome{padding-top:95px}.suggestions{margin-top:48px}.sidebar{width:260px}}
@media(max-height:820px) and (min-width:761px){.welcome{padding-top:36px}.welcome-mark{margin-bottom:18px}.suggestions{margin-top:28px}.suggestion{min-height:127px}.welcome-description{margin-top:15px}.composer-area{padding-top:12px}.welcome{padding-bottom:16px}}
@media(max-width:1180px){.source-panel{position:absolute;z-index:15;right:0;top:76px;bottom:0;box-shadow:-10px 0 30px #00000008}.source-panel>header{height:60px}.welcome,.messages{width:calc(100% - 64px)}.header-title{font-size:11px}.chat-header{padding-inline:24px}.welcome-foot>span{display:none}}
@media(max-width:900px){.sidebar{width:212px;padding-inline:12px}.wordmark{font-size:22px}.suggestions{gap:8px}.suggestion{padding:15px 12px 25px;font-size:10px}.suggestion-index{font-size:7px;letter-spacing:.4px}.demo-pill{font-size:8px}.header-right{gap:12px}}
@media(max-width:760px){.app-shell{min-height:360px}.sidebar{display:flex!important;position:fixed;z-index:30;inset:0 auto 0 0;width:260px;transform:translateX(-100%);transition:transform .2s}.sidebar-open .sidebar{transform:translateX(0)}.delete-chat{opacity:1}.chat-header{height:62px;padding:0 17px}.header-left{gap:10px}.header-divider{display:none}.header-title{font-size:11px}.demo-pill{font-size:8px}.header-right{gap:10px}.welcome,.messages{width:calc(100% - 40px)}.welcome{padding:35px 0 20px}.welcome-mark{margin-bottom:25px}.welcome:before{inset:10px -10px 100px}.eyebrow{font-size:8px;letter-spacing:1.3px}h1{font-size:40px;letter-spacing:-1.9px}.welcome-description{font-size:12px;margin-top:16px}.suggestions{grid-template-columns:1fr;margin-top:28px;gap:8px}.suggestion{min-height:67px;display:block;padding:12px 38px 12px 14px;font-size:11px}.suggestion br{display:none}.suggestion-index{display:block;font-size:7px;margin-bottom:6px}.suggestion-arrow{bottom:22px;right:15px}.welcome-foot{font-size:9px;margin-top:17px}.composer-area{width:calc(100% - 28px);padding-top:10px;padding-bottom:max(12px,env(safe-area-inset-bottom))}.composer{padding:13px 13px 9px}.composer-bottom{margin-top:9px}.composer-context{font-size:9px}.composer-note{font-size:8px;margin-top:8px}.input-hint{display:none}textarea{font-size:16px;min-height:30px;line-height:1.6}.source-panel{top:62px;width:min(360px,100%)}.messages{padding-top:26px}.answer-content{font-size:13px}.user-content{max-width:95%;font-size:12px}.message{margin-bottom:27px}.header-title{max-width:145px;overflow:hidden;text-overflow:ellipsis}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Local KaTeX: preserve the monochrome design and contain wide equations. */
.access-screen{min-height:100svh;display:flex;flex-direction:column;padding:30px 40px;background:var(--canvas)}.access-brand{align-self:flex-start}.access-card{width:min(420px,100%);margin:auto; padding:50px 0}.access-card h1{font-size:49px}.access-description{font-size:13px;color:var(--muted);line-height:1.9;margin:22px 0 30px}.access-card label{display:block;font-size:11px;font-weight:500;margin-bottom:9px}.access-card input{font:14px var(--mono);width:100%;background:#fff;border:1px solid var(--line-strong);border-radius:7px;padding:14px;color:var(--text);outline-offset:3px}.access-card input:focus{outline:1px solid #555}.access-hint{font-size:10px;color:#888;margin:9px 0 22px}.access-card button{display:flex;align-items:center;justify-content:space-between;width:100%;padding:13px 16px;background:var(--text);color:white;border:0;border-radius:7px;font:12px var(--font)}.access-card button:disabled{opacity:.55}.access-status{font-size:11px;line-height:1.8;min-height:20px;margin-top:15px;color:#555}.access-note{font-size:10px;line-height:1.9;color:#888;border-top:1px solid var(--line);padding-top:21px;margin-top:22px}.access-footer{font:8px var(--mono);color:#999;letter-spacing:1px}.access-account{margin-top:14px;display:flex;align-items:center;justify-content:space-between;gap:8px;font:9px var(--mono);color:#777}.access-account button{border:0;background:none;padding:4px 0;font:10px var(--font)}.access-account button:hover{color:#111;text-decoration:underline}@media(max-width:760px){.access-screen{padding:24px}.access-card{padding:38px 0}.access-card h1{font-size:43px}.access-card input{font-size:16px}.access-description{font-size:12px}}
.math-inline{display:inline;white-space:nowrap}.math-expression .katex{font-size:1.08em}.math-block{max-width:100%;overflow-x:auto;overflow-y:hidden;padding:5px 0;margin:14px 0}.math-block .katex-display{margin:.35em 0;text-align:left}.math-expression .katex-error{font-family:var(--mono);font-size:.9em;white-space:pre-wrap;overflow-wrap:anywhere}.source-content .math-block{font-size:12px}

.brand-icon{flex-shrink:0}.brand-icon svg,.welcome-mark svg,.assistant-avatar svg{width:100%;height:100%}.sidebar .wordmark{font-size:22px;margin-inline:4px;letter-spacing:-1.1px}.assistant-avatar{flex-shrink:0}.demo-pill{white-space:nowrap}

/* Supplied vector artwork: no font substitution in the product logo. */
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }
.wordmark { display:inline-flex; align-items:center; letter-spacing:normal; }
.brand-logo { display:block; width:190px; height:auto; max-width:100%; fill:currentColor; stroke:none; }
.brand-logo path, .brand-symbol path { stroke:none; }
.brand-symbol { display:block; width:100%; height:100%; fill:currentColor; stroke:none; }
.brand-icon, .welcome-mark span, .assistant-avatar { background:transparent; color:var(--text); border-radius:0; }
.sidebar .wordmark { margin-inline:4px; }
.sidebar .brand-logo { width:180px; }
.access-brand .brand-logo { width:220px; }

#email-access { margin-top: 1.5rem; max-width: 100%; }
#email-access summary { cursor: pointer; }
#email-access form { display: grid; gap: .7rem; margin-top: 1rem; }
#email-access input { width: 100%; min-width: 0; box-sizing: border-box; padding: .7rem; }
#email-access button { padding: .7rem; cursor: pointer; }
#email-status, #quota-status { font-size: .8rem; overflow-wrap: anywhere; }
#email-issued { margin-top: 1rem; }
#issued-key { font-family: monospace; }
