:root {
  --ink: #17192b;
  --muted: #747b8f;
  --line: #e7e8ef;
  --paper: #ffffff;
  --canvas: #f5f6fa;
  --violet: #6757dd;
  --violet-dark: #5142c2;
  --mint: #29a77e;
  --amber: #d8902f;
  --navy: #15182b;
  --shadow: 0 18px 50px rgba(29, 32, 62, .09);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--canvas); font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", sans-serif; }
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
button { cursor: pointer; }
.hidden { display: none !important; }
.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; }
.eyebrow, .section-kicker { margin: 0 0 7px; color: #9a90ec; font-size: 10px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }

.app-shell { min-height: 100vh; display: grid; grid-template-columns: 238px minmax(0, 1fr); }
.sidebar { position: sticky; top: 0; height: 100vh; padding: 26px 18px 20px; color: #e9e9f1; background: var(--navy); display: flex; flex-direction: column; }
.brand { padding: 0 8px; color: inherit; text-decoration: none; display: flex; align-items: center; gap: 12px; }
.brand-mark { width: 36px; height: 36px; display: grid; place-items: center; border-radius: 11px; color: #fff; background: linear-gradient(145deg, #7867ed, #4f40ba); box-shadow: 0 8px 25px rgba(105, 87, 221, .35); font-weight: 900; }
.brand strong, .brand small { display: block; }
.brand strong { font-size: 16px; letter-spacing: .02em; }
.brand small { margin-top: 2px; color: #8e93a9; font-size: 10px; }
.nav-label { margin: 45px 12px 10px; color: #686e86; font-size: 9px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.sidebar nav { display: grid; gap: 6px; }
.nav-item { min-height: 44px; padding: 0 12px; border-radius: 10px; color: #9ca1b5; text-decoration: none; display: flex; align-items: center; gap: 12px; font-size: 13px; font-weight: 600; transition: .18s ease; }
.nav-item:hover { color: #fff; background: rgba(255,255,255,.055); }
.nav-item.active { color: #fff; background: linear-gradient(90deg, rgba(112,95,229,.3), rgba(112,95,229,.08)); box-shadow: inset 3px 0 #8172ee; }
.nav-icon { width: 20px; text-align: center; color: #8d80ef; font-size: 17px; }
.nav-count { margin-left: auto; min-width: 22px; padding: 2px 7px; border-radius: 999px; color: #c8c4f7; background: rgba(126,109,237,.18); text-align: center; font-size: 9px; }
.sidebar-spacer { flex: 1; }
.connection-card { margin-bottom: 12px; padding: 13px; border: 1px solid rgba(255,255,255,.07); border-radius: 12px; background: rgba(255,255,255,.035); display: flex; align-items: center; gap: 10px; }
.connection-card strong, .connection-card small { display: block; }
.connection-card strong { font-size: 10px; }
.connection-card small { margin-top: 3px; color: #7f8499; font-size: 9px; }
.online-dot { width: 8px; height: 8px; border-radius: 50%; background: #42d29e; box-shadow: 0 0 0 4px rgba(66,210,158,.12); }
.user-card { padding: 14px 8px 0; border-top: 1px solid rgba(255,255,255,.08); display: grid; grid-template-columns: 36px 1fr auto; align-items: center; gap: 10px; }
.avatar { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 50%; color: #252044; background: #d9d4ff; font-size: 13px; font-weight: 800; }
.user-card strong, .user-card small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.user-card strong { font-size: 11px; }.user-card small { margin-top: 2px; color: #797f94; font-size: 9px; }
.user-card button { border: 0; color: #7d8296; background: transparent; font-size: 18px; }
.user-card button:hover { color: #fff; }

.workspace { width: min(1280px, 100%); min-width: 0; margin: 0 auto; padding: 32px 42px 64px; }
.topbar { min-height: 56px; margin-bottom: 25px; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.topbar h1, .section-heading h2, .page-intro h2 { margin: 0; }
.topbar h1 { font-size: 25px; letter-spacing: -.03em; }
.button { min-height: 42px; padding: 0 17px; border: 1px solid transparent; border-radius: 10px; display: inline-flex; align-items: center; justify-content: center; gap: 7px; font-weight: 700; font-size: 12px; transition: .18s ease; }
.button:disabled { opacity: .55; cursor: wait; }
.button.primary { color: #fff; background: var(--violet); box-shadow: 0 9px 22px rgba(103,87,221,.22); }
.button.primary:hover { background: var(--violet-dark); transform: translateY(-1px); }
.button.subtle { color: #555d72; border-color: var(--line); background: #fff; }
.button.subtle:hover { color: var(--violet); border-color: #c9c3f4; }
.tab-page { display: none; animation: page-in .24s ease; }
.tab-page.active { display: block; }
@keyframes page-in { from { opacity: 0; transform: translateY(5px); } to { opacity: 1; transform: none; } }

.hero { min-height: 320px; padding: 46px 50px; border-radius: 24px; color: #fff; background: radial-gradient(circle at 84% 12%, rgba(149,128,255,.45), transparent 29%), linear-gradient(135deg, #17192d, #28234f 58%, #5646c5); box-shadow: var(--shadow); position: relative; overflow: hidden; }
.hero::after { content: ""; position: absolute; width: 340px; height: 340px; right: -120px; bottom: -205px; border: 1px solid rgba(255,255,255,.14); border-radius: 50%; box-shadow: 0 0 0 46px rgba(255,255,255,.035), 0 0 0 92px rgba(255,255,255,.02); }
.hero-copy, .hero-ask { position: relative; z-index: 1; }
.hero-badge { display: inline-block; padding: 6px 10px; border-radius: 999px; color: #ddd9ff; background: rgba(255,255,255,.1); font-size: 9px; font-weight: 700; letter-spacing: .13em; }
.hero h2 { max-width: 760px; margin: 16px 0 12px; font-size: clamp(30px, 4vw, 48px); line-height: 1.16; letter-spacing: -.035em; }
.hero-copy p { margin: 0; color: #c4c6d6; font-size: 13px; }
.hero-ask { max-width: 760px; margin-top: 29px; }
.hero-ask > label { display: block; margin-bottom: 8px; color: #b9bbcb; font-size: 10px; }
.hero-ask > div { padding: 6px 7px 6px 17px; border: 1px solid rgba(255,255,255,.12); border-radius: 13px; background: #fff; display: grid; grid-template-columns: 1fr auto; box-shadow: 0 14px 34px rgba(5,7,24,.28); }
.hero-ask input { min-width: 0; border: 0; outline: 0; padding: 0 10px 0 0; color: var(--ink); }
.hero-ask button { height: 43px; padding: 0 18px; border: 0; border-radius: 9px; color: #fff; background: var(--violet); font-size: 11px; font-weight: 800; }
.hero-ask small { display: block; margin: 8px 2px 0; color: #9094aa; font-size: 9px; }

.stats { margin: 20px 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 15px; }
.stats article { min-height: 92px; padding: 19px 20px; border: 1px solid var(--line); border-radius: 16px; background: var(--paper); display: flex; align-items: center; gap: 15px; }
.stat-icon { width: 42px; height: 42px; flex: 0 0 auto; border-radius: 12px; display: grid; place-items: center; font-weight: 800; }
.stat-icon.violet { color: var(--violet); background: #efedff; }.stat-icon.mint { color: var(--mint); background: #e7f8f2; }.stat-icon.amber { color: var(--amber); background: #fff4df; }
.stats strong, .stats small { display: block; }.stats strong { font-size: 23px; }.stats small { margin-top: 2px; color: var(--muted); font-size: 10px; }
.stat-trend { margin-left: auto; padding: 4px 7px; border-radius: 999px; color: #6d62c7; background: #f0eeff; font-size: 8px; font-weight: 700; }

.dashboard-grid { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(260px, .7fr); gap: 18px; }
.panel, .quick-panel, .chat-panel, .assistant-side, .guide-grid article, .security-banner { border: 1px solid var(--line); border-radius: 18px; background: var(--paper); }
.panel { padding: 25px; }
.section-heading, .page-intro, .library-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.section-heading { margin-bottom: 18px; }.section-heading h2 { font-size: 18px; }
.text-link { color: var(--violet); text-decoration: none; font-size: 10px; font-weight: 700; }
.recent-list { display: grid; }
.recent-item { min-height: 66px; padding: 11px 4px; border-top: 1px solid #f0f1f5; display: grid; grid-template-columns: 38px 1fr auto; align-items: center; gap: 12px; }
.recent-item:first-child { border-top: 0; }.recent-item strong, .recent-item small { display: block; }.recent-item strong { font-size: 12px; }.recent-item small { margin-top: 4px; color: var(--muted); font-size: 9px; }
.quick-panel { padding: 27px; color: #fff; border: 0; background: linear-gradient(150deg, #292544, #1d2034); }
.quick-panel h2 { margin: 8px 0 9px; font-size: 20px; }.quick-panel > p { margin: 0 0 23px; color: #a9adbf; font-size: 11px; line-height: 1.7; }.quick-panel .button { width: 100%; }
.privacy-note { margin-top: 22px; padding-top: 18px; border-top: 1px solid rgba(255,255,255,.09); display: flex; gap: 10px; }.privacy-note > span { color: #8c7ef0; }.privacy-note p { margin: 0; }.privacy-note strong, .privacy-note small { display: block; }.privacy-note strong { font-size: 10px; }.privacy-note small { margin-top: 4px; color: #7f849a; font-size: 9px; line-height: 1.5; }

.page-intro { margin: 10px 0 24px; }.page-intro h2 { font-size: 29px; letter-spacing: -.035em; }.page-intro p { margin: 7px 0 0; color: var(--muted); font-size: 12px; }.section-kicker { color: var(--violet); }
.library-panel { padding: 0; overflow: hidden; }.library-toolbar { padding: 18px 22px; border-bottom: 1px solid var(--line); }
.filter-box { width: min(370px, 100%); height: 40px; padding: 0 12px; border: 1px solid var(--line); border-radius: 10px; background: #fafafd; display: flex; align-items: center; gap: 8px; color: #9298a9; }.filter-box input { width: 100%; border: 0; outline: 0; background: transparent; font-size: 11px; }
.table-wrap { overflow-x: auto; } table { width: 100%; min-width: 680px; border-collapse: collapse; } th { padding: 12px 22px; color: #969caf; background: #fafafd; text-align: left; font-size: 9px; letter-spacing: .09em; text-transform: uppercase; } td { padding: 16px 22px; border-top: 1px solid #eff0f4; font-size: 12px; }
.document-cell { display: flex; align-items: center; gap: 12px; }.file-icon { width: 36px; height: 39px; flex: 0 0 auto; border-radius: 9px; color: var(--violet); background: #efedff; display: grid; place-items: center; font-size: 9px; font-weight: 900; }.document-cell strong, .document-cell small { display: block; }.document-cell small { margin-top: 3px; color: var(--muted); font-size: 9px; }
.status { display: inline-flex; align-items: center; gap: 6px; padding: 5px 9px; border-radius: 999px; color: #238469; background: #e8f7f1; font-size: 9px; font-weight: 800; }.status::before { content: ""; width: 5px; height: 5px; border-radius: 50%; background: currentColor; }.status.pending { color: #9b6d19; background: #fff4df; }.status.failed { color: #b54848; background: #fdeaea; }
.delete-button, .icon-button { border: 0; color: #858b9d; background: transparent; }.delete-button { padding: 7px 9px; border-radius: 8px; font-size: 10px; }.delete-button:hover { color: #b54848; background: #fff0f0; }.icon-button { font-size: 25px; }.empty-state { padding: 32px; color: var(--muted); text-align: center; font-size: 11px; }

.assistant-layout { display: grid; grid-template-columns: 210px minmax(0, 1fr) 250px; gap: 18px; }.chat-panel { min-height: 590px; display: flex; flex-direction: column; overflow: hidden; }.chat-empty { margin: auto; padding: 48px 32px; text-align: center; }.assistant-orb { width: 62px; height: 62px; margin: 0 auto 17px; border-radius: 20px; color: #fff; background: linear-gradient(145deg, #7767eb, #5546c7); box-shadow: 0 13px 30px rgba(103,87,221,.25); display: grid; place-items: center; font-size: 25px; }.chat-empty h3 { margin: 0; font-size: 21px; }.chat-empty > p { margin: 8px 0 22px; color: var(--muted); font-size: 11px; }.prompt-grid { display: flex; flex-wrap: wrap; justify-content: center; gap: 7px; }.prompt-grid button { padding: 8px 10px; border: 1px solid #dedbea; border-radius: 999px; color: #68617e; background: #faf9ff; font-size: 9px; }.prompt-grid button:hover { color: var(--violet); border-color: #bbb3f0; }
.chat-thread { max-height: 520px; padding: 28px; overflow-y: auto; display: grid; gap: 22px; }.chat-turn { display: grid; gap: 10px; }.chat-user { justify-self: end; max-width: 78%; padding: 11px 15px; border-radius: 14px 14px 3px 14px; color: #fff; background: var(--violet); font-size: 12px; line-height: 1.6; }.chat-answer { max-width: 88%; color: #3d465c; font-size: 12px; line-height: 1.78; white-space: pre-wrap; }.chat-answer.loading { color: var(--muted); }.error-text { color: #b54848; }
.source-list { display: grid; gap: 7px; }.source-card { width: min(720px, 100%); border-radius: 9px; color: #5d52c6; background: #f5f3ff; font-size: 10px; }.source-card summary { padding: 9px 11px; cursor: pointer; font-weight: 700; }.source-card p { margin: 0; padding: 0 12px 11px; color: #545d72; line-height: 1.65; white-space: pre-wrap; }
.chat-composer { margin: auto 22px 22px; padding: 7px 7px 7px 15px; border: 1px solid #dfe0e8; border-radius: 14px; background: #fafafd; display: grid; grid-template-columns: 1fr 39px; align-items: end; gap: 8px; }.chat-composer:focus-within { border-color: #b8b0ef; box-shadow: 0 0 0 3px rgba(103,87,221,.08); }.chat-composer textarea { min-height: 38px; max-height: 120px; padding: 10px 0; border: 0; outline: 0; resize: none; color: var(--ink); background: transparent; font-size: 12px; }.chat-composer button { width: 38px; height: 38px; border: 0; border-radius: 10px; color: #fff; background: var(--violet); font-size: 17px; }
.assistant-side { padding: 10px 21px; align-self: start; }.assistant-side > div { padding: 19px 0; border-top: 1px solid var(--line); }.assistant-side > div:first-child { border-top: 0; }.side-icon { width: 30px; height: 30px; margin-bottom: 9px; border-radius: 9px; color: var(--violet); background: #efedff; display: grid; place-items: center; }.assistant-side strong { font-size: 11px; }.assistant-side p { margin: 5px 0 0; color: var(--muted); font-size: 9px; line-height: 1.65; }

.guide-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 17px; }.guide-grid article { padding: 29px; position: relative; }.guide-number { position: absolute; right: 20px; top: 18px; color: #e0deef; font-size: 27px; font-weight: 900; }.guide-icon { width: 46px; height: 46px; margin-bottom: 20px; border-radius: 13px; color: var(--violet); background: #efedff; display: grid; place-items: center; font-weight: 900; }.guide-grid h3 { margin: 0 0 9px; font-size: 16px; }.guide-grid p, .guide-grid li { color: var(--muted); font-size: 10px; line-height: 1.7; }.guide-grid ul { padding-left: 16px; margin: 16px 0 0; }.guide-grid li { margin: 4px 0; }.security-banner { margin-top: 18px; padding: 26px 30px; color: #fff; border: 0; background: linear-gradient(100deg, #24213e, #403777); display: flex; align-items: center; gap: 20px; }.security-banner > span { width: 50px; height: 50px; flex: 0 0 auto; border-radius: 14px; background: rgba(255,255,255,.1); display: grid; place-items: center; font-size: 21px; }.security-banner h3 { margin: 0; font-size: 17px; }.security-banner > div > p:last-child { margin: 6px 0 0; color: #aeb0c4; font-size: 10px; }
code { padding: 2px 5px; border-radius: 4px; color: var(--violet); background: #eeecff; }

.modal-open { overflow: hidden; }.modal-backdrop { position: fixed; inset: 0; z-index: 30; padding: 24px; background: rgba(15,17,35,.62); backdrop-filter: blur(7px); display: grid; place-items: center; }.modal { width: min(720px, 100%); max-height: calc(100vh - 48px); padding: 29px; overflow-y: auto; border-radius: 20px; background: #fff; box-shadow: 0 30px 80px rgba(11,13,32,.32); }.modal-head { margin-bottom: 22px; display: flex; align-items: flex-start; justify-content: space-between; }.modal-head h2 { margin: 0; font-size: 21px; }.drop-zone { min-height: 145px; padding: 22px; border: 1.5px dashed #c9c8dc; border-radius: 15px; background: #faf9ff; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; cursor: pointer; }.drop-zone:hover { border-color: var(--violet); background: #f5f3ff; }.drop-zone input { display: none; }.upload-symbol { width: 42px; height: 42px; margin-bottom: 9px; border-radius: 12px; color: var(--violet); background: #eae7ff; display: grid; place-items: center; font-size: 21px; }.drop-zone strong { font-size: 12px; }.drop-zone small { margin-top: 6px; color: var(--muted); font-size: 10px; }.form-grid { margin-top: 20px; display: grid; grid-template-columns: 1fr 1fr; gap: 15px; }.form-grid label, .auth-form label { display: grid; gap: 7px; }.form-grid label.wide { grid-column: 1 / -1; }.form-grid label span, .auth-form label span, .split-preview > span { color: #656d81; font-size: 10px; font-weight: 700; }.form-grid input, .form-grid select, .auth-form input { width: 100%; height: 44px; padding: 0 12px; border: 1px solid #dfe1e9; border-radius: 9px; outline: 0; color: var(--ink); background: #fff; }.form-grid input:focus, .form-grid select:focus, .auth-form input:focus { border-color: var(--violet); box-shadow: 0 0 0 3px rgba(102,86,232,.1); }.split-preview { margin-top: 18px; padding: 14px 16px; border-radius: 11px; background: #f6f6fa; display: grid; grid-template-columns: auto auto 1fr; align-items: center; gap: 12px; }.split-preview strong { font-size: 11px; }.split-preview small { color: var(--muted); text-align: right; font-size: 9px; }.form-actions { margin-top: 23px; display: flex; justify-content: flex-end; gap: 9px; }.toast { position: fixed; z-index: 50; right: 24px; bottom: 24px; max-width: 360px; padding: 13px 16px; border-radius: 10px; color: #fff; background: #24283e; box-shadow: var(--shadow); font-size: 11px; }.toast.error { background: #a9414b; }

.auth-body { min-height: 100vh; background: #f3f4f8; }.auth-shell { min-height: 100vh; display: grid; grid-template-columns: minmax(440px, 1.08fr) minmax(440px, .92fr); }.auth-story { min-height: 100vh; padding: 42px clamp(40px, 6vw, 90px); color: #fff; background: radial-gradient(circle at 80% 20%, rgba(126,104,237,.55), transparent 26%), linear-gradient(145deg, #131528, #29234f 64%, #493ab5); display: flex; flex-direction: column; position: relative; overflow: hidden; }.auth-story::after { content: ""; position: absolute; width: 440px; height: 440px; left: -220px; bottom: -260px; border: 1px solid rgba(255,255,255,.1); border-radius: 50%; box-shadow: 0 0 0 65px rgba(255,255,255,.025), 0 0 0 130px rgba(255,255,255,.018); }.brand.light { color: #fff; padding: 0; }.auth-story-copy { max-width: 600px; margin: auto 0; position: relative; z-index: 1; }.auth-story h1 { margin: 19px 0 17px; font-size: clamp(38px, 5.4vw, 65px); line-height: 1.13; letter-spacing: -.045em; }.auth-story-copy > p { max-width: 510px; color: #b7b9ca; font-size: 13px; line-height: 1.8; }.auth-proof { position: relative; z-index: 1; padding: 16px 18px; border: 1px solid rgba(255,255,255,.09); border-radius: 14px; background: rgba(255,255,255,.045); display: flex; align-items: center; gap: 13px; }.auth-proof > span { width: 31px; height: 31px; border-radius: 50%; color: #68ddb2; background: rgba(61,199,149,.12); display: grid; place-items: center; }.auth-proof p { margin: 0; }.auth-proof strong, .auth-proof small { display: block; }.auth-proof strong { font-size: 10px; }.auth-proof small { margin-top: 4px; color: #8f94a9; font-size: 9px; }
.auth-panel { padding: 50px clamp(36px, 7vw, 100px); background: #fff; display: flex; flex-direction: column; align-items: center; justify-content: center; }.auth-card { width: min(410px, 100%); }.auth-card h2 { margin: 0; font-size: 29px; letter-spacing: -.035em; }.auth-subtitle { margin: 9px 0 26px; color: var(--muted); font-size: 11px; }.auth-form { display: grid; gap: 16px; }.auth-form input { height: 48px; }.auth-submit { width: 100%; height: 49px; margin-top: 5px; justify-content: space-between; padding: 0 18px; }.auth-switch { margin-top: 22px; color: var(--muted); text-align: center; font-size: 10px; }.auth-switch a { color: var(--violet); font-weight: 800; text-decoration: none; }.auth-footnote { margin: 34px 0 0; color: #a3a7b4; font-size: 9px; }.form-alert { margin-bottom: 18px; padding: 11px 13px; border: 1px solid #f0c9cc; border-radius: 9px; color: #9e3d47; background: #fff3f4; font-size: 10px; }.auth-feature-list { margin-top: 29px; display: grid; gap: 15px; }.auth-feature-list p { margin: 0; color: #c7c8d6; display: flex; align-items: center; gap: 12px; font-size: 11px; }.auth-feature-list span { width: 30px; height: 30px; border-radius: 8px; color: #cfc9ff; background: rgba(255,255,255,.08); display: grid; place-items: center; font-size: 8px; font-weight: 800; }

@media (max-width: 900px) {
  .app-shell { grid-template-columns: 1fr; }.sidebar { position: static; height: auto; padding: 15px 18px; flex-direction: row; align-items: center; gap: 15px; }.sidebar .brand { padding: 0; }.nav-label, .connection-card, .sidebar-spacer, .user-card > div { display: none; }.sidebar nav { margin-left: auto; display: flex; }.nav-item { min-height: 39px; padding: 0 10px; }.nav-item > span:not(.nav-icon) { display: none; }.nav-count { display: none !important; }.user-card { padding: 0; border: 0; grid-template-columns: auto auto; }.workspace { padding: 25px 22px 50px; }.dashboard-grid, .assistant-layout { grid-template-columns: 1fr; }.assistant-side { display: grid; grid-template-columns: repeat(3, 1fr); }.assistant-side > div { border-top: 0; }.guide-grid { grid-template-columns: 1fr; }.auth-shell { grid-template-columns: 1fr; }.auth-story { min-height: 380px; }.auth-proof { display: none; }.auth-panel { min-height: 600px; }.auth-story h1 { font-size: 40px; }
}
@media (max-width: 600px) {
  .workspace { padding: 20px 14px 42px; }.topbar { align-items: flex-end; }.topbar .button { min-height: 38px; padding: 0 11px; }.hero { padding: 33px 24px; }.hero h2 br { display: none; }.hero-ask > div { grid-template-columns: 1fr; padding: 8px; }.hero-ask input { min-height: 41px; padding: 0 6px; }.stats { grid-template-columns: 1fr; }.page-intro { align-items: flex-end; }.page-intro h2 { font-size: 24px; }.assistant-side { grid-template-columns: 1fr; }.form-grid { grid-template-columns: 1fr; }.form-grid label.wide { grid-column: auto; }.split-preview { grid-template-columns: 1fr; }.split-preview small { text-align: left; }.modal { padding: 22px; }.auth-story { min-height: 310px; padding: 30px 24px; }.auth-story-copy { margin-top: 65px; }.auth-story h1 { font-size: 32px; }.auth-panel { min-height: auto; padding: 48px 24px; }
}

/* ---- 会话侧栏与引用角标 ---- */
.conversation-rail { border: 1px solid var(--line); border-radius: 18px; background: var(--paper); padding: 16px 14px; display: flex; flex-direction: column; min-height: 590px; }
.conversation-new { width: 100%; justify-content: center; }
.conversation-label { margin: 16px 2px 10px; color: var(--muted); font-size: 9px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.conversation-list { display: flex; flex-direction: column; gap: 4px; overflow-y: auto; }
.conversation-item { position: relative; display: grid; grid-template-columns: 1fr auto auto; align-items: center; gap: 6px; width: 100%; padding: 9px 10px; border: 0; border-radius: 10px; color: #4a5268; background: transparent; text-align: left; cursor: pointer; }
.conversation-item:hover { background: #f6f5fb; }
.conversation-item.active { color: var(--violet); background: #efedff; }
.conversation-title { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 11px; font-weight: 600; }
.conversation-item small { color: var(--muted); font-size: 9px; }
.conversation-delete { width: 18px; height: 18px; border-radius: 6px; color: #9aa0b2; display: grid; place-items: center; font-size: 12px; }
.conversation-delete:hover { color: #b54848; background: #fff0f0; }
.conversation-empty { margin: 8px 2px; color: var(--muted); font-size: 10px; }
.citation-mark { display: inline-block; min-width: 16px; height: 16px; margin: 0 2px; padding: 0 3px; border-radius: 5px; vertical-align: 2px; color: var(--violet); background: #efedff; font-size: 9px; font-weight: 700; line-height: 16px; text-align: center; cursor: pointer; border: 0; }
.citation-mark:hover { background: #ddd8ff; }
.source-card.flash { outline: 2px solid var(--violet); outline-offset: 1px; }
@media (max-width: 1080px) { .assistant-layout { grid-template-columns: 170px minmax(0, 1fr); } .assistant-side { display: none; } }
