:root {
  font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", sans-serif;
  color: #172b4d; background: #fff; font-size: 14px; line-height: 1.65;
  --blue: #2475ef; --ink: #172b4d; --muted: #64748b; --line: #e5ebf3;
  --surface: #f7f9fc; --rail: #edf3fb; --active: #deebff; --radius: 8px;
}
* {box-sizing: border-box}
body {margin: 0}
button, input, select, textarea {font: inherit; color: inherit}
button, a, input, select, textarea {-webkit-tap-highlight-color: transparent}
button {display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 40px; padding: 8px 14px; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; cursor: pointer}
button:hover:not(:disabled) {background: #f0f5fd; color: #175ec7}
button:disabled {opacity: .55; cursor: wait}
:focus-visible {outline: 3px solid #91baff; outline-offset: 3px}
input, select, textarea {padding: 10px 12px; border: 1px solid #cbd5e3; border-radius: var(--radius); background: #fff; max-width: 100%; min-height: 42px}
input::placeholder, textarea::placeholder {color: #60718a; opacity: 1}
textarea {resize: none; width: 100%}
input[type=checkbox] {width: 18px; height: 18px; min-height: 18px; accent-color: var(--blue); flex: 0 0 auto}
h1, h2, h3, p {margin-top: 0}
h1, h2, h3 {color: #14243e; font-weight: 600}
h1 {font-size: 20px} h2 {font-size: 24px} h3 {font-size: 17px}
p {margin-bottom: 16px}
[hidden] {display: none !important}
a {color: #2269d0; text-decoration: none}
.primary, .button.primary {background: var(--blue); color: white; border-color: var(--blue)}
.primary:hover:not(:disabled) {background: #1664d8; color: white}
.secondary {background: #fff}
.text-button {border-color: transparent; background: transparent; color: #2269d0; padding: 6px 10px}
.icon-button {width: 36px; min-width: 36px; min-height: 36px; padding: 8px; background: transparent; border: 0}
.icon, .app-logo svg {width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.65; stroke-linecap: round; stroke-linejoin: round; flex-shrink: 0}
.fine, .subtle {color: var(--muted)} .fine {font-size: 12px; line-height: 1.8}
.app-logo {display: inline-flex; align-items: center; justify-content: center; width: 34px; height: 34px; border-radius: 9px; color: var(--blue); background: #deebff; flex-shrink: 0}
.app-logo svg {width: 26px; height: 26px; stroke-width: 1.85}
.shell {display: grid; grid-template-columns: 248px minmax(0, 1fr); min-height: 100dvh}
.rail {position: fixed; inset: 0 auto 0 0; width: 248px; background: var(--rail); border-right: 1px solid #e2eaf5; padding: 24px 16px 12px; display: flex; flex-direction: column; z-index: 30}
.brand {display: flex; align-items: center; gap: 10px; padding: 0 8px; color: var(--ink); font-size: 19px; font-weight: 650; margin-bottom: 26px}
.organization {display: flex; flex-wrap: wrap; align-items: center; gap: 8px; font-size: 12px; color: #475d7b; padding: 0 10px 20px}
.org-avatar {display: inline-flex; align-items: center; justify-content: center; width: 23px; height: 23px; border-radius: 6px; background: #d6e5f9; color: #285b9a; font-size: 11px}
.org-caption {margin-left: auto; color: #6d7e96; font-size: 10px}
.new-chat {justify-content: flex-start; padding: 11px 12px; color: #2168d2; border-color: #cdddf5; background: #fff; font-weight: 550; margin-bottom: 18px}
.shortcut {margin-left: auto; color: #60718a; font-size: 16px; font-weight: 400}
.rail nav {display: grid; gap: 4px; margin-bottom: 20px}
.rail nav button, .rail-bottom>button {justify-content: flex-start; background: transparent; border: 0; width: 100%; padding: 10px 12px; color: #486080}
.rail nav button[aria-current=page], .rail-bottom>button[aria-current=page] {background: var(--active); color: #1765d6; font-weight: 550}
.history-label {display: flex; justify-content: space-between; align-items: center; padding-left: 12px; color: #6d7e96}
.history-label h2 {font-size: 11px; font-weight: 500; color: inherit; margin: 0}
.history-label .icon {width: 15px; height: 15px}
.history-search {margin: 8px 4px}.history-search input {width: 100%; min-height: 36px; font-size: 12px; padding: 6px 9px}
.conversation-list {overflow: auto; flex: 1; padding: 4px 0 20px; min-height: 80px}
.history-item {display: block; width: 100%; text-align: left; border: 0; background: transparent; min-height: 37px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; padding: 8px 12px; font-size: 13px; color: #415875}
.history-item[aria-current=page] {background: #dfeaf9; color: #154d9e}
.history-empty {font-size: 12px; color: #6d7e96; padding: 12px}
.rail-bottom {border-top: 1px solid #dce5f0; padding-top: 10px}
.account {display: flex; align-items: center; gap: 9px; padding: 14px 4px 4px}
.account strong {display: block; font-size: 12px; font-weight: 500}.account span:not(.user-avatar) {display: block; font-size: 10px; color: #6d7e96}.account .text-button {margin-left: auto; font-size: 11px; padding: 4px}
.user-avatar {display: inline-flex; align-items: center; justify-content: center; width: 31px; height: 31px; border-radius: 50%; background: #dae6f6; color: #45638e; font-size: 12px}
main {grid-column: 2; min-width: 0}
.topbar {height: 68px; border-bottom: 1px solid var(--line); display: flex; align-items: center; gap: 12px; padding: 0 30px; background: #fff}
.topbar h1 {font-size: 17px; font-weight: 550; margin: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 65%}
.topbar-actions {display: flex; align-items: center; gap: 6px; margin-left: auto}
.connection {font-size: 11px; color: #60718a; margin-right: 8px; white-space: nowrap}
.connection::before {content: ''; display: inline-block; width: 5px; height: 5px; border-radius: 50%; background: #98a5b7; margin: 0 6px 1px 0}
.connection.online::before {background: #2f8a69}
.mobile-only {display: none}
.notice {margin: 12px 28px; padding: 10px 14px; border: 1px solid #cadcf8; border-radius: 6px; background: #f0f6ff; font-size: 13px; overflow-wrap: anywhere}
.notice.error {background: #fff5f3; border-color: #f0ceca; color: #a93931}
.chat-page {height: calc(100dvh - 68px); display: flex; flex-direction: column; min-height: 460px; padding-bottom: env(safe-area-inset-bottom)}
.thread-scroll {flex: 1; overflow-y: auto; min-height: 0; scroll-behavior: smooth}
.thread-inner {width: min(800px, calc(100% - 64px)); margin: 0 auto; padding: 30px 0}
.chat-welcome {display: flex; flex-direction: column; align-items: center; text-align: center; padding: 0 0 18px}
.hero-logo {width: 56px; height: 56px; border-radius: 16px; margin-bottom: 24px; background: #eaf2ff}
.hero-logo svg {width: 39px; height: 39px}
.chat-welcome h2 {font-size: 29px; font-weight: 550; margin-bottom: 10px; letter-spacing: .01em}
.chat-welcome p {font-size: 16px; color: #60718a; margin: 0}
.empty-chat {justify-content: center; padding-bottom: clamp(40px, 12vh, 130px)}
.empty-chat .thread-scroll {flex: 0 0 auto; overflow: visible}
.empty-chat .thread-inner {padding-bottom: 24px; padding-top: 18px}
.composer-area {width: min(800px, calc(100% - 64px)); margin: 0 auto; flex: 0 0 auto; padding: 0 0 12px}
.composer {border: 1px solid #d9e3ef; border-radius: 16px; background: #fff; padding: 17px 18px 13px}
.composer:focus-within {border-color: #84b0f4}
.composer textarea {border: 0; border-radius: 0; padding: 0; line-height: 1.8; min-height: 56px; max-height: 180px; background: transparent; font-size: 15px; outline: none}
.composer textarea:focus-visible {outline: none}
.composer-tools {display: flex; align-items: center; gap: 10px; justify-content: space-between; margin-top: 7px}
.composer-scope {display: flex; align-items: center; gap: 5px; max-width: calc(100% - 55px); color: #5b6f8c}
.composer-scope .icon {width: 16px; height: 16px}
.composer-scope select {border: 0; font-size: 12px; min-height: 34px; padding: 4px 18px 4px 4px; background: transparent; max-width: 100%; text-overflow: ellipsis}
.composer-scope select:disabled {opacity: 1; color: #5b6f8c}
.send-button {background: var(--blue); color: white; border: 0; width: 36px; min-height: 36px; padding: 7px; border-radius: 10px}
.send-button:hover:not(:disabled) {background: #1564da; color: white}
.composer-note {margin: 9px 0 0; font-size: 11px; color: #60718a; text-align: center}
.suggestions {display: flex; justify-content: center; flex-wrap: wrap; gap: 8px; margin-top: 23px}
.suggestions button {border-color: #e4ebf4; background: #f8fafd; font-size: 12px; color: #586e8b; min-height: 34px; padding: 7px 12px}
.turn {margin-bottom: 34px}.user-message {display: flex; justify-content: flex-end; margin: 0 0 28px}
.user-message p {white-space: pre-wrap; overflow-wrap: anywhere; max-width: 85%; background: #edf3fb; border-radius: 16px 16px 4px 16px; padding: 12px 18px; margin: 0; line-height: 1.8; font-size: 15px}
.assistant-message {display: grid; grid-template-columns: 30px minmax(0,1fr); gap: 14px}.assistant-mark {width: 28px; height: 28px; background: #eaf2ff; border-radius: 8px; color: var(--blue); display: flex; align-items: center; justify-content: center}.assistant-mark .icon {width: 20px; height: 20px}
.answer-content {min-width: 0}.answer-label {font-size: 12px; color: #60718a; display: block; margin: 2px 0 9px}.answer-text {font-size: 15px; line-height: 1.95; white-space: pre-wrap; overflow-wrap: anywhere; margin: 0 0 12px}
.answer-meta {font-size: 11px; color: #60718a; margin: 12px 0 0}.citations {margin: 14px 0}.citations summary {font-size: 12px; color: #4774af; cursor: pointer; padding: 5px 0}.citation {display: block; width: 100%; text-align: left; margin-top: 8px; padding: 12px; font-size: 12px; background: #f8fafd; border-color: #e8edf5; overflow-wrap: anywhere}.citation small {display: block; color: #637a98; margin-bottom: 4px}.citation span {display: block; color: #405571}.answer-actions {display: flex; gap: 8px; margin-top: 8px}.answer-actions button {min-height: 30px; padding: 3px 6px; font-size: 11px; color: #617693; border: 0; background: transparent}.answer-actions .icon {width: 14px; height: 14px}.pending {color: #657a96; font-size: 13px}.pending::after {content: '…'}
.workspace-pages {padding: 30px 34px 50px; background: #f8fafd; min-height: calc(100dvh - 68px)}
.workspace-heading {margin-bottom: 25px}.workspace-heading h2 {font-size: 25px; margin-bottom: 6px}.workspace-heading p {color: #60718a; font-size: 13px; margin: 0}
.scope {display: flex; align-items: center; flex-wrap: wrap; gap: 10px; margin-bottom: 22px}.scope>label {font-size: 12px; color: #61738d}.scope select {border-color: #dce5f0; font-size: 12px; min-height: 38px; padding: 7px 10px}.scope #group {max-width: 320px}.scope .fine {margin-right: auto}.scope button {font-size: 12px; min-height: 38px}.scope .icon {width: 15px; height: 15px}
.page {background: white; border: 1px solid #e8eef6; border-radius: 10px; padding: 24px}
.section-head {display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 16px}.section-head h2,.section-head h3 {margin: 0}.section-head h2 {font-size: 20px}
.search {display: flex; align-items: center; gap: 6px; width: 280px; border: 1px solid #dce5f0; padding-left: 10px; border-radius: 6px; color: #60718a}.search .icon {width: 16px; height: 16px}.search input {border: 0; min-width: 0; width: 100%; font-size: 12px; min-height: 36px; padding: 7px}
.message {display: grid; grid-template-columns: 34px minmax(0,1fr); gap: 12px; padding: 20px 0; border-bottom: 1px solid #edf1f7}.message-avatar {display: flex; align-items: center; justify-content: center; width: 34px; height: 34px; border-radius: 8px; background: #edf3fc; color: #4f75aa; font-size: 13px}.message-body {min-width: 0}.message-meta {display: flex; align-items: baseline; gap: 8px; flex-wrap: wrap; font-size: 11px; color: #60718a; margin-bottom: 7px}.message-meta strong {font-size: 13px; color: #405e83; font-weight: 500}.message p {white-space: pre-wrap; overflow-wrap: anywhere; line-height: 1.85; margin: 0; max-width: 900px}.more {display: flex; margin: 24px auto 0; font-size: 12px}.tag {display: inline-block; font-size: 11px; padding: 3px 8px; border-radius: 4px; background: #f0f5fc; color: #607897; white-space: nowrap}
.analysis-layout {display: grid; grid-template-columns: 230px minmax(0,1fr); margin-top: 24px; gap: 28px}.dimensions {display: flex; flex-direction: column; gap: 8px}.dimension {justify-content: flex-start; text-align: left; padding: 14px; border: 1px solid transparent; background: #f6f9fd}.dimension strong {margin-left: auto; font-size: 14px; color: #6c84a4; font-weight: 500}.dimension[aria-pressed=true] {border-color: #9dc1fa; background: #eef5ff; color: #1765d6}.dimension .icon {width: 18px; height: 18px}.dimension-detail {min-width: 0}.dimension-detail h3 {font-size: 16px;margin: 0 0 8px}.dimension-detail .message:first-of-type {border-top: 1px solid var(--line)}
.empty {text-align: center; padding: 50px 20px; color: var(--muted)}.empty h3 {font-size: 18px; margin-bottom: 10px}.empty p {font-size: 13px; max-width: 460px; margin: 0 auto 20px}
.settings-block {padding-bottom: 25px; margin-bottom: 28px; border-bottom: 1px solid var(--line)}.settings-block:last-child {border: 0; margin: 0; padding: 0}.settings-block .subtle {font-size: 13px}.facts {margin: 0 0 14px}.facts>div {display: grid; grid-template-columns: 150px minmax(0,1fr); gap: 20px; padding: 9px 0; font-size: 13px}.facts dt {color: #6a7f9a}.facts dd {margin: 0; overflow-wrap: anywhere}.group-option {display: flex; align-items: center; gap: 12px; padding: 14px 0; border-bottom: 1px solid #edf1f7}.group-option small {display: block; color: #60718a; font-size: 11px; margin-top: 3px}.actions {display: flex; align-items: center; flex-wrap: wrap; gap: 18px; margin-top: 20px}.toggle {display: flex; align-items: center; gap: 8px; font-size: 12px}.job {display: flex; gap: 12px; padding: 12px 0; border-bottom: 1px solid #edf1f7; font-size: 12px; flex-wrap: wrap}.job time {margin-left: auto; color: #60718a}.job strong {font-weight: 500}.settings-block summary {color: #3870bb; cursor: pointer; font-size: 12px}.settings-block details p {margin-top: 12px}
.login {min-height: 100dvh; display: grid; place-items: center; background: #f4f7fb}.login-body {width: min(440px,92vw); padding: 40px; background: white; border-radius: 12px; border: 1px solid #e3eaf4}.login .large {width: 48px; height: 48px; margin-bottom: 24px}.login h1 {font-size: 27px; margin-bottom: 10px}.login-lead {color: #6c7e98; margin-bottom: 32px}.login label {display: block; font-size: 12px; margin-bottom: 8px}.login input {width: 100%; margin-bottom: 14px}.login .primary {display: flex; width: 100%; min-height: 42px; align-items: center; justify-content: center}.login .fine {margin-top: 22px; margin-bottom: 0}#login-error {color: #b33a32; margin-top: 12px; font-size: 12px}
dialog {border: 1px solid #d9e4f1; border-radius: 12px; width: min(680px,calc(100% - 32px)); max-height: 85dvh; padding: 24px}dialog::backdrop {background: #142c4e55}dialog .message {border: 0}#rename-dialog {max-width: 430px}#rename-dialog label {display: block; font-size: 12px; margin-bottom: 8px}#rename-dialog input {width: 100%}.drawer-overlay {display: none}
.sr-only {position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap}.skip {position: fixed; left: 12px; top: -100px; z-index: 99; background: white; padding: 12px}.skip:focus {top: 12px}
@media(max-width:1100px) {.analysis-layout {grid-template-columns: 190px minmax(0,1fr); gap: 18px}.workspace-pages {padding: 25px}.dimension {padding: 12px; font-size: 12px}.scope .fine {width: 100%;order: 5}}
@media(max-width:760px) {
 .shell {display: block}.rail {transform: translateX(-100%); width: min(296px,85vw); padding-top: max(24px,env(safe-area-inset-top)); transition: transform .18s ease-out}.shell.drawer-open .rail {transform: translateX(0)}.drawer-overlay:not([hidden]) {display: block; position: fixed; inset: 0; width: 100%; height: 100%; border: 0; border-radius: 0; background: #142c4e66; z-index: 25}
 .mobile-only {display: inline-flex}.topbar {height: 58px; padding: 0 12px; gap: 8px}.topbar h1 {font-size: 16px; max-width: 47%}.connection {display: none}.topbar-actions {gap: 2px}.chat-page {height: calc(100dvh - 58px); min-height: 340px}.thread-inner {width: calc(100% - 32px); padding: 22px 0}.composer-area {width: calc(100% - 28px); padding-bottom: max(12px,env(safe-area-inset-bottom))}.composer {padding: 15px 14px 10px; border-radius: 14px}.composer textarea {font-size: 16px; min-height: 56px}.composer-note {font-size: 10px;padding: 0 5px}.empty-chat {padding-bottom: 10vh}.empty-chat .thread-inner {padding-top: 10px; padding-bottom: 22px}.hero-logo {width: 48px; height: 48px; margin-bottom: 22px}.hero-logo svg {width: 33px; height: 33px}.chat-welcome h2 {font-size: 25px}.chat-welcome p {font-size: 14px}.suggestions {gap: 8px; margin-top: 20px}.suggestions button {font-size: 11px; padding: 6px 10px; min-height: 34px}.assistant-message {grid-template-columns: 26px minmax(0,1fr); gap: 10px}.assistant-mark {width: 25px; height: 25px}.answer-text,.user-message p {font-size: 14px}.user-message p {max-width: 90%; padding: 11px 14px}.turn {margin-bottom: 30px}.citation {font-size: 12px}.answer-meta {font-size: 10px}
 .workspace-pages {padding: 22px 14px 35px; min-height: calc(100dvh - 58px)}.workspace-heading h2 {font-size: 23px}.workspace-heading p {font-size: 12px}.scope {gap: 8px}.scope #group {flex: 1; min-width: 0; max-width: calc(100% - 48px)}.scope #period {max-width: 130px}.scope button {margin-left: auto}.scope .fine {order: 5;width: 100%}.page {padding: 17px 14px; border-radius: 9px}.section-head {gap: 10px}.section-head h3 {font-size: 15px}.search {width: 52%}.search input {font-size: 11px}.tag {font-size: 10px;padding: 3px 6px}.message {gap: 9px; grid-template-columns: 28px minmax(0,1fr); padding: 17px 0}.message-avatar {width: 28px;height: 28px;font-size: 12px}.message-meta {gap: 3px 8px;font-size: 10px}.message-meta strong {font-size: 12px}.message p {font-size: 13px}.analysis-layout {display: block;margin-top: 20px}.dimensions {display: grid;grid-template-columns: repeat(2,minmax(0,1fr));gap: 7px;margin-bottom: 24px}.dimension {padding: 10px;font-size: 11px;gap: 6px}.dimension strong {font-size: 12px}.dimension .icon {width: 15px;height: 15px}.facts>div {grid-template-columns: 95px minmax(0,1fr);gap: 12px;font-size: 12px}.settings-block .section-head button {font-size: 11px;padding: 7px 10px}.settings-block .subtle {font-size: 12px}.group-option {font-size: 12px}.job time {width: 100%;margin-left: 0}.notice {margin: 10px 14px;font-size: 12px}.login-body {padding: 30px 24px}.brand {margin-bottom: 20px}
}
@media(prefers-reduced-motion:reduce) {* {transition: none!important;scroll-behavior: auto!important}}
.admin-entry{display:block;padding:10px 12px;color:#1765d6;font-weight:500}.media-part{margin-top:12px;display:grid;gap:8px}.media-part img,.media-part video{max-width:min(100%,420px);max-height:360px;object-fit:contain;border-radius:8px}.media-part audio{max-width:100%}.media-part a{font-size:12px;color:#1765d6}.media-part details p{white-space:pre-wrap}.report-row{display:flex;width:100%;justify-content:flex-start;margin:8px 0;text-align:left}#daily-report-detail p{white-space:pre-wrap}#daily-report-detail h3{margin-top:24px}
