@font-face{font-family:CoHeadline;src:url(/fonts/CoHeadline_W_Rg.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:CoHeadline;src:url(/fonts/CoHeadline_W_Bd.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}:root{--ja-bg: #dfe6f0;--ja-surface: #ffffff;--ja-ink: #1a1a1a;--ja-muted: #5c6570;--ja-border: #c8d0dc;--ja-purple: #a48ee4;--ja-purple-soft: #ebe4f8;--ja-yellow: #d7c20b;--ja-danger: #f03e25;--ja-bubble-user: #a48ee4;--ja-bubble-user-text: #ffffff;--ja-bubble-agent: #ffffff;--ja-bubble-agent-text: #1a1a1a;--ja-shadow: 0 8px 28px rgba(40, 55, 80, .12);--ja-radius: 18px;--ja-font: "CoHeadline", "Segoe UI", sans-serif}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%;height:100dvh;margin:0}body{font-family:var(--ja-font);color:var(--ja-ink);background:radial-gradient(1200px 600px at 10% -10%,rgba(164,142,228,.22),transparent 55%),radial-gradient(900px 500px at 90% 0%,rgba(215,194,11,.14),transparent 50%),var(--ja-bg);-webkit-font-smoothing:antialiased;overscroll-behavior:none}@media(display-mode:standalone){.app-shell{padding:0;place-items:stretch}.chat-card{width:100%;height:100%;height:100dvh;max-height:none;border-radius:0;box-shadow:none}}button,input,textarea{font:inherit}button{cursor:pointer}.app-shell{min-height:100%;min-height:100dvh;display:grid;place-items:center;padding:16px}.chat-card{width:min(480px,100%);height:min(820px,calc(100vh - 32px));height:min(820px,calc(100dvh - 32px));background:var(--ja-surface);border-radius:var(--ja-radius);box-shadow:var(--ja-shadow);display:flex;flex-direction:column;overflow:hidden}.chat-header{display:flex;align-items:center;gap:12px;padding:14px 16px;border-bottom:1px solid var(--ja-border);background:linear-gradient(180deg,#fff,#f7f9fc);flex-shrink:0}.chat-header__logo{width:52px;height:auto;display:block;flex-shrink:0}.chat-header__meta{flex:1;min-width:0}.chat-header__title{margin:0;font-size:1.15rem;font-weight:700;line-height:1.2}.chat-header__subtitle{margin:2px 0 0;font-size:.8rem;color:var(--ja-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.icon-btn{border:none;background:transparent;color:var(--ja-ink);width:40px;height:40px;border-radius:999px;display:grid;place-items:center;transition:background .15s ease}.icon-btn:hover{background:var(--ja-purple-soft)}.icon-btn svg{width:22px;height:22px}.toolbar{display:flex;flex-wrap:wrap;gap:8px;padding:10px 12px;border-bottom:1px solid var(--ja-border);background:#fafbfd;flex-shrink:0}.toolbar__btn{border:1px solid var(--ja-border);background:#fff;color:var(--ja-ink);border-radius:999px;padding:8px 14px;font-size:.85rem;font-weight:700;transition:border-color .15s ease,background .15s ease,transform .15s ease}.toolbar__btn:hover:not(:disabled){border-color:var(--ja-purple);background:var(--ja-purple-soft)}.toolbar__btn:disabled{opacity:.5;cursor:not-allowed}.toolbar__btn--primary{background:var(--ja-purple);border-color:var(--ja-purple);color:#fff}.toolbar__btn--primary:hover:not(:disabled){background:#9278d8;border-color:#9278d8}.messages{flex:1;overflow-y:auto;padding:16px 14px 8px;display:flex;flex-direction:column;gap:10px;background:linear-gradient(180deg,rgba(223,230,240,.35),transparent 48px),#eef2f7}.message-row{display:flex;animation:rise .28s ease both}.message-row--user{justify-content:flex-end}.message-row--assistant,.message-row--system{justify-content:flex-start}@keyframes rise{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.bubble{max-width:min(85%,340px);padding:10px 14px;border-radius:16px;line-height:1.4;font-size:.95rem;white-space:pre-wrap;word-break:break-word;box-shadow:0 1px 2px #1e283c0f}.bubble--markdown{white-space:normal}.bubble--markdown>:first-child{margin-top:0}.bubble--markdown>:last-child{margin-bottom:0}.bubble--markdown p{margin:0 0 .55em}.bubble--markdown p:last-child{margin-bottom:0}.bubble--markdown strong{font-weight:700}.bubble--markdown em{font-style:italic}.bubble--markdown ul,.bubble--markdown ol{margin:.35em 0 .55em;padding-left:1.25em}.bubble--markdown li{margin:.15em 0}.bubble--markdown li>p{margin:0}.bubble--markdown code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.88em;background:#1e283c14;padding:.1em .35em;border-radius:4px}.bubble--markdown pre{margin:.45em 0;padding:8px 10px;overflow-x:auto;border-radius:8px;background:#1e283c14}.bubble--markdown pre code{background:none;padding:0;font-size:.82em}.bubble--markdown a{color:#5b3fb0;text-decoration:underline;text-underline-offset:2px}.bubble--markdown h1,.bubble--markdown h2,.bubble--markdown h3{margin:.4em 0 .35em;font-size:1em;font-weight:700;line-height:1.3}.bubble--markdown blockquote{margin:.4em 0;padding-left:.75em;border-left:3px solid var(--ja-purple);color:var(--ja-muted)}.bubble--user{background:var(--ja-bubble-user);color:var(--ja-bubble-user-text);border-bottom-right-radius:5px}.bubble--assistant{background:var(--ja-bubble-agent);color:var(--ja-bubble-agent-text);border:1px solid rgba(200,208,220,.85);border-bottom-left-radius:5px}.bubble--system{background:transparent;color:var(--ja-muted);box-shadow:none;font-size:.82rem;text-align:center;max-width:100%;margin:0 auto}.bubble--pending:empty:after{content:"…";animation:blink 1s steps(3,end) infinite}.bubble--pending .streaming-cursor{display:inline-block;width:.45em;height:1em;margin-left:2px;vertical-align:text-bottom;background:currentColor;opacity:.55;animation:blink .9s steps(2,start) infinite}@keyframes blink{50%{opacity:.2}}.empty-state{margin:auto;text-align:center;color:var(--ja-muted);padding:24px 16px;max-width:280px}.empty-state h2{margin:0 0 8px;color:var(--ja-ink);font-size:1.25rem}.empty-state p{margin:0;font-size:.92rem;line-height:1.45}.composer{display:flex;gap:8px;padding:12px;border-top:1px solid var(--ja-border);background:#fff;flex-shrink:0}.composer__input{flex:1;resize:none;border:1px solid var(--ja-border);border-radius:14px;padding:10px 12px;min-height:44px;max-height:120px;outline:none;transition:border-color .15s ease,box-shadow .15s ease}.composer__input:focus{border-color:var(--ja-purple);box-shadow:0 0 0 3px #a48ee440}.composer__send{border:none;background:var(--ja-yellow);color:#000;font-weight:700;border-radius:14px;padding:0 16px;min-width:72px;transition:transform .12s ease,filter .12s ease}.composer__send:hover:not(:disabled){filter:brightness(.97);transform:translateY(-1px)}.composer__send:disabled{opacity:.45;cursor:not-allowed}.settings-backdrop{position:fixed;inset:0;background:#141e2d59;display:grid;place-items:end center;padding:16px;z-index:20;animation:fade .18s ease both}@keyframes fade{0%{opacity:0}to{opacity:1}}.settings-panel{width:min(480px,100%);background:#fff;border-radius:16px;padding:18px 18px 16px;box-shadow:var(--ja-shadow);animation:slideUp .22s ease both}@keyframes slideUp{0%{transform:translateY(16px);opacity:0}to{transform:translateY(0);opacity:1}}.settings-panel h2{margin:0 0 4px;font-size:1.15rem}.settings-panel__hint{margin:0 0 14px;color:var(--ja-muted);font-size:.85rem}.settings-row{margin-bottom:12px}.settings-row label{display:block;font-size:.78rem;color:var(--ja-muted);margin-bottom:4px}.settings-row code,.settings-value{display:block;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.78rem;background:#f3f5f9;border-radius:8px;padding:8px 10px;word-break:break-all}.settings-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.settings-actions .toolbar__btn--danger{background:#fff5f4;border-color:#f5b4ab;color:var(--ja-danger)}.settings-actions .toolbar__btn--danger:hover:not(:disabled){background:#ffe8e5;border-color:var(--ja-danger)}.error-banner{margin:0 12px 8px;padding:8px 12px;border-radius:10px;background:#fff5f4;color:var(--ja-danger);font-size:.82rem;border:1px solid #f5b4ab;flex-shrink:0}@media(max-width:560px){.app-shell{padding:0;place-items:stretch;align-content:stretch}.chat-card{width:100%;height:100%;height:100dvh;max-height:none;border-radius:0;box-shadow:none}.chat-header{padding-top:max(12px,env(safe-area-inset-top));padding-left:max(14px,env(safe-area-inset-left));padding-right:max(14px,env(safe-area-inset-right))}.chat-header__logo{width:44px}.chat-header__title{font-size:1.05rem}.toolbar{padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right))}.toolbar__btn{flex:1 1 auto;text-align:center}.messages{padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right))}.bubble{max-width:min(92%,340px);font-size:.94rem}.composer{padding-bottom:max(12px,env(safe-area-inset-bottom));padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right))}.composer__input{font-size:16px}.settings-backdrop{padding:0;place-items:end stretch}.settings-panel{width:100%;border-radius:16px 16px 0 0;padding-bottom:max(16px,env(safe-area-inset-bottom));max-height:min(90dvh,640px);overflow-y:auto}}@media(max-width:360px){.chat-header__subtitle{display:none}.composer__send{min-width:64px;padding:0 12px}}
