@font-face{font-family:Raleway;src:url('/fonts/raleway-latin.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap}
@font-face{font-family:Ubuntu;src:url('/fonts/ubuntu-latin.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}
:root{--purple:#672d90;--pink:#eb237d;--ink:#30253b;--muted:#786f80;--line:#e9e3ed;--paper:#fcfafc;--gradient:linear-gradient(110deg,#672d90 12%,#b82b93 66%,#eb237d);font-family:Raleway,'Segoe UI',sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}
*{box-sizing:border-box}body{margin:0}button,input,textarea{font:inherit}button,a,input,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:default;opacity:.5}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #b72f91;outline-offset:4px}[hidden]{display:none!important}.site-header{height:100px;padding:0 6%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:#fff;gap:20px}.brand-logo{display:block;width:150px;height:auto}.edition,.header-center{font-size:10px;letter-spacing:2.1px;color:var(--muted);font-weight:600}.tiny-x{color:var(--pink);font-size:22px;vertical-align:-2px;margin:0 12px}.site-footer{display:flex;justify-content:space-between;padding:24px 6%;font-size:11px;color:var(--muted);border-top:1px solid var(--line)}.eyebrow{font-size:10px;font-weight:700;letter-spacing:2px;display:flex;align-items:center;gap:12px}.short-line{height:2px;width:28px;background:var(--pink)}.gradient-text{background:var(--gradient);background-clip:text;-webkit-text-fill-color:transparent}.muted{color:var(--muted);font-size:14px;line-height:1.8}.primary-button{border:0;background:var(--gradient);color:#fff;border-radius:7px;padding:17px 20px;font-size:14px;font-weight:700;display:flex;align-items:center;justify-content:space-between;gap:16px;box-shadow:0 6px 16px #672d9018}.primary-button:hover{filter:brightness(1.07)}.primary-button span{font-size:23px;line-height:16px}.product-mark{height:45px;width:45px;background:var(--gradient);color:#fff;border-radius:12px;font-family:Ubuntu,sans-serif;font-size:48px;font-weight:400;line-height:40px;text-align:center}.product-mark.small{width:35px;height:35px;line-height:30px;font-size:37px;border-radius:9px}.text-button{border:0;background:none;color:var(--purple);font-size:12px;font-weight:600;padding:10px 0;white-space:nowrap}.text-button span{margin-left:12px}.text-button:hover{color:var(--pink)}
.login-page{min-height:100svh;display:flex;flex-direction:column;background:radial-gradient(ellipse at 90% 48%,#f3eaf5 0,transparent 47%),var(--paper)}.login-layout{flex:1;width:100%;max-width:1310px;margin:auto;display:grid;grid-template-columns:1fr 440px;align-items:center;gap:60px;padding:66px 6%}.login-story h1{font-size:clamp(48px,5.8vw,80px);font-weight:500;line-height:1.05;letter-spacing:-3.8px;margin:27px 0 23px}.story-copy{font-size:17px;line-height:1.7;color:var(--muted);margin:0}.story-bottom{display:flex;align-items:center;gap:19px;margin-top:38px}.story-bottom p{font-size:12px;line-height:1.7;color:var(--muted)}.outlined-x{font-size:72px;font-family:Ubuntu,sans-serif;line-height:1;color:#d0b6dd;font-weight:400}.login-card{padding:35px 36px 25px;background:white;border:1px solid var(--line);border-radius:15px;box-shadow:0 18px 60px #672d9008}.card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:31px}.card-eyebrow{color:var(--purple);font-size:9px;letter-spacing:1.8px}.login-card h2{font-size:25px;font-weight:600;line-height:1.25;letter-spacing:-.9px;margin:12px 0 9px}.login-card .muted{margin:0 0 27px}.login-card label{display:block;font-size:12px;font-weight:600;margin:17px 0 9px}.login-card input{width:100%;padding:14px 13px;border:1px solid #ded7e4;border-radius:6px;background:#fefcfe;font-size:13px;color:var(--ink);min-height:47px}.login-card input::placeholder{color:#99909f}.password-field{position:relative}.password-field input{padding-right:60px}.password-field button{position:absolute;right:12px;top:7px;height:32px;border:0;background:none;font-size:11px;color:var(--purple);font-weight:600}.form-error{font-size:12px;color:#a42a50;line-height:1.6;margin:12px 0;min-height:19px}.login-submit{width:100%;margin-top:0}.access-note{display:flex;gap:7px;align-items:center;justify-content:center;margin:24px 0 0;font-size:10px;line-height:1.5;color:var(--muted)}.embed-help{font-size:12px;line-height:1.7;color:var(--muted)}
.app-page{height:100vh;height:100dvh;display:flex;flex-direction:column;overflow:hidden}.app-page .site-header{height:82px;flex-shrink:0;padding:0 34px}.app-page .brand-logo{width:133px}.workspace{flex:1;display:flex;min-height:0}.sidebar{width:268px;flex-shrink:0;display:flex;flex-direction:column;padding:35px 26px 22px;border-right:1px solid var(--line);background:linear-gradient(165deg,#fcfafc,#f7f0f8)}.sidebar>.eyebrow{font-size:8px;letter-spacing:1.5px;color:var(--muted)}.sidebar-title{font-size:27px;line-height:1.25;letter-spacing:-.9px;margin-top:17px}.sidebar-title em{font-style:normal;color:var(--purple)}.new-chat{display:flex;align-items:center;gap:13px;border:1px solid #dcc6e8;color:var(--purple);background:#fff8;margin:29px 0 38px;border-radius:6px;padding:12px;font-size:12px;font-weight:600}.new-chat:hover{background:#efe4f4}.new-chat span{font-size:20px;line-height:20px}.resource-links .eyebrow{font-size:8px;color:#8c7e95;margin-bottom:12px}.resource-links a{display:flex;justify-content:space-between;align-items:center;text-decoration:none;font-size:11px;padding:13px 0;border-bottom:1px solid var(--line);gap:8px}.resource-links a:hover{color:var(--purple)}.sidebar-note{margin-top:auto;padding-top:45px}.sidebar-note p{font-size:17px;line-height:1.5;letter-spacing:-.3px}.sidebar-footer{font-size:9px;color:var(--muted);margin-top:28px}.chat-main{flex:1;min-width:0;display:flex;flex-direction:column;background:#fff}.chat-toolbar{min-height:85px;border-bottom:1px solid var(--line);padding:20px 32px;display:flex;align-items:center;justify-content:space-between;gap:15px}.chat-toolbar h1{font-size:17px;letter-spacing:-.3px;font-weight:600;margin:0}.chat-toolbar p{font-size:11px;color:var(--muted);margin:7px 0 0}.private-label{font-size:10px;color:var(--muted);display:flex;align-items:center;gap:7px}.private-label>span{width:5px;height:5px;border-radius:50%;background:var(--purple)}.chat-scroll{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;padding:0 32px;scroll-behavior:smooth}.welcome{max-width:790px;margin:0 auto;padding:45px 0 32px;text-align:center}.welcome-mark{display:block;font-size:65px;font-family:Ubuntu,sans-serif;color:var(--purple);line-height:1;margin-bottom:16px}.welcome .eyebrow{justify-content:center;color:var(--muted);font-size:8px;letter-spacing:1.7px}.welcome h2{font-size:clamp(26px,2.7vw,38px);font-weight:500;letter-spacing:-1.25px;line-height:1.25;margin:17px 0}.welcome-copy{color:var(--muted);font-size:13px;line-height:1.8}.suggestions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:29px auto 0;text-align:left;max-width:660px}.suggestion{position:relative;border:1px solid var(--line);background:#fefcfe;border-radius:8px;display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding:18px 32px 18px 19px;text-align:left;font-size:12px;font-weight:500;line-height:1.5;transition:border-color .15s,transform .15s}.suggestion:hover{border-color:#c28dd6;transform:translateY(-2px);background:#fcf6fe}.suggestion-number{font-size:8px;letter-spacing:1.3px;color:var(--purple);font-weight:700}.suggestion-arrow{position:absolute;right:15px;bottom:16px;font-size:18px;color:var(--purple)}.composer-area{padding:0 32px 18px;max-width:970px;width:100%;margin:0 auto;background:#fff}.composer{border:1px solid #dcd0e5;border-radius:12px;background:#fcfafc;display:flex;gap:10px;align-items:flex-end;padding:12px 13px 12px 18px;box-shadow:0 4px 18px #672d9005}.composer:focus-within{border-color:#b281c6}.composer textarea{border:0;resize:none;background:none;outline:none!important;flex:1;min-width:0;font-size:13px;line-height:1.6;color:var(--ink);padding:9px 0;max-height:140px;min-height:40px}.composer textarea::placeholder{color:#94889c}.send-button{border:0;background:var(--gradient);color:#fff;border-radius:8px;width:40px;height:40px;font-size:25px;flex-shrink:0}.stop-button{border:1px solid #d5bdde;background:#fff;color:var(--purple);border-radius:6px;padding:10px 12px;font-size:11px}.composer-footnote{display:flex;justify-content:space-between;gap:15px;color:#8a7e92;font-size:9px;margin-top:12px}.response-status{font-size:11px;color:var(--purple);min-height:30px;padding:5px 2px;line-height:1.7}.response-status:not(:empty)::before{content:'';display:inline-block;width:5px;height:5px;background:var(--pink);border-radius:50%;margin-right:8px;animation:pulse 1.4s infinite}.messages{max-width:820px;margin:0 auto;padding:25px 0}.messages:empty{display:none}.message{display:flex;gap:13px;margin:0 0 25px;align-items:flex-start}.message-avatar{height:30px;width:30px;border-radius:9px;background:var(--gradient);color:white;display:grid;place-items:center;font-size:27px;font-family:Ubuntu,sans-serif;flex-shrink:0}.message.user{flex-direction:row-reverse}.message.user .message-avatar{font-size:9px;background:#ece4f0;color:var(--purple);font-family:Raleway,sans-serif;font-weight:700}.message-content{min-width:0;max-width:calc(100% - 45px)}.message-label{font-size:9px;color:var(--muted);font-weight:600;margin:0 0 8px;letter-spacing:.5px}.message.user .message-label{text-align:right}.message-body{font-size:14px;line-height:1.8;overflow-wrap:anywhere;color:#45394c}.message.user .message-body{background:#f5eef8;padding:11px 17px;border-radius:12px 0 12px 12px;white-space:pre-wrap}.message-body>*:first-child{margin-top:0}.message-body p{margin:0 0 13px}.message-body h1,.message-body h2,.message-body h3{font-size:17px;color:var(--purple);line-height:1.4;margin:22px 0 10px}.message-body ul,.message-body ol{padding-left:23px}.message-body li{margin:7px 0}.message-body a{color:var(--purple);text-underline-offset:3px}.message-body pre{overflow:auto;padding:14px;background:#f7f2f9;border:1px solid var(--line);border-radius:7px;white-space:pre-wrap}.message-body code{font-size:12px;background:#f5edf8;padding:2px 4px;border-radius:3px}.message-body table{display:block;max-width:100%;overflow:auto;border-collapse:collapse;font-size:12px;margin:14px 0}.message-body th,.message-body td{border:1px solid #dfd5e5;padding:8px 12px;text-align:left}.message-body th{background:#f5eef8}.message-body blockquote{margin:15px 0;padding:8px 15px;border-left:3px solid var(--purple);background:#fbf7fc}.message-body img{display:block;max-width:100%;max-height:300px;object-fit:contain;border:1px solid var(--line);border-radius:8px;margin:12px 0;cursor:zoom-in}.copy-message{border:0;background:none;color:var(--muted);font-size:10px;padding:5px 0}.copy-message:hover{color:var(--purple)}.notice{font-size:12px;line-height:1.7;background:#fff4f8;color:#8b2454;border-bottom:1px solid #f1dce5;padding:12px 30px}.notice a{font-weight:700}.mobile-new{display:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.lightbox{max-width:95vw;max-height:95vh;border:1px solid var(--line);border-radius:12px;padding:20px}.lightbox::backdrop{background:#271232bb}.lightbox img{display:block;max-width:85vw;max-height:75vh;object-fit:contain}.lightbox button{display:block;margin:0 0 12px auto;border:0;background:none;color:var(--purple);padding:8px}.embed.app-page .site-header{height:65px}.embed.app-page .sidebar{display:none}.embed.app-page .header-center{display:none}.embed .welcome{padding-top:25px}
.product-mark{display:inline-block;flex-shrink:0}
.embed.app-page .mobile-new{display:block;margin-left:auto}.embed.app-page .private-label{display:none}
@keyframes pulse{50%{opacity:.25}}@media(min-width:1500px){.welcome{padding-top:65px}.suggestions{margin-top:40px}}
@media(max-width:1050px){.login-layout{gap:35px;grid-template-columns:1fr 400px;padding:48px 5%}.login-story h1{font-size:59px}.sidebar{width:220px;padding:28px 20px}.sidebar-title{font-size:25px}.welcome h2{font-size:29px}.header-center{font-size:8px}.chat-scroll{padding:0 25px}}
@media(max-width:760px){.site-header{height:78px;padding:0 6%}.brand-logo{width:125px}.edition{font-size:8px;letter-spacing:1px}.edition .tiny-x{margin:0 4px}.login-layout{display:block;padding:35px 6%;max-width:500px}.login-story>.eyebrow{font-size:8px}.login-story h1{font-size:44px;letter-spacing:-2px;margin:20px 0 14px}.login-story h1 br{display:none}.login-story h1 br::after{content:' '}.login-story h1 span{display:block}.story-copy{font-size:14px}.story-bottom{display:none}.login-card{margin-top:28px;padding:28px}.login-card h2{font-size:24px}.login-card .muted{font-size:13px}.card-top{margin-bottom:25px}.site-footer{font-size:9px;gap:15px}.app-page .site-header{padding:0 20px;height:68px}.app-page .brand-logo{width:113px}.header-center{display:none}.sidebar{display:none}.chat-toolbar{padding:17px 20px;min-height:78px}.chat-toolbar h1{font-size:15px}.chat-toolbar p{font-size:10px}.private-label{display:none}.mobile-new{display:block}.chat-scroll{padding:0 20px}.welcome{padding-top:27px}.welcome-mark{font-size:48px;margin-bottom:12px}.welcome h2{font-size:27px;letter-spacing:-1px}.welcome h2 br{display:none}.welcome-copy{font-size:12px}.welcome-copy br{display:none}.suggestions{gap:9px;margin-top:24px}.suggestion{font-size:11px;padding:14px 27px 14px 13px;gap:10px}.suggestion-number{font-size:7px;letter-spacing:.8px}.composer-area{padding:0 16px 14px}.composer-footnote{font-size:8px}.composer-footnote span:first-child{display:none}.composer-footnote{justify-content:center}.message-body{font-size:13px}.notice{padding:10px 20px}.text-button{font-size:11px}.messages{padding-top:22px}.composer textarea{font-size:16px}.login-card input{font-size:16px}.login-story h1{line-height:1.15}.desktop-break{display:none}}
@media(max-width:380px){.edition{display:none}.login-card{padding:23px}.welcome h2{font-size:24px}.suggestions{grid-template-columns:1fr}.suggestion{gap:6px}.chat-toolbar p{max-width:195px;line-height:1.5}}
@media(prefers-reduced-motion:reduce){*,*::before{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.manual-image{display:inline-flex;flex-direction:column;gap:7px;max-width:100%;margin:12px 0;vertical-align:top}.message-body .manual-image img{margin:0;max-height:320px}.image-original{font-size:11px;line-height:1.6}.image-error{display:block;padding:14px;background:#f7f2f9;border:1px solid var(--line);border-radius:8px;font-size:12px;color:var(--muted)}.ai-disclaimer{font-size:10px;line-height:1.6;color:var(--muted);text-align:center;margin:12px auto 0;max-width:780px}.lightbox .image-original{display:block;margin-top:12px}
/* Readability and viewport-aware spacing. */
:root{font-weight:500;--muted:#695f72}
.login-page{min-height:100dvh}.login-page .site-header,.site-footer{flex-shrink:0}
.login-layout{padding-top:clamp(18px,4vh,50px);padding-bottom:clamp(18px,4vh,50px)}
.login-story h1,.welcome h2{font-weight:600}
.login-card label,.resource-links a,.new-chat,.suggestion,.text-button{font-size:14px;font-weight:600}
.login-card input,.muted,.welcome-copy{font-size:15px}
.message-body{font-size:16px;font-weight:500;line-height:1.75}
.message-body table{font-size:14px}.message-body strong{font-weight:750}
.composer textarea{font-size:16px;font-weight:500}
.chat-toolbar h1{font-size:19px;font-weight:700}.chat-toolbar p{font-size:13px}
.image-original,.copy-message,.composer-footnote,.ai-disclaimer,.access-note{font-size:12px}
.sidebar{overflow-y:auto}.chat-toolbar,.composer-area{flex-shrink:0}
.welcome{padding:clamp(12px,3vh,40px) 0 18px}.welcome-mark{font-size:48px;margin-bottom:8px}
.welcome h2{font-size:clamp(25px,2.5vw,35px);margin:12px 0}
.welcome-copy{margin:10px 0;line-height:1.6}.suggestions{margin-top:18px}
.suggestion{padding:14px 30px 14px 16px;gap:8px}
.response-status:empty{min-height:12px;padding:0}
@media(max-height:800px){
 .site-header{height:72px}.site-footer{padding-top:14px;padding-bottom:14px}
 .login-layout{padding-top:18px;padding-bottom:18px}.login-card{padding:24px 30px 20px}
 .card-top{margin-bottom:16px}.login-card .muted{margin-bottom:16px}.access-note{margin-top:16px}
 .app-page .site-header{height:62px}.chat-toolbar{min-height:68px;padding-top:12px;padding-bottom:12px}
 .sidebar{padding-top:22px;padding-bottom:16px}.new-chat{margin:20px 0}.sidebar-note{padding-top:20px}.sidebar-footer{margin-top:14px}
 .welcome{padding-top:12px;padding-bottom:12px}.welcome-mark{display:none}.welcome .eyebrow{margin:6px 0}
 .welcome h2{font-size:27px;margin:10px 0}.suggestions{margin-top:12px;gap:8px}
 .suggestion{padding-top:10px;padding-bottom:10px;gap:5px}
 .composer-area{padding-bottom:10px}.composer-footnote,.ai-disclaimer{margin-top:7px}
}
@media(max-width:760px){
 .login-layout{padding:18px 6%;max-width:500px}.login-story{display:none}.login-card{margin-top:0}
 .login-card input{font-size:16px}.login-card .muted{font-size:15px}
 .chat-toolbar h1{font-size:17px}.chat-toolbar p{font-size:12px}
 .welcome h2{font-size:25px}.welcome-copy{font-size:14px}
 .suggestion{font-size:13px}.message-body{font-size:16px}
 .composer-footnote,.ai-disclaimer{font-size:11px}
}
@media(max-width:380px){.suggestions{grid-template-columns:1fr 1fr}.suggestion{padding:10px;font-size:12px}.suggestion-arrow{display:none}}
@media(max-height:650px){.welcome .eyebrow,.welcome-copy{display:none}.welcome h2{font-size:23px}.welcome h2 br{display:none}.sidebar-note{display:none}.login-card .card-top{display:none}}

/* Product identity shares the top bar to leave more room for the chat. */
.header-product{flex:1;margin:0;text-align:center}.header-product h1{font-size:18px;font-weight:700;letter-spacing:-.3px;margin:0}.header-product p{font-size:12px;color:var(--muted);margin:5px 0 0}
.message-body{font-size:15px}.composer textarea{font-size:15px}
.login-card label,.resource-links a,.new-chat,.suggestion,.text-button{font-size:13px}
.login-card input,.muted,.welcome-copy,.login-card .muted{font-size:14px}
@media(max-width:760px){
 .app-page .site-header{gap:12px;padding:0 14px;flex-wrap:wrap;height:auto;min-height:92px;padding-top:10px;padding-bottom:10px}
 .app-page .brand-logo{width:90px}.header-product{flex:1;min-width:180px}.header-product h1{font-size:16px}.header-product p{font-size:11px}
 .app-page .site-header .mobile-new{margin-right:auto}.app-page .site-header .text-button{padding:2px 0;font-size:12px}
 .composer textarea,.login-card input{font-size:16px}.suggestion{font-size:12px}
 .embed.app-page .site-header{height:auto}.embed.app-page .mobile-new{margin-left:0}
}
@media(max-width:760px) and (max-height:700px){.login-card .card-top{display:none}.login-layout{padding-top:12px;padding-bottom:12px}.login-card{padding:20px 24px}.login-page .site-header{height:60px}.login-card label{margin-top:12px}.login-card .muted{margin-bottom:12px}.access-note{margin-top:12px}}

/* Keep the product title and subtitle centered as one header block. */
.app-page .site-header{position:relative}.app-page .header-product{position:absolute;left:50%;transform:translateX(-50%);text-align:center;white-space:nowrap}
@media(max-width:900px){.app-page .header-product{position:static;transform:none;flex:1;min-width:180px}}

/* Center the conversation within the available area, accounting for the sidebar. */
@media(min-width:761px){.app-page .welcome{width:min(100%,790px)}.app-page .messages{width:min(100%,820px)}}

/* Keep manual images anchored to the response column. */
.message-body .manual-image{display:flex;align-items:flex-start;margin-left:0;margin-right:auto}
/* Compact, balanced composer with the send control sitting inside the same rhythm. */
.composer{align-items:center;border-radius:16px;padding:8px 10px 8px 17px;box-shadow:0 8px 24px #672d900d}
.composer textarea{min-height:38px;padding:7px 0;line-height:1.5}
.send-button{width:38px;height:38px;border-radius:11px;font-size:23px}
.stop-button{padding:9px 11px}
