:root{color:#201c1d;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--page-edge:#e8e8e8;--panel-bg:#e8e8e89e;--panel-border:#89959c52;--panel-shadow:0 24px 60px #201c1d1f;--sidebar-bg:linear-gradient(180deg, #f2ece6 0%, #eadfd6 100%);--sidebar-border:#b31a3124;--sidebar-text:#201c1d;--sidebar-muted:#6d787f;--accent:#b31a31;--accent-strong:#7a1220;--accent-soft:#b31a311f;--assistant-bg:#f0f0f0e6;--user-bg:linear-gradient(135deg, #b31a31 0%, #7a1220 100%);--user-text:#fff5f5;--muted:#525c62;--error-bg:#b45f061f;--error-border:#b45f0642;--error-text:#8a4a04;background:radial-gradient(circle at 0 0,#f2ece68c,#0000 34%),radial-gradient(circle at 100% 0,#89959c29,#0000 32%),linear-gradient(#ececec 0%,#e4e4e4 100%);font-family:Avenir Next,Segoe UI,Helvetica Neue,sans-serif;font-weight:400;line-height:1.5}*{box-sizing:border-box}body{background:radial-gradient(circle at 15% 20%,#f2ece680,#0000 22%),radial-gradient(circle at 85% 10%,#89959c24,#0000 18%),linear-gradient(#ececec 0%,#e4e4e4 100%);min-width:320px;min-height:100vh;margin:0}body:before{content:"";pointer-events:none;background-image:linear-gradient(#89959c14 1px,#0000 1px),linear-gradient(90deg,#89959c14 1px,#0000 1px);background-size:48px 48px;position:fixed;inset:0;-webkit-mask-image:linear-gradient(#00000073,#0000 78%);mask-image:linear-gradient(#00000073,#0000 78%)}a{color:inherit}button,input,textarea{font:inherit}#root{min-height:100vh}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app-shell{grid-template-columns:minmax(280px,320px) minmax(0,1fr);gap:20px;height:100vh;min-height:100vh;padding:20px;display:grid;overflow:hidden}.sidebar,.chat-panel{border:1px solid var(--panel-border);min-height:0;box-shadow:var(--panel-shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.sidebar{background:var(--sidebar-bg);border-color:var(--sidebar-border);height:100%;color:var(--sidebar-text);border-radius:28px;flex-direction:column;gap:20px;padding:24px;display:flex;overflow:hidden}.sidebar__brand{align-items:center;display:flex}.sidebar__logo{width:90%;height:auto}.sidebar__top{gap:20px;display:grid}.sidebar__top h2,.chat-panel h1,.empty-state h2{margin:0;font-size:clamp(1.4rem,2vw,2.2rem);line-height:1.1}.sidebar__eyebrow,.chat-panel__eyebrow,.empty-state__eyebrow,.message__role{letter-spacing:.1em;text-transform:uppercase;margin:0 0 8px;font-size:.78rem;font-weight:700}.sidebar__copy,.chat-panel__lede,.empty-state p,.sidebar__status,.session-link__meta{color:var(--sidebar-muted);margin:0}.sidebar__new-chat,.composer__button,.empty-state button{cursor:pointer;border:none;border-radius:999px;transition:transform .16s,box-shadow .16s,opacity .16s}.sidebar__new-chat{color:#fff5f5;background:linear-gradient(135deg,#b31a31 0%,#7a1220 100%);padding:14px 18px;font-weight:700;box-shadow:0 16px 32px #b31a3142}.sidebar__new-chat:hover,.composer__button:hover{transform:translateY(-1px)}.sidebar__new-chat:disabled,.composer__button:disabled{cursor:not-allowed;opacity:.68;transform:none}.sidebar__list{flex-direction:column;flex:1;gap:10px;min-height:0;display:flex;overflow-y:auto}.sidebar__bottom{border-top:1px solid #89959c38;padding-top:12px}.sidebar__logout{width:100%;color:var(--sidebar-muted);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:14px;padding:10px 12px;font-size:.88rem;font-weight:700;transition:background .16s,color .16s}.sidebar__logout:hover{color:var(--accent-strong);background:#b31a3114}.session-link{width:100%;color:inherit;text-align:left;cursor:pointer;background:#ffffff4d;border:1px solid #89959c38;border-radius:20px;flex-direction:column;gap:8px;padding:16px;transition:background .16s,border-color .16s,transform .16s;display:flex}.session-link:hover,.session-link--active{background:#b31a3114;border-color:#b31a3138;transform:translateY(-1px)}.session-link__title{color:var(--sidebar-text);font-weight:700}.sidebar__status--error{color:#b3261e}.chat-panel{background:var(--panel-bg);border-radius:32px;flex-direction:column;gap:18px;min-width:0;height:100%;padding:28px;display:flex;overflow:hidden}.chat-panel__header{gap:10px;padding:6px 4px 0 2px;display:grid}.chat-panel__header-copy{gap:8px;display:grid}.chat-panel__lede{color:var(--muted);max-width:44rem;margin:0;font-size:1rem}.chat-panel__body{flex:1;min-height:0;padding:12px 2px 12px 0;overflow-y:auto}.empty-state{text-align:center;background:linear-gradient(145deg,#e8e8e873,#f2ece666);border:1px dashed #89959c52;border-radius:28px;place-content:center;gap:10px;min-height:100%;padding:36px;display:grid}.empty-state__eyebrow{color:var(--accent-strong)}.empty-state p,.chat-panel__lede,.message__role{color:var(--muted)}.transcript{gap:18px;display:grid}.message{display:flex}.message--assistant{justify-content:flex-start}.message--user{justify-content:flex-end}.message__card{border-radius:28px;max-width:min(82%,780px);padding:18px 20px;box-shadow:0 18px 40px #201c1d1a}.message--assistant .message__card{background:var(--assistant-bg);border-top-left-radius:12px}.message--user .message__card{background:var(--user-bg);color:var(--user-text);border-top-right-radius:12px}.message--user .message__role{color:#f8fcfbb8}.message__content{margin:0}.markdown-body>:first-child{margin-top:0}.markdown-body>:last-child{margin-bottom:0}.markdown-body p,.markdown-body ul,.markdown-body ol,.markdown-body blockquote,.markdown-body pre,.markdown-body table,.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4{margin:0 0 .8rem}.markdown-body ul,.markdown-body ol{padding-left:1.4rem}.markdown-body li+li{margin-top:.28rem}.markdown-body a{color:inherit;text-underline-offset:.14em;text-decoration-thickness:2px}.markdown-body strong{font-weight:700}.markdown-body code{background:#89959c24;border-radius:.4rem;padding:.1rem .3rem;font-size:.92em}.message--user .markdown-body code{background:#f8fcfb24}.markdown-body pre{background:#89959c24;border-radius:1rem;padding:.85rem 1rem;overflow-x:auto}.message--user .markdown-body pre{background:#f8fcfb1f}.markdown-body pre code{background:0 0;padding:0}.markdown-body blockquote{color:var(--muted);border-left:3px solid #b31a3173;margin-left:0;padding-left:1rem}.message--user .markdown-body blockquote{color:#f8fcfbc7;border-left-color:#f8fcfb66}.markdown-body table{border-collapse:collapse;width:100%;font-size:.95rem}.markdown-body th,.markdown-body td{text-align:left;vertical-align:top;border:1px solid #89959c47;padding:.45rem .55rem}.message--user .markdown-body th,.message--user .markdown-body td{border-color:#f8fcfb2e}.markdown-body th{background:#89959c1f}.message--user .markdown-body th{background:#f8fcfb14}.message__citations{gap:10px;margin-top:16px;display:grid}.citation-card{background:linear-gradient(#f2ece6b3,#f2ece666);border:1px solid #b31a312e;border-radius:18px;gap:6px;padding:14px 16px;display:grid}.citation-card__title,.citation-card__path,.citation-card__locator,.citation-card__excerpt{margin:0}.citation-card__title{color:var(--accent-strong);font-weight:700}.citation-card__path{color:#2f2527;font-size:.88rem;font-weight:700}.citation-card__locator{color:var(--muted);font-size:.9rem}.citation-card__excerpt{color:#2f2527;font-size:.94rem}.citation-card__excerpt-preview{gap:.35rem;display:grid}.citation-card__excerpt-leading,.citation-card__excerpt-trailing{display:block}.citation-card__excerpt-trailing{text-align:right;color:#6b6469}.citation-card__link{width:fit-content;color:var(--accent-strong);cursor:pointer;text-underline-offset:.18em;background:0 0;border:none;padding:0;font-size:.92rem;font-weight:700;text-decoration-thickness:2px}.citation-card__link:disabled{cursor:progress;opacity:.72}.citation-card__badge{width:fit-content;color:var(--accent-strong);background:#b31a311f;border-radius:999px;margin:0;padding:2px 10px;font-size:.78rem;font-weight:700}.citation-card__parts{flex-wrap:wrap;gap:6px 16px;display:flex}.citation-card__link--part{font-size:.88rem}.citation-card__status,.citation-card__error{margin:0;font-size:.9rem}.citation-card__status{color:var(--muted)}.citation-card__error{color:var(--error-text)}.banner{border:1px solid #0000;border-radius:18px;margin:0;padding:14px 16px}.banner--error{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}.composer{background:#e8e8e88c;border:1px solid #89959c3d;border-radius:28px;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:14px;padding:18px;display:grid;box-shadow:inset 0 1px #ffffff80}.composer__input{resize:vertical;width:100%;min-height:84px;color:inherit;background:#f0f0f0d9;border:1px solid #89959c52;border-radius:18px;padding:14px 16px}.composer__input:focus{border-color:#b31a3161;outline:2px solid #b31a3147}.composer__button{color:#fff5f5;background:linear-gradient(135deg,#b31a31 0%,#7a1220 100%);min-width:120px;padding:14px 18px;font-weight:700;box-shadow:0 12px 24px #7a12203d}@media (width<=960px){.app-shell{grid-template-columns:1fr;height:auto;padding:16px;overflow:visible}.sidebar,.chat-panel{border-radius:24px;height:auto}.chat-panel__header{padding-right:0}.message__card{max-width:100%}}@media (width<=640px){.sidebar,.chat-panel{padding:20px}.composer,.auth-panel{grid-template-columns:1fr}.composer__button,.auth-panel__button{width:100%}}.login-page{place-items:center;min-height:100vh;padding:20px;display:grid}.login-card{border:1px solid var(--panel-border);width:min(100%,380px);box-shadow:var(--panel-shadow);background:#ffffffe6;border-radius:28px;gap:14px;padding:32px;display:grid}.login-card h1{margin:0;font-size:1.6rem}.login-card__eyebrow{letter-spacing:.1em;text-transform:uppercase;color:var(--accent-strong);margin:0;font-size:.78rem;font-weight:700}.login-card__field{gap:6px;font-size:.9rem;font-weight:700;display:grid}.login-card__field input{font:inherit;color:inherit;background:#f0f0f099;border:1px solid #89959c52;border-radius:14px;padding:12px 14px;font-weight:400}.login-card__field input:focus{border-color:#b31a3161;outline:2px solid #b31a3147}.login-card__button{color:#fff5f5;cursor:pointer;background:linear-gradient(135deg,#b31a31 0%,#7a1220 100%);border:none;border-radius:999px;padding:14px 18px;font-weight:700;transition:transform .16s,opacity .16s;box-shadow:0 12px 24px #7a12203d}.login-card__button:hover{transform:translateY(-1px)}.login-card__button:disabled{cursor:not-allowed;opacity:.68;transform:none}
