/* VectorXS: one semantic system for work, knowledge, identity, and review. */
:root {
  color-scheme:light;
  --bg:#f4f6fa;
  --surface:#fff;
  --sidebar:#eff2f8;
  --surface-2:#e9edf5;
  --ink:#172034;
  --muted:#556078;
  --subtle:#616d82;
  --line:#dce2ed;
  --accent:#315efb;
  --accent-hover:#244bd7;
  --accent-soft:#e8edff;
  --accent-ink:#fff;
  --focus:#315efb;
  --danger:#a13236;
  --danger-soft:#fbecee;
  --warning:#785218;
  --warning-soft:#f8f1df;
  --success:#245d45;
  --radius:12px;
  --ease-out:cubic-bezier(.23,1,.32,1);
  --ease-drawer:cubic-bezier(.32,.72,0,1);
  --fast:140ms;
  --normal:220ms;
  --font:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --display:var(--font);
  --overlay:rgba(9,16,32,.46);
  --shadow:0 24px 80px rgba(16,28,56,.2)
}

:root[data-theme=dark] {
  color-scheme:dark;
  --bg:#0c0f16;
  --surface:#131823;
  --sidebar:#10141e;
  --surface-2:#1d2534;
  --ink:#f0f3fa;
  --muted:#aab5ca;
  --subtle:#96a3bb;
  --line:#2b3548;
  --accent:#a8baff;
  --accent-hover:#c6d2ff;
  --accent-soft:#202e55;
  --accent-ink:#0f1b3b;
  --focus:#a8baff;
  --danger:#ffb5b7;
  --danger-soft:#382325;
  --warning:#e5cf9e;
  --warning-soft:#332e20;
  --success:#b4dec2;
  --overlay:rgba(0,10,4,.66);
  --shadow:0 24px 80px rgba(0,0,0,.45)
}

*,*::before,*::after {
  box-sizing:border-box
}
html {
  font:100%/1.5 var(--font);
  -webkit-text-size-adjust:100%;
  -webkit-tap-highlight-color:transparent;
  scroll-padding-top:80px
}
body {
  margin:0;
  background:var(--bg);
  color:var(--ink);
  font-size:.9rem
}
::selection {
  background:var(--accent-soft);
  color:var(--ink)
}
a {
  color:var(--accent);
  text-underline-offset:4px;
  text-decoration-thickness:1px
}
button,input,textarea,select {
  font:inherit
}
button,a,[role=button] {
  touch-action:manipulation
}
button,[role=button],summary {
  cursor:pointer;
  user-select:none;
  -webkit-user-select:none
}
button {
  color:inherit
}
button,input,select,textarea {
  border:1px solid var(--line)
}
button {
  background:transparent
}
button:disabled {
  opacity:.48;
  cursor:not-allowed;
  transform:none!important
}
input,textarea,select {
  background:var(--surface);
  color:var(--ink);
  border-radius:8px;
  padding:11px 13px;
  line-height:1.45;
  min-height:44px;
  width:100%;
  min-width:0;
  caret-color:var(--accent)
}
input::placeholder,textarea::placeholder {
  color:var(--subtle);
  opacity:1
}
input[readonly] {
  background:var(--surface-2)
}
textarea {
  resize:vertical
}
select {
  padding-right:30px
}
input[type=checkbox] {
  width:18px;
  min-height:18px;
  height:18px;
  accent-color:var(--accent);
  flex:none
}
input[type=file] {
  padding:8px;
  font-size:.8rem
}
input::file-selector-button {
  font:inherit;
  padding:8px 10px;
  background:var(--surface-2);
  color:var(--ink);
  border:0;
  border-radius:6px;
  margin-right:10px;
  cursor:pointer
}
a,button,input,textarea,select,summary {
  outline-offset:4px
}
:focus-visible {
  outline:2px solid var(--focus)
}
input:focus,textarea:focus,select:focus {
  border-color:var(--focus)
}
h1,h2,h3,p {
  margin:0
}
h1,h2,h3 {
  font-weight:600;
  letter-spacing:-.03em;
  line-height:1.18;
  text-wrap:balance;
  overflow-wrap:anywhere
}
h1 {
  font-size:2rem
}
h2 {
  font-size:1.14rem
}
h3 {
  font-size:1rem
}
p {
  line-height:1.65
}
small {
  font-size:.76rem
}
strong,b {
  font-weight:600
}
svg {
  flex-shrink:0
}
.icon {
  width:19px;
  height:19px;
  display:inline-block;
  vertical-align:middle
}
img {
  max-width:100%
}
[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
}
.skip-link {
  position:fixed;
  top:-100px;
  left:16px;
  z-index:200;
  background:var(--accent);
  color:var(--accent-ink);
  padding:12px 18px;
  border-radius:8px
}
.skip-link:focus {
  top:12px
}
.quiet,.field-note,.count-label {
  color:var(--muted)
}
.field-note {
  font-size:.8rem;
  line-height:1.65;
  margin-top:14px;
  max-width:75ch
}
.quiet-label {
  font-size:.75rem;
  color:var(--muted);
  font-weight:500
}
.count-label {
  font-size:.78rem;
  font-variant-numeric:tabular-nums
}
.full {
  width:100%
}
.align-start {
  align-self:flex-start
}
.primary,.secondary,.danger,.text-button,.icon-button,.send-button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  min-height:42px;
  padding:10px 16px;
  border-radius:8px;
  text-decoration:none;
  font-size:.8rem;
  font-weight:600;
  line-height:1.3;
  white-space:normal;
  transition:transform var(--fast) var(--ease-out),opacity var(--fast) var(--ease-out)
}
.primary {
  background:var(--accent);
  color:var(--accent-ink);
  border:1px solid transparent
}
.secondary {
  background:var(--surface);
  border-color:var(--line);
  color:var(--ink)
}
.danger {
  color:var(--danger);
  border-color:transparent;
  background:var(--danger-soft)
}
.text-button {
  background:none;
  border:0;
  padding:8px 10px;
  color:var(--accent);
  min-height:36px
}
.text-button.danger {
  color:var(--danger)
}
.icon-button {
  height:38px;
  width:38px;
  min-height:38px;
  padding:8px;
  border:0;
  color:var(--muted);
  flex-shrink:0;
  background:transparent
}
.icon-button.danger {
  color:var(--danger)
}
.primary:active,.secondary:active,.icon-button:active,.send-button:active {
  transform:scale(.97)
}
.primary:focus-visible {
  outline-offset:4px
}
.text-link {
  display:inline-flex;
  gap:8px;
  align-items:center;
  font-size:.78rem;
  font-weight:600;
  text-decoration:none
}
.text-link .icon {
  width:16px;
  height:16px
}


