:root {
  --canvas: #f5f5f7;
  --surface: #ffffff;
  --surface-soft: #f8f8fa;
  --line: rgba(28, 28, 30, .09);
  --line-strong: rgba(28, 28, 30, .16);
  --ink: #1d1d1f;
  --ink-2: #48484a;
  --muted: #6e6e73;
  --blue: #0071e3;
  --blue-text: #005bb5;
  --blue-soft: #eaf3ff;
  --green: #24845c;
  --orange: #c76b20;
  --purple: #7657bd;
  --red: #c83d4f;
  --radius: 16px;
  --radius-lg: 22px;
  --shadow: 0 1px 2px rgba(0,0,0,.025), 0 14px 38px rgba(0,0,0,.05);
}

* { box-sizing: border-box; }
html, body { margin: 0; min-height: 100%; }
body { overflow: hidden; background: var(--canvas); color: var(--ink); font: 14px/1.5 -apple-system, BlinkMacSystemFont, "SF Pro Text", "PingFang SC", "Helvetica Neue", sans-serif; -webkit-font-smoothing: antialiased; }
button, input, select, textarea { font: inherit; }
button { color: inherit; }
.svg-defs { position: absolute; width: 0; height: 0; overflow: hidden; }
.icon { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.is-hidden { display: none !important; }

.assistant-shell { display: grid; grid-template-columns: 252px minmax(600px,1fr) 292px; height: 100dvh; }
.left-sidebar { display: flex; flex-direction: column; min-width: 0; padding: 24px 14px 18px; border-right: 1px solid var(--line); background: rgba(248,248,250,.9); backdrop-filter: blur(26px) saturate(145%); }
.brand { display: flex; align-items: center; gap: 11px; padding: 0 10px; }
.brand-mark { display: grid; width: 36px; height: 36px; place-items: center; border-radius: 11px; background: var(--ink); color: #fff; font-family: Georgia, serif; font-size: 17px; }
.brand strong, .brand small { display: block; }
.brand strong { font-size: 14px; font-weight: 670; letter-spacing: -.015em; }
.brand small { margin-top: 2px; color: var(--muted); font-size: 8px; font-weight: 650; letter-spacing: .12em; }
.new-conversation { display: flex; align-items: center; justify-content: center; gap: 8px; min-height: 42px; margin: 24px 4px 22px; border: 1px solid var(--line-strong); border-radius: 12px; background: #fff; font-size: 12px; font-weight: 630; cursor: pointer; box-shadow: 0 1px 3px rgba(0,0,0,.03); }
.new-conversation:active { transform: scale(.985); }
.new-conversation .icon { width: 15px; color: var(--blue); }
.nav-label { display: block; margin: 0 10px 8px; color: var(--muted); font-size: 10px; font-weight: 650; }
.task-nav { display: flex; flex-direction: column; gap: 4px; }
.task-link { display: grid; grid-template-columns: 8px 1fr; align-items: start; gap: 10px; min-height: 55px; padding: 10px 11px; border: 0; border-radius: 12px; background: transparent; text-align: left; cursor: pointer; }
.task-link:hover { background: rgba(0,0,0,.035); }
.task-link.is-active { background: #fff; box-shadow: 0 1px 5px rgba(0,0,0,.055); }
.task-dot { width: 7px; height: 7px; margin-top: 6px; border-radius: 50%; background: var(--muted); }
.task-dot.blue { background: var(--blue); }.task-dot.green { background: var(--green); }.task-dot.orange { background: var(--orange); }.task-dot.purple { background: var(--purple); }
.task-link strong, .task-link small { display: block; }
.task-link strong { font-size: 12px; font-weight: 640; }
.task-link small { margin-top: 3px; color: var(--muted); font-size: 9px; line-height: 1.4; }
.primary-menu { display: flex; flex-direction: column; gap: 3px; min-height: 0; overflow-y: auto; }
.menu-group { border-radius: 12px; }
.primary-link { display: grid; grid-template-columns: 8px 1fr 15px; align-items: center; gap: 10px; width: 100%; min-height: 41px; padding: 0 11px; border: 0; border-radius: 11px; background: transparent; text-align: left; cursor: pointer; }
.primary-link:hover { background: rgba(0,0,0,.035); }
.primary-link.is-active { background: #fff; box-shadow: 0 1px 5px rgba(0,0,0,.055); }
.primary-link strong { font-size: 11px; font-weight: 650; }
.primary-link .icon { width: 13px; color: var(--muted); transition: transform .16s ease; }
.menu-group.is-open .primary-link .icon { transform: rotate(180deg); }
.menu-group:not([data-menu-group="assistant"]) .primary-link { grid-template-columns: 8px 1fr; }
.task-dot.graphite { background: #74747a; }.task-dot.red { background: var(--red); }
.secondary-menu { display: none; padding: 4px 8px 7px 29px; }
.menu-group.is-open .secondary-menu { display: flex; flex-direction: column; }
.secondary-menu button { min-height: 29px; padding: 0 9px; border: 0; border-radius: 8px; background: transparent; color: var(--muted); font-size: 9px; text-align: left; cursor: pointer; }
.secondary-menu button:hover { background: rgba(0,0,0,.035); color: var(--ink-2); }
.secondary-menu button.is-active { color: var(--blue-text); font-weight: 650; }
.sidebar-history { margin-top: 24px; padding-top: 18px; border-top: 1px solid var(--line); }
.sidebar-history button { display: block; width: 100%; padding: 7px 10px; overflow: hidden; border: 0; border-radius: 8px; background: transparent; color: var(--ink-2); font-size: 10px; text-align: left; text-overflow: ellipsis; white-space: nowrap; cursor: pointer; }
.sidebar-history button:hover { background: rgba(0,0,0,.035); }
.sidebar-bottom { margin-top: auto; }
.sidebar-bottom > button { display: flex; align-items: center; gap: 8px; width: 100%; padding: 9px 10px; border: 0; border-radius: 9px; background: transparent; color: var(--ink-2); font-size: 10px; cursor: pointer; }
.sidebar-bottom > button:hover { background: rgba(0,0,0,.035); }
.sidebar-bottom > button .icon { width: 15px; }
.sync-state { display: flex; align-items: flex-start; gap: 9px; margin: 12px 10px 0; padding-top: 14px; border-top: 1px solid var(--line); }
.sync-state > span { width: 7px; height: 7px; margin-top: 5px; border-radius: 50%; background: var(--green); box-shadow: 0 0 0 4px rgba(36,132,92,.09); }
.sync-state strong, .sync-state small { display: block; }
.sync-state strong { font-size: 10px; font-weight: 630; }.sync-state small { margin-top: 3px; color: var(--muted); font-size: 8px; }

.conversation-stage { display: grid; grid-template-rows: auto auto auto minmax(0,1fr) auto; min-width: 0; min-height: 0; height: 100%; background: var(--surface); }
.conversation-header { display: flex; align-items: center; justify-content: space-between; gap: 24px; min-height: 76px; padding: 14px 28px; border-bottom: 1px solid var(--line); background: rgba(255,255,255,.84); backdrop-filter: blur(24px) saturate(145%); }
.conversation-header > div:first-child span { color: var(--blue); font-size: 9px; font-weight: 700; letter-spacing: .11em; }
.conversation-header h1 { margin: 4px 0 0; font-size: 19px; font-weight: 670; letter-spacing: -.025em; }
.header-actions { display: flex; align-items: center; gap: 12px; }
.header-actions > span { color: var(--muted); font-size: 9px; }
.header-actions button { display: grid; width: 34px; height: 34px; place-items: center; border: 1px solid var(--line); border-radius: 10px; background: #fff; cursor: pointer; }
.header-actions button:active { transform: scale(.95); }.header-actions .icon { width: 15px; }
.header-actions .context-ai-button { display: inline-flex; width: auto; min-width: 88px; padding: 0 11px; gap: 6px; border-color: rgba(0,113,227,.2); background: var(--blue-soft); color: var(--blue); font-size: 9px; font-weight: 650; }
.security-notice { margin: 10px 28px 0; padding: 8px 11px; border: 1px solid #efc7c0; border-radius: 9px; background: #fff2ef; color: #923f36; font-size: 9px; }
.loading-line { position: relative; height: 2px; overflow: hidden; }.loading-line span { position: absolute; inset: 0; background: var(--blue); transform: scaleX(0); transform-origin: left; opacity: 0; }
.loading-line.is-loading span { opacity: 1; animation: loading 1.1s ease-in-out infinite; }
@keyframes loading { 0% { transform: translateX(-100%) scaleX(.35); } 60% { transform: translateX(45%) scaleX(.55); } 100% { transform: translateX(120%) scaleX(.25); } }

.workspace-content { min-height: 0; overflow: hidden; }
.workspace-view { display: none; height: 100%; min-height: 0; }
.workspace-view.is-active { display: block; animation: appear .16s ease-out; }
#view-assistant.is-active { display: block; }
.conversation { height: 100%; min-height: 0; overflow-y: auto; scroll-behavior: smooth; }
.conversation-inner { width: min(820px, calc(100% - 44px)); margin: 0 auto; padding: 42px 0 30px; }
.conversation-intro { margin-bottom: 28px; }
.conversation-intro > span { color: var(--muted); font-size: 11px; }
.conversation-intro h2 { max-width: 680px; margin: 8px 0 0; font-size: clamp(26px,3vw,38px); font-weight: 670; line-height: 1.12; letter-spacing: -.045em; }
.conversation-intro p { max-width: 640px; margin: 12px 0 0; color: var(--muted); font-size: 13px; line-height: 1.65; }
.conversation-inner.decision-home { width: min(940px,calc(100% - 44px)); padding-top: 30px; }
.decision-home-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 28px; }.decision-home-head > div > span { color: var(--blue); font-size: 9px; font-weight: 720; letter-spacing: .09em; }.decision-home-head h2 { margin: 7px 0 0; font-size: clamp(28px,3vw,39px); font-weight: 690; line-height: 1.1; letter-spacing: -.045em; }.decision-home-head p { margin: 9px 0 0; color: var(--muted); font-size: 10px; }.decision-snapshot { min-width: 210px; padding: 13px 15px; border: 1px solid var(--line); border-radius: 13px; background: rgba(255,255,255,.88); }.decision-snapshot span,.decision-snapshot strong,.decision-snapshot small { display: block; }.decision-snapshot span { color: var(--muted); font-size: 8px; }.decision-snapshot strong { margin-top: 5px; font-size: 12px; }.decision-snapshot small { margin-top: 4px; color: var(--muted); font-size: 8px; }
.workflow-strip { display: grid; grid-template-columns: repeat(5,1fr); margin-top: 24px; overflow: hidden; border: 1px solid var(--line); border-radius: 14px; background: #fff; box-shadow: 0 8px 26px rgba(0,0,0,.035); }.workflow-stage { position: relative; display: grid; grid-template-columns: 24px minmax(0,1fr); align-items: center; gap: 8px; min-height: 67px; padding: 11px 12px; }.workflow-stage + .workflow-stage { border-left: 1px solid var(--line); }.workflow-stage i { display: grid; width: 23px; height: 23px; place-items: center; border-radius: 8px; background: var(--surface-soft); color: var(--muted); font-size: 8px; font-style: normal; font-weight: 700; }.workflow-stage span,.workflow-stage strong,.workflow-stage small { display: block; min-width: 0; }.workflow-stage strong { font-size: 9px; font-weight: 670; }.workflow-stage small { margin-top: 3px; overflow: hidden; color: var(--muted); font-size: 7px; text-overflow: ellipsis; white-space: nowrap; }.workflow-stage.is-done i { background: #e9f6ef; color: var(--green); }.workflow-stage.is-current { background: var(--blue-soft); }.workflow-stage.is-current i { background: var(--blue); color: #fff; box-shadow: 0 0 0 4px rgba(0,113,227,.1); }.workflow-stage.is-current strong { color: var(--blue-text); }
.today-decision-card { margin-top: 14px; padding: 22px; border: 1px solid var(--line); border-radius: 18px; background: #fff; box-shadow: 0 14px 40px rgba(0,0,0,.055); }.decision-card-top { display: flex; align-items: center; justify-content: space-between; gap: 16px; }.decision-card-top span { color: var(--blue); font-size: 9px; font-weight: 720; letter-spacing: .07em; }.decision-card-top em { color: var(--muted); font-size: 8px; font-style: normal; }.today-decision-card h2 { max-width: 760px; margin: 11px 0 0; font-size: 22px; font-weight: 690; line-height: 1.28; letter-spacing: -.03em; }.decision-verdict { margin: 8px 0 0; color: var(--ink-2); font-size: 11px; line-height: 1.6; }.decision-essentials { display: grid; grid-template-columns: 1.25fr 1fr 1fr; gap: 8px; margin-top: 18px; }.decision-essentials div { min-width: 0; padding: 12px; border-radius: 11px; background: var(--surface-soft); }.decision-essentials span,.decision-essentials strong { display: block; }.decision-essentials span { color: var(--muted); font-size: 8px; font-weight: 650; }.decision-essentials strong { margin-top: 6px; color: var(--ink-2); font-size: 9px; font-weight: 580; line-height: 1.55; }.today-decision-actions { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 18px; }.today-decision-actions button { min-height: 36px; padding: 0 12px; border: 1px solid var(--line-strong); border-radius: 10px; background: #fff; font-size: 9px; font-weight: 650; cursor: pointer; transition: transform .1s ease, background-color .14s ease; }.today-decision-actions button.primary { border-color: var(--blue); background: var(--blue); color: #fff; }.today-decision-actions button:active { transform: scale(.97); }.today-decision-card.is-empty p { margin: 8px 0 0; color: var(--muted); font-size: 10px; }
.evidence-entry { display: flex; align-items: center; gap: 7px; margin-top: 12px; padding: 12px 13px; border: 1px solid var(--line); border-radius: 13px; background: rgba(255,255,255,.78); }.evidence-entry > div { min-width: 190px; margin-right: auto; }.evidence-entry span,.evidence-entry strong { display: block; }.evidence-entry span { color: var(--muted); font-size: 8px; }.evidence-entry strong { margin-top: 3px; font-size: 9px; }.evidence-entry button { min-height: 31px; padding: 0 9px; border: 1px solid var(--line); border-radius: 9px; background: #fff; color: var(--ink-2); font-size: 8px; font-weight: 620; cursor: pointer; }.evidence-entry button:hover { border-color: rgba(0,113,227,.24); color: var(--blue); }
.after-confirm { display: grid; grid-template-columns: 1.25fr repeat(3,1fr); gap: 8px; margin-top: 20px; }.after-confirm > span { align-self: center; color: var(--muted); font-size: 9px; font-weight: 650; }.after-confirm div { display: grid; grid-template-columns: 22px 1fr; align-items: center; gap: 8px; padding: 10px; border-radius: 10px; background: rgba(255,255,255,.65); }.after-confirm div strong { display: grid; width: 21px; height: 21px; place-items: center; border-radius: 7px; background: var(--ink); color: #fff; font-size: 8px; }.after-confirm p { margin: 0; color: var(--ink-2); font-size: 8px; line-height: 1.4; }
.message { display: flex; align-items: flex-start; gap: 11px; margin-top: 24px; }
.message-avatar { display: grid; width: 30px; height: 30px; place-items: center; flex: 0 0 auto; border-radius: 10px; background: var(--ink); color: #fff; }
.message-avatar .icon { width: 15px; }
.message-content { min-width: 0; max-width: 720px; }
.message-content > span { display: block; margin-bottom: 7px; color: var(--muted); font-size: 10px; font-weight: 620; }
.message-copy { color: var(--ink-2); font-size: 15px; line-height: 1.76; }
.message-copy h2,.message-copy h3,.message-copy h4,.message-copy h5 { margin: 1.45em 0 .55em; color: var(--ink); font-weight: 700; line-height: 1.35; letter-spacing: -.015em; }.message-copy h2:first-child,.message-copy h3:first-child,.message-copy h4:first-child,.message-copy h5:first-child { margin-top: 0; }.message-copy h2 { font-size: 20px; }.message-copy h3 { font-size: 18px; }.message-copy h4 { font-size: 16px; }.message-copy h5 { font-size: 15px; }
.message-copy p { margin: 0 0 13px; }.message-copy p:last-child { margin-bottom: 0; }.message-copy strong { color: var(--ink); font-weight: 700; }.message-copy em { color: var(--ink-2); }.message-copy ul,.message-copy ol { margin: 8px 0 16px; padding-left: 1.55em; }.message-copy li { padding-left: .2em; line-height: 1.72; }.message-copy li + li { margin-top: 7px; }.message-copy hr { height: 1px; margin: 20px 0; border: 0; background: var(--line-strong); }.message-copy code { padding: 2px 5px; border-radius: 5px; background: var(--surface-soft); color: var(--ink); font: .9em/1.4 ui-monospace, SFMono-Regular, Menlo, monospace; }.message-copy blockquote { margin: 12px 0; padding: 9px 12px; border-left: 3px solid var(--blue); background: var(--blue-soft); color: var(--ink-2); }
.message.user { justify-content: flex-end; }
.message.user .message-avatar { display: none; }
.message.user .message-content { max-width: 620px; padding: 10px 14px; border-radius: 15px 15px 4px 15px; background: var(--blue); color: #fff; }
.message.user .user-context { display: block; margin-bottom: 5px; color: rgba(255,255,255,.7); font-size: 8px; line-height: 1.4; }
.message.user .message-copy { color: #fff; font-size: 14px; }
.quick-options { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; margin-top: 15px; }
.quick-option { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 54px; padding: 10px 12px; border: 1px solid var(--line); border-radius: 12px; background: #fff; text-align: left; cursor: pointer; transition: border-color .14s ease, background-color .14s ease, transform .1s ease; }
.quick-option:hover { border-color: rgba(0,113,227,.28); background: var(--blue-soft); }.quick-option:active { transform: scale(.985); }
.quick-option strong, .quick-option small { display: block; }.quick-option strong { font-size: 11px; font-weight: 650; }.quick-option small { margin-top: 3px; color: var(--muted); font-size: 9px; line-height: 1.35; }.quick-option > span:last-child { color: var(--blue); font-size: 16px; }
.decision-focus { margin-top: 14px; padding: 18px; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; box-shadow: var(--shadow); }
.decision-meta { display: flex; align-items: center; gap: 7px; color: var(--muted); font-size: 9px; }.decision-meta b { padding: 4px 7px; border-radius: 7px; background: var(--blue-soft); color: var(--blue); font-weight: 680; }
.decision-focus h3 { margin: 12px 0 0; font-size: 19px; font-weight: 680; letter-spacing: -.025em; }
.decision-section { margin-top: 15px; }.decision-section span { display: block; margin-bottom: 5px; color: var(--muted); font-size: 9px; font-weight: 650; }.decision-section p { margin: 0; color: var(--ink-2); font-size: 11px; line-height: 1.65; }
.decision-risk { margin-top: 14px; padding: 10px 11px; border-radius: 10px; background: #fff7ec; color: #8b5429; font-size: 9px; line-height: 1.5; }
.decision-actions { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 16px; }.decision-actions button { min-height: 34px; padding: 0 11px; border: 1px solid var(--line-strong); border-radius: 9px; background: #fff; font-size: 9px; font-weight: 630; cursor: pointer; }.decision-actions button.primary { border-color: var(--blue); background: var(--blue); color: #fff; }.decision-actions button:active { transform: scale(.98); }
.evidence-details { margin-top: 12px; border-top: 1px solid var(--line); }.evidence-details summary { padding: 11px 0 0; color: var(--blue); font-size: 9px; font-weight: 630; cursor: pointer; }.evidence-details ul { margin: 10px 0 0; padding-left: 18px; color: var(--muted); font-size: 9px; line-height: 1.6; }
.material-result { display: grid; grid-template-columns: 1fr auto; gap: 8px 20px; margin-top: 14px; padding: 14px 0; border-top: 1px solid var(--line); }.material-result:first-of-type { border-top: 0; }.material-result strong { font-size: 12px; }.material-result p { grid-column: 1; margin: 0; color: var(--muted); font-size: 10px; line-height: 1.55; }.material-result em { grid-row: 1 / span 2; grid-column: 2; padding: 4px 7px; align-self: start; border-radius: 7px; background: var(--surface-soft); color: var(--ink-2); font-size: 9px; font-style: normal; }
.draft-block { margin-top: 14px; padding: 18px; border-radius: var(--radius); background: var(--surface-soft); }.draft-block span { color: var(--blue); font-size: 9px; font-weight: 700; }.draft-block h3 { margin: 8px 0 12px; font-size: 17px; }.draft-block p, .draft-block li { color: var(--ink-2); font-size: 11px; line-height: 1.7; }.draft-block ol { margin: 0; padding-left: 19px; }
.message-loading { display: flex; gap: 5px; padding: 7px 0; }.message-loading i { width: 6px; height: 6px; border-radius: 50%; background: var(--muted); animation: pulse 1s ease-in-out infinite; }.message-loading i:nth-child(2) { animation-delay: .14s; }.message-loading i:nth-child(3) { animation-delay: .28s; } @keyframes pulse { 50% { opacity: .25; transform: translateY(-2px); } }

.professional-scroll { overflow-y: auto; background: var(--canvas); }
.professional-inner { width: min(1060px,calc(100% - 44px)); margin: 0 auto; padding: 34px 0 48px; }
.professional-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 22px; margin-bottom: 18px; }
.professional-heading > div > span { color: var(--blue); font-size: 9px; font-weight: 700; letter-spacing: .1em; }
.professional-heading h2 { margin: 7px 0 0; font-size: 27px; font-weight: 680; letter-spacing: -.04em; }
.professional-heading p { margin: 7px 0 0; color: var(--muted); font-size: 10px; }
.professional-heading > button, .professional-heading-actions button, .card-heading button { min-height: 34px; padding: 0 11px; border: 1px solid var(--line-strong); border-radius: 9px; background: #fff; color: var(--ink-2); font-size: 9px; font-weight: 630; cursor: pointer; white-space: nowrap; }.professional-heading-actions { display: flex; gap: 7px; }
.professional-heading > button:active, .professional-heading-actions button:active, .card-heading button:active { transform: scale(.98); }
.conclusion-band { padding: 18px 20px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--ink); color: #fff; box-shadow: 0 12px 30px rgba(0,0,0,.09); }
.conclusion-band > span { display: block; color: #b7b7bc; font-size: 9px; font-weight: 650; }
.conclusion-band > strong { display: block; margin-top: 7px; font-size: 17px; font-weight: 660; line-height: 1.4; }
.conclusion-band > p { margin: 7px 0 0; color: #b7b7bc; font-size: 10px; line-height: 1.55; }
.professional-kpis { display: grid; grid-template-columns: repeat(5,1fr); margin-top: 12px; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; overflow: hidden; }
.professional-kpis > div { padding: 14px; border-right: 1px solid var(--line); }.professional-kpis > div:last-child { border-right: 0; }
.professional-kpis span, .professional-kpis strong, .professional-kpis small { display: block; }
.professional-kpis span { color: var(--muted); font-size: 8px; }.professional-kpis strong { margin-top: 6px; font-size: 18px; font-weight: 680; }.professional-kpis small { margin-top: 4px; color: var(--muted); font-size: 8px; }
.professional-card { margin-top: 12px; padding: 18px; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; box-shadow: var(--shadow); }
.card-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; margin-bottom: 14px; }
.card-heading span { color: var(--blue); font-size: 8px; font-weight: 700; letter-spacing: .08em; }.card-heading h3 { margin: 5px 0 0; font-size: 15px; font-weight: 670; }.card-heading p { margin: 5px 0 0; color: var(--muted); font-size: 9px; }.card-heading em { color: var(--muted); font-size: 8px; font-style: normal; }
.fact-table { display: grid; grid-template-columns: repeat(2,1fr); gap: 8px; }.fact-table > div { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 11px 12px; border-radius: 10px; background: var(--surface-soft); }.fact-table span { color: var(--muted); font-size: 9px; }.fact-table strong { font-size: 10px; }
.chart-readout { display: grid; grid-template-columns: repeat(4,1fr); margin-top: 16px; border: 1px solid var(--line); border-radius: 11px; background: var(--surface-soft); overflow: hidden; }.chart-readout div { padding: 10px 12px; }.chart-readout div + div { border-left: 1px solid var(--line); }.chart-readout span,.chart-readout strong { display: block; }.chart-readout span { color: var(--muted); font-size: 8px; }.chart-readout strong { margin-top: 4px; font-size: 11px; }.evidence-chart { height: 320px; margin-top: 8px; }.business-funnel { display: grid; grid-template-columns: repeat(5,1fr); gap: 8px; }.funnel-step { position: relative; padding: 13px; border-radius: 11px; background: var(--surface-soft); }.funnel-step + .funnel-step::before { content: "›"; position: absolute; left: -7px; top: 50%; color: var(--muted); transform: translateY(-50%); }.funnel-step span,.funnel-step strong,.funnel-step small { display: block; }.funnel-step span { color: var(--muted); font-size: 8px; }.funnel-step strong { margin-top: 6px; font-size: 15px; }.funnel-step small { margin-top: 4px; color: var(--muted); font-size: 8px; }
.material-workspace { display: grid; grid-template-columns: minmax(360px,.9fr) minmax(360px,1.1fr); gap: 12px; }.material-workspace .professional-card { margin-top: 12px; }
.professional-material-list { display: flex; flex-direction: column; }.professional-material-item { display: grid; grid-template-columns: 76px minmax(0,1fr) auto; align-items: center; gap: 10px; width: 100%; padding: 9px 8px; border-bottom: 1px solid var(--line); background: transparent; }.professional-material-item:last-child { border-bottom: 0; }.professional-material-item:hover { background: var(--surface-soft); }.professional-material-item.is-active { background: var(--blue-soft); }.material-preview-thumb { position: relative; width: 76px; height: 48px; padding: 0; overflow: hidden; border: 0; border-radius: 8px; background: #ececef; color: var(--muted); cursor: default; }.material-preview-thumb.has-video { cursor: pointer; }.material-preview-thumb img { width: 100%; height: 100%; object-fit: cover; }.material-preview-thumb > span { display: grid; height: 100%; place-items: center; font-size: 8px; }.material-preview-thumb i { position: absolute; right: 5px; bottom: 5px; display: grid; width: 19px; height: 19px; place-items: center; border-radius: 50%; background: rgba(29,29,31,.82); color: #fff; font-size: 7px; font-style: normal; }.material-item-copy { min-width: 0; padding: 4px 0; border: 0; background: transparent; text-align: left; cursor: pointer; }.material-item-copy strong,.material-item-copy small { display: block; }.material-item-copy strong { overflow: hidden; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }.material-item-copy small { margin-top: 5px; color: var(--muted); font-size: 8px; line-height: 1.45; }.professional-material-item em { padding: 4px 7px; border-radius: 7px; background: var(--surface-soft); color: var(--ink-2); font-size: 8px; font-style: normal; white-space: nowrap; }.professional-material-item.is-active em { background: #fff; color: var(--blue); }
.material-detail-empty { display: grid; min-height: 260px; align-content: center; justify-items: center; color: var(--muted); text-align: center; }.material-detail-empty strong { color: var(--ink); font-size: 12px; }.material-detail-empty p { max-width: 260px; margin: 6px 0 0; font-size: 9px; }
.material-detail-preview { position: relative; display: grid; width: 100%; height: 210px; margin-bottom: 17px; padding: 0; overflow: hidden; place-items: center; border: 0; border-radius: 13px; background: #ececef; color: var(--ink-2); cursor: pointer; }.material-detail-preview img { width: 100%; height: 100%; object-fit: cover; }.material-detail-preview > span { font-size: 11px; font-weight: 650; }.material-detail-preview > i { position: absolute; right: 12px; bottom: 12px; padding: 7px 10px; border-radius: 9px; background: rgba(29,29,31,.88); color: #fff; font-size: 8px; font-style: normal; }.material-detail-preview.is-unavailable { gap: 4px; cursor: default; }.material-detail-preview.is-unavailable small { color: var(--muted); font-size: 8px; }.material-detail h3 { margin: 0; font-size: 17px; line-height: 1.45; }.material-detail .diagnosis-pill { display: inline-flex; margin-top: 10px; padding: 5px 7px; border-radius: 7px; background: var(--blue-soft); color: var(--blue); font-size: 8px; font-weight: 650; }.material-detail-metrics { display: grid; grid-template-columns: repeat(4,1fr); gap: 6px; margin-top: 14px; }.material-detail-metrics div { padding: 9px; border-radius: 9px; background: var(--surface-soft); }.material-detail-metrics span,.material-detail-metrics strong { display: block; }.material-detail-metrics span { color: var(--muted); font-size: 7px; }.material-detail-metrics strong { margin-top: 4px; font-size: 11px; }.material-detail-section { margin-top: 15px; }.material-detail-section span { color: var(--muted); font-size: 8px; font-weight: 650; }.material-detail-section p { margin: 5px 0 0; color: var(--ink-2); font-size: 10px; line-height: 1.6; }.material-detail-actions { display: flex; gap: 7px; margin-top: 15px; }.material-detail-actions button { min-height: 33px; padding: 0 10px; border: 1px solid var(--line-strong); border-radius: 9px; background: #fff; font-size: 8px; font-weight: 630; cursor: pointer; }.material-detail-actions button.primary { border-color: var(--blue); background: var(--blue); color: #fff; }
.professional-plan-list { display: flex; flex-direction: column; gap: 10px; margin-top: 12px; }.professional-plan { padding: 17px; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; }.professional-plan-head { display: flex; justify-content: space-between; gap: 18px; }.professional-plan-head span { color: var(--blue); font-size: 8px; font-weight: 650; }.professional-plan-head em { color: var(--muted); font-size: 8px; font-style: normal; }.professional-plan h3 { margin: 8px 0 0; font-size: 14px; }.professional-plan p { margin: 6px 0 0; color: var(--muted); font-size: 9px; line-height: 1.55; }.professional-plan .decision-actions { margin-top: 12px; }
.content-guidance { background: #253044; }.content-task-list,.method-library,.evidence-library,.outcome-task-list,.report-center { display: grid; grid-template-columns: repeat(3,1fr); gap: 8px; }.asset-tile { padding: 14px; border: 1px solid var(--line); border-radius: 11px; background: var(--surface-soft); }.asset-tile span,.asset-tile strong,.asset-tile small { display: block; }.asset-tile span { color: var(--blue); font-size: 8px; font-weight: 650; }.asset-tile strong { margin-top: 7px; font-size: 11px; line-height: 1.45; }.asset-tile small { margin-top: 5px; color: var(--muted); font-size: 8px; line-height: 1.45; }.asset-tile button { margin-top: 10px; padding: 5px 0; border: 0; background: transparent; color: var(--blue); font-size: 8px; font-weight: 650; cursor: pointer; }.obsidian-path { padding: 13px; border-radius: 10px; background: var(--surface-soft); font-size: 10px; }.muted-note { margin: 10px 0 0; color: var(--muted); font-size: 8px; }

.context-ai-scrim { position: fixed; z-index: 135; inset: 0; background: rgba(20,20,23,.16); backdrop-filter: blur(2px); -webkit-backdrop-filter: blur(2px); }
.context-ai-panel { position: fixed; z-index: 140; top: 0; right: 0; display: grid; grid-template-rows: auto minmax(0,1fr) auto; width: min(410px,calc(100vw - 24px)); height: 100dvh; border-left: 1px solid rgba(255,255,255,.8); background: rgba(251,251,253,.98); box-shadow: -18px 0 60px rgba(0,0,0,.14); transform: translateX(104%); transition: transform .24s cubic-bezier(.22,.8,.2,1); }
.context-ai-panel.is-open { transform: translateX(0); }
.context-ai-head { display: flex; align-items: center; justify-content: space-between; min-height: 70px; padding: 13px 16px; border-bottom: 1px solid var(--line); background: rgba(255,255,255,.84); backdrop-filter: blur(22px); }
.context-ai-head > div { display: flex; align-items: center; gap: 9px; }.context-ai-mark { display: grid; width: 32px; height: 32px; place-items: center; border-radius: 10px; background: var(--ink); color: #fff; }.context-ai-mark .icon { width: 14px; }.context-ai-head strong,.context-ai-head small { display: block; }.context-ai-head strong { font-size: 11px; }.context-ai-head small { margin-top: 3px; color: var(--muted); font-size: 8px; }.context-ai-head > button { display: grid; width: 32px; height: 32px; place-items: center; border: 1px solid var(--line); border-radius: 9px; background: #fff; cursor: pointer; }.context-ai-head > button .icon { width: 14px; }
.context-ai-body { min-height: 0; overflow-y: auto; padding: 16px; }
.context-object { padding: 14px; border: 1px solid var(--line); border-radius: 13px; background: #fff; }.context-object span,.context-object strong,.context-object p { display: block; }.context-object span { color: var(--muted); font-size: 8px; }.context-object strong { margin-top: 6px; font-size: 12px; line-height: 1.45; }.context-object p { margin: 6px 0 0; color: var(--muted); font-size: 8px; }
.context-ai-start { margin-top: 16px; }.context-ai-start > span { color: var(--muted); font-size: 8px; font-weight: 650; }.context-ai-actions { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }.context-ai-actions button { min-height: 31px; padding: 0 9px; border: 1px solid var(--line); border-radius: 9px; background: #fff; color: var(--ink-2); font-size: 8px; font-weight: 620; cursor: pointer; }.context-ai-actions button:hover { border-color: rgba(0,113,227,.25); background: var(--blue-soft); color: var(--blue); }.context-ai-actions button:active { transform: scale(.98); }
.context-ai-result { margin-top: 15px; border-top: 1px solid var(--line); padding-top: 15px; }.context-result-empty { display: grid; min-height: 240px; align-content: center; justify-items: center; color: var(--muted); text-align: center; }.context-result-empty .icon { width: 18px; }.context-result-empty strong { margin-top: 10px; color: var(--ink); font-size: 11px; }.context-result-empty p { max-width: 270px; margin: 6px 0 0; font-size: 8px; line-height: 1.5; }
.context-result-loading { display: flex; gap: 5px; padding: 18px 0; }.context-result-loading i { width: 6px; height: 6px; border-radius: 50%; background: var(--muted); animation: pulse 1s ease-in-out infinite; }.context-result-loading i:nth-child(2) { animation-delay: .14s; }.context-result-loading i:nth-child(3) { animation-delay: .28s; }
.context-result-content > span { color: var(--blue); font-size: 8px; font-weight: 700; letter-spacing: .08em; }.context-result-content h3 { margin: 7px 0 0; font-size: 16px; line-height: 1.4; }.context-result-content .context-answer { margin-top: 12px; color: var(--ink-2); font-size: 10px; line-height: 1.72; }.context-result-content .context-answer h4 { margin: 14px 0 6px; color: var(--ink); font-size: 10px; font-weight: 700; }.context-result-content .context-answer h4:first-child { margin-top: 0; }.context-result-content .context-answer p { margin: 0 0 9px; }.context-result-content .context-answer p:last-child { margin-bottom: 0; }.context-result-content .context-answer ul,.context-result-content .context-answer ol { margin: 5px 0 11px; padding-left: 18px; }.context-result-content .context-answer li + li { margin-top: 5px; }.context-result-boundary { margin-top: 14px; padding: 10px 11px; border-radius: 10px; background: #fff7ec; color: #82532d; font-size: 8px; line-height: 1.55; }.context-result-actions { display: flex; gap: 6px; margin-top: 14px; }.context-result-actions button { min-height: 32px; padding: 0 9px; border: 1px solid var(--line-strong); border-radius: 9px; background: #fff; font-size: 8px; font-weight: 620; cursor: pointer; }.context-result-actions button.primary { border-color: var(--blue); background: var(--blue); color: #fff; }
.context-result-content > span { color: var(--blue-text); font-size: 10px; }.context-result-content .context-answer { margin-top: 14px; font-size: 14px; line-height: 1.72; }.context-result-content .context-answer h2,.context-result-content .context-answer h3,.context-result-content .context-answer h4,.context-result-content .context-answer h5 { margin: 18px 0 7px; color: var(--ink); font-size: 15px; font-weight: 700; }.context-result-content .context-answer h2:first-child,.context-result-content .context-answer h3:first-child,.context-result-content .context-answer h4:first-child,.context-result-content .context-answer h5:first-child { margin-top: 0; }.context-result-content .context-answer p { margin: 0 0 11px; }.context-result-content .context-answer ul,.context-result-content .context-answer ol { margin: 7px 0 14px; padding-left: 20px; }.context-result-content .context-answer li + li { margin-top: 7px; }.context-result-content .context-answer hr { height: 1px; margin: 17px 0; border: 0; background: var(--line-strong); }.context-result-content .context-answer code { padding: 2px 4px; border-radius: 4px; background: #fff; font: .9em ui-monospace, SFMono-Regular, Menlo, monospace; }.context-result-boundary { margin-top: 16px; padding: 11px 12px; color: #6e431f; font-size: 11px; }.context-result-actions button { min-height: 34px; padding: 0 10px; font-size: 10px; }
.context-ai-compose { display: grid; grid-template-columns: 1fr 36px; align-items: end; gap: 7px; margin: 0 14px 14px; padding: 8px 8px 8px 11px; border: 1px solid var(--line-strong); border-radius: 13px; background: #fff; box-shadow: 0 7px 24px rgba(0,0,0,.07); }.context-ai-compose:focus-within { border-color: rgba(0,113,227,.42); box-shadow: 0 7px 24px rgba(0,0,0,.07),0 0 0 3px rgba(0,113,227,.08); }.context-ai-compose textarea { max-height: 120px; resize: none; border: 0; outline: 0; font-size: 12px; line-height: 1.5; }.context-ai-compose button { display: grid; width: 36px; height: 36px; place-items: center; border: 0; border-radius: 10px; background: var(--ink); color: #fff; cursor: pointer; }.context-ai-compose button .icon { width: 15px; }

.composer-wrap { position: relative; z-index: 10; padding: 10px 24px 16px; background: linear-gradient(to bottom,rgba(255,255,255,0),#fff 18%); }
.composer-context, .content-context, .composer, .composer-note { width: min(820px,100%); margin-left: auto; margin-right: auto; }
.composer-context { display: flex; align-items: center; gap: 6px; margin-bottom: 7px; overflow-x: auto; }
.page-context-chip { display: inline-flex; align-items: center; min-height: 29px; padding: 0 9px; border-radius: 9px; background: var(--ink); color: #fff; font-size: 8px; font-weight: 650; white-space: nowrap; }
.composer-context label, .context-more { display: flex; align-items: center; gap: 5px; min-height: 29px; padding: 0 8px; border: 1px solid var(--line); border-radius: 9px; background: #fff; white-space: nowrap; }
.composer-context label span { color: var(--muted); font-size: 8px; }.composer-context select { max-width: 150px; border: 0; outline: 0; background: transparent; color: var(--ink); font-size: 9px; font-weight: 620; }.context-more { color: var(--blue); font-size: 9px; font-weight: 620; cursor: pointer; }.context-more .icon { width: 13px; }
.content-context { display: flex; align-items: center; gap: 9px; margin-bottom: 7px; padding: 9px 11px; border: 1px solid rgba(0,113,227,.18); border-radius: 11px; background: var(--blue-soft); }.content-context label { display: flex; align-items: center; gap: 6px; }.content-context span { color: #527da8; font-size: 8px; }.content-context select { border: 0; outline: 0; background: transparent; color: #23486e; font-size: 9px; font-weight: 650; }.content-context small { margin-left: auto; color: #6a88a5; font-size: 8px; }
.composer { display: grid; grid-template-columns: 1fr 40px; align-items: end; gap: 9px; padding: 9px 9px 9px 14px; border: 1px solid var(--line-strong); border-radius: 16px; background: #fff; box-shadow: 0 8px 28px rgba(0,0,0,.08); }.composer:focus-within { border-color: rgba(0,113,227,.45); box-shadow: 0 8px 30px rgba(0,0,0,.08),0 0 0 3px rgba(0,113,227,.08); }.composer textarea { max-height: 130px; resize: none; border: 0; outline: 0; color: var(--ink); font-size: 12px; line-height: 1.55; }.composer textarea::placeholder { color: #aaaab0; }.composer button { display: grid; width: 40px; height: 40px; place-items: center; border: 0; border-radius: 11px; background: var(--ink); color: #fff; cursor: pointer; }.composer button:active { transform: scale(.94); }.composer button .icon { width: 16px; }.composer-note { margin-top: 7px; margin-bottom: 0; color: var(--muted); font-size: 8px; text-align: center; }

.context-rail { overflow-y: auto; padding: 20px 16px; border-left: 1px solid var(--line); background: var(--surface-soft); }
.rail-section { padding: 16px; border: 1px solid var(--line); border-radius: 14px; background: #fff; }.rail-section + .rail-section { margin-top: 10px; }.rail-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 13px; }.rail-head span { color: var(--muted); font-size: 9px; font-weight: 650; }.rail-head strong { font-size: 11px; }.rail-head small { color: var(--muted); font-size: 8px; }.scope-line { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 8px 0; border-top: 1px solid var(--line); }.scope-line span { color: var(--muted); font-size: 9px; }.scope-line strong { overflow: hidden; font-size: 9px; font-weight: 630; text-align: right; text-overflow: ellipsis; white-space: nowrap; }
.fact-summary { display: grid; grid-template-columns: repeat(3,1fr); gap: 6px; }.fact-summary div { padding: 9px 7px; border-radius: 9px; background: var(--surface-soft); }.fact-summary span, .fact-summary strong { display: block; }.fact-summary span { color: var(--muted); font-size: 7px; }.fact-summary strong { margin-top: 5px; font-size: 12px; font-weight: 680; }
.workflow-progress { display: flex; flex-direction: column; gap: 7px; }.progress-row { display: grid; grid-template-columns: 9px 1fr auto; align-items: center; gap: 8px; }.progress-row i { width: 7px; height: 7px; border-radius: 50%; background: #d8d8dc; }.progress-row.is-active i { background: var(--blue); box-shadow: 0 0 0 4px var(--blue-soft); }.progress-row span { font-size: 9px; }.progress-row strong { font-size: 10px; }.boundary-note { background: #fffaf0; border-color: #eadfc8; }.boundary-note strong { color: #8b6425; font-size: 9px; }.boundary-note p { margin: 7px 0 0; color: #7b6b52; font-size: 8px; line-height: 1.55; }

.sheet-layer, .login-layer { position: fixed; z-index: 150; inset: 0; display: grid; place-items: center; padding: 20px; background: rgba(22,22,25,.2); backdrop-filter: blur(10px); }.guide-sheet, .login-card { width: min(560px,100%); padding: 28px; border: 1px solid rgba(255,255,255,.85); border-radius: 22px; background: rgba(255,255,255,.98); box-shadow: 0 28px 100px rgba(0,0,0,.18); animation: appear .2s ease-out; }.sheet-close { float: right; display: grid; width: 32px; height: 32px; place-items: center; border: 1px solid var(--line); border-radius: 9px; background: #fff; cursor: pointer; }.sheet-close .icon { width: 14px; }.guide-kicker { color: var(--blue); font-size: 9px; font-weight: 700; letter-spacing: .11em; }.guide-sheet h2 { margin: 9px 0 22px; font-size: 25px; letter-spacing: -.035em; }.guide-steps { display: grid; grid-template-columns: repeat(2,1fr); gap: 8px; }.guide-steps div { padding: 14px; border-radius: 12px; background: var(--surface-soft); }.guide-steps span { display: grid; width: 24px; height: 24px; place-items: center; border-radius: 8px; background: var(--ink); color: #fff; font-size: 8px; }.guide-steps strong { display: block; margin-top: 10px; font-size: 11px; }.guide-steps p { margin: 5px 0 0; color: var(--muted); font-size: 9px; line-height: 1.5; }.guide-primary { width: 100%; min-height: 40px; margin-top: 16px; border: 0; border-radius: 10px; background: var(--blue); color: #fff; font-size: 10px; font-weight: 650; cursor: pointer; }
.login-layer { z-index: 180; background: rgba(245,245,247,.86); }.login-card { width: min(410px,100%); }.login-card .brand { padding: 0; }.login-copy { margin-top: 28px; }.login-copy > span { color: var(--blue); font-size: 9px; font-weight: 700; }.login-copy h2 { margin: 8px 0 0; font-size: 25px; letter-spacing: -.035em; }.login-copy p { margin: 7px 0 0; color: var(--muted); font-size: 10px; }.login-card > label { display: block; margin-top: 22px; }.login-card > label span { display: block; margin-bottom: 7px; color: var(--ink-2); font-size: 9px; font-weight: 620; }.login-card input { width: 100%; min-height: 42px; padding: 0 11px; border: 1px solid var(--line-strong); border-radius: 10px; outline: 0; }.login-card input:focus { border-color: var(--blue); box-shadow: 0 0 0 3px rgba(0,113,227,.09); }.login-card > button { width: 100%; min-height: 42px; margin-top: 14px; border: 0; border-radius: 10px; background: var(--blue); color: #fff; font-size: 10px; font-weight: 650; cursor: pointer; }.login-error { margin: 8px 0 0; color: var(--red); font-size: 9px; }
.material-video-modal { position: fixed; z-index: 210; inset: 0; display: grid; padding: 28px; place-items: center; background: rgba(18,18,20,.72); backdrop-filter: blur(12px); }.material-video-dialog { position: relative; width: min(920px,94vw); }.material-video-dialog video { display: block; width: 100%; max-height: 78vh; border-radius: 18px; background: #000; box-shadow: 0 30px 100px rgba(0,0,0,.45); }.material-video-close { position: absolute; z-index: 2; top: 12px; right: 12px; display: grid; width: 36px; height: 36px; place-items: center; border: 1px solid rgba(255,255,255,.25); border-radius: 50%; background: rgba(29,29,31,.72); color: #fff; cursor: pointer; backdrop-filter: blur(10px); }.material-video-close .icon { width: 15px; }.material-video-caption { padding: 12px 4px 0; color: #fff; }.material-video-caption span,.material-video-caption strong,.material-video-caption small { display: block; }.material-video-caption span { color: rgba(255,255,255,.58); font-size: 8px; font-weight: 650; }.material-video-caption strong { margin-top: 4px; font-size: 12px; }.material-video-caption small { margin-top: 3px; color: rgba(255,255,255,.62); font-size: 8px; }
.toast { position: fixed; z-index: 220; left: 50%; bottom: 24px; max-width: min(440px,calc(100vw - 32px)); padding: 10px 14px; border-radius: 10px; background: rgba(29,29,31,.94); color: #fff; font-size: 10px; opacity: 0; pointer-events: none; transform: translate(-50%,8px); transition: opacity .16s ease, transform .16s ease; }.toast.show { opacity: 1; transform: translate(-50%,0); }
@keyframes appear { from { opacity: 0; transform: translateY(5px) scale(.985); } to { opacity: 1; transform: none; } }

@media (max-width: 1440px) { .assistant-shell { grid-template-columns: 230px minmax(560px,1fr); }.context-rail { display: none; } }
@media (max-width: 1100px) { .material-workspace { grid-template-columns: 1fr; }.content-task-list,.method-library,.evidence-library,.outcome-task-list,.report-center { grid-template-columns: repeat(2,1fr); }.business-funnel { grid-template-columns: repeat(3,1fr); } }
@media (max-width: 960px) { .professional-kpis { grid-template-columns: repeat(2,1fr); }.professional-kpis > div { border-bottom: 1px solid var(--line); } }
@media (max-width: 820px) { .conversation-stage { width: 100%; max-width: 100vw; overflow: hidden; }.conversation-header,.workspace-content,.composer-wrap { width: 100%; min-width: 0; }.conversation-header > div:first-child { min-width: 0; }.conversation-header h1 { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.conversation-inner.decision-home { width: calc(100% - 28px); }.decision-home-head { align-items: flex-start; flex-direction: column; }.decision-snapshot { width: 100%; }.workflow-strip { grid-template-columns: repeat(5,minmax(130px,1fr)); overflow-x: auto; }.decision-essentials { grid-template-columns: 1fr; }.evidence-entry { align-items: flex-start; flex-wrap: wrap; }.evidence-entry > div { width: 100%; flex-basis: 100%; }.after-confirm { grid-template-columns: 1fr; }.after-confirm > span { margin-bottom: 2px; } }
@media (max-width: 820px) { body { overflow: auto; }.assistant-shell { display: block; height: auto; min-height: 100dvh; }.left-sidebar { position: sticky; top: 0; z-index: 30; display: block; padding: 8px 12px 40px; border-right: 0; border-bottom: 1px solid var(--line); }.left-sidebar .brand, .new-conversation, .sidebar-history, .sidebar-bottom { display: none; }.primary-menu { position: static; flex-direction: row; overflow-x: auto; }.nav-label { display: none; }.menu-group { min-width: max-content; }.primary-link { display: flex; min-height: 38px; padding: 0 10px; }.primary-link .icon { display: none; }.menu-group.is-open .secondary-menu { position: absolute; right: 0; bottom: 0; left: 0; display: flex; height: 36px; padding: 3px 12px; flex-direction: row; overflow-x: auto; border-top: 1px solid var(--line); background: #f8f8fa; }.secondary-menu button { min-width: max-content; }.conversation-stage { min-height: calc(100dvh - 82px); }.conversation-header { padding: 11px 15px; }.header-actions > span { display: none; }.conversation { min-height: 55vh; }.conversation-inner { width: calc(100% - 28px); padding-top: 27px; }.conversation-intro h2 { font-size: 28px; }.quick-options { grid-template-columns: 1fr; }.composer-wrap { position: sticky; bottom: 0; padding: 9px 10px 12px; }.content-context { align-items: flex-start; flex-direction: column; }.content-context small { margin-left: 0; }.guide-steps { grid-template-columns: 1fr; }.professional-inner { width: calc(100% - 28px); padding-top: 24px; }.professional-heading { align-items: flex-start; flex-direction: column; }.professional-heading h2 { font-size: 24px; }.professional-kpis,.fact-table,.content-task-list,.method-library,.evidence-library,.outcome-task-list,.report-center { grid-template-columns: 1fr; }.chart-readout { grid-template-columns: repeat(2,1fr); }.chart-readout div:nth-child(3) { border-left: 0; border-top: 1px solid var(--line); }.chart-readout div:nth-child(4) { border-top: 1px solid var(--line); }.business-funnel { grid-template-columns: repeat(2,1fr); }.professional-material-item { grid-template-columns: 68px minmax(0,1fr); }.professional-material-item em { grid-column: 2; justify-self: start; }.material-preview-thumb { width: 68px; }.material-detail-metrics { grid-template-columns: repeat(2,1fr); } }
@media (max-width: 820px) { .left-sidebar { padding-bottom: 48px; }.primary-menu { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); overflow: visible; }.menu-group { min-width: 0; }.primary-link { justify-content: center; min-height: 44px; padding: 0 4px; }.menu-group.is-open .secondary-menu { height: 44px; padding-top: 3px; padding-bottom: 3px; }.secondary-menu button { min-height: 38px; }.header-actions button,.context-ai-head > button { width: 40px; height: 40px; }.evidence-entry button,.today-decision-actions button,.professional-heading-actions button,.context-more { min-height: 40px; } }
@media (prefers-reduced-motion: reduce) { *,*::before,*::after { animation-duration: .01ms !important; transition-duration: .01ms !important; scroll-behavior: auto !important; } }
@media (prefers-reduced-transparency: reduce) { .left-sidebar,.conversation-header,.sheet-layer,.login-layer { background: #f8f8fa; backdrop-filter: none; } }
@media (prefers-contrast: more) { :root { --line: rgba(0,0,0,.22); --line-strong: rgba(0,0,0,.38); } }