:root { --nav-bg:#111722; --nav-ink:#f5f7fc; --nav-muted:#a8b3c8; --nav-line:#2b3546; --brand:#315efb; --brand-ink:#fff; --title:var(--font) }
html { font-kerning:normal; font-optical-sizing:auto }
body { -webkit-font-smoothing:antialiased }
.icon { stroke-width:1.7 }
button:disabled { opacity:.6 }
.primary,.send-button { background:var(--brand); color:var(--brand-ink) }
.primary { min-height:44px; padding:11px 17px; font-weight:600 }
.secondary { min-height:44px }
.vx-symbol { display:block; width:28px; height:28px; flex:0 0 28px; color:var(--brand) }
.wordmark { display:inline-flex; align-items:center; gap:10px; color:var(--ink); text-decoration:none; white-space:nowrap; line-height:1 }
.wordmark-text { font:650 21px/1.1 var(--font); letter-spacing:-.035em }
.wordmark-xs { font-weight:400; color:inherit }
/* Navigation is deliberately darker than the work surface in both themes. */
.app-shell { display:grid; grid-template-columns:232px minmax(0,1fr); height:100dvh; min-height:0 }
.app-sidebar { display:flex; flex-direction:column; height:100%; min-height:0; overflow-y:auto; overflow-x:hidden; background:var(--nav-bg); color:var(--nav-ink); padding:0 14px; overscroll-behavior:contain; scrollbar-width:thin; scrollbar-color:var(--nav-line) transparent }
.sidebar-brand { display:flex; align-items:center; justify-content:space-between; min-height:85px; padding:0 10px }
.sidebar-brand .wordmark { color:var(--nav-ink) }
.sidebar-brand .vx-symbol { color:#7d99ff; width:25px; height:25px; flex-basis:25px }
.sidebar-brand .wordmark-text { font-size:20px }
.workspace-switch { display:flex; align-items:center; gap:9px; padding:10px; border:1px solid var(--nav-line); border-radius:9px; color:var(--nav-ink); text-decoration:none; background:#1a2231; margin:0 0 15px; min-height:60px }
.workspace-label { flex:1; min-width:0 }
.workspace-switch strong,.workspace-switch small { display:block; white-space:nowrap; text-overflow:ellipsis; overflow:hidden }
.workspace-switch strong { font-size:.76rem; font-weight:600; line-height:1.4 }
.workspace-switch small { color:var(--nav-muted); font-size:.68rem; margin-top:2px; line-height:1.4 }
.workspace-switch>.icon { width:16px; color:var(--nav-muted) }
.workspace-avatar,.avatar { display:flex; align-items:center; justify-content:center; flex:0 0 32px; width:32px; height:32px; font-size:.78rem; font-weight:600; border-radius:8px; background:var(--accent-soft); color:var(--accent) }
.workspace-switch .workspace-avatar { background:#314264; color:#d7e2ff; flex-basis:30px; width:30px; height:30px; border-radius:7px }
.avatar { border-radius:50%; background:#354769; color:#dbe5ff }
.sidebar-compose { display:flex; align-items:center; justify-content:center; gap:8px; padding:11px 8px; color:#fff; background:var(--brand); border-radius:8px; font-size:.77rem; font-weight:600; text-decoration:none; margin-bottom:23px; min-height:41px; transition:transform var(--fast) var(--ease-out) }
.sidebar-compose .icon { width:16px; height:16px }
.sidebar-compose:active { transform:scale(.98) }
.primary-nav { display:flex; flex-direction:column; gap:4px }
.nav-item { position:relative; display:flex; align-items:center; gap:11px; padding:10px 12px; min-height:40px; border-radius:7px; text-decoration:none; color:var(--nav-muted); font-size:.79rem; font-weight:500 }
.nav-item .icon { width:18px; height:18px }
.nav-item.active { background:#253451; color:#f5f7ff }
.nav-active-dot { width:5px; height:5px; background:#8daaff; border-radius:50%; margin-left:auto }
.sidebar-section { padding:22px 0 8px }
.sidebar-section .section-header { padding:0 11px }
.app-sidebar .quiet-label { color:var(--nav-muted); font-size:.68rem }
.sidebar-empty { padding:4px 12px 12px; color:var(--nav-muted); font-size:.72rem; line-height:1.6 }
.sidebar-conversations { min-height:70px; max-height:28vh; overflow-y:auto }
.conversation-row { display:flex; align-items:center; gap:2px; min-height:36px; border-radius:7px }
.conversation-row.selected { background:#1e2a40 }
.conversation-open { flex:1; min-width:0; color:var(--nav-muted); background:transparent; border:0; font-size:.74rem; text-align:left; padding:9px 10px }
.conversation-open span { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap }
.conversation-more { width:28px; height:32px; min-height:32px; padding:5px }
.sidebar-bottom { margin-top:auto; padding:20px 0 18px }
.profile-row { display:flex; align-items:center; gap:9px; margin-top:12px; padding:17px 3px 0; border-top:1px solid var(--nav-line) }
.profile-row>span:nth-child(2) { flex:1; min-width:0 }
.profile-row strong,.profile-row small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap }
.profile-row strong { font-size:.74rem; line-height:1.5 }
.profile-row small { font-size:.65rem; margin-top:2px; color:var(--nav-muted) }
.profile-row .icon-button { width:28px; padding:5px }
.app-sidebar .icon-button { color:var(--nav-muted) }
.app-main { display:flex; flex-direction:column; min-width:0; min-height:0; overflow-y:auto; overscroll-behavior:contain }
.topbar { position:sticky; top:0; z-index:10; display:flex; align-items:center; justify-content:space-between; gap:18px; min-height:64px; padding:10px 32px; background:var(--bg); border-bottom:1px solid var(--line); flex-shrink:0 }
.topbar-location,.topbar-actions { display:flex; align-items:center; gap:13px; min-width:0 }
.topbar-location { font-size:.75rem }
.topbar-location>span:first-of-type { color:var(--muted); overflow:hidden; white-space:nowrap; text-overflow:ellipsis; max-width:180px }
.breadcrumb-separator { color:var(--subtle) }
.topbar-location strong { white-space:nowrap; font-weight:550 }
.topbar-actions { flex-shrink:0; gap:8px }
.topbar-search { display:flex; align-items:center; gap:9px; padding:7px 10px; background:var(--surface); border:1px solid var(--line); border-radius:7px; color:var(--muted); font-size:.7rem; min-height:34px }
.topbar-search .icon { width:15px; height:15px }
kbd { font:inherit; font-size:.65rem; background:var(--surface-2); padding:2px 4px; border-radius:3px; color:var(--subtle) }
.sidebar-open,.sidebar-close,.sidebar-scrim { display:none }
.page-canvas { padding:33px 36px 40px; max-width:1512px; width:100%; margin-inline:auto }
.page-header { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-bottom:28px }
.page-header>div { min-width:0 }
.page-header>button,.page-header>a { flex-shrink:0 }
.page-header h1 { font-size:1.85rem; font-weight:650; line-height:1.2 }
.page-header p { font-size:.84rem; margin-top:9px; color:var(--muted); max-width:75ch }
.section-header { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:17px }
.section-header h2 { font-size:1rem; font-weight:650; letter-spacing:-.02em }
.section-header>span { color:var(--muted); font-size:.74rem; font-variant-numeric:tabular-nums }
/* One authored 3D object; real work stays still and readable. */
.home-heading h1 { font-size:1.42rem }
.home-heading p { font-size:.78rem }
.today-label { color:var(--muted); font-size:.72rem; white-space:nowrap }
.home-hero { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(0,1fr); background:#131d32; color:#f7f9ff; border-radius:16px; overflow:hidden; min-height:365px; isolation:isolate }
.home-hero-copy { padding:34px 0 30px 34px; z-index:1; min-width:0 }
.home-hero h2 { font-size:2.65rem; line-height:1.1; font-weight:550; letter-spacing:-.035em; text-wrap:initial }
.home-hero-copy>p { color:#bdc9df; font-size:.82rem; margin-top:17px; line-height:1.65 }
.home-composer { margin-top:25px; padding:13px; border-radius:11px; background:#23314c; border:1px solid #435370; transition:border-color var(--fast) }
.home-composer:focus-within { border-color:#91acff }
.home-composer textarea { background:transparent; color:#f8faff; min-height:46px; padding:3px 2px; resize:none; font-size:.88rem; border:0; border-radius:0; outline:0; line-height:1.5 }
.home-composer textarea::placeholder { color:#bfcae0 }
.home-composer textarea:focus-visible { outline:0 }
.home-composer>div { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-top:8px }
.home-composer>div>span { display:flex; gap:6px; align-items:center; color:#bac6dd; font-size:.64rem }
.home-composer>div>span .icon { width:13px; height:13px }
.home-composer .primary { min-height:37px; font-size:.72rem; padding:9px 12px; background:var(--brand); color:white }
.home-composer .primary .icon { width:15px; height:15px }
.starter-links { display:flex; flex-wrap:wrap; gap:12px 22px; margin-top:17px }
.starter-links a { display:flex; gap:7px; align-items:center; font-size:.68rem; text-decoration:none; color:#c7d2e9 }
.starter-links .icon { width:12px; height:12px }
.home-hero-art { display:flex; flex-direction:column; min-width:0; position:relative; align-self:stretch; justify-content:center }
.core-caption { display:flex; align-items:center; justify-content:center; gap:11px; color:#bac8e3; font-size:.66rem; margin:0 15px 29px }
.core-caption .icon { width:12px; height:12px; opacity:.6 }
.vx-core { position:relative; isolation:isolate; min-width:0; width:100%; height:315px }
.vx-core-canvas { position:absolute; inset:0; border-radius:inherit; overflow:hidden }
.vx-core-canvas canvas { width:100%; height:100%; display:block; touch-action:pan-y }
.vx-core-controls { position:absolute; bottom:10px; left:0; right:0; display:flex; gap:5px; justify-content:center; z-index:2 }
.core-control { display:inline-flex; align-items:center; gap:6px; background:#243351; border:1px solid #455575; border-radius:6px; min-height:32px; padding:6px 9px; color:#d1dcf3; font-size:.61rem; transition:transform 140ms var(--ease-out) }
.core-control .icon { width:13px; height:13px }
.core-control[aria-pressed=true] { background:#36518a; color:white }
.core-control:active { transform:scale(.97) }
.core-pause { min-width:32px; justify-content:center }
.vx-core-fallback { position:absolute; inset:20% 24% 24%; perspective:700px; pointer-events:none }
.vx-core-fallback span { position:absolute; inset:0; border:15px solid #a6b8e7; border-top:0; clip-path:polygon(0 0,25% 0,50% 65%,75% 0,100% 0,50% 100%); background:#8da2d1; transform:rotateY(-28deg) rotateZ(-12deg) }
.vx-core-fallback span:nth-child(2) { transform:translate(12px,9px) rotateY(-28deg) rotateZ(-12deg); background:#4d79ff; z-index:-1 }
.vx-core-fallback span:nth-child(3) { transform:translate(24px,18px) rotateY(-28deg) rotateZ(-12deg); background:#31519b; z-index:-2 }
.vx-core[data-renderer=canvas-3d] .vx-core-fallback { display:none }
.home-grid { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(285px,1fr); gap:34px; margin-top:33px; align-items:start }
.recent-section { min-width:0 }
.activity-row { display:flex; align-items:center; gap:12px; padding:14px 0; border-bottom:1px solid var(--line); color:var(--ink); text-decoration:none }
.activity-symbol { display:grid; place-items:center; background:var(--surface); color:var(--accent); width:36px; height:36px; border-radius:9px; flex:none }
.activity-row>span:nth-child(2) { flex:1; min-width:0 }
.activity-row strong { display:block; font-size:.8rem; font-weight:550; overflow:hidden; text-overflow:ellipsis; white-space:nowrap }
.activity-row small { display:block; font-size:.67rem; color:var(--muted); margin-top:4px }
.activity-row>.icon { width:15px; height:15px; color:var(--muted) }
.recent-empty { display:flex; align-items:flex-start; gap:20px; padding:26px 22px; background:var(--surface); border-radius:12px; min-height:159px }
.recent-empty-icon { color:var(--accent); background:var(--accent-soft); width:42px; height:42px; flex:none; display:grid; place-items:center; border-radius:12px }
.recent-empty h3 { font-size:.97rem; line-height:1.4 }
.recent-empty p { font-size:.78rem; margin:8px 0 13px; color:var(--muted); max-width:49ch }
.recent-empty .text-link { font-size:.72rem }
.setup-panel { background:var(--surface); padding:23px; border-radius:12px; min-width:0 }
.setup-panel progress { width:100%; height:4px; border:0; border-radius:10px; appearance:none; display:block; background:var(--surface-2); overflow:hidden }
.setup-panel progress::-webkit-progress-bar { background:var(--surface-2) }
.setup-panel progress::-webkit-progress-value { background:var(--brand); border-radius:10px }
.setup-panel progress::-moz-progress-bar { background:var(--brand) }
.setup-steps { margin-top:10px }
.setup-step { display:flex; align-items:center; gap:11px; padding:15px 0; color:var(--ink); text-decoration:none }
.setup-step>span:nth-child(2) { flex:1; min-width:0 }
.step-check { display:grid; place-items:center; flex:0 0 27px; width:27px; height:27px; border-radius:50%; background:var(--surface-2); color:var(--muted); font-size:.67rem }
.step-check .icon { width:14px; height:14px }
.setup-step.is-complete .step-check { background:var(--accent-soft); color:var(--accent) }
.setup-step strong { display:block; font-size:.76rem; font-weight:600; line-height:1.4 }
.setup-step small { display:block; font-size:.65rem; color:var(--muted); margin-top:3px; line-height:1.45 }
.setup-step>.icon { color:var(--subtle); width:13px; height:13px }
.workspace-shortcuts { display:grid; grid-template-columns:1fr 1fr; gap:17px; margin-top:20px }
.workspace-shortcuts a { display:flex; align-items:center; gap:10px; color:var(--ink); text-decoration:none; padding:16px 0 }
.workspace-shortcuts a>span { flex:1; min-width:0 }
.workspace-shortcuts strong { display:block; font-size:.76rem }
.workspace-shortcuts small { display:block; font-size:.65rem; color:var(--muted); margin-top:5px; line-height:1.5 }
.workspace-shortcuts .icon { color:var(--accent); width:19px; height:19px }
.workspace-shortcuts .icon:last-child { width:13px; height:13px; color:var(--muted) }
.review-callout { display:flex; align-items:center; gap:12px; padding:15px 18px; margin-top:18px; color:var(--accent); background:var(--accent-soft); border-radius:9px; text-decoration:none }
.review-callout>span { flex:1 }
.review-callout strong,.review-callout small { display:block; font-size:.76rem }
.review-callout small { font-size:.67rem; margin-top:4px }
/* States, collections, and structured work. */
.notice {
  background:var(--surface-2);
  color:var(--ink);
  padding:14px 17px;
  border-radius:9px;
  font-size:.81rem;
  line-height:1.6;
  margin:0 0 22px;
  display:block;
  overflow-wrap:anywhere
}
.notice.success {
  background:var(--accent-soft);
  color:var(--success)
}
.notice.error {
  background:var(--danger-soft);
  color:var(--danger)
}
.notice.subtle {
  display:flex;
  gap:10px;
  align-items:flex-start;
  color:var(--muted);
  font-size:.76rem
}
.notice .icon {
  margin-top:2px;
  width:16px;
  height:16px
}
.empty-state {
  padding:65px 28px;
  display:flex;
  align-items:center;
  flex-direction:column;
  text-align:center;
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:var(--radius)
}
.empty-symbol {
  width:52px;
  height:52px;
  border-radius:14px;
  background:var(--surface-2);
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--accent);
  margin-bottom:21px
}
.empty-symbol .icon {
  width:25px;
  height:25px
}
.empty-state h2 {
  font-size:1.5rem
}
.empty-state p {
  font-size:.83rem;
  max-width:52ch;
  color:var(--muted);
  margin-top:12px
}
.empty-state>.primary {
  margin-top:24px
}
.empty-state.compact {
  padding:32px 25px
}
.empty-state.compact .empty-symbol {
  width:36px;
  height:36px;
  border-radius:10px;
  margin-bottom:14px
}
.empty-state.compact .empty-symbol .icon {
  width:19px;
  height:19px
}
.empty-state.compact p {
  font-size:.76rem;
  max-width:48ch
}
.empty-state.compact h3 {
  font-size:.95rem
}
.collection-toolbar {
  display:flex;
  align-items:center;
  gap:16px;
  justify-content:space-between;
  margin-bottom:24px
}
.search-control {
  display:flex;
  align-items:center;
  gap:9px;
  border:1px solid var(--line);
  border-radius:8px;
  background:var(--surface);
  padding:0 12px;
  width:min(100%,420px)
}
.search-control .icon {
  color:var(--muted);
  width:17px;
  height:17px
}
.search-control input {
  border:0;
  padding-left:0;
  font-size:.8rem;
  min-height:42px
}
.search-control:focus-within {
  outline:2px solid var(--focus);
  outline-offset:3px
}
.search-control input:focus-visible {
  outline:0
}
.table-wrap {
  position:relative;
  overflow-x:auto;
  width:100%;
  overscroll-behavior:contain;
  border:1px solid var(--line);
  border-radius:10px;
  background:var(--surface)
}
.data-table {
  border-collapse:collapse;
  width:100%;
  text-align:left;
  font-size:.79rem;
  font-variant-numeric:tabular-nums
}
.data-table th {
  font-size:.72rem;
  font-weight:500;
  color:var(--muted);
  background:var(--sidebar);
  padding:13px 17px;
  white-space:nowrap
}
.data-table td {
  padding:18px 17px;
  border-top:1px solid var(--line)
}
.data-table td:first-child {
  width:44%;
  min-width:240px
}
.data-table td:last-child {
  white-space:nowrap
}
.document-name {
  display:flex;
  align-items:center;
  gap:12px;
  text-decoration:none;
  color:var(--ink);
  min-width:0
}
.document-name>.icon {
  color:var(--muted);
  width:20px;
  height:20px
}
.document-name strong {
  display:block;
  overflow-wrap:anywhere;
  font-size:.81rem
}
.document-name small {
  display:block;
  color:var(--muted);
  font-size:.68rem;
  margin-top:5px;
  overflow-wrap:anywhere
}
.visibility-label {
  display:flex;
  gap:6px;
  align-items:center;
  white-space:nowrap;
  color:var(--muted);
  font-size:.7rem
}
.visibility-label .icon {
  width:13px;
  height:13px
}
.status-badge {
  display:inline-flex;
  align-items:center;
  gap:5px;
  white-space:nowrap;
  background:var(--surface-2);
  color:var(--muted);
  padding:5px 8px;
  border-radius:6px;
  font-size:.65rem;
  line-height:1.25;
  font-weight:600
}
.status-badge.approved,.status-badge.active,.status-badge.healthy {
  background:var(--accent-soft);
  color:var(--success)
}
.status-badge.pending,.status-badge.in_review,.status-badge.draft {
  background:var(--warning-soft);
  color:var(--warning)
}
.status-badge.suspended,.status-badge.changes_requested,.status-badge.critical,.status-badge.removed {
  background:var(--danger-soft);
  color:var(--danger)
}
.detail-grid {
  display:grid;
  grid-template-columns:minmax(0,1fr) 310px;
  gap:36px
}
.side-panel {
  align-self:start;
  background:var(--sidebar);
  border:1px solid var(--line);
  border-radius:12px;
  padding:23px
}
.side-panel h2 {
  font-size:1rem
}
.side-panel .field-note {
  margin:14px 0 20px
}
.side-panel .section-header {
  flex-wrap:wrap
}
.project-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:22px
}
.project-card {
  color:var(--ink);
  text-decoration:none;
  display:flex;
  flex-direction:column;
  padding:25px;
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:12px;
  min-height:225px
}
.project-card-top,.project-card-bottom {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px
}
.project-card-top .icon {
  width:24px;
  height:24px;
  color:var(--accent)
}
.project-card-top span {
  font-size:.65rem
}
.project-card h2 {
  font-size:1.17rem;
  margin-top:25px
}
.project-card p {
  font-size:.78rem;
  color:var(--muted);
  margin:12px 0 24px;
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden
}
.project-card-bottom {
  margin-top:auto;
  font-size:.7rem;
  color:var(--muted)
}
.project-card-bottom .icon {
  width:17px;
  height:17px
}
.people-section {
  margin-top:30px
}
.member-row {
  display:flex;
  align-items:center;
  gap:15px;
  padding:18px 0;
  border-bottom:1px solid var(--line);
  flex-wrap:wrap
}
.member-main {
  flex:1;
  min-width:160px
}
.member-main strong,.member-main span {
  display:block
}
.member-main strong {
  font-size:.84rem
}
.member-main span {
  font-size:.73rem;
  color:var(--muted);
  margin-top:4px;
  overflow-wrap:anywhere
}
.member-actions {
  position:relative
}
.member-actions>summary {
  font-size:.74rem;
  color:var(--accent);
  padding:10px;
  list-style:none
}
.member-action-body {
  display:flex;
  flex-direction:column;
  gap:12px;
  background:var(--surface);
  border:1px solid var(--line);
  padding:18px;
  border-radius:8px;
  min-width:230px;
  margin-top:5px
}
.member-actions[open] {
  flex-basis:100%
}
.inline-actions {
  display:flex;
  gap:4px
}
.person-line {
  display:flex;
  align-items:center;
  gap:10px;
  padding:14px 0
}
.person-line>span:nth-child(2) {
  flex:1;
  min-width:0
}
.person-line strong,.person-line small {
  display:block;
  overflow-wrap:anywhere
}
.person-line strong {
  font-size:.75rem
}
.person-line small {
  font-size:.65rem;
  color:var(--muted);
  margin-top:3px
}
.access-details {
  margin-top:20px
}
.source-metadata {
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  font-size:.75rem;
  color:var(--muted)
}
.source-metadata span {
  background:var(--surface-2);
  padding:6px 10px;
  border-radius:6px
}
.source-content {
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:12px;
  margin-top:30px;
  padding:35px;
  max-width:85ch
}
.source-content section+section {
  margin-top:32px;
  padding-top:24px;
  border-top:1px solid var(--line)
}
.source-content h2 {
  font-size:.85rem;
  margin-bottom:12px;
  color:var(--muted)
}
.source-content p {
  font-size:.88rem;
  white-space:pre-wrap;
  overflow-wrap:anywhere;
  line-height:1.8
}
.draft-editor textarea {
  line-height:1.8;
  min-height:420px;
  padding:20px;
  resize:vertical
}
.editor-footer {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:16px
}
.editor-footer small {
  color:var(--muted);
  font-size:.72rem
}
.draft-reader {
  padding:30px;
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:12px;
  white-space:pre-wrap;
  line-height:1.85;
  overflow-wrap:anywhere
}
.review-note {
  padding:15px;
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:9px;
  margin:20px 0;
  font-size:.8rem
}
.review-note strong {
  font-size:.73rem
}
.review-note p {
  margin-top:8px;
  white-space:pre-wrap;
  overflow-wrap:anywhere
}
.settings-section {
  display:grid;
  grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);
  gap:50px;
  padding:32px 0;
  border-top:1px solid var(--line);
  max-width:940px
}
.settings-section>div>p {
  font-size:.8rem;
  color:var(--muted);
  max-width:35ch;
  margin-top:10px
}
.settings-section h2 {
  font-size:1.1rem
}
.settings-facts {
  margin:0;
  display:flex;
  flex-direction:column;
  gap:18px
}
.settings-facts>div {
  display:flex;
  justify-content:space-between;
  gap:20px;
  font-size:.78rem
}
.settings-facts dt {
  color:var(--muted)
}
.settings-facts dd {
  margin:0;
  text-align:right;
  overflow-wrap:anywhere
}
.session-row {
  display:flex;
  gap:12px;
  align-items:center;
  padding:12px 0;
  border-bottom:1px solid var(--line)
}
.session-row strong,.session-row small {
  display:block
}
.session-row strong {
  font-size:.78rem
}
.session-row small {
  color:var(--muted);
  font-size:.68rem;
  margin-top:4px
}
.audit-list {
  max-height:340px;
  overflow:auto;
  overscroll-behavior:contain
}
.audit-list>div {
  display:flex;
  align-items:baseline;
  gap:15px;
  justify-content:space-between;
  padding:10px 0;
  border-bottom:1px solid var(--line)
}
.audit-list strong {
  font-size:.74rem;
  font-weight:500
}
.audit-list small {
  font-size:.65rem;
  color:var(--muted);
  white-space:nowrap
}
.page-footer {
  display:flex;
  justify-content:center;
  gap:22px;
  font-size:.7rem;
  padding:36px 20px;
  color:var(--muted)
}
.page-footer a {
  color:var(--muted)
}

/* Forms and dialogs share the same native semantics across the product. */
.form-stack,.upload-form {
  display:flex;
  flex-direction:column;
  gap:20px
}
.form-stack label,.upload-form label {
  display:flex;
  flex-direction:column;
  gap:8px;
  font-size:.78rem;
  font-weight:500;
  min-width:0
}
.form-stack label small,.upload-form label small {
  color:var(--muted);
  font-size:.71rem;
  font-weight:400;
  line-height:1.6
}
.form-stack .field-note {
  margin:0
}
.form-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px
}
.label-row {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:15px
}
.label-row a {
  font-size:.69rem;
  text-decoration:none;
  font-weight:500
}
.checkbox {
  flex-direction:row!important;
  align-items:flex-start;
  gap:10px!important;
  font-weight:400!important;
  line-height:1.6
}
.checkbox input {
  margin-top:3px
}
.checkbox span {
  font-size:.72rem
}
.file-drop {
  background:var(--surface-2);
  padding:18px;
  border:1px solid var(--line);
  border-radius:10px
}
.file-drop input {
  background:var(--surface)
}
details>summary {
  font-size:.8rem;
  font-weight:500;
  padding:12px 0;
  color:var(--accent)
}
details .form-stack,details .form-grid {
  margin-top:15px
}
.form-stack>button.primary {
  margin-top:2px
}
dialog {
  border:0;
  background:var(--surface);
  color:var(--ink);
  padding:28px;
  border-radius:16px;
  box-shadow:var(--shadow);
  width:min(540px,calc(100% - 32px));
  max-height:calc(100dvh - 50px);
  overflow-y:auto;
  overscroll-behavior:contain
}
dialog::backdrop {
  background:var(--overlay)
}
dialog[open] {
  opacity:1;
  transform:translateY(0) scale(1)
}
dialog[data-motion=pointer] {
  transition:opacity 180ms var(--ease-out),transform 220ms var(--ease-out)
}
@starting-style {
  dialog[open][data-motion=pointer] {
    opacity:0;
    transform:translateY(7px) scale(.97)
  }
}
.dialog-header {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  margin-bottom:25px
}
.dialog-header h2 {
  font-size:1.35rem
}
.dialog-header .icon-button {
  margin-right:-8px
}
.compact-dialog {
  max-width:420px
}
.dialog-x {
  position:absolute;
  right:16px;
  top:16px;
  font-size:23px;
  background:none;
  border:0
}
.dialog-copy {
  font-size:.8rem;
  color:var(--muted)
}
.memory-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:20px
}
.memory-card {
  border:1px solid var(--line);
  border-radius:12px;
  background:var(--surface);
  padding:23px;
  min-width:0
}
.memory-card>span {
  font-size:.83rem;
  font-weight:600;
  overflow-wrap:anywhere
}
.memory-card>p {
  font-size:.79rem;
  margin:12px 0 22px;
  color:var(--muted);
  overflow-wrap:anywhere;
  white-space:pre-wrap
}
.memory-card>div {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px
}
.memory-card small {
  font-size:.68rem;
  color:var(--muted)
}
.memory-tabs {
  display:flex;
  gap:6px;
  margin-bottom:25px;
  padding:4px;
  background:var(--surface-2);
  border-radius:8px
}
.memory-tabs button {
  flex:1;
  border:0;
  border-radius:6px;
  padding:10px;
  font-size:.77rem;
  color:var(--muted)
}
.memory-tabs [aria-selected=true] {
  background:var(--surface);
  color:var(--ink)
}
.empty-panel {
  padding:35px;
  color:var(--muted);
  grid-column:1/-1;
  display:flex;
  flex-direction:column;
  gap:12px
}
.empty-panel strong {
  color:var(--ink)
}


/* Chat class names match the DOM produced by app.js, not retired .message.user selectors. */
.app-main:has(.chat-workspace) { overflow:hidden }
.chat-workspace { display:flex; flex-direction:column; flex:1; min-height:0; position:relative }
.chat-subbar { display:flex; align-items:center; gap:14px; padding:14px 32px; min-height:56px; flex-shrink:0; font-size:.73rem }
.chat-subbar>span:first-child { flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap }
.model-label { display:flex; align-items:center; gap:7px; min-width:0; max-width:210px; color:var(--muted); font-size:.67rem }
.model-label span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap }
.model-label .icon { width:14px; height:14px }
.messages { flex:1; min-height:0; overflow-y:auto; overscroll-behavior:contain; padding:12px 34px 26px; display:flex; flex-direction:column; gap:30px; scrollbar-gutter:stable; scroll-padding-bottom:20px }
.messages>* { width:min(100%,790px); margin-inline:auto; flex-shrink:0 }
.welcome { margin-block:auto; padding:14px 0 25px }
.welcome-top { display:flex; align-items:center; justify-content:center; gap:20px }
.welcome-top>div:last-child { min-width:0 }
.welcome h1 { font-size:2.2rem; font-weight:550; letter-spacing:-.035em; line-height:1.1; text-wrap:initial }
.welcome p { font-size:.83rem; color:var(--muted); margin-top:14px; line-height:1.7 }
.vx-core--chat { height:180px; flex:0 0 190px; width:190px; background:#131d32; border-radius:50%; overflow:hidden }
.vx-core--chat .vx-core-controls { display:none }
.vx-core--chat .vx-core-canvas { inset:-14% }
.suggestions { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-top:35px }
.suggestions button { display:flex; flex-direction:column; align-items:flex-start; gap:15px; text-align:left; padding:19px; color:var(--ink); background:var(--surface); border:1px solid var(--line); border-radius:10px; position:relative; min-width:0; min-height:136px; transition:transform 180ms var(--ease-out) }
.suggestions button>.icon:first-child { color:var(--accent); width:20px; height:20px }
.suggestions strong { display:block; font-size:.78rem; line-height:1.5 }
.suggestions small { display:block; font-size:.66rem; line-height:1.5; color:var(--muted); margin-top:4px }
.suggestions button>.icon:last-child { width:13px; height:13px; position:absolute; right:16px; top:20px; color:var(--subtle) }
.composer-dock { flex-shrink:0; align-self:center; width:min(100%,864px); padding:9px 30px calc(17px + env(safe-area-inset-bottom,0px)) }
.composer { background:var(--surface); border:1px solid var(--line); border-radius:13px; padding:15px 15px 10px; box-shadow:0 5px 18px rgba(15,30,60,.035) }
.composer:focus-within { border-color:var(--accent) }
.composer textarea { font-size:.94rem; padding:3px 4px 8px; border:0; border-radius:0; resize:none; min-height:58px; max-height:180px; outline:0; line-height:1.5; background:transparent }
.composer-actions { display:flex; align-items:center; justify-content:space-between; gap:8px; padding-top:6px }
.composer-actions>div { display:flex; align-items:center; gap:8px; min-width:0 }
.composer-scope { display:flex; align-items:center; gap:6px; font-size:.69rem; color:var(--muted) }
.composer-scope .icon { width:14px; height:14px }
.composer-note { text-align:center; margin-top:11px; font-size:.64rem; color:var(--muted) }
.tool-toggle { display:flex; align-items:center; gap:6px; font-size:.72rem; padding:8px; border:0; border-radius:6px; color:var(--muted); min-height:36px }
.tool-toggle[aria-pressed=true] { background:var(--accent-soft); color:var(--accent) }
.tool-toggle .icon { width:16px; height:16px }
.send-button { border:0; width:36px; height:36px; min-height:36px; padding:8px; border-radius:8px }
.message { font-size:.93rem; line-height:1.8; background:transparent; min-width:0; position:relative; overflow-wrap:anywhere }
.message-user { display:flex; justify-content:flex-end }
.message-user .message-label { display:none }
.message-user .message-body { max-width:82%; padding:13px 18px; border:1px solid var(--line); border-radius:14px 14px 4px 14px; background:var(--surface-2); color:var(--ink); white-space:pre-wrap }
.message-assistant { display:grid; grid-template-columns:28px minmax(0,1fr); gap:9px 12px }
.message-assistant .message-label { display:flex; align-items:center; gap:9px; grid-column:1 / -1; font:600 .76rem/1.5 var(--font); letter-spacing:0; color:var(--ink) }
.message-assistant .message-label::before { content:""; display:block; width:24px; height:24px; background:var(--brand); mask:url('/static/vx/symbol.svg') center/contain; -webkit-mask:url('/static/vx/symbol.svg') center/contain; border-radius:7px }
.message-assistant .message-body { grid-column:2; min-width:0; max-width:72ch }
.message-body:empty { display:none }
.answer-prose { line-height:1.8; white-space:normal; overflow-wrap:anywhere; font-size:.93rem }
.answer-prose h2 { font-size:1.13rem; margin:19px 0 10px }
.answer-prose h3 { font-size:1rem; margin:16px 0 9px }
.answer-prose code { font-size:.83em; padding:2px 4px; background:var(--surface-2); border-radius:4px }
.answer-artifact { border:1px solid var(--line); background:var(--surface); border-radius:9px; overflow:hidden; margin:15px 0 }
.artifact-toolbar { display:flex; align-items:center; justify-content:space-between; padding:8px 14px; background:var(--surface-2); color:var(--muted); font-size:.7rem }
.artifact-toolbar .text-button { font-size:.68rem; padding:5px 8px; min-height:28px }
.answer-artifact pre { padding:17px; margin:0; overflow:auto; max-width:100%; font-size:.8rem; line-height:1.7; tab-size:2 }
.source-list { display:flex; flex-wrap:wrap; gap:7px; margin-top:20px; font-size:.72rem }
.source-list>strong { flex-basis:100%; color:var(--muted); font-size:.69rem; margin-bottom:2px }
.source-list a,.citation { color:var(--accent); background:var(--accent-soft); text-decoration:none; font-size:.68rem; padding:5px 8px; border-radius:6px; overflow-wrap:anywhere }
.citation { padding:2px 5px; font-size:.72em }
.work-status { display:flex; align-items:center; gap:10px; font-size:.79rem; color:var(--muted) }
/* Calm work feedback: shimmer the name and genuine tool stages, no spinner. */
.work-status::before { content:none }
.work-steps[hidden] { display:none }
.work-steps { display:grid;gap:6px;margin:0;padding:0 }
.work-step { margin:0;color:var(--muted);font-size:.78rem;line-height:1.55;opacity:.62 }
.work-step.is-current { opacity:1;color:var(--ink);text-shadow:0 0 10px var(--accent-soft);animation:vx-work-breathe 1.6s ease-in-out infinite }
.message-assistant.is-working .message-label { color:var(--ink);text-shadow:0 0 12px var(--accent-soft);animation:vx-work-breathe 1.6s ease-in-out infinite }
@keyframes vx-work-breathe { 0%,100% {opacity:.72} 50% {opacity:1} }
@media (prefers-reduced-motion: reduce) {
  .message-assistant.is-working .message-label,.work-step.is-current {animation:none;opacity:1}
}
.spinner { content:"";width:15px;height:15px;flex:none;border:2px solid var(--line);border-top-color:var(--accent);border-radius:50%;animation:vx-spin .8s linear infinite }
@keyframes vx-spin { to { transform:rotate(360deg) } }
.drop-overlay { display:none; position:absolute; inset:12px; z-index:20; background:var(--surface); border:2px dashed var(--accent); border-radius:15px; align-items:center; justify-content:center; flex-direction:column; gap:12px; color:var(--accent); text-align:center; padding:25px }
.drop-overlay.visible { display:flex }
.drop-overlay span { font-size:.8rem; color:var(--muted) }
.attachment-shelf { display:flex; gap:8px; flex-wrap:wrap; padding-bottom:15px }
.attachment-chip { display:flex; align-items:center; gap:8px; padding:7px 9px; background:var(--surface-2); border-radius:7px; max-width:100%; font-size:.7rem }
.attachment-chip span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; max-width:230px }
.attachment-chip button { border:0; min-height:30px; min-width:30px; color:var(--muted) }
.attachment-chip.is-error { background:var(--danger-soft); color:var(--danger) }
.toast-region { position:fixed; right:24px; bottom:24px; z-index:150; max-width:min(400px,calc(100vw - 32px)); pointer-events:none }
.app-toast { background:var(--ink); color:var(--bg); padding:15px 20px; border-radius:10px; font-size:.79rem; box-shadow:var(--shadow); opacity:0; transform:translateY(10px); transition:opacity 180ms var(--ease-out),transform 220ms var(--ease-out); pointer-events:auto; overflow-wrap:anywhere }
.app-toast.visible { opacity:1; transform:translateY(0) }
.app-toast.error { background:var(--danger-soft); color:var(--danger) }
/* Authentication: the object belongs to the product, not the form. */
.auth-shell { display:grid; grid-template-columns:1fr 1fr; min-height:100svh }
.auth-story { background:#131d32; color:#f7f9ff; padding:38px 50px 28px; display:flex; flex-direction:column; min-height:100svh }
.auth-story .wordmark { color:white }
.auth-story .vx-symbol { color:#829cff }
.auth-story-content { width:100%; max-width:535px; margin:auto; padding:46px 0 26px }
.auth-story h2 { font-size:3.1rem; line-height:1.08; letter-spacing:-.035em; font-weight:550; text-wrap:initial }
.auth-story-content>p { font-size:.87rem; line-height:1.7; color:#becbe2; margin-top:22px }
.vx-core--auth { height:320px; margin-top:4px }
.auth-value { display:flex; gap:24px; justify-content:space-between; margin-top:15px }
.auth-value span { display:flex; align-items:center; gap:7px; font-size:.65rem; color:#d0dbef }
.auth-value .icon { width:15px; height:15px; color:#97b3ff }
.auth-story-footer { display:flex; justify-content:space-between; gap:16px; font-size:.61rem; color:#b2c1dc }
.auth-story-footer>span:first-child { display:flex; align-items:center; gap:7px }
.auth-story-footer .icon { width:12px; height:12px }
.auth-main { min-height:100svh; padding:30px 45px; display:flex; flex-direction:column; background:var(--surface) }
.auth-top { display:flex; align-items:center; justify-content:space-between; gap:15px; font-size:.72rem; color:var(--muted) }
.auth-form-wrap { margin:auto; width:100%; max-width:370px; padding:55px 0 }
.auth-form-wrap h1 { font-size:2.05rem; font-weight:600; letter-spacing:-.03em; line-height:1.16 }
.auth-copy { font-size:.86rem; color:var(--muted); margin:14px 0 31px }
.auth-form-wrap .form-stack { gap:22px }
.auth-form-wrap .form-stack>.primary { min-height:47px; margin-top:5px }
.auth-form-wrap input { min-height:47px; font-size:.85rem; background:var(--bg) }
.auth-alternative { font-size:.76rem; color:var(--muted); text-align:center; margin-top:28px }
.auth-alternative a { font-weight:600; text-decoration:none }
.auth-small { font-size:.7rem; color:var(--muted); text-align:center; margin-top:23px; line-height:1.6 }
.auth-footer { display:flex; align-items:center; justify-content:space-between; gap:20px; font-size:.68rem; color:var(--muted); padding-top:18px }
.auth-footer>div { display:flex; gap:19px }
.auth-footer a { color:var(--muted); text-decoration:none }
.mobile-wordmark { display:none }
.workspace-choices {
  display:flex;
  flex-direction:column;
  gap:12px;
  margin:0 0 22px
}
.workspace-choice {
  display:flex;
  align-items:center;
  gap:13px;
  border:1px solid var(--line);
  background:var(--surface);
  border-radius:10px;
  text-align:left;
  width:100%;
  padding:17px
}
.workspace-choice>span:nth-child(2) {
  flex:1;
  min-width:0
}
.workspace-choice strong,.workspace-choice small {
  display:block;
  overflow-wrap:anywhere
}
.workspace-choice strong {
  font-size:.84rem
}
.workspace-choice small {
  color:var(--muted);
  font-size:.72rem;
  margin-top:4px
}
.workspace-choice>.icon {
  width:16px;
  height:16px
}
.legal-header {
  max-width:1140px;
  margin:auto;
  display:flex;
  gap:30px;
  align-items:center;
  justify-content:space-between;
  padding:35px 30px;
  border-bottom:1px solid var(--line)
}
.legal-header nav {
  display:flex;
  gap:22px;
  flex-wrap:wrap;
  font-size:.75rem
}
.legal-header a {
  text-decoration:none
}
.legal-main {
  max-width:85ch;
  margin:auto;
  padding:50px 30px 30px
}
.legal-main h1 {
  font-size:2rem;
  margin-bottom:22px
}
.legal-main h2 {
  font-size:1.2rem;
  margin-top:32px;
  margin-bottom:13px
}
.legal-main p,.legal-main li {
  font-size:.85rem;
  line-height:1.9;
  color:var(--muted)
}
.legal-main p+p {
  margin-top:16px
}
.legal-main .eyebrow,.legal-main .legal-kicker {
  display:none
}
.legal-card,.legal-notice {
  padding:20px;
  background:var(--surface-2);
  border-radius:10px;
  margin:20px 0
}
.metric-band {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:20px;
  padding:25px;
  background:var(--surface-2);
  margin:25px 40px;
  border-radius:12px
}
.metric-band span,.metric-band small,.metric-band strong {
  display:block
}
.metric-band span {
  font-size:.75rem;
  color:var(--muted)
}
.metric-band strong {
  font-size:2rem;
  margin:10px 0;
  font-variant-numeric:tabular-nums
}
.metric-band small {
  font-size:.7rem;
  color:var(--muted)
}
.split-section {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:35px;
  padding:30px 40px
}
.split-section h2 {
  margin:16px 0
}
.resource-list>div {
  padding:15px 0
}
.resource-list b {
  float:right
}
.resource-list progress {
  margin-top:10px
}
.facts>div {
  display:flex;
  justify-content:space-between;
  padding:12px 0;
  border-bottom:1px solid var(--line)
}
.section-label,.eyebrow {
  font-size:.73rem;
  color:var(--muted);
  text-transform:none;
  letter-spacing:0
}
.app-main>.page-header {
  padding:35px 40px 0
}
.app-main>section:not(.chat-workspace) {
  max-width:100%
}
.policy-strip {
  display:flex;
  gap:20px;
  align-items:center;
  padding:22px;
  background:var(--surface-2);
  margin:25px 0
}
.policy-strip small {
  display:block;
  color:var(--muted)
}


.search-dialog { width:min(540px,calc(100vw - 32px)); margin:12vh auto auto; padding:24px; border-radius:14px }
.search-dialog .dialog-header h2 { font-size:1.25rem }
.search-dialog .search-control { width:100% }
.quick-find-list { max-height:min(48dvh,460px); overflow-y:auto; overscroll-behavior:contain; margin-top:14px }
.quick-find-item { display:flex; align-items:center; gap:13px; padding:12px; border-radius:7px; text-decoration:none; color:var(--ink) }
.quick-find-item>span { flex:1; min-width:0 }
.quick-find-item strong { display:block; font-size:.81rem; font-weight:550; overflow:hidden; text-overflow:ellipsis; white-space:nowrap }
.quick-find-item small { display:block; font-size:.68rem; color:var(--muted); margin-top:2px }
.quick-find-item>.icon { width:17px; height:17px; color:var(--accent) }
.quick-find-item>.icon:last-child { color:var(--subtle); width:13px; height:13px }
.motion-setting { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:16px 0 }
.motion-setting>span { min-width:0 }
.motion-setting strong,.motion-setting small { display:block }
.motion-setting small { font-size:.76rem; color:var(--muted); margin-top:4px }
.motion-toggle { display:flex; align-items:center; justify-content:center; border:1px solid var(--line); background:var(--surface); border-radius:7px; font-size:.76rem; padding:8px 13px; min-height:42px; white-space:nowrap }
.motion-toggle[aria-pressed=true] { background:var(--accent-soft); color:var(--accent) }
@media(hover:hover) and (pointer:fine) {
 .primary:hover,.send-button:hover,.sidebar-compose:hover { background:#2c50d7 }
 .secondary:hover,.icon-button:hover,.text-button:hover,.workspace-choice:hover,.quick-find-item:hover { background:var(--surface-2) }
 .app-sidebar .icon-button:hover,.nav-item:hover,.conversation-row:hover { background:#202c40; color:#f5f7ff }
 .workspace-switch:hover { border-color:#576c92 }
 .suggestions button:hover { transform:translateY(-3px); border-color:var(--accent) }
 .project-card:hover { border-color:var(--accent); transform:translateY(-3px) }
 .activity-row:hover strong,.starter-links a:hover,.setup-step:hover strong { color:var(--accent) }
 .starter-links a:hover { color:#fff }
 .core-control:hover { background:#344c79 }
 .text-link:hover { text-decoration:underline }
}
.project-card { transition:transform 180ms var(--ease-out); background:var(--surface) }
.project-card-top>.icon { width:32px; height:32px; padding:5px; border-radius:7px; background:var(--accent-soft) }
.project-card-bottom { padding-top:17px; border-top:1px solid var(--line) }
.empty-state { background:var(--surface) }
.empty-symbol { width:60px; height:60px; background:var(--accent-soft); transform:rotate(-6deg) }
.empty-symbol .icon { transform:rotate(6deg) }
@media(min-width:1600px) {
 .page-canvas { padding-top:42px; padding-inline:48px }
 .home-hero { min-height:400px }
 .home-hero-copy { padding:40px 0 35px 40px }
 .home-hero h2 { font-size:3rem }
 .vx-core--hero { height:355px }
}
@media(max-width:1150px) {
 .app-shell { grid-template-columns:212px minmax(0,1fr) }
 .page-canvas { padding-inline:26px }
 .topbar { padding-inline:26px }
 .home-hero h2 { font-size:2.2rem }
 .home-hero-copy { padding:28px 0 25px 27px }
 .home-hero { grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) }
 .home-grid { gap:22px; grid-template-columns:minmax(0,1.25fr) minmax(265px,1fr) }
 .setup-panel { padding:20px }
 .home-composer>div>span { display:none }
 .home-composer>div { justify-content:flex-end }
 .auth-story { padding-inline:35px }
 .auth-story h2 { font-size:2.6rem }
 .auth-value { gap:12px }
 .auth-story-footer { flex-wrap:wrap }
 .project-grid { grid-template-columns:repeat(2,minmax(0,1fr)) }
 .detail-grid { grid-template-columns:minmax(0,1fr) 270px; gap:24px }
 .settings-section { gap:30px }
 .today-label { display:none }
}
@media(max-width:960px) and (min-width:761px) {
 .home-grid { grid-template-columns:1fr }
 .home-hero { grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) }
 .home-hero h2 { font-size:1.9rem }
 .home-hero-copy>p br { display:none }
 .core-caption { gap:6px; font-size:.59rem }
 .core-caption .icon { width:10px }
 .topbar-search span,.topbar-search kbd { display:none }
 .auth-value { flex-direction:column; gap:14px }
 .detail-grid { grid-template-columns:1fr }
 .side-panel { max-width:100% }
 .welcome-top { gap:12px }
 .vx-core--chat { width:135px; flex-basis:135px; height:135px }
 .welcome h1 { font-size:1.8rem }
 .suggestions { gap:8px }
 .suggestions button { padding:15px 12px }
}
@media(max-width:760px) {
 html { scroll-padding-top:60px }
 .app-shell { grid-template-columns:minmax(0,1fr); height:100dvh }
 .app-sidebar { position:fixed; inset:0 auto 0 0; z-index:60; width:min(292px,calc(100vw - 44px)); height:100dvh; padding-top:env(safe-area-inset-top,0px); padding-bottom:env(safe-area-inset-bottom,0px); transform:translateX(-100%); transition:transform 250ms var(--ease-drawer); visibility:hidden }
 .sidebar-visible .app-sidebar { transform:translateX(0); visibility:visible }
 .sidebar-closing .app-sidebar { visibility:visible }
 .sidebar-visible { overflow:hidden }
 .sidebar-brand { min-height:77px }
 .sidebar-open,.sidebar-close { display:inline-flex }
 .sidebar-scrim { display:block; position:fixed; inset:0; background:var(--overlay); border:0; z-index:50; margin:0; padding:0; touch-action:none }
 .nav-item { min-height:46px; font-size:.84rem }
 .conversation-open { min-height:44px }
 .conversation-more { min-width:40px; height:44px }
 .workspace-switch { margin-bottom:16px }
 .app-main { width:100%; overscroll-behavior:contain }
 .topbar { padding:8px 15px; min-height:58px; padding-top:calc(8px + env(safe-area-inset-top,0px)); gap:8px }
 .topbar-location { gap:9px; font-size:.72rem; flex:1 }
 .topbar-location>span:first-of-type,.breadcrumb-separator { display:none }
 .topbar-actions { gap:0 }
 .topbar-search { padding:8px; border:0; background:transparent; min-height:44px; width:40px; justify-content:center }
 .topbar-search .icon { width:18px; height:18px }
 .topbar-search span,.topbar-search kbd { display:none }
 .icon-button { width:40px; min-height:40px; height:40px }
 .page-canvas { padding:25px 20px 35px }
 .page-header { align-items:flex-start; gap:18px; flex-wrap:wrap; margin-bottom:23px }
 .page-header h1 { font-size:1.7rem }
 .page-header p { font-size:.8rem; margin-top:8px }
 .page-header>.primary,.page-header>.secondary { min-height:42px; font-size:.76rem }
 .home-heading { margin-bottom:22px }
 .home-heading h1 { font-size:1.2rem }
 .home-heading p { font-size:.73rem }
 .home-hero { display:flex; flex-direction:column; border-radius:13px }
 .home-hero-copy { padding:24px 22px 0 }
 .home-hero h2 { font-size:2.05rem; line-height:1.12 }
 .home-hero-copy>p { font-size:.79rem; margin-top:13px }
 .desktop-break { display:none }
 .home-composer { margin-top:19px; padding:12px }
 .home-composer textarea { font-size:1rem; min-height:58px }
 .home-composer .primary { min-height:42px }
 .starter-links { gap:12px; justify-content:space-between; margin-top:16px }
 .starter-links a { font-size:.67rem; min-height:32px }
 .home-hero-art { margin-top:0 }
 .vx-core--hero { height:205px; max-width:360px; align-self:center; margin-top:3px }
 .core-caption { margin:4px 15px 19px }
 .core-control { min-height:36px; font-size:.62rem }
 .home-grid { grid-template-columns:1fr; gap:26px; margin-top:28px }
 .section-header h2 { font-size:.94rem }
 .section-header { gap:12px }
 .section-header .text-link { font-size:.7rem }
 .recent-empty { padding:22px 18px; gap:13px }
 .recent-empty-icon { width:33px; height:33px; border-radius:9px }
 .recent-empty-icon .icon { width:18px; height:18px }
 .recent-empty h3 { font-size:.87rem }
 .recent-empty p { font-size:.75rem }
 .workspace-shortcuts { gap:16px; margin-top:8px }
 .workspace-shortcuts a { align-items:flex-start; gap:8px }
 .workspace-shortcuts a>.icon:last-child { display:none }
 .workspace-shortcuts strong { font-size:.75rem }
 .setup-panel { padding:21px }
 .setup-step { min-height:64px }
 .setup-step small { font-size:.71rem }
 .setup-step strong { font-size:.8rem }
 .collection-toolbar { gap:12px; align-items:flex-start; flex-wrap:wrap }
 .search-control { width:100% }
 .search-control input,input,textarea,select { font-size:1rem }
 .data-table { min-width:620px }
 .table-wrap { border-radius:9px }
 .project-grid,.detail-grid,.settings-section,.form-grid,.memory-grid { grid-template-columns:minmax(0,1fr) }
 .project-card { padding:23px; min-height:210px }
 .detail-grid { gap:28px }
 .side-panel { width:100%; max-width:100% }
 .member-row { gap:11px }
 .member-actions { margin-left:auto }
 .member-action-body { min-width:0; width:100% }
 .member-main { min-width:130px }
 .settings-section { gap:20px; padding:28px 0 }
 .settings-facts>div { flex-wrap:wrap; font-size:.79rem }
 .settings-facts dd { text-align:left }
 .settings-section>div>p { max-width:100% }
 .source-content { padding:22px; max-width:100% }
 .source-content p { font-size:.88rem }
 .draft-reader { padding:22px }
 .editor-footer { flex-wrap:wrap }
 .draft-editor textarea { min-height:340px; padding:16px }
 .audit-list>div { flex-wrap:wrap; gap:3px }
 .empty-state { padding:40px 23px }
 .empty-state h2 { font-size:1.3rem }
 .empty-state p { font-size:.8rem }
 .chat-subbar { min-height:49px; padding:9px 20px; gap:9px; font-size:.69rem }
 .model-label { max-width:145px; font-size:.62rem }
 .chat-subbar>#save-answer { font-size:.66rem; padding:6px; min-height:36px }
 .chat-subbar>#save-answer .icon { display:none }
 .messages { padding:12px 20px 24px; gap:26px }
 .welcome { padding:5px 0 20px }
 .welcome-top { flex-direction:column; text-align:center; gap:18px }
 .vx-core--chat { flex:0 0 135px; height:135px; width:135px }
 .welcome h1 { font-size:1.95rem }
 .welcome p { margin-top:12px; font-size:.78rem }
 .suggestions { display:flex; flex-direction:column; margin-top:25px; gap:9px }
 .suggestions button { flex-direction:row; align-items:center; min-height:64px; padding:13px 14px; gap:12px }
 .suggestions button>span { flex:1; min-width:0 }
 .suggestions button>.icon:last-child { position:static; width:13px; height:13px }
 .suggestions strong { font-size:.76rem }
 .suggestions small { font-size:.65rem; margin-top:2px }
 .composer-dock { padding:7px 14px calc(12px + env(safe-area-inset-bottom,0px)); width:100% }
 .composer { padding:12px 11px 8px; border-radius:12px }
 .composer textarea { min-height:46px; max-height:140px; font-size:1rem }
 .composer-note { font-size:.61rem; margin-top:9px }
 .composer-scope { font-size:.65rem }
 .composer-scope .icon { display:none }
 .send-button { width:40px; height:40px; min-height:40px }
 .message { font-size:.88rem }
 .message-user .message-body { max-width:92%; padding:11px 15px }
 .message-assistant { grid-template-columns:22px minmax(0,1fr); column-gap:9px }
 .message-assistant .message-body { grid-column:1 / -1; padding-left:0 }
 .answer-prose { font-size:.88rem }
 .attachment-chip span { max-width:170px }
 .toast-region { right:16px; bottom:calc(18px + env(safe-area-inset-bottom,0px)) }
 dialog { padding:24px; width:calc(100% - 28px); max-height:calc(100dvh - 34px); border-radius:13px }
 .dialog-header { margin-bottom:21px }
 .dialog-header h2 { font-size:1.3rem }
 .search-dialog { margin-top:8dvh; padding:20px }
 .auth-shell { display:block }
 .auth-story { display:none }
 .auth-main { padding:23px 25px; min-height:100svh }
 .auth-top-note { display:none }
 .mobile-wordmark { display:block }
 .auth-form-wrap { padding:52px 0; max-width:400px }
 .auth-form-wrap h1 { font-size:1.9rem }
 .auth-form-wrap input { font-size:1rem }
 .auth-copy { font-size:.86rem }
 .auth-form-wrap .primary { min-height:48px }
 .auth-footer { padding-bottom:calc(8px + env(safe-area-inset-bottom,0px)) }
 .legal-header { flex-direction:column; align-items:flex-start; padding:24px }
 .legal-header nav { gap:16px }
 .legal-main { padding:30px 24px }
 .metric-band { grid-template-columns:1fr 1fr; margin:20px }
 .split-section { grid-template-columns:1fr; padding:25px }
 .app-main>.page-header { padding:25px 22px 0 }
}
@media(max-width:370px) {
 .page-canvas { padding-inline:16px }
 .home-hero-copy { padding-inline:19px }
 .home-hero h2 { font-size:1.85rem }
 .starter-links { gap:4px }
 .starter-links a { font-size:.62rem }
 .home-composer .primary { width:100% }
 .topbar { padding-inline:10px }
 .welcome h1 { font-size:1.7rem }
 .model-label { max-width:110px }
 .composer-note { font-size:.58rem }
 .auth-main { padding-inline:21px }
 .workspace-shortcuts { grid-template-columns:1fr }
}
@media(pointer:coarse) {
 .icon-button,.send-button,.core-control { min-width:44px; min-height:44px }
}
@media(max-width:760px) {
 .table-wrap:has(.document-row) { background:transparent; border:0; border-radius:0; overflow:visible }
 .data-table:has(.document-row) { min-width:0; display:block; width:100% }
 .data-table:has(.document-row) thead { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap }
 .data-table:has(.document-row) tbody { display:grid; gap:13px }
 .data-table tr.document-row { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); background:var(--surface); border:1px solid var(--line); border-radius:11px; padding:17px; gap:13px 16px }
 .data-table .document-row td { padding:0; border:0; width:auto; min-width:0; display:block; font-size:.73rem }
 .data-table .document-row td:first-child { grid-column:1/-1; padding-bottom:8px; min-width:0; width:100% }
 .data-table .document-row td[data-label]::before { content:attr(data-label); display:block; color:var(--muted); font-size:.64rem; margin-bottom:5px }
 .data-table .document-row .document-name { min-width:0 }
 .data-table .document-row .document-name strong { white-space:normal; overflow-wrap:anywhere }
 .data-table .document-row .document-name small { overflow-wrap:anywhere; white-space:normal }
 .data-table .document-row .document-actions { grid-column:1/-1; padding-top:3px }
 .data-table .document-row .document-actions button { border:1px solid var(--line); min-height:38px; width:100% }
}
@media(prefers-reduced-motion:reduce) {
 *,*::before,*::after { scroll-behavior:auto!important; animation:none!important; transition:none!important }
 .suggestions button,.project-card,.primary,.secondary,.send-button,.icon-button { transform:none!important }
}
html[data-motion=reduced] *,html[data-motion=reduced] *::before,html[data-motion=reduced] *::after { animation:none!important; transition:none!important; scroll-behavior:auto!important }
@media(prefers-contrast:more) { :root { --muted:var(--ink); --subtle:var(--ink); --line:var(--ink) } .status-badge,.primary,.secondary { outline:1px solid currentColor } }
@media print {
 .app-sidebar,.topbar,.composer-dock,.vx-core,.side-panel,button,.page-footer { display:none!important }
 .app-shell { display:block; height:auto }
 .app-main { height:auto; overflow:visible }
 .page-canvas { padding:0 }
 .detail-grid { display:block }
 .draft-reader,.source-content { border:0; padding:0 }
 body { background:#fff; color:#000 }
}

/* Automatic source selection: restrained, clearly permissioned, and scannable. */
.source-auto-indicator{display:inline-flex;align-items:center;gap:7px;padding:5px 9px;border:1px solid var(--line);border-radius:8px;color:var(--muted);font-size:.72rem;white-space:nowrap;background:var(--surface-2)}
.source-auto-indicator .icon{width:15px;height:15px;color:var(--accent)}
.source-permission-dialog{width:min(470px,calc(100vw - 28px));max-height:min(760px,calc(100dvh - 32px));padding:28px;border-radius:16px;background:var(--surface);color:var(--ink);border:1px solid var(--line);box-shadow:0 30px 90px rgba(8,18,35,.25)}
.source-permission-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}
.source-permission-symbol{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:var(--accent-soft);color:var(--accent)}
.source-permission-symbol .icon{width:22px;height:22px}
.source-permission-close{width:34px;height:34px;min-height:34px;border-radius:8px;color:var(--muted)}
.source-permission-dialog h2{font-size:1.3rem;line-height:1.25;letter-spacing:-.02em;margin:0 0 10px}
.source-permission-dialog #source-permission-description{font-size:.84rem;line-height:1.65;color:var(--muted);margin:0 0 22px;max-width:48ch}
.source-permission-accounts{display:flex;flex-direction:column;gap:0;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--surface)}
.source-permission-account{display:flex;align-items:center;gap:12px;min-width:0;padding:13px 14px;cursor:default}
.source-permission-account+.source-permission-account{border-top:1px solid var(--line)}
.source-permission-account:has(input){cursor:pointer}
.source-permission-provider{height:36px;width:36px;flex:none;border-radius:10px;display:grid;place-items:center;color:var(--accent);background:var(--accent-soft);font-size:.91rem;font-weight:700}
.source-permission-identity{display:flex;flex-direction:column;min-width:0;gap:3px;flex:1}
.source-permission-identity strong{font-size:.83rem;line-height:1.35;font-weight:650}
.source-permission-identity small{font-size:.72rem;line-height:1.4;color:var(--muted);overflow-wrap:anywhere}
.source-permission-read{font-size:.68rem;white-space:nowrap;color:var(--muted)}
.source-permission-account input[type=radio]{flex:none;width:18px;height:18px;margin:0;accent-color:var(--accent)}
.source-permission-query{background:var(--surface-2);margin-top:15px;padding:13px 15px;border-radius:10px;overflow-wrap:anywhere}
.source-permission-query>span{font-size:.69rem;color:var(--muted);display:block;margin-bottom:5px}
.source-permission-query p{margin:0;font-size:.8rem;line-height:1.5;max-height:6em;overflow:auto}
.source-permission-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:24px}
.source-permission-actions .primary,.source-permission-actions .secondary{min-width:116px;font-size:.79rem}
.source-permission-note{margin:14px 0 0;font-size:.71rem;line-height:1.55;color:var(--muted)}
.answer-sources{margin-top:19px;border-top:1px solid var(--line);padding-top:9px;max-width:100%;font-size:.8rem}
.answer-sources summary{list-style:none;display:inline-flex;align-items:center;gap:8px;min-height:34px;border-radius:8px;padding:5px 8px 5px 0;font-weight:540;color:var(--muted);transition:color 160ms var(--ease-out)}
.answer-sources summary::-webkit-details-marker{display:none}
.answer-sources summary:hover,.answer-sources[open] summary{color:var(--ink)}
.answer-sources-mark{width:24px;height:24px;display:grid;place-items:center;border-radius:7px;background:var(--surface-2);color:var(--accent);font-size:.95rem;font-weight:700}
.answer-sources-chevron{height:7px;width:7px;border-right:1.6px solid currentColor;border-bottom:1.6px solid currentColor;transform:rotate(45deg);transition:transform 160ms var(--ease-out);margin-inline-start:2px;margin-top:-3px}
.answer-sources[open] .answer-sources-chevron{transform:rotate(225deg);margin-top:4px}
.answer-source-entries{list-style:none;padding:5px 0 0;margin:0;display:flex;flex-direction:column;gap:1px}
.answer-source-entries li{min-width:0}
.answer-source-entries a{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:'title external' 'provider external';align-items:center;gap:1px 12px;text-decoration:none;color:var(--ink);padding:11px 12px;margin-inline-start:-12px;border-radius:9px;transition:background 150ms var(--ease-out)}
.answer-source-entries a:hover,.answer-source-entries a:focus-visible{background:var(--surface-2)}
.answer-source-title{grid-area:title;font-size:.8rem;font-weight:550;line-height:1.45;overflow-wrap:anywhere}
.answer-source-provider{grid-area:provider;font-size:.69rem;color:var(--muted)}
.answer-source-external{grid-area:external;color:var(--muted);font-size:.85rem}
.answer-prose .citation{display:inline-flex;align-items:center;justify-content:center;background:var(--surface-2);color:var(--accent);padding:1px 5px;border-radius:6px;border:0;font-size:.7em;font-weight:600;line-height:1.55;text-decoration:none;white-space:nowrap}
.answer-prose .citation:hover{background:var(--accent-soft);text-decoration:underline;text-underline-offset:3px}
@media(max-width:680px){.source-permission-dialog{padding:23px 19px;max-height:calc(100dvh - 26px)}.source-permission-actions{display:grid;grid-template-columns:1fr 1fr}.source-permission-actions .primary,.source-permission-actions .secondary{width:100%;min-width:0;padding:11px 9px}.source-permission-query{max-height:130px}.source-auto-indicator{padding:7px 9px}}
@media(prefers-reduced-motion:reduce){.answer-sources summary,.answer-sources-chevron,.answer-source-entries a{transition:none}}

/* Checkout and support extend the established workspace forms. */
.checkout-location,.checkout-assistance{min-width:0;border:0;padding:0;margin:22px 0;display:grid;gap:12px}
.checkout-location legend,.checkout-assistance legend{font-weight:650;margin-bottom:14px}
.checkout-location label,.checkout-assistance label{display:flex;align-items:flex-start;gap:12px;line-height:1.5}
.checkout-location input,.checkout-assistance input{width:auto;flex:0 0 auto;margin-top:5px}
.support-ticket{padding:24px 0;border-bottom:1px solid var(--border)}
.support-message{white-space:pre-wrap;overflow-wrap:anywhere;max-width:72ch}
.support-ticket h2,.support-ticket h3{overflow-wrap:anywhere}
[data-checkout-total]{font-variant-numeric:tabular-nums}
.billing-page .account-form .checkout-location label,.billing-page .account-form .checkout-assistance label{display:flex;flex-direction:row;align-items:flex-start;gap:12px;margin:0;line-height:1.5}
.billing-page .account-form .checkout-location input,.billing-page .account-form .checkout-assistance input{width:16px;height:16px;min-height:0;flex:0 0 16px;margin:4px 0 0;padding:0}
.billing-page .account-form .checkout-location p,.billing-page .account-form .checkout-assistance p{margin:0 0 8px;line-height:1.5}
.billing-page .account-form .checkout-location,.billing-page .account-form .checkout-assistance{margin:8px 0;gap:10px}
.billing-page .account-form .checkout-assistance[hidden]{display:none}

.download-ack{display:flex!important;align-items:flex-start;gap:10px;line-height:1.6}.auth-form .download-ack input{width:18px;height:18px;min-height:18px;margin-top:3px;flex:0 0 18px;accent-color:var(--accent)}.download-details{margin:24px 0;line-height:1.65}.download-details summary{cursor:pointer;font-weight:600;padding-block:8px}.download-details p{font-size:.85rem;color:var(--muted)}.download-details code,.download-details small{overflow-wrap:anywhere}

.form-stack .download-ack{display:grid!important;grid-template-columns:20px minmax(0,1fr);align-items:start;gap:10px}.form-stack .download-ack input{margin:2px 0 0;width:18px;height:18px}.form-stack .download-ack span{font-size:14px;line-height:1.5}[data-negotiated-credits][hidden]{display:none!important}
