/*
 * MediSummary UI v3 design system.
 * Everything is scoped to html.ui3 and prefixed u- so legacy v2 partials rendered
 * inside the v3 layout (paywall, checkout, modals) keep their current look.
 * Raw color values belong in the token blocks below only (enforced by scripts/ui3-lint.mjs).
 */

/* ---------- Tokens ---------- */
html.ui3 {
  --u-bg: #fafafa;
  --u-surface: #ffffff;
  --u-surface-2: #f4f4f5;
  --u-surface-3: #ececee;
  --u-line: #e8e8eb;
  --u-line-strong: #d6d6db;

  --u-ink: #0b0b0d;
  --u-ink-2: #3a3a42;
  --u-ink-3: #6b6b76;
  --u-ink-4: #a0a0aa;
  --u-on-ink: #ffffff;

  --u-accent: #047857;
  --u-accent-hover: #065f46;
  --u-accent-soft: #ecfdf5;
  --u-accent-line: #a7f3d0;
  --u-accent-ink: #065f46;
  --u-on-accent: #ffffff;

  --u-warn: #b45309;
  --u-warn-soft: #fffbeb;
  --u-danger: #dc2626;
  --u-danger-soft: #fef2f2;
  --u-rec: #e11d48;
  --u-info: #2563eb;
  --u-info-soft: #eff6ff;
  --u-highlight: rgba(250, 204, 21, 0.28);
  --u-scrim: rgba(10, 10, 15, 0.28);
  --u-sheen: rgba(255, 255, 255, 0.25);

  --u-r-xs: 4px;
  --u-r-sm: 6px;
  --u-r-md: 8px;
  --u-r-lg: 12px;
  --u-r-xl: 16px;
  --u-r-pill: 999px;

  --u-sh-xs: 0 1px 1px rgba(10, 10, 15, 0.04);
  --u-sh-sm: 0 1px 2px rgba(10, 10, 15, 0.06), 0 0 0 1px rgba(10, 10, 15, 0.04);
  --u-sh-md: 0 4px 12px -4px rgba(10, 10, 15, 0.10), 0 0 0 1px rgba(10, 10, 15, 0.05);
  --u-sh-lg: 0 24px 48px -16px rgba(10, 10, 15, 0.22), 0 0 0 1px rgba(10, 10, 15, 0.06);
  --u-ring: 0 0 0 3px rgba(4, 120, 87, 0.18);

  --u-t-2xs: 11px;
  --u-t-xs: 12px;
  --u-t-sm: 13px;
  --u-t-base: 14px;
  --u-t-md: 15px;
  --u-t-lg: 17px;
  --u-t-xl: 20px;
  --u-t-2xl: 26px;
  --u-t-3xl: 34px;
  --u-t-read: 17.5px;

  --u-font: "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", "Noto Sans Arabic", sans-serif;
  --u-font-read: "Source Serif 4", "Iowan Old Style", Georgia, "Noto Naskh Arabic", serif;
  --u-mono: ui-monospace, "SF Mono", Menlo, monospace;

  --u-ease: cubic-bezier(0.2, 0.8, 0.2, 1);
  --u-dur-1: 120ms;
  --u-dur-2: 180ms;
  --u-dur-3: 260ms;

  --u-sidebar-w: 248px;
  --u-sidebar-w-collapsed: 60px;
  --u-legacy-ink: #1e293b;
  --u-z-menu: 40;
  --u-z-overlay: 100;
  --u-z-toast: 120;

  /* Slide surfaces keep the same colors in both themes. */
  --u-stage-bg: #000000;
  --u-on-stage: #ffffff;
  --u-stage-chip: rgba(0, 0, 0, 0.55);
  --u-slide-ink: #111827;

  --u-auth-veil: linear-gradient(to top, rgba(10, 10, 15, 0.78) 0%, rgba(10, 10, 15, 0.16) 46%, rgba(10, 10, 15, 0.22) 100%);

  /* Mind map node fills (study). Labels sit on these, so they stay strong in both themes. */
  --u-mm-root: #047857;
  --u-mm-category: #2563eb;
  --u-mm-concept: #7c3aed;
  --u-mm-detail: #c2410c;
  --u-mm-got: #059669;
  --u-mm-review: #ea580c;
  --u-mm-label: #ffffff;
  --u-mm-canvas: #f7f7f8;
  --u-mm-shadow: rgba(10, 10, 15, 0.08);

  color-scheme: light;
}

html.ui3[data-theme="dark"] {
  --u-bg: #0c0c0e;
  --u-surface: #131316;
  --u-surface-2: #1b1b1f;
  --u-surface-3: #232328;
  --u-line: #26262c;
  --u-line-strong: #34343b;
  --u-ink: #f4f4f5;
  --u-ink-2: #cfcfd6;
  --u-ink-3: #93939e;
  --u-ink-4: #62626c;
  --u-on-ink: #0b0b0d;
  --u-accent: #34d399;
  --u-accent-hover: #6ee7b7;
  --u-accent-soft: rgba(52, 211, 153, 0.10);
  --u-accent-line: rgba(52, 211, 153, 0.28);
  --u-accent-ink: #6ee7b7;
  --u-on-accent: #052e22;
  --u-warn: #fbbf24;
  --u-warn-soft: rgba(245, 158, 11, 0.10);
  --u-danger: #f87171;
  --u-danger-soft: rgba(239, 68, 68, 0.10);
  --u-info-soft: rgba(59, 130, 246, 0.12);
  --u-scrim: rgba(0, 0, 0, 0.5);
  --u-sh-xs: none;
  --u-sh-sm: 0 0 0 1px rgba(255, 255, 255, 0.05);
  --u-sh-md: 0 8px 20px -8px rgba(0, 0, 0, 0.6), 0 0 0 1px rgba(255, 255, 255, 0.06);
  --u-sh-lg: 0 24px 60px -12px rgba(0, 0, 0, 0.7), 0 0 0 1px rgba(255, 255, 255, 0.08);
  --u-ring: 0 0 0 3px rgba(52, 211, 153, 0.22);
  --u-mm-root: #34d399;
  --u-mm-category: #60a5fa;
  --u-mm-concept: #a78bfa;
  --u-mm-detail: #fb923c;
  --u-mm-got: #4ade80;
  --u-mm-review: #fdba74;
  --u-mm-label: #0b0b0d;
  --u-mm-canvas: #0f0f12;
  --u-mm-shadow: rgba(0, 0, 0, 0.4);
  --u-auth-veil: linear-gradient(to top, rgba(0, 0, 0, 0.82) 0%, rgba(0, 0, 0, 0.22) 46%, rgba(0, 0, 0, 0.28) 100%);
  color-scheme: dark;
}

/* Legacy partials (paywall, checkout) are designed for light only. */
html.ui3 .u-legacy { color-scheme: light; color: var(--u-legacy-ink); }

/* ---------- Base ---------- */
html.ui3,
html.ui3 body {
  height: 100%;
  margin: 0;
}
html.ui3 body {
  font-family: var(--u-font);
  font-size: var(--u-t-base);
  line-height: 1.5;
  color: var(--u-ink);
  background: var(--u-bg);
  font-feature-settings: "cv11", "ss01", "ss03";
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
html.ui3 [hidden] { display: none !important; }
html.ui3 ::selection { background: var(--u-accent-soft); color: var(--u-accent-ink); }

/* ---------- Icons ---------- */
.ui3 .u-i { display: inline-block; width: 16px; height: 16px; stroke-width: 1.75; flex: none; vertical-align: middle; }
.ui3 .u-i--sm { width: 14px; height: 14px; }
.ui3 .u-i--lg { width: 18px; height: 18px; }
.ui3 .u-i--xl { width: 22px; height: 22px; }
[dir="rtl"] .ui3 .u-i--flip, .ui3[dir="rtl"] .u-i--flip { transform: scaleX(-1); }

/* ---------- Typography ---------- */
.ui3 .u-display { font-size: var(--u-t-3xl); font-weight: 600; letter-spacing: -0.03em; line-height: 1.15; margin: 0; }
.ui3 .u-h1 { font-size: var(--u-t-2xl); font-weight: 600; letter-spacing: -0.022em; line-height: 1.2; margin: 0; }
.ui3 .u-h2 { font-size: var(--u-t-xl); font-weight: 600; letter-spacing: -0.018em; line-height: 1.3; margin: 0; }
.ui3 .u-h3 { font-size: var(--u-t-md); font-weight: 600; letter-spacing: -0.01em; line-height: 1.35; margin: 0; }
.ui3 .u-body { font-size: var(--u-t-base); color: var(--u-ink-2); }
.ui3 .u-muted { color: var(--u-ink-3); }
.ui3 .u-faint { color: var(--u-ink-4); }
.ui3 .u-label { font-size: var(--u-t-xs); font-weight: 500; color: var(--u-ink-3); }
.ui3 .u-num { font-variant-numeric: tabular-nums; }
.ui3 .u-truncate { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.ui3 .u-clamp-2 { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.ui3 .u-read { font-family: var(--u-font-read); font-size: var(--u-t-read); line-height: 1.72; color: var(--u-ink-2); }
.ui3 .u-kbd {
  display: inline-flex; align-items: center;
  font: 500 var(--u-t-2xs)/1 var(--u-font);
  color: var(--u-ink-3);
  border: 1px solid var(--u-line);
  background: var(--u-surface);
  border-radius: var(--u-r-xs);
  padding: 3px 5px;
  box-shadow: 0 1px 0 var(--u-line);
}

/* ---------- Buttons ---------- */
.ui3 .u-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 6px;
  height: 32px; padding: 0 12px;
  border-radius: var(--u-r-md);
  border: 1px solid transparent;
  background: transparent;
  color: var(--u-ink-2);
  font: 500 var(--u-t-sm)/1 var(--u-font);
  letter-spacing: -0.005em;
  cursor: pointer; white-space: nowrap; text-decoration: none;
  transition: background var(--u-dur-1) var(--u-ease), border-color var(--u-dur-1) var(--u-ease), color var(--u-dur-1) var(--u-ease), box-shadow var(--u-dur-1) var(--u-ease), transform var(--u-dur-1) var(--u-ease);
}
.ui3 .u-btn:focus-visible { outline: none; box-shadow: var(--u-ring); }
.ui3 .u-btn:active:not(:disabled) { transform: translateY(0.5px); }
.ui3 .u-btn:disabled, .ui3 .u-btn[aria-disabled="true"] { opacity: 0.5; cursor: not-allowed; }
.ui3 .u-btn--primary { background: var(--u-ink); color: var(--u-on-ink); }
.ui3 .u-btn--primary:hover:not(:disabled) { background: var(--u-ink-2); }
.ui3 .u-btn--accent { background: var(--u-accent); color: var(--u-on-accent); }
.ui3 .u-btn--accent:hover:not(:disabled) { background: var(--u-accent-hover); }
.ui3 .u-btn--secondary { background: var(--u-surface); border-color: var(--u-line); box-shadow: var(--u-sh-xs); color: var(--u-ink); }
.ui3 .u-btn--secondary:hover:not(:disabled) { background: var(--u-surface-2); border-color: var(--u-line-strong); }
.ui3 .u-btn--ghost:hover:not(:disabled) { background: var(--u-surface-2); color: var(--u-ink); }
.ui3 .u-btn--danger { color: var(--u-danger); }
.ui3 .u-btn--danger:hover:not(:disabled) { background: var(--u-danger-soft); }
.ui3 .u-btn--sm { height: 28px; padding: 0 10px; font-size: var(--u-t-xs); border-radius: var(--u-r-sm); }
.ui3 .u-btn--lg { height: 40px; padding: 0 16px; font-size: var(--u-t-base); }
.ui3 .u-btn--icon { width: 32px; padding: 0; }
.ui3 .u-btn--sm.u-btn--icon { width: 28px; }
.ui3 .u-btn--lg.u-btn--icon { width: 40px; }
.ui3 .u-btn--block { width: 100%; }
.ui3 .u-btn.is-on, .ui3 .u-btn[aria-pressed="true"] { background: var(--u-surface-2); color: var(--u-ink); border-color: var(--u-line); }
.ui3 .u-btn.is-loading { position: relative; color: transparent !important; pointer-events: none; }
.ui3 .u-btn.is-loading::after {
  content: ""; position: absolute; width: 14px; height: 14px; border-radius: 50%;
  border: 2px solid currentColor; border-color: var(--u-ink-4) var(--u-ink-4) var(--u-ink-4) transparent;
  animation: u-spin 0.7s linear infinite;
}

/* ---------- Badges & tags ---------- */
.ui3 .u-badge {
  display: inline-flex; align-items: center; gap: 6px;
  height: 22px; padding: 0 8px;
  border-radius: var(--u-r-pill);
  font-size: var(--u-t-xs); font-weight: 500; white-space: nowrap;
  background: var(--u-surface-2); color: var(--u-ink-2);
  border: 1px solid var(--u-line);
}
.ui3 .u-badge__dot { width: 6px; height: 6px; border-radius: 50%; background: currentColor; flex: none; }
.ui3 .u-badge--ok { color: var(--u-accent-ink); background: var(--u-accent-soft); border-color: transparent; }
.ui3 .u-badge--warn { color: var(--u-warn); background: var(--u-warn-soft); border-color: transparent; }
.ui3 .u-badge--danger { color: var(--u-danger); background: var(--u-danger-soft); border-color: transparent; }
.ui3 .u-badge--info { color: var(--u-info); background: var(--u-info-soft); border-color: transparent; }
.ui3 .u-badge--new { height: 18px; padding: 0 6px; font-size: var(--u-t-2xs); color: var(--u-accent-ink); background: var(--u-accent-soft); border: 0; }
.ui3 .u-badge--processing .u-badge__dot { animation: u-pulse 1.4s var(--u-ease) infinite; }
.ui3 .u-tag {
  display: inline-flex; align-items: center; height: 22px; padding: 0 8px;
  border-radius: var(--u-r-sm); font-size: var(--u-t-xs); font-weight: 500; white-space: nowrap;
  color: var(--u-ink-2); background: var(--u-surface-2);
}

/* ---------- Form controls ---------- */
.ui3 .u-input {
  display: flex; align-items: center; gap: 8px;
  height: 34px; padding: 0 10px;
  background: var(--u-surface); border: 1px solid var(--u-line); border-radius: var(--u-r-md);
  box-shadow: var(--u-sh-xs); color: var(--u-ink-3);
  transition: border-color var(--u-dur-1), box-shadow var(--u-dur-1);
}
.ui3 .u-input:focus-within { border-color: var(--u-accent); box-shadow: var(--u-ring); }
.ui3 .u-input input, .ui3 .u-input select {
  flex: 1; min-width: 0; border: 0; outline: 0; background: transparent;
  color: var(--u-ink); font: inherit; font-size: var(--u-t-sm);
}
.ui3 .u-input input::placeholder { color: var(--u-ink-4); }
.ui3 .u-field { display: grid; gap: 6px; }
.ui3 .u-field__hint { font-size: var(--u-t-xs); color: var(--u-ink-3); }
.ui3 .u-field__error { font-size: var(--u-t-xs); color: var(--u-danger); }
.ui3 .u-textarea {
  width: 100%; min-height: 80px; padding: 10px 12px; resize: vertical;
  background: var(--u-surface); border: 1px solid var(--u-line); border-radius: var(--u-r-md);
  color: var(--u-ink); font: inherit; font-size: var(--u-t-sm); line-height: 1.5; outline: 0;
  transition: border-color var(--u-dur-1), box-shadow var(--u-dur-1);
}
.ui3 .u-textarea:focus { border-color: var(--u-accent); box-shadow: var(--u-ring); }
.ui3 .u-select {
  height: 34px; padding-inline: 10px 28px; border-radius: var(--u-r-md);
  border: 1px solid var(--u-line); background: var(--u-surface); color: var(--u-ink);
  font: inherit; font-size: var(--u-t-sm); box-shadow: var(--u-sh-xs);
}
.ui3 .u-switch { position: relative; width: 32px; height: 18px; flex: none; border-radius: var(--u-r-pill); background: var(--u-line-strong); border: 0; cursor: pointer; transition: background var(--u-dur-2) var(--u-ease); }
.ui3 .u-switch::after { content: ""; position: absolute; top: 2px; inset-inline-start: 2px; width: 14px; height: 14px; border-radius: 50%; background: var(--u-surface); box-shadow: var(--u-sh-sm); transition: inset-inline-start var(--u-dur-2) var(--u-ease); }
.ui3 .u-switch[aria-checked="true"] { background: var(--u-accent); }
.ui3 .u-switch[aria-checked="true"]::after { inset-inline-start: 16px; }

.ui3 .u-seg {
  display: inline-flex; padding: 2px; gap: 2px;
  background: var(--u-surface-2); border-radius: var(--u-r-md); border: 1px solid var(--u-line);
}
.ui3 .u-seg > button, .ui3 .u-seg > a {
  display: inline-flex; align-items: center; gap: 6px;
  height: 26px; padding: 0 10px; border: 0; background: transparent; border-radius: var(--u-r-sm);
  font: 500 var(--u-t-xs)/1 var(--u-font); color: var(--u-ink-3); cursor: pointer; text-decoration: none;
  transition: background var(--u-dur-1), color var(--u-dur-1);
}
.ui3 .u-seg > .is-on, .ui3 .u-seg > [aria-selected="true"] { background: var(--u-surface); color: var(--u-ink); box-shadow: var(--u-sh-sm); }
.ui3 .u-field > .u-seg { justify-self: start; }
.ui3 .u-seg__count { color: var(--u-ink-4); font-variant-numeric: tabular-nums; }

.ui3 .u-chip {
  display: inline-flex; align-items: center; gap: 6px; height: 28px; padding: 0 10px;
  border-radius: var(--u-r-pill); border: 1px solid transparent; background: transparent;
  font: 400 var(--u-t-sm)/1 var(--u-font); color: var(--u-ink-3); cursor: pointer; white-space: nowrap; text-decoration: none;
  transition: background var(--u-dur-1), color var(--u-dur-1);
}
.ui3 .u-chip:hover { background: var(--u-surface-2); color: var(--u-ink); }
.ui3 .u-chip.is-on { background: var(--u-ink); color: var(--u-on-ink); }
.ui3 .u-chip--outline { border-color: var(--u-line); }
.ui3 .u-chip--dashed { border: 1px dashed var(--u-line-strong); }
.ui3 .u-chip__count { font-size: var(--u-t-xs); opacity: 0.6; font-variant-numeric: tabular-nums; }

/* ---------- Surfaces ---------- */
.ui3 .u-card { background: var(--u-surface); border: 1px solid var(--u-line); border-radius: var(--u-r-lg); box-shadow: var(--u-sh-xs); }
.ui3 .u-card--pad { padding: 18px; }
.ui3 .u-card--interactive { transition: border-color var(--u-dur-2), box-shadow var(--u-dur-2), transform var(--u-dur-2) var(--u-ease); }
.ui3 .u-card--interactive:hover { border-color: var(--u-line-strong); box-shadow: var(--u-sh-md); transform: translateY(-1px); }
.ui3 .u-panel { background: var(--u-surface-2); border-radius: var(--u-r-lg); padding: 18px 20px; }
.ui3 .u-divider { height: 1px; background: var(--u-line); border: 0; margin: 0; }

/* ---------- App shell ---------- */
.ui3 .u-app { display: grid; grid-template-columns: var(--u-sidebar-w) minmax(0, 1fr); height: 100vh; overflow: hidden; }
.ui3 .u-main { display: flex; flex-direction: column; min-width: 0; height: 100vh; overflow: hidden; background: var(--u-surface); }
.ui3 .u-main__scroll { flex: 1; min-height: 0; overflow-y: auto; }
.ui3 .u-page { max-width: 1040px; margin: 0 auto; padding: 28px 32px 48px; }
.ui3 .u-page--narrow { max-width: 760px; }
.ui3 .u-page--wide { max-width: 1280px; }

.ui3 .u-sidebar {
  display: flex; flex-direction: column; gap: 4px; min-height: 0;
  padding: 12px 10px;
  background: var(--u-bg);
  border-inline-end: 1px solid var(--u-line);
  overflow-y: auto;
}
.ui3 .u-sidebar__head { display: flex; align-items: center; justify-content: space-between; padding: 4px 6px 10px; }
.ui3 .u-logo { display: inline-flex; align-items: center; padding-block: 4px; font-size: 20px; line-height: 28px; font-weight: 400; color: var(--u-ink); text-decoration: none; white-space: nowrap; }
.ui3 .u-logo b { font-weight: 600; }
.ui3 .u-logo__mini { display: none; font-weight: 600; }
.ui3 .u-sidebar__search {
  display: flex; align-items: center; gap: 8px; width: 100%;
  height: 32px; padding: 0 8px; margin-bottom: 4px;
  border-radius: var(--u-r-md); border: 1px solid var(--u-line); background: var(--u-surface);
  color: var(--u-ink-4); font: inherit; font-size: var(--u-t-sm); cursor: pointer; box-shadow: var(--u-sh-xs);
}
.ui3 .u-sidebar__search-ph { flex: 1; text-align: start; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.ui3 .u-sidebar__actions { display: flex; gap: 6px; margin-bottom: 10px; }
.ui3 .u-sidebar__actions .u-btn--primary { flex: 1; }
.ui3 .u-sidebar__group { padding: 12px 8px 4px; font-size: 11.5px; font-weight: 500; color: var(--u-ink-4); }
.ui3 .u-nav { display: grid; gap: 1px; }
.ui3 .u-nav__item {
  display: flex; align-items: center; gap: 10px;
  height: 32px; padding: 0 8px; border-radius: var(--u-r-md);
  color: var(--u-ink-2); font-size: var(--u-t-sm); font-weight: 450; text-decoration: none;
  transition: background var(--u-dur-1);
}
.ui3 .u-nav__item .u-i { color: var(--u-ink-3); }
.ui3 button.u-nav__item { width: 100%; border: 0; background: none; font: inherit; font-size: var(--u-t-sm); cursor: pointer; text-align: start; }
.ui3 .u-nav__item:hover { background: var(--u-surface-3); }
.ui3 .u-nav__item.is-active, .ui3 .u-nav__item[aria-current="page"] { background: var(--u-surface); color: var(--u-ink); font-weight: 500; box-shadow: var(--u-sh-sm); }
.ui3 .u-nav__item.is-active .u-i, .ui3 .u-nav__item[aria-current="page"] .u-i { color: var(--u-accent); }
.ui3 .u-nav__meta { margin-inline-start: auto; font-size: var(--u-t-xs); color: var(--u-ink-4); font-variant-numeric: tabular-nums; }
.ui3 .u-sidebar__foot { margin-top: auto; display: flex; flex-direction: column; gap: 2px; padding-top: 10px; border-top: 1px solid var(--u-line); }
.ui3 .u-me { display: flex; align-items: center; gap: 10px; padding: 6px 8px; border-radius: var(--u-r-md); cursor: pointer; color: inherit; text-decoration: none; }
.ui3 .u-me:hover { background: var(--u-surface-3); }
.ui3 .u-me__who { flex: 1; min-width: 0; line-height: 1.25; }
.ui3 .u-me__name { display: block; font-size: var(--u-t-sm); font-weight: 500; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.ui3 .u-me__sub { font-size: var(--u-t-xs); color: var(--u-ink-3); }
.ui3 .u-avatar {
  width: 28px; height: 28px; border-radius: 50%; flex: none; overflow: hidden;
  background: var(--u-accent-soft); color: var(--u-accent-ink);
  display: grid; place-items: center; font-size: var(--u-t-2xs); font-weight: 600;
}
.ui3 .u-avatar img { width: 100%; height: 100%; object-fit: cover; }
.ui3 .u-avatar--sm { width: 20px; height: 20px; font-size: 9px; }

/* ---------- Page header ---------- */
.ui3 .u-pagehead { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; margin-bottom: 20px; }
.ui3 .u-pagehead__sub { margin: 4px 0 0; color: var(--u-ink-3); }
.ui3 .u-pagehead__actions { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.ui3 .u-topbar { display: flex; align-items: center; gap: 8px; height: 52px; padding-inline: 16px 12px; border-bottom: 1px solid var(--u-line); flex: none; background: var(--u-surface); }
.ui3 .u-topbar__spacer { flex: 1; }
.ui3 .u-topbar__sep { width: 1px; height: 20px; background: var(--u-line); margin: 0 4px; }
.ui3 .u-crumbs { display: flex; align-items: center; gap: 6px; min-width: 0; font-size: var(--u-t-sm); color: var(--u-ink-3); }
.ui3 .u-crumbs a { color: inherit; text-decoration: none; }
.ui3 .u-crumbs a:hover { color: var(--u-ink); }
.ui3 .u-crumbs__current { color: var(--u-ink); font-weight: 500; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.ui3 .u-toolbar { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.ui3 .u-toolbar__spacer { flex: 1; }

/* ---------- Lists ---------- */
.ui3 .u-row {
  position: relative; display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 16px;
  padding: 16px 12px; margin: 0 -12px; border-radius: var(--u-r-lg);
  color: inherit; text-decoration: none; cursor: pointer;
  transition: background var(--u-dur-1) var(--u-ease);
}
.ui3 .u-row:hover, .ui3 .u-row:focus-within { background: var(--u-surface-2); }
.ui3 .u-row + .u-row::before { content: ""; position: absolute; top: 0; inset-inline: 12px; height: 1px; background: var(--u-line); }
.ui3 .u-row:hover::before, .ui3 .u-row:hover + .u-row::before { opacity: 0; }
.ui3 .u-row__actions { display: flex; align-items: flex-start; gap: 2px; opacity: 0; transition: opacity var(--u-dur-1); }
.ui3 .u-row:hover .u-row__actions, .ui3 .u-row:focus-within .u-row__actions, .ui3 .u-row__actions:has([aria-expanded="true"]) { opacity: 1; }
.ui3 .u-row .u-meta { margin-top: 6px; }
.ui3 .u-row .u-bullets { margin-top: 10px; }
.ui3 .u-row .u-progress { margin-top: 12px; }
.ui3 .u-meta { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; font-size: var(--u-t-xs); color: var(--u-ink-3); }
.ui3 .u-meta__sep { width: 3px; height: 3px; border-radius: 50%; background: var(--u-ink-4); flex: none; }
.ui3 .u-bullets { list-style: none; margin: 0; padding: 0; display: grid; gap: 4px; }
.ui3 .u-bullets > li { position: relative; padding-inline-start: 14px; font-size: var(--u-t-sm); color: var(--u-ink-2); line-height: 1.5; }
.ui3 .u-bullets > li::before { content: ""; position: absolute; inset-inline-start: 2px; top: 9px; width: 4px; height: 4px; border-radius: 50%; background: var(--u-ink-4); }
.ui3 .u-group-label { display: flex; align-items: center; justify-content: space-between; padding: 18px 4px 6px; }

/* ---------- Menus, popovers, dialogs ---------- */
.ui3 .u-menu {
  position: absolute; z-index: var(--u-z-menu); min-width: 200px; padding: 4px;
  background: var(--u-surface); border-radius: var(--u-r-lg); box-shadow: var(--u-sh-lg);
  animation: u-pop var(--u-dur-2) var(--u-ease);
}
.ui3 .u-menu[hidden] { display: none; }
.ui3 .u-menu__item {
  display: flex; align-items: center; gap: 10px; width: 100%;
  height: 32px; padding: 0 8px; border-radius: var(--u-r-sm); border: 0; background: none;
  font: inherit; font-size: var(--u-t-sm); color: var(--u-ink-2); cursor: pointer; text-align: start; text-decoration: none;
}
.ui3 .u-menu__item:hover, .ui3 .u-menu__item:focus-visible { background: var(--u-surface-2); color: var(--u-ink); outline: none; }
.ui3 .u-menu__item .u-kbd { margin-inline-start: auto; }
.ui3 .u-menu__item--danger { color: var(--u-danger); }
.ui3 .u-menu__item--danger:hover { background: var(--u-danger-soft); color: var(--u-danger); }
.ui3 .u-menu__sep { height: 1px; background: var(--u-line); margin: 4px 0; }
.ui3 .u-menu__label { padding: 8px 8px 4px; font-size: var(--u-t-2xs); font-weight: 500; color: var(--u-ink-4); }

.ui3 .u-overlay {
  position: fixed; inset: 0; z-index: var(--u-z-overlay);
  background: var(--u-scrim); backdrop-filter: blur(2px);
  display: flex; align-items: flex-start; justify-content: center; padding: 14vh 16px 16px;
  animation: u-fade var(--u-dur-1) var(--u-ease);
}
.ui3 .u-overlay[hidden] { display: none; }
.ui3 .u-overlay--center { align-items: center; padding-top: 16px; }
.ui3 .u-dialog { width: min(520px, 100%); max-height: calc(100vh - 32px); overflow: auto; background: var(--u-surface); border-radius: var(--u-r-xl); box-shadow: var(--u-sh-lg); animation: u-pop var(--u-dur-2) var(--u-ease); }
.ui3 .u-dialog__head { display: flex; align-items: flex-start; gap: 12px; padding: 18px 20px 0; }
.ui3 .u-dialog__body { padding: 12px 20px 20px; color: var(--u-ink-2); }
.ui3 .u-dialog__foot { display: flex; justify-content: flex-end; gap: 8px; padding: 12px 20px; border-top: 1px solid var(--u-line); }

/* Command palette */
.ui3 .u-cmdk { width: min(620px, 100%); background: var(--u-surface); border-radius: var(--u-r-xl); box-shadow: var(--u-sh-lg); overflow: hidden; animation: u-pop var(--u-dur-2) var(--u-ease); }
.ui3 .u-cmdk__input { display: flex; align-items: center; gap: 10px; padding: 0 16px; height: 52px; border-bottom: 1px solid var(--u-line); color: var(--u-ink-3); }
.ui3 .u-cmdk__input input { flex: 1; border: 0; outline: 0; background: none; font: inherit; font-size: var(--u-t-md); color: var(--u-ink); }
.ui3 .u-cmdk__list { padding: 6px; max-height: 360px; overflow: auto; }
.ui3 .u-cmdk__section { padding: 8px 10px 4px; font-size: 11.5px; color: var(--u-ink-4); font-weight: 500; }
.ui3 .u-cmdk__item { display: flex; align-items: center; gap: 10px; height: 38px; padding: 0 10px; border-radius: var(--u-r-md); color: var(--u-ink-2); font-size: var(--u-t-sm); cursor: pointer; text-decoration: none; }
.ui3 .u-cmdk__item[aria-selected="true"], .ui3 .u-cmdk__item:hover { background: var(--u-surface-2); color: var(--u-ink); }
.ui3 .u-cmdk__hint { margin-inline-start: auto; color: var(--u-ink-4); font-size: var(--u-t-xs); }
.ui3 .u-cmdk__empty { padding: 24px; text-align: center; color: var(--u-ink-3); font-size: var(--u-t-sm); }
.ui3 .u-cmdk__foot { display: flex; gap: 14px; padding: 10px 16px; border-top: 1px solid var(--u-line); font-size: var(--u-t-xs); color: var(--u-ink-4); }

/* Toasts */
.ui3 .u-toasts { position: fixed; z-index: var(--u-z-toast); inset-block-end: 20px; inset-inline-end: 20px; display: grid; gap: 8px; }
.ui3 .u-toast {
  display: inline-flex; align-items: center; gap: 10px; padding-block: 10px; padding-inline: 14px 12px;
  border-radius: var(--u-r-lg); background: var(--u-ink); color: var(--u-on-ink);
  font-size: var(--u-t-sm); box-shadow: var(--u-sh-lg); animation: u-rise var(--u-dur-3) var(--u-ease);
}
.ui3 .u-toast__action { background: none; border: 0; padding: 0; margin-inline-start: 8px; font: inherit; font-weight: 500; color: var(--u-accent-line); cursor: pointer; }
.ui3 .u-toast--danger .u-i { color: var(--u-danger); }

/* Tooltip (CSS-only, data-tip attribute) */
.ui3 [data-tip] { position: relative; }
.ui3 [data-tip]:hover::after, .ui3 [data-tip]:focus-visible::after {
  content: attr(data-tip); position: absolute; z-index: var(--u-z-menu); inset-block-start: calc(100% + 6px); inset-inline: -100px; margin-inline: auto; width: max-content;
  padding: 4px 8px; border-radius: var(--u-r-sm); background: var(--u-ink); color: var(--u-on-ink);
  font: 500 var(--u-t-2xs)/1.4 var(--u-font); white-space: nowrap; pointer-events: none;
  animation: u-fade var(--u-dur-1) var(--u-ease) 300ms both;
}

/* ---------- Feedback states ---------- */
.ui3 .u-empty { text-align: center; padding: 48px 24px; border: 1px dashed var(--u-line-strong); border-radius: var(--u-r-lg); }
.ui3 .u-empty--plain { border: 0; }
.ui3 .u-empty__icon { width: 40px; height: 40px; margin: 0 auto 12px; border-radius: var(--u-r-md); display: grid; place-items: center; background: var(--u-surface-2); color: var(--u-ink-3); }
.ui3 .u-empty__text { margin: 4px auto 16px; max-width: 380px; color: var(--u-ink-3); font-size: var(--u-t-sm); }
.ui3 .u-empty__actions { display: inline-flex; gap: 8px; flex-wrap: wrap; justify-content: center; }

.ui3 .u-callout { display: flex; gap: 10px; padding: 12px 14px; border-radius: var(--u-r-lg); background: var(--u-surface-2); font-size: var(--u-t-sm); color: var(--u-ink-2); }
.ui3 .u-callout--warn { background: var(--u-warn-soft); color: var(--u-warn); }
.ui3 .u-callout--danger { background: var(--u-danger-soft); color: var(--u-danger); }
.ui3 .u-callout--ok { background: var(--u-accent-soft); color: var(--u-accent-ink); }

.ui3 .u-skeleton {
  border-radius: var(--u-r-xs);
  background: linear-gradient(90deg, var(--u-surface-2) 0, var(--u-surface-3) 50%, var(--u-surface-2) 100%);
  background-size: 800px 100%; animation: u-shimmer 1.4s linear infinite;
}
.ui3 .u-progress { height: 4px; border-radius: var(--u-r-pill); background: var(--u-surface-3); overflow: hidden; }
.ui3 .u-progress__bar { display: block; height: 100%; border-radius: var(--u-r-pill); background: var(--u-accent); transition: width var(--u-dur-3) var(--u-ease); }
.ui3 .u-spinner { width: 16px; height: 16px; border-radius: 50%; border: 2px solid var(--u-line-strong); border-top-color: var(--u-ink-2); animation: u-spin 0.7s linear infinite; }
.ui3 .u-dot-new { display: inline-block; width: 6px; height: 6px; border-radius: 50%; background: var(--u-accent); margin-inline-end: 6px; vertical-align: 2px; }

/* First-run checklist */
.ui3 .u-steps { display: grid; gap: 2px; }
.ui3 .u-step { display: flex; align-items: center; gap: 12px; padding: 10px 12px; border-radius: var(--u-r-md); color: var(--u-ink-2); text-decoration: none; }
.ui3 .u-step:hover { background: var(--u-surface-2); }
.ui3 .u-step__check { width: 20px; height: 20px; border-radius: 50%; border: 1.5px solid var(--u-line-strong); display: grid; place-items: center; flex: none; }
.ui3 .u-step.is-done { color: var(--u-ink-3); }
.ui3 .u-step.is-done .u-step__check { background: var(--u-accent); border-color: var(--u-accent); color: var(--u-on-accent); }

/* ---------- Docked audio player ---------- */
.ui3 .u-player {
  flex: none; display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); align-items: center; gap: 16px;
  height: 60px; padding: 0 20px; border-top: 1px solid var(--u-line); background: var(--u-surface);
}
.ui3 .u-player[hidden] { display: none; }
.ui3 .u-player__np { display: flex; align-items: center; gap: 10px; min-width: 0; }
.ui3 .u-player__ctrl { display: flex; align-items: center; gap: 4px; }
.ui3 .u-player__rt { display: flex; align-items: center; gap: 10px; justify-content: flex-end; font-size: var(--u-t-xs); color: var(--u-ink-3); }
.ui3 .u-play {
  width: 34px; height: 34px; border-radius: 50%; border: 0; cursor: pointer; flex: none;
  display: grid; place-items: center; background: var(--u-ink); color: var(--u-on-ink);
  transition: transform var(--u-dur-1) var(--u-ease);
}
.ui3 .u-play:hover { transform: scale(1.04); }
.ui3 .u-play .u-i { fill: currentColor; }
.ui3 .u-scrub { position: relative; width: 180px; height: 4px; border-radius: var(--u-r-pill); background: var(--u-surface-3); cursor: pointer; }
.ui3 .u-scrub__fill { position: absolute; inset-block: 0; inset-inline-start: 0; border-radius: var(--u-r-pill); background: var(--u-ink-2); }

/* Paper thumbnail placeholder */
.ui3 .u-thumb {
  width: 44px; height: 56px; border-radius: var(--u-r-xs); flex: none; overflow: hidden; position: relative;
  background: var(--u-surface); border: 1px solid var(--u-line); box-shadow: var(--u-sh-xs);
}
.ui3 .u-thumb img { width: 100%; height: 100%; object-fit: cover; object-position: top; }
.ui3 .u-thumb--sm { width: 32px; height: 40px; }

/* ---------- Shell behaviors ---------- */
.ui3 .u-sidebar__toggle { color: var(--u-ink-3); }
.ui3 .u-sidebar__brand { display: flex; align-items: center; gap: 8px; min-width: 0; }
.ui3 .u-nav__item > span:not(.u-badge) { flex: 1; min-width: 0; overflow-wrap: anywhere; line-height: 1.25; }
.ui3 .u-nav__item { min-height: 32px; height: auto; padding-block: 6px; }
.ui3 .u-nav__dot { position: absolute; inset-block-start: 5px; inset-inline-start: 19px; width: 7px; height: 7px; border-radius: 50%; background: var(--u-accent); box-shadow: 0 0 0 2px var(--u-bg); animation: u-pulse 1.6s var(--u-ease) infinite; }
.ui3 .u-nav__item { position: relative; }
.ui3 .u-nav__item.is-unread { color: var(--u-accent-ink); font-weight: 600; background: var(--u-accent-soft); }
.ui3 .u-nav__item.is-unread .u-i { color: var(--u-accent); }
.ui3 .u-nav__item.is-unread:hover { background: var(--u-accent-soft); }
.ui3 .u-nav__item.is-unread .u-badge--new { background: var(--u-accent); color: var(--u-on-accent); }
.ui3 .u-sidebar__feedback { color: var(--u-ink-3); }

.ui3 .u-app { transition: grid-template-columns var(--u-dur-2) var(--u-ease); }
[dir="rtl"].ui3 .u-sidebar__toggle .u-i { transform: scaleX(-1); }
@media (min-width: 900px) {
  html.ui3:is([data-sidebar="collapsed"], [data-sumi-live]) .u-app { grid-template-columns: var(--u-sidebar-w-collapsed) minmax(0, 1fr); }
  html.ui3:is([data-sidebar="collapsed"], [data-sumi-live]) .u-sidebar { padding-inline: 8px; overflow-x: hidden; }
  html.ui3:is([data-sidebar="collapsed"], [data-sumi-live]) [data-u-collapse-hide] { display: none; }
  html.ui3:is([data-sidebar="collapsed"], [data-sumi-live]) .u-logo__mini { display: inline; }
  html.ui3:is([data-sidebar="collapsed"], [data-sumi-live]) .u-sidebar__head { flex-direction: column; gap: 8px; padding-inline: 0; }
  html.ui3:is([data-sidebar="collapsed"], [data-sumi-live]) .u-sidebar__actions { flex-direction: column; }
  html.ui3:is([data-sidebar="collapsed"], [data-sumi-live]) .u-sidebar__actions .u-btn { flex: none; width: 100%; height: 34px; padding: 0; }
  html.ui3:is([data-sidebar="collapsed"], [data-sumi-live]) .u-sidebar__search { justify-content: center; padding: 0; }
  html.ui3:is([data-sidebar="collapsed"], [data-sumi-live]) .u-nav__item { justify-content: center; padding-inline: 0; }
  html.ui3:is([data-sidebar="collapsed"], [data-sumi-live]) .u-nav__dot { inset-inline-start: 24px; }
  html.ui3:is([data-sidebar="collapsed"], [data-sumi-live]) .u-sidebar__group { height: 1px; padding: 0; margin: 10px 6px; background: var(--u-line); overflow: hidden; color: transparent; }
  html.ui3:is([data-sidebar="collapsed"], [data-sumi-live]) .u-me { justify-content: center; padding-inline: 0; }
  html.ui3:is([data-sidebar="collapsed"], [data-sumi-live]) .u-sidebar__toggle .u-i { transform: scaleX(-1); }
  [dir="rtl"].ui3:is([data-sidebar="collapsed"], [data-sumi-live]) .u-sidebar__toggle .u-i { transform: none; }
}

.ui3 .u-tipfloat {
  position: fixed; z-index: var(--u-z-toast); pointer-events: none;
  padding: 5px 9px; border-radius: var(--u-r-sm); background: var(--u-ink); color: var(--u-on-ink);
  font: 500 var(--u-t-xs)/1.3 var(--u-font); white-space: nowrap; box-shadow: var(--u-sh-md);
  animation: u-fade var(--u-dur-1) var(--u-ease);
}
.ui3 .u-tipfloat[hidden] { display: none; }

.ui3 .u-me { width: 100%; border: 0; background: none; font: inherit; text-align: start; }
.ui3 .u-menu--up { min-width: 232px; }

.ui3 .u-dialog__title { flex: 1; min-width: 0; }
.ui3 .u-dialog__title p { margin: 4px 0 0; font-size: var(--u-t-sm); color: var(--u-ink-3); }
.ui3 .u-dialog__close { margin-inline-start: auto; margin-block-start: -4px; }
.ui3 .u-dialog--sm { width: min(440px, 100%); }

/* Upload dialog */
.ui3 .u-files { display: grid; gap: 6px; max-height: 320px; overflow: auto; margin: 4px 0 12px; }
.ui3 .u-file { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 12px; padding: 10px 12px; border: 1px solid var(--u-line); border-radius: var(--u-r-md); background: var(--u-surface); }
.ui3 .u-file__icon { width: 32px; height: 32px; border-radius: var(--u-r-sm); display: grid; place-items: center; background: var(--u-surface-2); color: var(--u-ink-3); }
.ui3 .u-file__icon .lucide-loader-circle { animation: u-spin 0.9s linear infinite; }
.ui3 .u-file.is-done .u-file__icon { background: var(--u-accent-soft); color: var(--u-accent-ink); }
.ui3 .u-file.is-error { border-color: var(--u-danger-soft); }
.ui3 .u-file.is-error .u-file__icon { background: var(--u-danger-soft); color: var(--u-danger); }
.ui3 .u-file__name { font-size: var(--u-t-sm); font-weight: 500; color: var(--u-ink); overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.ui3 .u-file__meta { display: flex; align-items: center; gap: 8px; margin-top: 2px; font-size: var(--u-t-xs); color: var(--u-ink-3); }
.ui3 .u-dropzone {
  display: grid; place-items: center; gap: 6px; width: 100%; padding: 22px 16px; text-align: center;
  border: 1px dashed var(--u-line-strong); border-radius: var(--u-r-lg); background: var(--u-surface-2);
  color: var(--u-ink-3); font: inherit; font-size: var(--u-t-sm); cursor: pointer;
  transition: border-color var(--u-dur-1), background var(--u-dur-1);
}
.ui3 .u-dropzone:hover, .ui3 .u-dropzone.is-over { border-color: var(--u-accent); background: var(--u-accent-soft); color: var(--u-accent-ink); }
.ui3 .u-dropzone:disabled { opacity: 0.5; cursor: not-allowed; }
.ui3 .u-dropzone strong { color: var(--u-ink); font-weight: 500; }
.ui3 .u-btn.is-over { box-shadow: var(--u-ring); }
.ui3 .u-upload-progress { display: grid; gap: 6px; margin-bottom: 12px; font-size: var(--u-t-xs); color: var(--u-ink-3); }
.ui3 .u-upload-progress__row { display: flex; justify-content: space-between; gap: 8px; }

/* Feedback dialog */
.ui3 .u-founder { display: flex; gap: 12px; padding: 18px 20px 14px; border-bottom: 1px solid var(--u-line); }
.ui3 .u-founder img { width: 40px; height: 40px; border-radius: 50%; object-fit: cover; flex: none; }
.ui3 .u-founder__name { display: flex; align-items: center; gap: 6px; font-size: var(--u-t-sm); font-weight: 600; color: var(--u-ink); }
.ui3 .u-founder__msg { margin: 4px 0 0; font-size: var(--u-t-sm); color: var(--u-ink-2); line-height: 1.5; }
.ui3 .u-rec { display: grid; justify-items: center; gap: 10px; padding: 20px 0 8px; text-align: center; }
.ui3 .u-rec__btn { width: 52px; height: 52px; border-radius: 50%; border: 1px solid var(--u-line); background: var(--u-surface); color: var(--u-rec); display: grid; place-items: center; cursor: pointer; box-shadow: var(--u-sh-sm); transition: transform var(--u-dur-1) var(--u-ease); }
.ui3 .u-rec__btn:hover { transform: scale(1.04); }
.ui3 .u-rec__btn.is-live { background: var(--u-rec); color: var(--u-on-accent); border-color: transparent; animation: u-pulse 1.6s var(--u-ease) infinite; }
.ui3 .u-rec__time { font: 600 var(--u-t-md)/1 var(--u-font); font-variant-numeric: tabular-nums; color: var(--u-ink); }

/* Narrow screens: sidebar becomes a drawer */
.ui3 .u-mobilebar { display: none; }
@media (max-width: 899px) {
  .ui3 .u-app, html.ui3[data-sidebar="collapsed"] .u-app { grid-template-columns: minmax(0, 1fr); }
  .ui3 .u-sidebar {
    position: fixed; inset-block: 0; inset-inline-start: 0; z-index: var(--u-z-overlay); width: min(288px, 86vw);
    transform: translateX(-105%); transition: transform var(--u-dur-2) var(--u-ease); box-shadow: var(--u-sh-lg);
  }
  [dir="rtl"].ui3 .u-sidebar { transform: translateX(105%); }
  html.ui3[data-drawer="open"] .u-sidebar { transform: none; }
  .ui3 .u-sidebar__toggle { display: none; }
  .ui3 .u-mobilebar { display: flex; align-items: center; gap: 8px; height: 52px; padding-inline: 8px 12px; border-bottom: 1px solid var(--u-line); background: var(--u-surface); flex: none; }
  .ui3 .u-drawer-scrim { position: fixed; inset: 0; z-index: calc(var(--u-z-overlay) - 1); background: var(--u-scrim); }
  .ui3 .u-drawer-scrim[hidden] { display: none; }
}

/* ---------- Weekly digest ---------- */
.ui3 .u-callout--info { background: var(--u-info-soft); color: var(--u-ink-2); }
.ui3 .u-callout--info > .u-i { color: var(--u-info); }
.ui3 .u-callout > .u-i { margin-block-start: 2px; }
.ui3 .u-callout .u-spinner { margin-block-start: 1px; }
.ui3 .u-spinner--on-ink { border-color: var(--u-ink-3); border-top-color: var(--u-on-ink); }

.ui3 .u-page--digest { max-width: 1120px; padding-block-end: 32px; }
.ui3 .u-dnotice { margin-block-end: 12px; align-items: flex-start; }
.ui3 .u-dnotice__link { color: inherit; font-weight: 500; text-decoration: underline; text-underline-offset: 2px; margin-inline-start: 4px; }
.ui3 .u-digest { display: grid; grid-template-columns: minmax(0, 1fr) 240px; gap: 56px; align-items: start; margin-block-start: 8px; }
.ui3 .u-digest__main { min-width: 0; max-width: 720px; }

.ui3 .u-dhead { padding-block: 12px 28px; }
.ui3 .u-dhead__eyebrow { margin: 0 0 10px; font-size: var(--u-t-sm); color: var(--u-ink-3); }
.ui3 .u-dhead__lead { margin: 14px 0 0; font-size: var(--u-t-lg); line-height: 1.45; color: var(--u-ink); font-weight: 500; letter-spacing: -0.01em; }
.ui3 .u-dhead__intro { margin: 12px 0 0; font-family: var(--u-font-read); font-size: 16.5px; line-height: 1.65; color: var(--u-ink-2); }
.ui3 .u-dhead__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-block-start: 20px; }
.ui3 .u-dhead__hint { margin: 8px 0 0; font-size: var(--u-t-xs); color: var(--u-ink-3); }

.ui3 .u-brief { padding: 18px 20px; border-radius: var(--u-r-lg); background: var(--u-surface-2); margin-block-end: 8px; }
.ui3 .u-brief__title { display: flex; align-items: center; gap: 6px; margin: 0 0 10px; font-size: var(--u-t-xs); font-weight: 600; color: var(--u-ink-3); }
.ui3 .u-brief__list { list-style: none; margin: 0; padding: 0; display: grid; gap: 2px; }
.ui3 .u-brief__item { display: flex; gap: 12px; padding: 6px 8px; margin-inline: -8px; border-radius: var(--u-r-md); color: var(--u-ink-2); text-decoration: none; font-size: var(--u-t-base); line-height: 1.5; transition: background var(--u-dur-1); }
.ui3 .u-brief__item:hover { background: var(--u-surface); color: var(--u-ink); }
.ui3 .u-brief__n { flex: none; width: 20px; height: 20px; margin-block-start: 1px; border-radius: 50%; display: grid; place-items: center; background: var(--u-surface); color: var(--u-accent-ink); font-size: var(--u-t-2xs); font-weight: 600; font-variant-numeric: tabular-nums; box-shadow: var(--u-sh-sm); }

.ui3 .u-dpaper { position: relative; padding-block: 32px; scroll-margin-block-start: 16px; }
.ui3 .u-dpaper + .u-dpaper { border-top: 1px solid var(--u-line); }
.ui3 .u-dpaper__anchor { position: absolute; inset-block-start: 0; scroll-margin-block-start: 16px; }
.ui3 .u-dpaper__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin-block-end: 12px; }
.ui3 .u-dpaper__n { font: 600 var(--u-t-xs)/1 var(--u-mono); color: var(--u-accent); margin-inline-end: 4px; }
.ui3 .u-dpaper__journal { font-size: var(--u-t-xs); color: var(--u-ink-3); margin-inline-start: 2px; }
.ui3 .u-dpaper__title { margin: 0; font-size: var(--u-t-xl); font-weight: 600; line-height: 1.3; letter-spacing: -0.015em; color: var(--u-ink); }
.ui3 .u-dpaper__title a { color: inherit; text-decoration: none; }
.ui3 .u-dpaper__title a:hover { text-decoration: underline; text-decoration-color: var(--u-line-strong); text-underline-offset: 3px; }
.ui3 .u-dpaper__tldr { margin: 10px 0 0; font-size: var(--u-t-md); line-height: 1.55; color: var(--u-ink); font-weight: 500; }
.ui3 .u-dpaper > .u-kn, .ui3 .u-dpaper > .u-facts, .ui3 .u-dpaper > .u-dpaper__why, .ui3 .u-dpaper > .u-more, .ui3 .u-dpaper > .u-more__body--flat { margin-block-start: 18px; }
.ui3 .u-dpaper__why strong { display: block; font-weight: 600; margin-block-end: 2px; }
.ui3 .u-dpaper__why p { margin: 0; line-height: 1.55; color: var(--u-ink-2); }
.ui3 .u-dpaper__src { margin-block-start: 14px; margin-inline-start: -10px; color: var(--u-ink-3); }

.ui3 .u-kn { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 8px; }
.ui3 .u-kn__chip { display: grid; gap: 4px; padding: 10px 12px; border: 1px solid var(--u-line); border-radius: var(--u-r-md); }
.ui3 .u-kn__label { font-size: var(--u-t-2xs); font-weight: 500; color: var(--u-ink-3); line-height: 1.3; }
.ui3 .u-kn__value { font-size: var(--u-t-sm); font-weight: 600; color: var(--u-ink); line-height: 1.4; font-variant-numeric: tabular-nums; }

.ui3 .u-facts { display: grid; gap: 0; margin: 0; border: 1px solid var(--u-line); border-radius: var(--u-r-lg); overflow: hidden; }
.ui3 .u-facts__row { display: grid; grid-template-columns: 96px minmax(0, 1fr); gap: 12px; padding: 12px 14px; }
.ui3 .u-facts__row + .u-facts__row { border-top: 1px solid var(--u-line); }
.ui3 .u-facts dt { display: flex; align-items: center; gap: 6px; align-self: start; font-size: var(--u-t-xs); font-weight: 600; color: var(--u-ink-3); line-height: 1.6; }
.ui3 .u-facts dt::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--u-ink-4); flex: none; }
.ui3 .u-facts__row--ok dt { color: var(--u-accent-ink); }
.ui3 .u-facts__row--ok dt::before { background: var(--u-accent); }
.ui3 .u-facts__row--warn dt { color: var(--u-warn); }
.ui3 .u-facts__row--warn dt::before { background: var(--u-warn); }
.ui3 .u-facts dd { margin: 0; font-size: var(--u-t-base); line-height: 1.55; color: var(--u-ink-2); }

.ui3 .u-more > summary { display: inline-flex; align-items: center; gap: 6px; height: 30px; padding-inline: 10px; border-radius: var(--u-r-md); border: 1px solid var(--u-line); font-size: var(--u-t-sm); font-weight: 500; color: var(--u-ink-2); cursor: pointer; list-style: none; transition: background var(--u-dur-1); }
.ui3 .u-more > summary::-webkit-details-marker { display: none; }
.ui3 .u-more > summary:hover { background: var(--u-surface-2); }
.ui3 .u-more > summary:focus-visible { outline: none; box-shadow: var(--u-ring); }
.ui3 .u-more[open] .u-more__closed, .ui3 .u-more:not([open]) .u-more__open { display: none; }
.ui3 .u-more__chev { transition: transform var(--u-dur-2) var(--u-ease); }
.ui3 .u-more[open] .u-more__chev { transform: rotate(180deg); }
.ui3 .u-more__body { margin-block-start: 14px; font-family: var(--u-font-read); font-size: 16px; line-height: 1.7; color: var(--u-ink-2); }
.ui3 .u-more__body p { margin: 0 0 10px; }
.ui3 .u-more__body p:last-child { margin-block-end: 0; }

.ui3 .u-digest__rail { position: sticky; inset-block-start: 24px; max-height: calc(100vh - 160px); overflow-y: auto; padding-block-start: 12px; }
.ui3 .u-toc__title { margin: 0 0 8px; padding-inline: 8px; font-size: var(--u-t-xs); font-weight: 600; color: var(--u-ink-3); }
.ui3 .u-toc { list-style: none; margin: 0; padding: 0; display: grid; gap: 1px; }
.ui3 .u-toc__item { display: flex; gap: 10px; padding: 8px; border-radius: var(--u-r-md); color: var(--u-ink-3); text-decoration: none; font-size: var(--u-t-sm); line-height: 1.4; transition: background var(--u-dur-1), color var(--u-dur-1); }
.ui3 .u-toc__item:hover { background: var(--u-surface-2); color: var(--u-ink); }
.ui3 .u-toc__item.is-current { background: var(--u-surface-2); color: var(--u-ink); }
.ui3 .u-toc__item.is-current .u-toc__n { color: var(--u-accent); }
.ui3 .u-toc__n { flex: none; font: 600 var(--u-t-2xs)/1.9 var(--u-mono); color: var(--u-ink-4); }
.ui3 .u-toc__text { min-width: 0; display: grid; gap: 2px; }
.ui3 .u-toc__tag { font-size: var(--u-t-2xs); font-weight: 600; color: var(--u-accent-ink); }

.ui3 .u-dempty { margin-block-start: 8px; }
.ui3 .u-dempty.is-running .u-empty__icon .u-i { animation: u-spin 1.2s linear infinite; }
.ui3 .u-dsetup { max-width: 560px; margin: 24px auto 0; display: grid; gap: 16px; text-align: start; }
.ui3 .u-dsetup > .u-empty__icon { margin: 0; }
.ui3 .u-dsetup > .u-label { margin: 8px 0 -10px; }
.ui3 .u-dsetup__text { margin: -6px 0 4px; line-height: 1.6; }
.ui3 .u-doverride { max-width: 560px; margin-block-start: 32px; display: grid; gap: 12px; }

.ui3 .u-player__art { width: 36px; height: 36px; flex: none; border-radius: var(--u-r-md); display: grid; place-items: center; background: var(--u-accent-soft); color: var(--u-accent-ink); }
.ui3 .u-player__who { display: grid; min-width: 0; line-height: 1.3; }
.ui3 .u-player__title { font-size: var(--u-t-sm); font-weight: 500; color: var(--u-ink); overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.ui3 .u-player__sub { font-size: var(--u-t-xs); color: var(--u-ink-3); overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
[dir="rtl"].ui3 .u-player__rt { justify-content: flex-start; }
.ui3 .u-play:disabled { opacity: 0.6; cursor: default; transform: none; }
.ui3 .u-scrub:focus-visible { outline: none; box-shadow: var(--u-ring); }
.ui3 .u-scrub.is-generating { overflow: hidden; cursor: default; }
.ui3 .u-scrub.is-generating .u-scrub__fill { width: 36% !important; background: var(--u-accent); animation: u-indeterminate 1.15s var(--u-ease) infinite; }
@keyframes u-indeterminate { from { inset-inline-start: -36%; } to { inset-inline-start: 100%; } }

@media (max-width: 1099px) {
  .ui3 .u-digest { grid-template-columns: minmax(0, 1fr); }
  .ui3 .u-digest__rail { display: none; }
  .ui3 .u-digest__main { max-width: none; }
}
@media (max-width: 699px) {
  .ui3 .u-page--digest { padding-inline: 18px; }
  .ui3 .u-page--digest .u-display { font-size: var(--u-t-2xl); }
  .ui3 .u-facts__row { grid-template-columns: minmax(0, 1fr); gap: 2px; }
  .ui3 .u-player { grid-template-columns: minmax(0, 1fr) auto; padding-inline: 12px; gap: 10px; }
  .ui3 .u-player__rt { display: none; }
  .ui3 .u-player__ctrl [data-d-back], .ui3 .u-player__ctrl [data-d-fwd] { display: none; }
}

/* ---------- Chat ---------- */
.ui3 .u-btn--danger-solid { background: var(--u-danger); color: var(--u-on-accent); }
.ui3 .u-btn--danger-solid:hover:not(:disabled) { background: var(--u-danger); filter: brightness(0.94); }

.ui3 .u-chat { position: relative; flex: 1; min-height: 0; display: grid; grid-template-columns: minmax(0, 1fr) 272px; }
.ui3 .u-chat__stage { display: flex; flex-direction: column; min-width: 0; min-height: 0; }
.ui3 .u-chat__top { gap: 6px; }
.ui3 .u-chat:not(.is-thread) .u-chat__top { border-bottom-color: transparent; background: none; }
.ui3 .u-chat.is-rail-collapsed, .ui3 .u-chat.is-sumi-live { grid-template-columns: minmax(0, 1fr); }
.ui3 .u-chat.is-rail-collapsed .u-chat__hist, .ui3 .u-chat.is-sumi-live .u-chat__hist { display: none; }
.ui3 .u-chat__titlewrap { position: relative; display: flex; align-items: center; min-width: 0; flex: 0 1 560px; }
.ui3 .u-chat__titlewrap[hidden] { display: none; }
.ui3 .u-chat__title {
  width: 100%; min-width: 0; height: 32px; padding-inline: 8px 28px; margin-inline-start: -8px;
  border: 1px solid transparent; border-radius: var(--u-r-md); background: transparent;
  font: 500 var(--u-t-sm)/1 var(--u-font); color: var(--u-ink); text-overflow: ellipsis; outline: 0; cursor: text;
  transition: background var(--u-dur-1), border-color var(--u-dur-1);
}
.ui3 .u-chat__title:hover { background: var(--u-surface-2); }
.ui3 .u-chat__title:not([readonly]) { background: var(--u-surface); border-color: var(--u-accent); box-shadow: var(--u-ring); }
.ui3 .u-chat__titleicon { position: absolute; inset-inline-end: 8px; color: var(--u-ink-4); opacity: 0; pointer-events: none; transition: opacity var(--u-dur-1); }
.ui3 .u-chat__titlewrap:hover .u-chat__titleicon { opacity: 1; }
.ui3 .u-chat__title:not([readonly]) + .u-chat__titleicon { opacity: 0; }

.ui3 .u-chat__scroll { flex: 1; min-height: 0; overflow-y: auto; display: flex; flex-direction: column; }
.ui3 .u-chat__hero { flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; padding-block: 32px 10vh; padding-inline: 32px; }
.ui3 .u-chat__hero[hidden] { display: none; }
.ui3 .u-chat__heroinner { width: 100%; max-width: 680px; }
.ui3 .u-chat__greet { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin: 0 0 8px; font-size: var(--u-t-sm); color: var(--u-ink-3); }
.ui3 .u-chat__mark, .ui3 .u-msg__mark { width: 22px; height: 22px; flex: none; border-radius: var(--u-r-sm); display: grid; place-items: center; background: var(--u-accent); color: var(--u-on-accent); box-shadow: inset 0 1px 0 var(--u-sheen); }
.ui3 .u-chat__mark .u-i, .ui3 .u-msg__mark .u-i { width: 13px; height: 13px; stroke-width: 2.25; }
.ui3 .u-chat__spec {
  display: inline-flex; align-items: center; gap: 5px; height: 24px; margin-inline: -6px; padding-inline: 6px;
  border: 0; border-radius: var(--u-r-sm); background: none; font: 500 var(--u-t-sm)/1 var(--u-font); color: var(--u-ink-2); cursor: pointer;
  transition: background var(--u-dur-1), color var(--u-dur-1);
}
.ui3 .u-chat__spec > .u-i { width: 12px; height: 12px; color: var(--u-ink-4); opacity: 0; transition: opacity var(--u-dur-1); }
.ui3 .u-chat__spec:hover { background: var(--u-surface-2); color: var(--u-ink); }
.ui3 .u-chat__spec:hover > .u-i, .ui3 .u-chat__spec:focus-visible > .u-i, .ui3 .u-chat__spec.is-empty > .u-i { opacity: 1; }
.ui3 .u-chat__spec:focus-visible { outline: none; box-shadow: var(--u-ring); }
.ui3 .u-chat__spec.is-empty { color: var(--u-accent-ink); }
.ui3 .u-chat__h1 { margin: 0 0 24px; font-size: var(--u-t-3xl); font-weight: 600; letter-spacing: -0.03em; line-height: 1.15; color: var(--u-ink); }
.ui3 .u-chat__h1 span { display: block; color: var(--u-ink-4); }
.ui3 .u-chat__modes { display: flex; flex-wrap: wrap; gap: 6px; margin-block: 14px 28px; }
.ui3 .u-chat__mode {
  display: inline-flex; align-items: center; gap: 6px; height: 30px; padding-inline: 12px;
  border-radius: var(--u-r-pill); border: 1px solid var(--u-line); background: transparent;
  font: 400 var(--u-t-sm)/1 var(--u-font); color: var(--u-ink-2); cursor: pointer;
  transition: background var(--u-dur-1), border-color var(--u-dur-1);
}
.ui3 .u-chat__mode .u-i { color: var(--u-ink-3); }
.ui3 .u-chat__mode:hover { background: var(--u-surface-2); border-color: var(--u-line-strong); }
.ui3 .u-chat__mode:focus-visible { outline: none; box-shadow: var(--u-ring); }
.ui3 .u-chat__suggest > .u-label { display: block; margin-block-end: 4px; }
.ui3 .u-chat__suggest-skel { display: grid; gap: 10px; padding-block: 10px; }
.ui3 .u-chat__suggest-skel .u-skeleton { height: 14px; }
.ui3 .u-chat__suggest-skel .u-skeleton:nth-child(2) { width: 82%; }
.ui3 .u-chat__suggest-skel .u-skeleton:nth-child(3) { width: 64%; }
.ui3 .u-chat__ex, .ui3 .u-followup {
  display: flex; align-items: center; gap: 12px; width: 100%; padding-block: 11px; padding-inline: 4px;
  border: 0; border-top: 1px solid var(--u-line); background: none; text-align: start;
  font: 400 var(--u-t-sm)/1.45 var(--u-font); color: var(--u-ink-2); cursor: pointer;
  transition: color var(--u-dur-1);
}
.ui3 .u-chat__ex:last-child, .ui3 .u-followup:last-child { border-bottom: 1px solid var(--u-line); }
.ui3 .u-chat__ex > .u-i:first-child, .ui3 .u-followup > .u-i:first-child { color: var(--u-ink-4); }
.ui3 .u-chat__ex > span, .ui3 .u-followup > span { flex: 1; min-width: 0; }
.ui3 .u-chat__ex:hover, .ui3 .u-followup:hover { color: var(--u-ink); }
.ui3 .u-chat__ex:focus-visible, .ui3 .u-followup:focus-visible { outline: none; box-shadow: var(--u-ring); border-radius: var(--u-r-sm); }
.ui3 .u-chat__exgo, .ui3 .u-followup__go { color: var(--u-ink-3); opacity: 0; transform: translateX(-4px); transition: opacity var(--u-dur-2) var(--u-ease), transform var(--u-dur-2) var(--u-ease); }
.ui3 .u-chat__ex:hover .u-chat__exgo, .ui3 .u-followup:hover .u-followup__go, .ui3 .u-chat__ex:focus-visible .u-chat__exgo, .ui3 .u-followup:focus-visible .u-followup__go { opacity: 1; transform: none; }
[dir="rtl"].ui3 .u-chat__exgo, [dir="rtl"].ui3 .u-followup__go { transform: scaleX(-1) translateX(-4px); }
[dir="rtl"].ui3 .u-chat__ex:hover .u-chat__exgo, [dir="rtl"].ui3 .u-followup:hover .u-followup__go { transform: scaleX(-1); }
[dir="rtl"].ui3 .u-followup > .u-i:first-child { transform: scaleX(-1); }

/* Composer */
.ui3 .u-composer {
  position: relative; background: var(--u-surface); border: 1px solid var(--u-line); border-radius: 18px;
  box-shadow: var(--u-sh-md); transition: border-color var(--u-dur-2), box-shadow var(--u-dur-2);
}
.ui3 .u-composer:focus-within, .ui3 .u-composer.is-flash { border-color: var(--u-line-strong); box-shadow: var(--u-sh-md), var(--u-ring); }
.ui3 .u-composer__input {
  display: block; width: 100%; min-height: 76px; max-height: 220px; padding-block: 16px 6px; padding-inline: 18px;
  border: 0; outline: 0; resize: none; background: none;
  font: 400 var(--u-t-md)/1.5 var(--u-font); color: var(--u-ink);
}
.ui3 .u-composer.is-docked .u-composer__input { min-height: 52px; padding-block-start: 14px; }
.ui3 .u-composer__input::placeholder { color: var(--u-ink-4); }
.ui3 .u-composer__row { display: flex; align-items: center; gap: 10px; padding-block: 6px 8px; padding-inline: 18px 8px; }
.ui3 .u-composer__hint { display: inline-flex; align-items: center; gap: 6px; font-size: var(--u-t-xs); color: var(--u-ink-4); white-space: nowrap; }
.ui3 .u-composer__hintsep { width: 3px; height: 3px; margin-inline: 4px; border-radius: 50%; background: var(--u-line-strong); }
.ui3 .u-composer__note { flex: 1; min-width: 0; font-size: var(--u-t-xs); color: var(--u-ink-4); text-align: end; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.ui3 .u-composer:not(.is-docked) .u-composer__note { visibility: hidden; }
.ui3 .u-composer__send {
  width: 32px; height: 32px; flex: none; border-radius: 10px; border: 0; display: grid; place-items: center; cursor: pointer;
  background: var(--u-ink); color: var(--u-on-ink); transition: opacity var(--u-dur-1), transform var(--u-dur-1) var(--u-ease);
}
.ui3 .u-composer__send:disabled { opacity: 0.25; cursor: default; }
.ui3 .u-composer__send:not(:disabled):hover { transform: scale(1.05); }
.ui3 .u-composer__send:focus-visible { outline: none; box-shadow: var(--u-ring); }
.ui3 .u-composer.is-busy .u-composer__send { opacity: 0.25; }
.ui3 .u-chat__dock { flex: none; padding-block: 8px 16px; padding-inline: 24px; background: var(--u-surface); }
.ui3 .u-chat__dock[hidden] { display: none; }
.ui3 .u-chat__dock .u-chat__slot { max-width: 760px; margin-inline: auto; }

/* Thread */
.ui3 .u-chat__log { width: 100%; max-width: 760px; margin-inline: auto; padding-block: 28px 24px; padding-inline: 24px; display: grid; gap: 28px; }
.ui3 .u-chat__log[hidden] { display: none; }
.ui3 .u-msg { min-width: 0; animation: u-rise var(--u-dur-3) var(--u-ease) both; }
.ui3 .u-msg--user { justify-self: end; max-width: min(560px, 88%); display: grid; justify-items: end; gap: 4px; }
.ui3 .u-msg__bubble { padding-block: 10px; padding-inline: 14px; border-radius: 18px; border-end-end-radius: 6px; background: var(--u-surface-2); color: var(--u-ink); font-size: var(--u-t-base); line-height: 1.55; overflow-wrap: anywhere; }
.ui3 .u-msg__meta { padding-inline: 4px; }
.ui3 .u-msg__head { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin-block-end: 12px; }
.ui3 .u-msg__name { font-size: var(--u-t-sm); font-weight: 600; color: var(--u-ink); }
.ui3 .u-msg__time { font-size: var(--u-t-xs); color: var(--u-ink-4); }
.ui3 .u-msg__admin { font-size: var(--u-t-2xs); font-weight: 500; color: var(--u-info); background: var(--u-info-soft); padding-block: 2px; padding-inline: 6px; border-radius: var(--u-r-pill); text-decoration: none; }
.ui3 .u-msg__actions { display: flex; gap: 2px; margin-block-start: 14px; margin-inline-start: -10px; color: var(--u-ink-3); }
.ui3 .u-msg__actions .u-btn { color: var(--u-ink-3); font-weight: 450; }

.ui3 .key-takeaway-card { margin-block-end: 18px; padding-block: 14px 16px; padding-inline: 16px; border-radius: var(--u-r-lg); background: var(--u-accent-soft); border: 1px solid var(--u-accent-line); }
.ui3 .key-takeaway-header { display: flex; align-items: center; gap: 6px; margin-block-end: 6px; color: var(--u-accent-ink); }
.ui3 .key-takeaway-label { font-size: var(--u-t-xs); font-weight: 600; letter-spacing: 0.01em; }
.ui3 .key-takeaway-body { font-size: var(--u-t-md); line-height: 1.55; font-weight: 500; color: var(--u-ink); }
.ui3 .key-takeaway-body p { margin: 0; }
.ui3 .key-takeaway-body p + p { margin-block-start: 8px; }

.ui3 .u-answer { font-family: var(--u-font-read); font-size: 16px; line-height: 1.7; color: var(--u-ink-2); overflow-wrap: break-word; }
.ui3 .u-answer > :first-child { margin-block-start: 0; }
.ui3 .u-answer p { margin-block: 0 12px; }
.ui3 .u-answer h1, .ui3 .u-answer h2 { margin-block: 26px 10px; font-family: var(--u-font); font-size: var(--u-t-lg); font-weight: 600; letter-spacing: -0.015em; line-height: 1.35; color: var(--u-ink); }
.ui3 .u-answer h3 { margin-block: 18px 6px; font-family: var(--u-font); font-size: var(--u-t-base); font-weight: 600; line-height: 1.4; color: var(--u-ink); }
.ui3 .u-answer h4 { margin-block: 14px 4px; font-family: var(--u-font); font-size: var(--u-t-sm); font-weight: 600; color: var(--u-ink); }
.ui3 .u-answer .clinical-section { padding-block-start: 4px; }
.ui3 .u-answer .clinical-section + .clinical-section { margin-block-start: 22px; padding-block-start: 22px; border-top: 1px solid var(--u-line); }
.ui3 .u-answer .clinical-section > h2:first-child { margin-block-start: 0; }
.ui3 .u-answer ul, .ui3 .u-answer ol { margin-block: 0 14px; padding-inline-start: 22px; }
.ui3 .u-answer ul { list-style: disc; }
.ui3 .u-answer ol { list-style: decimal; }
.ui3 .u-answer li { margin-block: 4px; padding-inline-start: 2px; }
.ui3 .u-answer li::marker { color: var(--u-ink-4); }
.ui3 .u-answer strong { font-weight: 600; color: var(--u-ink); }
.ui3 .u-answer a { color: var(--u-accent-ink); text-decoration: underline; text-decoration-color: var(--u-accent-line); text-underline-offset: 2px; }
.ui3 .u-answer a:hover { text-decoration-color: currentColor; }
.ui3 .u-answer code { font: 500 0.88em/1 var(--u-mono); padding-block: 2px; padding-inline: 5px; border-radius: var(--u-r-xs); background: var(--u-surface-2); color: var(--u-ink); }
.ui3 .u-answer blockquote { margin-block: 0 14px; margin-inline: 0; padding-inline-start: 14px; border-inline-start: 3px solid var(--u-line-strong); color: var(--u-ink-3); }
.ui3 .u-answer hr { border: 0; height: 1px; background: var(--u-line); margin-block: 20px; }
.ui3 .u-answer table { display: block; width: max-content; max-width: 100%; overflow-x: auto; border-collapse: collapse; margin-block: 4px 16px; font-family: var(--u-font); font-size: var(--u-t-sm); line-height: 1.45; }
.ui3 .u-answer th, .ui3 .u-answer td { padding-block: 8px; padding-inline: 12px; border: 1px solid var(--u-line); text-align: start; vertical-align: top; }
.ui3 .u-answer th { background: var(--u-surface-2); font-weight: 600; color: var(--u-ink); }
.ui3 .u-answer .evidence-item { list-style: none; position: relative; margin-inline-start: -22px; padding-inline-start: 18px; margin-block: 8px; }
.ui3 .u-answer .evidence-item::before { content: ""; position: absolute; inset-inline-start: 2px; inset-block-start: 0.72em; width: 6px; height: 6px; border-radius: 50%; background: var(--u-accent); }
.ui3 .u-answer .evidence-para { margin-inline-start: 0; padding-inline-start: 0; }
.ui3 .u-answer .evidence-para::before { display: none; }
.ui3 .u-answer .evidence-label { font-family: var(--u-font); font-weight: 600; font-size: 0.94em; color: var(--u-ink); margin-inline-end: 6px; }
.ui3 .u-answer .clinical-intro { margin-block-end: 8px; }
.ui3 .stat-chip { display: inline; padding-block: 1px; padding-inline: 5px; border-radius: var(--u-r-xs); background: var(--u-info-soft); color: var(--u-ink); font: 500 0.86em/1.5 var(--u-mono); white-space: nowrap; box-decoration-break: clone; -webkit-box-decoration-break: clone; }
.ui3 .risk-flag-box { display: flex; gap: 10px; margin-block: 4px 14px; padding-block: 12px; padding-inline: 14px; border-radius: var(--u-r-lg); background: var(--u-warn-soft); color: var(--u-ink); font-family: var(--u-font); font-size: var(--u-t-sm); line-height: 1.55; }
.ui3 .risk-flag-icon { flex: none; color: var(--u-warn); font-size: var(--u-t-md); line-height: 1.3; }
.ui3 sup { line-height: 0; }
.ui3 .inline-ref {
  position: relative; display: inline-grid; place-items: center; min-width: 17px; height: 17px; padding-inline: 4px; margin-inline: 1px;
  border-radius: var(--u-r-pill); background: var(--u-surface-2); border: 1px solid var(--u-line);
  font: 600 10.5px/1 var(--u-font); color: var(--u-accent-ink) !important; text-decoration: none !important; vertical-align: 1px;
  transition: background var(--u-dur-1), border-color var(--u-dur-1);
}
.ui3 .inline-ref:hover, .ui3 .inline-ref:focus-visible { background: var(--u-accent-soft); border-color: var(--u-accent-line); outline: none; }
.ui3 .inline-ref[data-tooltip]:hover::after, .ui3 .inline-ref[data-tooltip]:focus-visible::after {
  content: attr(data-tooltip); position: absolute; z-index: var(--u-z-menu); inset-block-end: calc(100% + 8px); inset-inline-start: 50%; transform: translateX(-50%);
  width: max-content; max-width: 300px; padding-block: 8px; padding-inline: 10px; border-radius: var(--u-r-md);
  background: var(--u-ink); color: var(--u-on-ink); box-shadow: var(--u-sh-lg);
  font: 400 var(--u-t-xs)/1.45 var(--u-font); white-space: pre-line; text-align: start; pointer-events: none;
  animation: u-fade var(--u-dur-1) var(--u-ease) 150ms both;
}
[dir="rtl"].ui3 .inline-ref[data-tooltip]:hover::after { transform: translateX(50%); }

/* References & follow-ups */
.ui3 .u-refs { margin-block-start: 18px; }
.ui3 .u-refs__bar { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.ui3 .u-srcchip {
  display: inline-flex; align-items: center; gap: 6px; max-width: 220px; height: 26px; padding-inline: 4px 10px;
  border-radius: var(--u-r-pill); border: 1px solid var(--u-line); background: var(--u-surface);
  font-size: var(--u-t-xs); color: var(--u-ink-2); text-decoration: none; transition: background var(--u-dur-1), border-color var(--u-dur-1);
}
.ui3 .u-srcchip:hover { background: var(--u-surface-2); border-color: var(--u-line-strong); color: var(--u-ink); }
.ui3 .u-srcchip__num { flex: none; min-width: 18px; height: 18px; padding-inline: 4px; border-radius: var(--u-r-pill); display: grid; place-items: center; background: var(--u-surface-2); font-size: var(--u-t-2xs); font-weight: 600; color: var(--u-ink-3); font-variant-numeric: tabular-nums; }
.ui3 .u-srcchip[data-kind="paper"] .u-srcchip__num { background: var(--u-accent-soft); color: var(--u-accent-ink); }
.ui3 .u-srcchip__label { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.ui3 .u-refs__toggle { display: inline-flex; align-items: center; gap: 4px; height: 26px; padding-inline: 8px; border: 0; border-radius: var(--u-r-pill); background: none; font: 500 var(--u-t-xs)/1 var(--u-font); color: var(--u-ink-3); cursor: pointer; }
.ui3 .u-refs__toggle:hover { color: var(--u-ink); background: var(--u-surface-2); }
.ui3 .u-refs__toggle:focus-visible { outline: none; box-shadow: var(--u-ring); }
.ui3 .u-refs__toggle .u-i { transition: transform var(--u-dur-2) var(--u-ease); }
.ui3 .u-refs__toggle[aria-expanded="true"] .u-i { transform: rotate(90deg); }
[dir="rtl"].ui3 .u-refs__toggle .u-i { transform: scaleX(-1); }
[dir="rtl"].ui3 .u-refs__toggle[aria-expanded="true"] .u-i { transform: rotate(90deg); }
.ui3 .u-refs__list { list-style: none; margin-block: 10px 0; margin-inline: 0; padding: 0; border: 1px solid var(--u-line); border-radius: var(--u-r-lg); overflow: hidden; animation: u-fade var(--u-dur-2) var(--u-ease); }
.ui3 .u-ref { display: flex; gap: 12px; padding-block: 12px; padding-inline: 14px; }
.ui3 .u-ref + .u-ref { border-top: 1px solid var(--u-line); }
.ui3 .u-ref__num { flex: none; width: 20px; height: 20px; border-radius: 50%; display: grid; place-items: center; background: var(--u-surface-2); font-size: var(--u-t-2xs); font-weight: 600; color: var(--u-ink-3); font-variant-numeric: tabular-nums; }
.ui3 .u-ref__body { min-width: 0; flex: 1; }
.ui3 .u-ref__title { margin: 0; font-size: var(--u-t-sm); font-weight: 500; line-height: 1.45; color: var(--u-ink); }
.ui3 .u-ref__meta { margin-block: 2px 0; font-size: var(--u-t-xs); color: var(--u-ink-3); }
.ui3 .u-ref__links { display: flex; flex-wrap: wrap; gap: 12px; margin-block-start: 6px; }
.ui3 .u-ref__link { display: inline-flex; align-items: center; gap: 4px; font-size: var(--u-t-xs); font-weight: 500; color: var(--u-ink-3); text-decoration: none; }
.ui3 .u-ref__link.is-primary { color: var(--u-accent-ink); }
.ui3 .u-ref__link:hover { text-decoration: underline; text-underline-offset: 2px; }
.ui3 .u-followups { margin-block-start: 22px; }
.ui3 .u-followups > .u-label { display: block; margin-block-end: 4px; }

/* Preparing indicator */
.ui3 .u-prep { padding-block: 14px 16px; padding-inline: 16px; border: 1px solid var(--u-line); border-radius: var(--u-r-lg); background: var(--u-surface); box-shadow: var(--u-sh-xs); }
.ui3 .u-prep__status { display: flex; align-items: center; gap: 10px; font-size: var(--u-t-sm); font-weight: 500; color: var(--u-ink); }
.ui3 .u-prep__label { transition: opacity 160ms var(--u-ease), transform 160ms var(--u-ease); }
.ui3 .u-prep__label.is-out { opacity: 0; transform: translateY(-3px); }
.ui3 .u-prep__bar { position: relative; height: 3px; margin-block: 12px 8px; border-radius: var(--u-r-pill); background: var(--u-surface-3); overflow: hidden; }
.ui3 .u-prep__bar > span { position: absolute; inset-block: 0; inset-inline-start: 0; width: 92%; border-radius: var(--u-r-pill); background: var(--u-accent); transform-origin: left center; animation: u-prep-fill 17s cubic-bezier(0.2, 0.7, 0.3, 1) forwards; }
[dir="rtl"].ui3 .u-prep__bar > span { transform-origin: right center; }
@keyframes u-prep-fill { from { transform: scaleX(0.03); } to { transform: scaleX(1); } }
.ui3 .u-prep__eta { margin: 0; font-size: var(--u-t-xs); color: var(--u-ink-3); }
.ui3 .u-prep__skel { display: grid; gap: 8px; margin-block-start: 14px; }
.ui3 .u-prep__skel .u-skeleton { height: 10px; }
.ui3 .u-prep__skel .u-skeleton:nth-child(2) { width: 88%; }
.ui3 .u-prep__skel .u-skeleton:nth-child(3) { width: 62%; }

/* History rail */
.ui3 .u-chat__hist { display: flex; flex-direction: column; min-height: 0; border-inline-start: 1px solid var(--u-line); background: var(--u-bg); }
.ui3 .u-chat__histtop { display: flex; gap: 6px; padding-block: 10px; padding-inline: 12px; }
.ui3 .u-chat__search { flex: 1; height: 32px; min-width: 0; }
.ui3 .u-chat__search input::-webkit-search-cancel-button { cursor: pointer; }
.ui3 .u-chat__histlist { flex: 1; min-height: 0; overflow-y: auto; padding-block: 0 16px; padding-inline: 8px; }
.ui3 .u-chat__group { margin: 0; padding-block: 14px 4px; padding-inline: 8px; font-size: 11.5px; font-weight: 500; color: var(--u-ink-4); }
.ui3 .u-chat__item { position: relative; display: flex; align-items: center; border-radius: var(--u-r-md); transition: background var(--u-dur-1); }
.ui3 .u-chat__item:hover { background: var(--u-surface-3); }
.ui3 .u-chat__item.is-on { background: var(--u-surface); box-shadow: var(--u-sh-sm); }
.ui3 .u-chat__itemlink { flex: 1; min-width: 0; display: flex; padding-block: 7px; padding-inline: 8px; font-size: var(--u-t-sm); color: var(--u-ink-2); text-decoration: none; border-radius: var(--u-r-md); }
.ui3 .u-chat__itemlink:focus-visible { outline: none; box-shadow: var(--u-ring); }
.ui3 .u-chat__item.is-on .u-chat__itemlink, .ui3 .u-chat__item:hover .u-chat__itemlink { color: var(--u-ink); }
.ui3 .u-chat__itemdel { flex: none; width: 26px; height: 26px; margin-inline-end: 3px; border: 0; border-radius: var(--u-r-sm); background: none; display: grid; place-items: center; color: var(--u-ink-4); cursor: pointer; opacity: 0; transition: opacity var(--u-dur-1), background var(--u-dur-1), color var(--u-dur-1); }
.ui3 .u-chat__item:hover .u-chat__itemdel, .ui3 .u-chat__item:focus-within .u-chat__itemdel { opacity: 1; }
.ui3 .u-chat__itemdel:hover { background: var(--u-danger-soft); color: var(--u-danger); }
.ui3 .u-chat__itemdel:focus-visible { opacity: 1; outline: none; box-shadow: var(--u-ring); }
.ui3 .u-chat__histempty { margin: 0; padding-block: 24px; padding-inline: 12px; text-align: center; font-size: var(--u-t-sm); color: var(--u-ink-3); display: grid; justify-items: center; gap: 10px; }
.ui3 .u-chat__histempty p { margin: 0; }
.ui3 .u-chat__histskel { display: grid; gap: 14px; padding-block: 18px; padding-inline: 8px; }
.ui3 .u-chat__histskel .u-skeleton { height: 12px; }
.ui3 .u-chat__histskel .u-skeleton:nth-child(odd) { width: 78%; }
.ui3 .u-chat__histscrim { display: none; }

@media (hover: none) {
  .ui3 .u-chat__itemdel { opacity: 1; }
  .ui3 .u-chat__titleicon { opacity: 1; }
}
@media (max-width: 1099px) {
  .ui3 .u-chat { grid-template-columns: minmax(0, 1fr); }
  .ui3 .u-chat.is-rail-collapsed .u-chat__hist { display: flex; }
  .ui3 .u-chat.is-sumi-live .u-chat__hist { display: none; }
  .ui3 .u-chat__hist {
    position: absolute; inset-block: 0; inset-inline-end: 0; z-index: var(--u-z-overlay); width: min(300px, 86vw);
    box-shadow: var(--u-sh-lg); transform: translateX(105%); visibility: hidden;
    transition: transform var(--u-dur-2) var(--u-ease), visibility 0s linear var(--u-dur-2);
  }
  [dir="rtl"].ui3 .u-chat__hist { transform: translateX(-105%); }
  .ui3 .u-chat.is-hist-open .u-chat__hist { transform: none; visibility: visible; transition: transform var(--u-dur-2) var(--u-ease); }
  .ui3 .u-chat__histscrim:not([hidden]) { display: block; position: absolute; inset: 0; z-index: calc(var(--u-z-overlay) - 1); background: var(--u-scrim); }
}
@media (max-width: 699px) {
  .ui3 .u-chat__hero { padding-inline: 18px; padding-block: 24px; justify-content: flex-start; }
  .ui3 .u-chat__h1 { font-size: var(--u-t-2xl); }
  .ui3 .u-chat__log { padding-inline: 16px; padding-block-start: 20px; }
  .ui3 .u-chat__dock { padding-inline: 12px; padding-block-end: 12px; }
  .ui3 .u-composer__note { display: none; }
  .ui3 .u-composer__hint { display: none; }
  .ui3 .u-composer__row { justify-content: flex-end; }
  .ui3 .u-composer.is-docked { display: flex; align-items: flex-end; }
  .ui3 .u-composer.is-docked .u-composer__input { min-height: 46px; padding-block: 12px; padding-inline: 14px 4px; }
  .ui3 .u-composer.is-docked .u-composer__row { padding: 7px; }
  .ui3 [data-c-new] > span { display: none; }
  .ui3 .u-chat__top [data-c-new] { width: 28px; padding: 0; }
}

/* ---------- Home hub (tool chips, tool mode in the composer, job cards, activity) ---------- */
.ui3 [data-kind="presentation"] { --u-hub-tint: var(--u-warn); --u-hub-soft: var(--u-warn-soft); }
.ui3 [data-kind="review"], .ui3 [data-kind="discover"] { --u-hub-tint: var(--u-info); --u-hub-soft: var(--u-info-soft); }
.ui3 [data-kind="study"] { --u-hub-tint: var(--u-accent); --u-hub-soft: var(--u-accent-soft); }
.ui3 [data-kind="notes"] { --u-hub-tint: var(--u-rec); --u-hub-soft: var(--u-danger-soft); }
.ui3 [data-kind="summarize"], .ui3 [data-kind="chat"] { --u-hub-tint: var(--u-ink-3); --u-hub-soft: var(--u-surface-2); }

.ui3 .u-hub__chips { display: flex; flex-wrap: wrap; gap: 6px; margin-block-start: 14px; }
.ui3 .u-hub__chip {
  display: inline-flex; align-items: center; gap: 6px; height: 32px; padding-inline: 12px;
  border: 1px solid var(--u-line); border-radius: var(--u-r-pill); background: var(--u-surface);
  font: 500 var(--u-t-sm)/1 var(--u-font); color: var(--u-ink-2); cursor: pointer; white-space: nowrap;
  transition: background var(--u-dur-1), border-color var(--u-dur-1), color var(--u-dur-1), transform var(--u-dur-1) var(--u-ease);
}
.ui3 .u-hub__chip > .u-i { color: var(--u-hub-tint, var(--u-ink-3)); }
.ui3 .u-hub__chip:hover { border-color: var(--u-line-strong); background: var(--u-surface-2); color: var(--u-ink); }
.ui3 .u-hub__chip:active { transform: scale(0.97); }
.ui3 .u-hub__chip:focus-visible { outline: none; box-shadow: var(--u-ring); }
.ui3 .u-hub__chip[aria-pressed="true"] { background: var(--u-hub-soft, var(--u-surface-2)); border-color: var(--u-hub-tint, var(--u-line-strong)); color: var(--u-ink); }
.ui3 .u-hub__chip--ideas { border-style: dashed; background: transparent; color: var(--u-ink-3); }
.ui3 .u-hub__chip--ideas > .u-i { color: var(--u-ink-4); }
.ui3 .u-hub__chip--ideas[aria-expanded="true"] { border-style: solid; background: var(--u-surface-2); color: var(--u-ink); }

.ui3 .u-chat__ideas {
  margin-block-start: 10px; padding-block: 14px; padding-inline: 16px;
  border: 1px solid var(--u-line); border-radius: var(--u-r-lg); background: var(--u-surface); box-shadow: var(--u-sh-xs);
  animation: u-rise var(--u-dur-2) var(--u-ease) both;
}
.ui3 .u-chat__ideas[hidden] { display: none; }
.ui3 .u-chat__ideas .u-label { display: block; margin: 0 0 8px; }
.ui3 .u-chat__ideas .u-chat__modes { margin: 0; }
.ui3 .u-chat__ideas .u-chat__suggest { margin-block-start: 16px; }

/* Tool mode: the composer is the selected tool's form */
.ui3 .u-composer__tool, .ui3 .u-composer__opts { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; }
.ui3 .u-composer__tool { padding-block: 12px 0; padding-inline: 14px 10px; }
.ui3 .u-composer__opts { flex: 1; min-width: 0; }
.ui3 .u-composer__tool[hidden], .ui3 .u-composer__zone[hidden], .ui3 .u-composer__opts[hidden],
.ui3 .u-composer__error[hidden], .ui3 .u-composer__go[hidden], .ui3 .u-composer__input[hidden] { display: none; }
.ui3 .u-composer__pill, .ui3 .u-composer__from {
  display: inline-flex; align-items: center; gap: 6px; height: 28px; padding-inline: 10px 3px; border-radius: var(--u-r-pill);
  font: 600 var(--u-t-sm)/1 var(--u-font); color: var(--u-ink);
}
.ui3 .u-composer__pill { background: var(--u-hub-soft, var(--u-surface-2)); }
.ui3 .u-composer__pill > .u-i { color: var(--u-hub-tint, var(--u-ink-3)); }
.ui3 .u-composer__from { border: 1px solid var(--u-accent-line); font-weight: 500; font-size: var(--u-t-xs); color: var(--u-accent-ink); }
[dir="rtl"].ui3 .u-composer__from > .u-i:first-child { transform: scaleX(-1); }
.ui3 .u-composer__pillx { width: 22px; height: 22px; flex: none; border: 0; border-radius: 50%; background: none; display: grid; place-items: center; color: var(--u-ink-3); cursor: pointer; }
.ui3 .u-composer__pillx:hover { background: var(--u-surface-3); color: var(--u-ink); }
.ui3 .u-composer__pillx:focus-visible { outline: none; box-shadow: var(--u-ring); }
.ui3 .u-composer__ask, .ui3 .u-composer__more { color: var(--u-ink-3); }
.ui3 .u-composer.is-tool .u-composer__input { min-height: 56px; padding-block-start: 10px; }
.ui3 .u-composer.is-tool .u-composer__hint, .ui3 .u-composer.is-tool .u-composer__note, .ui3 .u-composer.is-tool .u-composer__send { display: none; }
.ui3 .u-composer.is-tool .u-composer__row { flex-wrap: wrap; gap: 6px; }
.ui3 .u-composer__go { flex: none; margin-inline-start: auto; }
.ui3 .u-composer__plus { flex: none; margin-inline-start: -10px; color: var(--u-ink-3); }

.ui3 .u-optpill {
  position: relative; display: inline-flex; align-items: center; height: 28px; max-width: 100%;
  border: 1px solid var(--u-line); border-radius: var(--u-r-pill); background: var(--u-surface); color: var(--u-ink-2);
  transition: border-color var(--u-dur-1), background var(--u-dur-1);
}
.ui3 .u-optpill:hover { border-color: var(--u-line-strong); background: var(--u-surface-2); color: var(--u-ink); }
.ui3 .u-optpill:focus-within { box-shadow: var(--u-ring); }
.ui3 .u-optpill__select {
  appearance: none; -webkit-appearance: none; field-sizing: content; height: 100%; max-width: 190px; padding-inline: 11px 26px;
  border: 0; outline: 0; background: none; font: 500 var(--u-t-xs)/1 var(--u-font); color: inherit; cursor: pointer; text-overflow: ellipsis;
}
.ui3 .u-optpill__chev { position: absolute; inset-inline-end: 8px; width: 12px; height: 12px; color: var(--u-ink-4); pointer-events: none; }

.ui3 .u-composer__zone { padding-block: 12px 2px; padding-inline: 14px; }
.ui3 .u-composer__zonehint { margin: 0; padding-inline: 4px; font-size: var(--u-t-sm); color: var(--u-ink-3); }
.ui3 .u-composer__drop {
  display: flex; align-items: center; gap: 10px; width: 100%; min-height: 60px; padding-inline: 16px;
  border: 1.5px dashed var(--u-line-strong); border-radius: var(--u-r-lg); background: var(--u-surface-2);
  font: 500 var(--u-t-sm)/1.3 var(--u-font); color: var(--u-ink-2); text-align: start; cursor: pointer;
  transition: border-color var(--u-dur-1), background var(--u-dur-1);
}
.ui3 .u-composer__drop:hover, .ui3 .u-composer.is-drop .u-composer__drop { border-color: var(--u-accent); background: var(--u-accent-soft); }
.ui3 .u-composer__drop:focus-visible { outline: none; box-shadow: var(--u-ring); }
.ui3 .u-composer__drop.has-file { border-style: solid; color: var(--u-ink); }
.ui3 .u-composer__drop.has-file > .u-i { color: var(--u-accent); }
.ui3 .u-composer__dropname { flex: 1; min-width: 0; }
.ui3 .u-composer__drophint { flex: none; font-size: var(--u-t-xs); font-weight: 400; color: var(--u-ink-4); }
.ui3 .u-composer.is-drop { border-color: var(--u-accent); box-shadow: var(--u-sh-md), var(--u-ring); }
.ui3 .u-composer__error { margin: 0; padding-block: 6px 0; padding-inline: 18px; font-size: var(--u-t-xs); color: var(--u-danger); }

/* Job cards (running and finished only; the form lives in the composer) */
.ui3 .u-hub__cards { display: grid; gap: 10px; margin-block-start: 14px; }
.ui3 .u-hub__cards[hidden] { display: none; }
.ui3 .u-hubcard-wrap { display: grid; gap: 12px; min-width: 0; }
.ui3 .u-chat__log .u-hubcard { max-width: 620px; }
.ui3 .u-hubcard {
  min-width: 0; border: 1px solid var(--u-line); border-radius: var(--u-r-lg); background: var(--u-surface); box-shadow: var(--u-sh-sm);
  animation: u-rise var(--u-dur-3) var(--u-ease) both;
}
.ui3 .u-hubcard[data-status="ready"] { border-color: var(--u-accent-line); }
.ui3 .u-hubcard[data-status="failed"] { border-color: var(--u-line-strong); }
.ui3 .u-hubcard__head { display: flex; align-items: center; gap: 10px; padding-block: 10px 0; padding-inline: 14px 8px; }
.ui3 .u-hubcard__icon { width: 28px; height: 28px; flex: none; display: grid; place-items: center; border-radius: var(--u-r-md); background: var(--u-hub-soft, var(--u-surface-2)); color: var(--u-hub-tint, var(--u-ink-3)); }
.ui3 .u-hubcard[data-status="ready"] .u-hubcard__icon { background: var(--u-accent-soft); color: var(--u-accent); }
.ui3 .u-hubcard__icon .u-i { width: 15px; height: 15px; }
.ui3 .u-hubcard__title { flex: 1; min-width: 0; margin: 0; font-size: var(--u-t-base); font-weight: 600; color: var(--u-ink); }
.ui3 .u-hubcard__body { display: grid; gap: 10px; padding-block: 10px 12px; padding-inline: 14px; }
.ui3 .u-hubcard__summary { margin: 0; font-size: var(--u-t-sm); color: var(--u-ink-2); overflow-wrap: anywhere; }
.ui3 .u-hubcard__note { margin: 0; font-size: var(--u-t-xs); color: var(--u-ink-3); }
.ui3 .u-hubcard__status { display: flex; align-items: center; gap: 10px; font-size: var(--u-t-sm); font-weight: 500; color: var(--u-ink); }
.ui3 .u-hubcard__bar { position: relative; height: 3px; border-radius: var(--u-r-pill); background: var(--u-surface-3); overflow: hidden; }
.ui3 .u-hubcard__bar > span { position: absolute; inset-block: 0; inset-inline-start: 0; width: 38%; border-radius: var(--u-r-pill); background: var(--u-accent); animation: u-hub-sweep 1.6s var(--u-ease) infinite; }
@keyframes u-hub-sweep { from { inset-inline-start: -38%; } to { inset-inline-start: 100%; } }
.ui3 .u-hubcard__foot { display: flex; align-items: center; flex-wrap: wrap; gap: 4px; padding-block: 8px; padding-inline: 8px; border-top: 1px solid var(--u-line); }
.ui3 .u-hubcard__foot .u-btn--ghost { color: var(--u-ink-3); }
.ui3 .u-hubcard__head + .u-hubcard__foot { margin-block-start: 10px; }
[dir="rtl"].ui3 .u-hubcard__go { transform: scaleX(-1); }

.ui3 .u-hubturn { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; margin-block-start: 16px; }
.ui3 .u-hubturn__label { margin-inline-end: 4px; }
.ui3 .u-hubturn__chip { cursor: pointer; }
.ui3 .u-hubturn__chip .u-i { color: var(--u-hub-tint, var(--u-ink-3)); }

/* Activity rail: type filter and rows */
.ui3 .u-chat__type { flex: none; height: 32px; max-width: 46%; }
.ui3 .u-chat__type .u-optpill__select { max-width: 100%; padding-inline: 10px 28px; }
.ui3 .u-chat__itemlink { align-items: center; gap: 8px; }
.ui3 .u-chat__itemlink > .u-truncate { flex: 1; min-width: 0; }
.ui3 .u-chat__itemicon { flex: none; color: var(--u-hub-tint, var(--u-ink-4)); }
.ui3 .u-chat__item[data-kind="chat"] .u-chat__itemicon { color: var(--u-ink-4); }

/* "Suggest activities" */
.ui3 .u-hub__ideashead { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-block-end: 8px; }
.ui3 .u-hub__ideashead .u-label { margin: 0; }
.ui3 .u-hub__ideashead .u-btn { margin-block: -6px; margin-inline-end: -8px; color: var(--u-ink-3); }
.ui3 .u-hub__ideas { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; transition: opacity var(--u-dur-2); }
.ui3 .u-hub__ideas.is-refreshing { opacity: 0.45; pointer-events: none; }
.ui3 .u-hub__ideas > .u-skeleton { height: 56px; border-radius: var(--u-r-md); }
.ui3 .u-hubidea {
  display: flex; align-items: center; gap: 10px; min-width: 0; padding-block: 9px; padding-inline: 10px;
  border: 1px solid var(--u-line); border-radius: var(--u-r-md); background: var(--u-surface); text-align: start; cursor: pointer;
  transition: border-color var(--u-dur-1), background var(--u-dur-1);
}
.ui3 .u-hubidea:hover { border-color: var(--u-line-strong); background: var(--u-surface-2); }
.ui3 .u-hubidea:focus-visible { outline: none; box-shadow: var(--u-ring); }
.ui3 .u-hubidea[data-kind="ask"] { --u-hub-tint: var(--u-accent); --u-hub-soft: var(--u-accent-soft); }
.ui3 .u-hubidea__icon { width: 30px; height: 30px; flex: none; display: grid; place-items: center; border-radius: var(--u-r-md); background: var(--u-hub-soft, var(--u-surface-2)); color: var(--u-hub-tint, var(--u-ink-3)); }
.ui3 .u-hubidea__body { flex: 1; min-width: 0; display: grid; gap: 2px; }
.ui3 .u-hubidea__text { font-size: var(--u-t-sm); font-weight: 500; line-height: 1.35; color: var(--u-ink); display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; line-clamp: 2; overflow: hidden; }
.ui3 .u-hubidea__meta { font-size: var(--u-t-xs); color: var(--u-ink-4); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ui3 .u-hubidea__go { flex: none; color: var(--u-ink-4); opacity: 0; transition: opacity var(--u-dur-1); }
.ui3 .u-hubidea:hover .u-hubidea__go, .ui3 .u-hubidea:focus-visible .u-hubidea__go { opacity: 1; }
[dir="rtl"].ui3 .u-hubidea__go { transform: scaleX(-1); }
.ui3 .u-hub__ideasnote { margin-block: 10px 0; font-size: var(--u-t-xs); color: var(--u-ink-3); }
.ui3 .u-hub__ideasnote button { padding: 0; border: 0; background: none; font: inherit; font-weight: 500; color: var(--u-accent-ink); cursor: pointer; text-decoration: underline; text-underline-offset: 2px; }
.ui3 .u-hub__ideasnote button:focus-visible { outline: none; box-shadow: var(--u-ring); border-radius: var(--u-r-sm); }

/* Slash commands */
.ui3 .u-slash {
  position: absolute; inset-inline: 0; inset-block-start: calc(100% + 6px); z-index: var(--u-z-menu); max-height: 320px; overflow-y: auto;
  padding: 4px; border: 1px solid var(--u-line); border-radius: var(--u-r-lg); background: var(--u-surface); box-shadow: var(--u-sh-lg);
}
.ui3 .u-composer.is-docked .u-slash { inset-block-start: auto; inset-block-end: calc(100% + 6px); }
.ui3 .u-slash[hidden] { display: none; }
.ui3 .u-slash__item { display: grid; grid-template-columns: auto auto auto minmax(0, 1fr); align-items: center; gap: 10px; padding-block: 7px; padding-inline: 8px; border-radius: var(--u-r-md); cursor: pointer; }
.ui3 .u-slash__item[aria-selected="true"] { background: var(--u-surface-2); }
.ui3 .u-slash__icon { width: 26px; height: 26px; display: grid; place-items: center; border-radius: var(--u-r-sm); background: var(--u-hub-soft, var(--u-surface-2)); color: var(--u-hub-tint, var(--u-ink-3)); }
.ui3 .u-slash__name { font-size: var(--u-t-sm); font-weight: 500; color: var(--u-ink); }
.ui3 .u-slash__cmd { font: 500 var(--u-t-xs)/1 var(--u-mono, var(--u-font)); color: var(--u-ink-4); }
.ui3 .u-slash__hint { font-size: var(--u-t-xs); color: var(--u-ink-4); }
.ui3 .u-slash__empty { margin: 0; padding-block: 10px; padding-inline: 10px; font-size: var(--u-t-sm); color: var(--u-ink-3); }

/* Page-wide PDF drop on Home */
.ui3 .u-chat__stage { position: relative; }
.ui3 .u-hubdrop { position: absolute; inset: 0; z-index: var(--u-z-menu); display: grid; place-items: center; padding: 16px; background: var(--u-scrim); pointer-events: none; }
.ui3 .u-hubdrop[hidden] { display: none; }
.ui3 .u-hubdrop__box {
  display: grid; justify-items: center; gap: 10px; width: min(420px, 100%); padding-block: 36px; padding-inline: 24px;
  border: 2px dashed var(--u-accent); border-radius: var(--u-r-xl, var(--u-r-lg)); background: var(--u-surface); box-shadow: var(--u-sh-lg);
  font-size: var(--u-t-md); font-weight: 600; color: var(--u-ink); text-align: center;
}
.ui3 .u-hubdrop__box > .u-i { width: 28px; height: 28px; color: var(--u-accent); }

/* Sumi: voice assistant. Idle, the call tile itself is the call button. Live, one centered column
   (header, request card, call tiles, subtitles, controls) sized from the viewport height, so the whole
   call fits a vertical or square crop of a desktop screen recording. */
.ui3 .u-sumi {
  --u-sumi-tile: min(270px, 31.5vh); --u-sumi-sub: clamp(16px, 0.9vw + 7px, 21px);
  display: flex; flex-direction: column; align-items: center; gap: 16px; margin-block-end: 26px;
}
.ui3 .u-sumi__call { display: grid; justify-items: center; gap: 12px; width: 100%; }
.ui3 .u-sumi__tiles { position: relative; display: flex; justify-content: center; gap: 14px; width: 100%; }
.ui3 .u-sumi__tile {
  --lv: 0; position: relative; flex: none; width: var(--u-sumi-tile); aspect-ratio: 3 / 4; border-radius: var(--u-r-xl); overflow: hidden;
  background: #111d26; box-shadow: var(--u-sh-md); isolation: isolate;
  transition: width var(--u-dur-3) var(--u-ease), transform var(--u-dur-2) var(--u-ease), box-shadow var(--u-dur-2);
}
.ui3 .u-sumi__tile[hidden], .ui3 .u-sumi__controls[hidden], .ui3 .u-sumi__brief[hidden], .ui3 .u-sumi__note[hidden],
.ui3 .u-sumi__dial[hidden], .ui3 .u-sumi__done[hidden] { display: none; }
.ui3 .u-sumi__stage { position: absolute; inset: 0; }
.ui3 .u-sumi__stage > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center top; transition: opacity var(--u-dur-2); }
.ui3 .u-sumi__video {
  position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transform: scaleX(-1); background: #111d26;
  opacity: 0; transition: opacity var(--u-dur-3) var(--u-ease);
}
.ui3 .u-sumi[data-camera="on"] .u-sumi__video { opacity: 1; }
.ui3 .u-sumi__camwait {
  position: absolute; inset: 0; display: grid; place-content: center; justify-items: center; gap: 10px; padding: 12px;
  background: radial-gradient(ellipse at 50% 40%, #2a3945, #111d26 72%);
  font: 500 var(--u-t-xs)/1.3 var(--u-font); color: rgba(255, 255, 255, 0.74); text-align: center;
  transition: opacity var(--u-dur-3) var(--u-ease);
}
.ui3 .u-sumi[data-camera="on"] .u-sumi__camwait { opacity: 0; pointer-events: none; }
.ui3 .u-sumi__spin { width: 22px; height: 22px; border-radius: 50%; border: 2px solid rgba(255, 255, 255, 0.22); border-top-color: #fff; animation: u-spin 0.9s linear infinite; }

/* Speaking rings follow the real loudness (--lv for Sumi, --lv-me for the user, 0..1). */
.ui3 .u-sumi__tile::after {
  content: ""; position: absolute; inset: 0; z-index: 2; border-radius: inherit; pointer-events: none;
  box-shadow: inset 0 0 0 2px transparent; transition: box-shadow var(--u-dur-2);
}
.ui3 .u-sumi[data-talk="speaking"] [data-sumi-tile] { box-shadow: var(--u-sh-md), 0 0 0 calc(var(--lv) * 10px) rgba(16, 185, 129, 0.26); }
.ui3 .u-sumi[data-talk="speaking"] [data-sumi-tile]::after { box-shadow: inset 0 0 0 calc(2px + var(--lv) * 3px) var(--u-accent); transition: none; }
.ui3 .u-sumi[data-talk="user"] .u-sumi__tile--me { box-shadow: var(--u-sh-md), 0 0 0 calc(var(--lv-me, 0) * 10px) rgba(59, 130, 246, 0.26); }
.ui3 .u-sumi[data-talk="user"] .u-sumi__tile--me::after { box-shadow: inset 0 0 0 calc(2px + var(--lv-me, 0) * 3px) var(--u-info); transition: none; }

.ui3 .u-sumi__badge {
  position: absolute; z-index: 3; inset-block-start: 10px; inset-inline-start: 10px; display: inline-flex; align-items: center; gap: 6px; max-width: calc(100% - 20px); height: 24px; padding-inline: 9px;
  border-radius: var(--u-r-pill); background: var(--u-stage-chip); backdrop-filter: blur(6px);
  font: 600 11px/1 var(--u-font); color: var(--u-on-stage); white-space: nowrap; overflow: hidden;
}
.ui3 .u-sumi__dot { flex: none; width: 7px; height: 7px; border-radius: 50%; background: var(--u-accent); box-shadow: 0 0 0 2px rgba(52, 211, 153, 0.25); }
.ui3 .u-sumi[data-state="connecting"] .u-sumi__dot { background: var(--u-warn); animation: u-sumi-blink 1s steps(2) infinite; }
.ui3 .u-sumi[data-state="live"] .u-sumi__dot { background: var(--u-rec); box-shadow: 0 0 0 2px rgba(225, 29, 72, 0.3); }
@keyframes u-sumi-blink { 50% { opacity: 0.3; } }
.ui3 .u-sumi__eq { display: none; align-items: center; gap: 2px; height: 10px; }
.ui3 .u-sumi[data-talk="speaking"] .u-sumi__eq { display: inline-flex; }
.ui3 .u-sumi__eq > span { width: 2px; height: 10px; border-radius: 1px; background: currentColor; transform: scaleY(min(1, calc(0.3 + var(--lv) * 0.8))); }
.ui3 .u-sumi__eq > span:nth-child(2) { transform: scaleY(min(1, calc(0.3 + var(--lv) * 1.4))); }
.ui3 .u-sumi__eq > span:nth-child(3) { transform: scaleY(min(1, calc(0.3 + var(--lv) * 0.55))); }

/* Idle: ringing tile with a call pill */
.ui3 .u-sumi[data-state="idle"] [data-sumi-tile] { animation: u-sumi-ring 3.2s var(--u-ease) infinite; }
.ui3 .u-sumi[data-state="idle"] [data-sumi-tile]:hover { transform: translateY(-2px); box-shadow: var(--u-sh-lg); animation-play-state: paused; }
.ui3 .u-sumi[data-state="idle"] .u-sumi__badge { display: none; }
@keyframes u-sumi-ring {
  0%, 55% { box-shadow: var(--u-sh-md), 0 0 0 0 rgba(16, 185, 129, 0.4); }
  85%, 100% { box-shadow: var(--u-sh-md), 0 0 0 14px rgba(16, 185, 129, 0); }
}
.ui3 .u-sumi__dial {
  position: absolute; inset: 0; z-index: 4; display: flex; align-items: flex-end; justify-content: center; padding: 0 0 12px;
  border: 0; border-radius: inherit; background: linear-gradient(to top, rgba(10, 10, 15, 0.45), rgba(10, 10, 15, 0) 45%); cursor: pointer;
}
.ui3 .u-sumi__dial:focus-visible { outline: none; box-shadow: inset 0 0 0 3px var(--u-accent); }
.ui3 .u-sumi__pill {
  display: inline-flex; align-items: center; gap: 7px; height: 32px; padding-block: 0; padding-inline: 4px 12px; border-radius: var(--u-r-pill);
  background: rgba(255, 255, 255, 0.94); box-shadow: 0 4px 14px -4px rgba(0, 0, 0, 0.45);
  font: 600 var(--u-t-xs)/1 var(--u-font); color: #0a0a0f; white-space: nowrap;
  transition: transform var(--u-dur-2) var(--u-ease);
}
.ui3 .u-sumi__phone { display: grid; place-items: center; width: 24px; height: 24px; border-radius: 50%; background: #10b981; color: #fff; }
.ui3 .u-sumi__phone > .u-i { width: 13px; height: 13px; }
.ui3 .u-sumi__dial:hover .u-sumi__pill { transform: scale(1.04); }
.ui3 .u-sumi__dial:hover .u-sumi__phone > .u-i { animation: u-sumi-wiggle 0.6s var(--u-ease); }
@keyframes u-sumi-wiggle { 25% { transform: rotate(-14deg); } 50% { transform: rotate(12deg); } 75% { transform: rotate(-6deg); } }
.ui3 .u-sumi:not([data-state="idle"]) .u-sumi__dial { display: none; }

/* Connecting: ripples around Sumi's face */
.ui3 .u-sumi__ringing { position: absolute; inset: 0; z-index: 3; display: none; pointer-events: none; background: radial-gradient(ellipse at 50% 32%, rgba(10, 10, 15, 0) 20%, rgba(10, 10, 15, 0.5) 85%); }
.ui3 .u-sumi[data-state="connecting"] .u-sumi__ringing { display: block; animation: u-fade var(--u-dur-2) var(--u-ease); }
.ui3 .u-sumi__rings { position: absolute; inset-inline-start: 50%; inset-block-start: 31%; height: 46%; aspect-ratio: 1; translate: -50% -50%; }
[dir="rtl"].ui3 .u-sumi__rings { translate: 50% -50%; }
.ui3 .u-sumi__rings::before, .ui3 .u-sumi__rings::after {
  content: ""; position: absolute; inset: 0; border-radius: 50%; border: 2px solid rgba(52, 211, 153, 0.75);
  animation: u-sumi-ripple 1.8s var(--u-ease) infinite;
}
.ui3 .u-sumi__rings::after { animation-delay: 0.9s; }
@keyframes u-sumi-ripple { 0% { transform: scale(0.75); opacity: 0.9; } 100% { transform: scale(1.7); opacity: 0; } }
.ui3 .u-sumi__ringlabel {
  position: absolute; inset-inline: 0; inset-block-end: 18px; width: max-content; max-width: calc(100% - 24px); margin-inline: auto; padding: 8px 14px;
  border-radius: var(--u-r-pill); background: rgba(10, 10, 15, 0.6); backdrop-filter: blur(6px);
  font: 600 var(--u-t-sm)/1 var(--u-font); color: #fff; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}

/* Closing beat over both tiles */
.ui3 .u-sumi__done {
  position: absolute; inset: 0; z-index: 6; display: grid; place-content: center; justify-items: center; gap: 14px; padding: 24px;
  border-radius: var(--u-r-xl); background: rgba(10, 14, 20, 0.62); backdrop-filter: blur(10px); color: #fff; text-align: center;
  animation: u-fade var(--u-dur-3) var(--u-ease);
}
.ui3 .u-sumi__done > strong { max-width: 26ch; font: 600 var(--u-t-lg)/1.3 var(--u-font); }
.ui3 .u-sumi__doneicon {
  display: grid; place-items: center; width: 56px; height: 56px; border-radius: 50%; background: var(--u-accent); color: #fff;
  box-shadow: 0 0 0 8px rgba(16, 185, 129, 0.2); animation: u-sumi-pop 0.5s var(--u-ease) both;
}
.ui3 .u-sumi__doneicon .u-i { width: 26px; height: 26px; stroke-width: 2.5; }
.ui3 .u-sumi__done[data-done="ended"] .u-sumi__doneicon { background: rgba(255, 255, 255, 0.14); box-shadow: none; }
.ui3 .u-sumi__done[data-done="ended"] .u-sumi__done-ok, .ui3 .u-sumi__done[data-done="launched"] .u-sumi__done-end { display: none; }
.ui3 .u-sumi__done .u-sumi__bar { width: min(240px, 70%); background: rgba(255, 255, 255, 0.18); }
.ui3 .u-sumi__done[data-done="ended"] .u-sumi__bar { display: none; }
@keyframes u-sumi-pop { 0% { transform: scale(0.4); opacity: 0; } 60% { transform: scale(1.08); opacity: 1; } 100% { transform: scale(1); } }
.ui3 .u-sumi__bar { position: relative; display: block; height: 4px; border-radius: var(--u-r-pill); background: var(--u-surface-3, rgba(127, 127, 127, 0.2)); overflow: hidden; }
.ui3 .u-sumi__bar > span { position: absolute; inset-block: 0; inset-inline-start: 0; width: 40%; border-radius: inherit; background: var(--u-accent); animation: u-sumi-bar 1.4s var(--u-ease) infinite; }
[dir="rtl"].ui3 .u-sumi__bar > span { animation-direction: reverse; }
@keyframes u-sumi-bar { 0% { transform: translateX(-100%); } 100% { transform: translateX(250%); } }

/* Call header: who you're talking to and for how long */
.ui3 .u-sumi__head { display: none; align-items: center; justify-content: space-between; gap: 12px; }
.ui3 .u-sumi:not([data-state="idle"]) .u-sumi__head { display: flex; animation: u-rise var(--u-dur-3) var(--u-ease) both; }
.ui3 .u-sumi__brand { display: flex; align-items: center; gap: 10px; min-width: 0; }
.ui3 .u-sumi__face {
  position: relative; flex: none; width: 40px; height: 40px; border-radius: 50%; overflow: hidden; background: #26343f;
  box-shadow: 0 0 0 2px var(--u-bg), 0 0 0 3.5px var(--u-accent);
}
.ui3 .u-sumi__face > img { position: absolute; inset-inline-start: 50%; inset-block-start: -15%; width: 175%; max-width: none; height: auto; translate: -50% 0; }
[dir="rtl"].ui3 .u-sumi__face > img { translate: 50% 0; }
.ui3 .u-sumi__names { display: grid; min-width: 0; line-height: 1.25; }
.ui3 .u-sumi__names > strong { font-size: var(--u-t-md); font-weight: 650; color: var(--u-ink); }
.ui3 .u-sumi__names > span { overflow: hidden; font-size: var(--u-t-xs); color: var(--u-ink-3); white-space: nowrap; text-overflow: ellipsis; }
.ui3 .u-sumi__timer {
  display: inline-flex; flex: none; align-items: center; gap: 7px; height: 28px; padding-inline: 11px; border-radius: var(--u-r-pill);
  background: var(--u-surface-2); font: 600 var(--u-t-xs)/1 var(--u-font); color: var(--u-ink-2); font-variant-numeric: tabular-nums; white-space: nowrap;
}
.ui3 .u-sumi__rec { width: 7px; height: 7px; border-radius: 50%; background: var(--u-ink-4); }
.ui3 .u-sumi[data-state="live"] .u-sumi__rec { background: var(--u-rec); animation: u-sumi-blink 1.6s ease-in-out infinite; }
.ui3 .u-sumi__timer.is-warn { background: var(--u-warn-soft); color: var(--u-warn); }

/* Subtitles under the tiles */
.ui3 .u-sumi__subs { display: none; }
.ui3 .u-sumi:not([data-state="idle"]) .u-sumi__subs {
  display: grid; justify-items: center; align-content: start; gap: 6px; width: 100%;
  min-height: calc(var(--u-sumi-sub) * 2.8 + 26px); text-align: center;
}
.ui3 .u-sumi__who { display: inline-flex; align-items: center; height: 20px; padding-inline: 8px; border-radius: var(--u-r-pill); font: 650 var(--u-t-2xs)/1 var(--u-font); }
.ui3 .u-sumi__who:empty { visibility: hidden; }
.ui3 .u-sumi__subs[data-speaker="ai"] .u-sumi__who { background: var(--u-accent-soft); color: var(--u-accent-ink); }
.ui3 .u-sumi__subs[data-speaker="user"] .u-sumi__who { background: var(--u-info-soft); color: var(--u-info); }
.ui3 .u-sumi__line { max-width: 100%; margin: 0; font-size: var(--u-sumi-sub); font-weight: 600; line-height: 1.4; color: var(--u-ink); text-wrap: balance; overflow-wrap: anywhere; }
.ui3 .u-sumi__subs[data-speaker="user"] .u-sumi__line { color: var(--u-ink-2); }
.ui3 .u-sumi__line.is-in { animation: u-rise var(--u-dur-2) var(--u-ease); }

.ui3 .u-sumi__controls { display: flex; gap: 12px; }
.ui3 .u-sumi__ctl {
  width: 46px; height: 46px; display: grid; place-items: center; border: 1px solid var(--u-line); border-radius: 50%;
  background: var(--u-surface); color: var(--u-ink-2); cursor: pointer; box-shadow: var(--u-sh-xs);
  transition: background var(--u-dur-1), transform var(--u-dur-1) var(--u-ease);
}
.ui3 .u-sumi__ctl:hover { background: var(--u-surface-2); }
.ui3 .u-sumi__ctl:active { transform: scale(0.94); }
.ui3 .u-sumi__ctl:focus-visible { outline: none; box-shadow: var(--u-ring); }
.ui3 .u-sumi[data-talk="user"] .u-sumi__ctl[data-sumi-mute] { box-shadow: var(--u-sh-xs), 0 0 0 calc(2px + var(--lv-me, 0) * 6px) rgba(59, 130, 246, 0.32); }
.ui3 .u-sumi__ctl[data-sumi-mute][aria-pressed="true"], .ui3 .u-sumi__ctl[data-sumi-cam][aria-pressed="false"] { background: var(--u-ink); border-color: var(--u-ink); color: var(--u-on-ink); }
.ui3 .u-sumi__ctl--end { border-color: var(--u-danger); background: var(--u-danger); color: #fff; }
.ui3 .u-sumi__ctl--end:hover { background: var(--u-danger); filter: brightness(1.08); }
.ui3 .u-sumi[data-state="ended"] .u-sumi__controls { opacity: 0.4; pointer-events: none; }
.ui3 .u-sumi__note { margin: 0; max-width: 440px; font-size: var(--u-t-xs); color: var(--u-ink-3); text-align: center; }
.ui3 .u-sumi__note.is-error { color: var(--u-danger); }

/* Live: one column, tiles sized from the viewport height. Picture in picture puts the user in Sumi's corner;
   stacked puts Sumi on top and the user below. */
.ui3 .u-chat.is-sumi-live .u-chat__greet, .ui3 .u-chat.is-sumi-live .u-chat__h1, .ui3 .u-chat.is-sumi-live .u-hub__chips,
.ui3 .u-chat.is-sumi-live .u-chat__ideas, .ui3 .u-chat.is-sumi-live [data-c-slot-hero] { display: none; }
.ui3 .u-chat.is-sumi-live .u-chat__hero { justify-content: flex-start; padding-block: 14px 18px; }
.ui3 .u-sumi:not([data-state="idle"]) {
  --u-sumi-h: clamp(240px, calc(100dvh - 530px), 640px); --u-sumi-w: calc(var(--u-sumi-h) * 1.15);
  width: min(100%, max(360px, var(--u-sumi-w))); margin-inline: auto; align-items: stretch; gap: 14px; margin-block-end: 8px;
}
.ui3 .u-sumi:not([data-state="idle"])[data-layout="stacked"] { --u-sumi-w: calc(var(--u-sumi-h) * 0.82); }
.ui3 .u-sumi:not([data-state="idle"]) .u-sumi__tiles { display: grid; grid-template: minmax(0, 1fr) / minmax(0, 1fr); gap: 10px; height: var(--u-sumi-h); }
.ui3 .u-sumi:not([data-state="idle"]) .u-sumi__tile { width: 100%; height: 100%; aspect-ratio: auto; transition: none; }
.ui3 .u-sumi:not([data-state="idle"])[data-layout="stacked"]:not([data-camera="off"]) .u-sumi__tiles { grid-template-rows: repeat(2, minmax(0, 1fr)); }
.ui3 .u-sumi:not([data-state="idle"])[data-layout="stacked"]:not([data-camera="off"]) .u-sumi__stage > img { inset: 0 auto auto 50%; width: auto; height: 222%; translate: -50% 0; object-fit: fill; }
[dir="rtl"].ui3 .u-sumi:not([data-state="idle"])[data-layout="stacked"]:not([data-camera="off"]) .u-sumi__stage > img { translate: 50% 0; }
.ui3 .u-sumi:not([data-state="idle"])[data-layout="pip"] .u-sumi__tile--me {
  position: absolute; z-index: 5; inset-block-end: 12px; inset-inline-end: 12px; width: 30%; height: auto; aspect-ratio: 3 / 4;
  border-radius: var(--u-r-lg); box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.92), var(--u-sh-lg); animation: u-sumi-pip var(--u-dur-3) var(--u-ease) both;
}
.ui3 .u-sumi:not([data-state="idle"])[data-layout="pip"][data-talk="user"] .u-sumi__tile--me {
  box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.92), 0 0 0 calc(2px + var(--lv-me, 0) * 8px) rgba(59, 130, 246, 0.45), var(--u-sh-lg);
}
.ui3 .u-sumi[data-layout="pip"] .u-sumi__tile--me .u-sumi__badge { inset-block-start: 6px; inset-inline-start: 6px; height: 20px; padding-inline: 7px; font-size: 10px; }
.ui3 .u-sumi[data-layout="pip"] .u-sumi__camwait > span:last-child { display: none; }
@keyframes u-sumi-pip { from { opacity: 0; transform: scale(0.85); } }
/* The call fills the screen height and the tiles take what the card, subtitles and controls leave, so a longer request never pushes the controls off screen. */
@media (min-width: 700px) {
  .ui3 .u-chat.is-sumi-live .u-chat__heroinner { flex: 1; display: flex; flex-direction: column; }
  .ui3 .u-sumi:not([data-state="idle"]) { flex: 1; min-height: 0; }
  .ui3 .u-sumi:not([data-state="idle"]) .u-sumi__call { flex: 1; min-height: 0; display: flex; flex-direction: column; align-items: center; }
  .ui3 .u-sumi:not([data-state="idle"]) .u-sumi__tiles { flex: 1 1 0; min-height: 220px; max-height: 680px; height: auto; }
}
/* Side by side: a landscape call, Sumi and the user next to each other with the request card in a side panel. */
.ui3 .u-sumi:not([data-state="idle"])[data-layout="wide"]:not([data-camera="off"]) .u-sumi__tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (min-width: 900px) {
  .ui3 .u-chat__heroinner:has(> .u-sumi[data-layout="wide"]:not([data-state="idle"])) { max-width: 1240px; }
  .ui3 .u-sumi:not([data-state="idle"])[data-layout="wide"] {
    --u-sumi-h: clamp(260px, calc(100dvh - 340px), 620px);
    display: grid; grid-template: "head head" auto "call brief" auto / minmax(0, 1fr) clamp(300px, 30%, 380px);
    align-items: start; column-gap: 20px; row-gap: 14px; width: 100%;
  }
  .ui3 .u-sumi[data-layout="wide"] .u-sumi__head { grid-area: head; }
  .ui3 .u-sumi[data-layout="wide"] .u-sumi__call { grid-area: call; }
  .ui3 .u-sumi:not([data-state="idle"])[data-layout="wide"] .u-sumi__tiles { flex: none; height: var(--u-sumi-h); }
  .ui3 .u-sumi[data-layout="wide"] .u-sumi__brief { grid-area: brief; height: var(--u-sumi-h); overflow: auto; border-radius: var(--u-r-xl); }
  .ui3 .u-sumi[data-layout="wide"] .u-sumi__briefhead { padding-block: 20px 10px; padding-inline: 22px; }
  .ui3 .u-sumi[data-layout="wide"] .u-sumi__briefhead .u-hubcard__icon { width: 42px; height: 42px; }
  .ui3 .u-sumi[data-layout="wide"] .u-sumi__briefhead .u-hubcard__icon .u-i { width: 22px; height: 22px; }
  .ui3 .u-sumi[data-layout="wide"] .u-sumi__briefhead .u-hubcard__title { font-size: var(--u-t-xl); }
  .ui3 .u-sumi[data-layout="wide"] .u-sumi__rows { grid-template-columns: minmax(0, 1fr); row-gap: 0; padding-block: 4px 12px; padding-inline: 12px; }
  .ui3 .u-sumi[data-layout="wide"] .u-sumi__row { grid-template-columns: minmax(0, 1fr); align-items: start; gap: 4px; padding-block: 12px; padding-inline: 10px; }
  .ui3 .u-sumi[data-layout="wide"] .u-sumi__row + .u-sumi__row { box-shadow: 0 -1px 0 var(--u-line); }
  .ui3 .u-sumi[data-layout="wide"] .u-sumi__row > dt { font-size: var(--u-t-xs); font-weight: 600; letter-spacing: 0.02em; }
  .ui3 .u-sumi[data-layout="wide"] .u-sumi__val { font-size: var(--u-t-xl); line-height: 1.3; }
  .ui3 .u-sumi[data-layout="wide"] .u-sumi__brieffoot { padding: 14px; }
  .ui3 .u-sumi[data-layout="wide"] .u-sumi__brieffoot > .u-btn { width: 100%; height: 46px; justify-content: center; font-size: var(--u-t-md); }
  .ui3 .u-sumi[data-layout="wide"] .u-sumi__brieffoot.is-launched { padding-block: 16px 18px; padding-inline: 20px; }
  .ui3 .u-sumi[data-layout="wide"] .u-sumi__launched { font-size: var(--u-t-md); }
  .ui3 .u-sumi[data-layout="wide"] .u-sumi__briefempty { padding-block: 24px 14px; padding-inline: 22px; font-size: var(--u-t-lg); line-height: 1.4; }
  .ui3 .u-sumi[data-layout="wide"] .u-sumi__kinds { gap: 10px; padding-inline: 22px; }
  .ui3 .u-sumi[data-layout="wide"] .u-sumi__kind { height: 38px; padding-inline: 14px; font-size: var(--u-t-md); }
  .ui3 .u-sumi[data-layout="wide"] .u-sumi__line { max-width: 36em; }
  .ui3 .u-sumi:not([data-state="idle"])[data-layout="wide"][data-camera="off"] .u-sumi__stage > img { inset: 0 auto auto 50%; width: auto; height: 160%; translate: -50% 0; object-fit: fill; }
  [dir="rtl"].ui3 .u-sumi:not([data-state="idle"])[data-layout="wide"][data-camera="off"] .u-sumi__stage > img { translate: 50% 0; }
}
.ui3 .u-sumi__brief {
  min-height: 132px; display: flex; flex-direction: column;
  border: 1px solid var(--u-line); border-radius: var(--u-r-lg); background: var(--u-surface); box-shadow: var(--u-sh-sm);
  animation: u-rise var(--u-dur-3) var(--u-ease) both;
}
.ui3 .u-sumi__brief.is-asking { border-color: var(--u-warn); }
.ui3 .u-sumi__briefempty { margin: 0; padding-block: 18px 12px; padding-inline: 18px; font-size: var(--u-t-md); font-weight: 500; color: var(--u-ink-2); }
.ui3 .u-sumi__kinds { display: flex; flex-wrap: wrap; gap: 8px; padding-block: 0 18px; padding-inline: 18px; }
.ui3 .u-sumi__kind {
  display: inline-flex; align-items: center; gap: 7px; height: 32px; padding-inline: 12px; border-radius: var(--u-r-pill);
  background: var(--u-surface-2); font: 500 var(--u-t-sm)/1 var(--u-font); color: var(--u-ink-2);
}
.ui3 .u-sumi__kind > .u-i { color: var(--u-hub-tint, var(--u-ink-4)); }
.ui3 .u-sumi__briefhead { display: flex; align-items: center; gap: 12px; padding-block: 14px 2px; padding-inline: 18px; }
.ui3 .u-sumi__briefhead.is-new { animation: u-rise var(--u-dur-3) var(--u-ease); }
.ui3 .u-sumi__briefhead .u-hubcard__icon { width: 34px; height: 34px; border-radius: var(--u-r-lg); }
.ui3 .u-sumi__briefhead .u-hubcard__icon .u-i { width: 18px; height: 18px; }
.ui3 .u-sumi__briefhead .u-hubcard__title { font-size: var(--u-t-lg); font-weight: 650; }
/* Label above value; the first field (the topic) gets the full width, the short settings share a row. */
.ui3 .u-sumi__rows { flex: 1; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-content: start; column-gap: 8px; row-gap: 0; margin: 0; padding-block: 4px 8px; padding-inline: 10px; }
.ui3 .u-sumi__rows > .u-hubcard__note { grid-column: 1 / -1; padding-inline: 8px; font-size: var(--u-t-sm); }
.ui3 .u-sumi__row { display: grid; grid-template-columns: minmax(0, 1fr); align-content: start; gap: 2px; padding-block: 7px; padding-inline: 8px; border-radius: var(--u-r-md); }
.ui3 .u-sumi__row:first-child { grid-column: 1 / -1; }
.ui3 .u-sumi__row > dt { font-size: var(--u-t-xs); font-weight: 600; color: var(--u-ink-3); }
.ui3 .u-sumi__val { display: flex; align-items: center; gap: 8px; min-width: 0; margin: 0; font-size: var(--u-t-md); font-weight: 600; line-height: 1.35; color: var(--u-ink); overflow-wrap: anywhere; }
.ui3 .u-sumi__val.is-pending { font-weight: 400; color: var(--u-ink-4); }
.ui3 .u-sumi__val.is-typing { gap: 1px; }
.ui3 .u-sumi__val.is-typing::after { content: ""; flex: none; width: 2px; height: 1.1em; background: var(--u-accent); animation: u-sumi-blink 0.8s steps(2) infinite; }
.ui3 .u-sumi__row.is-needed .u-sumi__val.is-pending { color: var(--u-warn); }
.ui3 .u-sumi__row.is-fresh { animation: u-sumi-fill 1.2s var(--u-ease); }
@keyframes u-sumi-fill { 0% { background: var(--u-accent-soft); } 100% { background: transparent; } }
.ui3 .u-sumi__brieffoot { display: flex; justify-content: flex-end; padding: 8px; border-top: 1px solid var(--u-line); }
.ui3 .u-sumi__brieffoot.is-launched { display: grid; justify-content: stretch; gap: 8px; padding-block: 10px 12px; padding-inline: 14px; animation: u-fade var(--u-dur-3) var(--u-ease); }
.ui3 .u-sumi__launched { display: flex; align-items: center; gap: 8px; font-size: var(--u-t-sm); font-weight: 600; color: var(--u-accent-ink); }

@media (max-width: 699px) {
  .ui3 .u-sumi { --u-sumi-tile: min(168px, 26vh); }
  .ui3 .u-sumi:not([data-state="idle"]) { --u-sumi-h: clamp(220px, calc(100dvh - 440px), 520px); width: 100%; }
  .ui3 .u-sumi__tiles { gap: 10px; }
  .ui3 .u-sumi__brief { min-height: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .ui3 .u-sumi__tile, .ui3 .u-sumi__tile::after, .ui3 .u-sumi[data-state="idle"] [data-sumi-tile], .ui3 .u-sumi__pill, .ui3 .u-sumi__phone > .u-i,
  .ui3 .u-sumi__rings::before, .ui3 .u-sumi__rings::after, .ui3 .u-sumi__doneicon, .ui3 .u-sumi__line.is-in, .ui3 .u-sumi__head,
  .ui3 .u-sumi__rec, .ui3 .u-sumi__tile--me, .ui3 .u-sumi__briefhead.is-new { transition: none; animation: none; }
  .ui3 .u-sumi__row.is-fresh { animation: none; }
  .ui3 .u-sumi__bar > span { animation: none; width: 100%; opacity: 0.6; }
}

@media (max-width: 699px) {
  .ui3 .u-composer__plus { margin-inline-start: 0; margin-inline-end: auto; }
  .ui3 .u-composer.is-docked.is-tool { display: block; }
  .ui3 .u-composer.is-tool .u-composer__plus { display: none; }
  .ui3 .u-hub__chips { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; padding-block: 2px; }
  .ui3 .u-hub__chips::-webkit-scrollbar { display: none; }
  .ui3 .u-hub__chip { flex: none; }
  .ui3 .u-hub__ideas { grid-template-columns: minmax(0, 1fr); }
  .ui3 .u-slash__hint { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .ui3 .u-hubcard__bar > span { animation: none; inset-inline-start: 0; width: 100%; opacity: 0.5; }
}

/* ---------- Library ---------- */
.ui3 .u-lib { padding-block-end: 32px; }
.ui3 .u-lib__tools { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin-block-end: 8px; }
.ui3 .u-lib__search { width: min(320px, 100%); }
.ui3 .u-lib__search input::-webkit-search-cancel-button { cursor: pointer; }
.ui3 .u-lib__search:focus-within .u-kbd { display: none; }
.ui3 .u-lib__folders { display: flex; align-items: center; gap: 4px; flex-wrap: wrap; min-width: 0; }
.ui3 .u-lib__folders .u-chip > span[dir] { max-width: 180px; overflow: hidden; text-overflow: ellipsis; }
.ui3 .u-lib__chipwrap { display: inline-flex; align-items: center; gap: 2px; }
.ui3 .u-lib__group { margin: 0; padding-block: 22px 2px; font-size: var(--u-t-xs); font-weight: 500; color: var(--u-ink-4); }
.ui3 .u-lib__group + .u-row::before { display: none; }
.ui3 .u-lib__yours { margin-block-start: 28px; padding-block-start: 18px; border-top: 1px solid var(--u-line); scroll-margin-top: 16px; }
.ui3 .u-lib__yours .u-label { margin: 0; }
.ui3 .u-lib__sk { height: 88px; margin-block: 12px; border-radius: var(--u-r-lg); }
.ui3 .u-lib__more { display: flex; justify-content: center; padding-block: 24px; }
.ui3 .u-lib__end { margin: 0; padding-block: 24px; text-align: center; font-size: var(--u-t-xs); color: var(--u-ink-4); }
.ui3 .u-lib__list.is-empty { padding-block-start: 12px; }

.ui3 .u-lrow { cursor: default; }
.ui3 .u-lrow__thumb { width: 56px; height: 72px; }
.ui3 .u-lrow__ph { position: absolute; inset: 0; display: grid; place-items: center; background: var(--u-surface-2); color: var(--u-ink-4); }
.ui3 .u-lrow__busy { position: absolute; inset: 0; display: grid; place-items: center; background: color-mix(in srgb, var(--u-surface) 72%, transparent); }
.ui3 .u-lrow__play {
  position: absolute; inset-block-end: 6px; inset-inline-end: 6px; width: 28px; height: 28px; border-radius: 50%; border: 0; cursor: pointer;
  display: grid; place-items: center; background: var(--u-ink); color: var(--u-on-ink); box-shadow: var(--u-sh-md);
  opacity: 0; transform: scale(0.9); transition: opacity var(--u-dur-1), transform var(--u-dur-1) var(--u-ease);
}
.ui3 .u-lrow__play .u-i { width: 13px; height: 13px; fill: currentColor; }
.ui3 .u-lrow:hover .u-lrow__play, .ui3 .u-lrow:focus-within .u-lrow__play, .ui3 .u-lrow.is-playing .u-lrow__play { opacity: 1; transform: none; }
.ui3 .u-lrow__play:focus-visible { outline: none; box-shadow: var(--u-ring); }
.ui3 .u-lrow__body { min-width: 0; }
.ui3 .u-lrow__title { margin: 0; font-size: var(--u-t-md); font-weight: 600; line-height: 1.35; letter-spacing: -0.01em; color: var(--u-ink); overflow-wrap: anywhere; }
.ui3 .u-lrow__link { padding: 0; border: 0; background: none; font: inherit; color: inherit; text-align: start; cursor: pointer; border-radius: var(--u-r-xs); }
.ui3 .u-lrow__link:hover { text-decoration: underline; text-decoration-color: var(--u-line-strong); text-underline-offset: 3px; }
.ui3 .u-lrow__link:focus-visible { outline: none; box-shadow: var(--u-ring); }
.ui3 .u-lrow .u-meta .u-tag { gap: 4px; height: 20px; padding-inline: 6px; }
.ui3 .u-lrow .u-meta .u-tag .u-i { width: 12px; height: 12px; }
.ui3 .u-lrow .u-meta .u-badge { height: 20px; }
.ui3 .u-lrow__now { display: inline-flex; align-items: center; gap: 4px; color: var(--u-accent-ink); font-weight: 500; }
.ui3 .u-lrow__now[hidden] { display: none; }
.ui3 .u-lrow__note { display: flex; align-items: center; gap: 8px; margin-block: 10px 0; font-size: var(--u-t-sm); color: var(--u-ink-3); }
.ui3 .u-lrow__acts { display: flex; flex-wrap: wrap; gap: 6px; margin-block-start: 12px; }
.ui3 .u-lrow__acts .u-btn .u-muted { font-weight: 400; }
.ui3 .u-lrow.is-playing .u-lrow__thumb { box-shadow: 0 0 0 2px var(--u-accent); }

.ui3 .u-lib__first { max-width: 600px; margin-inline: auto; padding-block: 40px 24px; text-align: center; display: grid; justify-items: center; gap: 8px; }
.ui3 .u-lib__first .u-empty__text { margin-block: 0 12px; }
.ui3 .u-lib__firstart { position: relative; width: 120px; height: 120px; margin-block-end: 16px; }
.ui3 .u-lib__firstart .u-thumb { position: absolute; inset-block-start: 10px; inset-inline-start: 30px; width: 64px; height: 84px; }
.ui3 .u-lib__firstart .u-thumb:nth-child(1) { transform: rotate(-8deg) translateX(-14px); background: var(--u-surface-2); }
.ui3 .u-lib__firstart .u-thumb:nth-child(2) { transform: rotate(7deg) translateX(14px); background: var(--u-surface-2); }
.ui3 .u-lib__firstmain { display: grid; align-content: start; gap: 6px; padding: 10px; }
.ui3 .u-lib__firstmain .u-skeleton { height: 5px; }
.ui3 .u-lib__firstmain .u-skeleton:nth-child(2) { width: 80%; }
.ui3 .u-lib__firstmain .u-i { position: absolute; inset-block-end: 8px; inset-inline-start: 10px; color: var(--u-accent); }
.ui3 .u-lib__features { list-style: none; margin-block: 28px 0; margin-inline: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; text-align: start; width: 100%; }
.ui3 .u-lib__features li { display: flex; gap: 10px; padding: 14px; border: 1px solid var(--u-line); border-radius: var(--u-r-lg); background: var(--u-surface); }
.ui3 .u-lib__features li > .u-i { flex: none; margin-block-start: 2px; color: var(--u-accent); }
.ui3 .u-lib__features strong { display: block; font-size: var(--u-t-sm); font-weight: 600; color: var(--u-ink); }
.ui3 .u-lib__features span { display: block; margin-block-start: 2px; font-size: var(--u-t-xs); color: var(--u-ink-3); line-height: 1.45; }

.ui3 .u-lib__genrow { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.ui3 .u-lib__genlabel { margin: 0; font-size: var(--u-t-sm); font-weight: 600; color: var(--u-ink); }
.ui3 .u-lib__genrow .u-label { margin: 2px 0 0; }
.ui3 .u-lib__detail { margin: 0; padding: 0; border: 0; display: grid; gap: 8px; min-width: 0; }
.ui3 .u-lib__detail[hidden] { display: none; }
.ui3 .u-lib__detail legend { padding: 0; margin-block-end: 8px; }
.ui3 .u-optcard { display: flex; align-items: flex-start; gap: 10px; padding: 12px; border: 1px solid var(--u-line); border-radius: var(--u-r-lg); cursor: pointer; transition: border-color var(--u-dur-1), background var(--u-dur-1); }
.ui3 .u-optcard:hover { border-color: var(--u-line-strong); }
.ui3 .u-optcard:has(input:checked) { border-color: var(--u-accent); background: var(--u-accent-soft); }
.ui3 .u-optcard input { margin-block-start: 3px; accent-color: var(--u-accent); }
.ui3 .u-optcard > span { display: grid; gap: 2px; font-size: var(--u-t-sm); color: var(--u-ink); }
.ui3 .u-optcard strong { font-weight: 600; }

.ui3 .u-lib__picklist { display: grid; gap: 2px; max-height: 300px; overflow-y: auto; margin-inline: -6px; }
.ui3 .u-lib__pick { display: flex; align-items: center; gap: 10px; width: 100%; min-height: 36px; padding-inline: 10px; border: 0; border-radius: var(--u-r-md); background: none; font: inherit; font-size: var(--u-t-sm); color: var(--u-ink-2); text-align: start; cursor: pointer; }
.ui3 .u-lib__pick > span[dir] { flex: 1; min-width: 0; overflow-wrap: anywhere; }
.ui3 .u-lib__pick:hover:not(:disabled), .ui3 .u-lib__pick:focus-visible { background: var(--u-surface-2); color: var(--u-ink); outline: none; }
.ui3 .u-lib__pick:disabled { cursor: default; color: var(--u-ink-3); }
.ui3 .u-lib__pick--new { color: var(--u-accent-ink); font-weight: 500; }
.ui3 .u-lib__pickempty { margin: 0; padding-block: 12px; padding-inline: 10px; }
.ui3 .u-lib__founder { width: 44px; height: 44px; border-radius: 50%; object-fit: cover; flex: none; }
.ui3 .u-lib__recovery .u-dialog__body { padding-block-start: 20px; }
.ui3 .u-lib__recovery .u-dialog__body > p { margin: 0; font-size: var(--u-t-sm); line-height: 1.6; }

/* Digest welcome pack */
.ui3 .u-pack { margin-block: 8px 4px; border: 1px solid var(--u-accent-line); border-radius: var(--u-r-xl); background: linear-gradient(160deg, var(--u-accent-soft), var(--u-surface) 70%); overflow: hidden; }
.ui3 .u-pack__head { display: flex; align-items: flex-start; gap: 14px; width: 100%; padding: 16px; border: 0; background: none; font: inherit; color: inherit; text-align: start; cursor: pointer; }
.ui3 .u-pack__head:focus-visible { outline: none; box-shadow: inset var(--u-ring); }
.ui3 .u-pack__mark { width: 36px; height: 36px; flex: none; border-radius: var(--u-r-md); display: grid; place-items: center; background: var(--u-accent); color: var(--u-on-accent); }
.ui3 .u-pack__intro { flex: 1; min-width: 0; display: grid; gap: 4px; justify-items: start; }
.ui3 .u-pack__eyebrow { font-size: var(--u-t-2xs); font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--u-accent-ink); }
.ui3 .u-pack__desc { font-size: var(--u-t-sm); color: var(--u-ink-3); line-height: 1.5; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.ui3 .u-pack__intro .u-badge { margin-block-start: 4px; }
.ui3 .u-pack__toggle { display: inline-flex; align-items: center; gap: 4px; flex: none; font-size: var(--u-t-xs); font-weight: 500; color: var(--u-ink-2); white-space: nowrap; }
.ui3 .u-pack__chev { transition: transform var(--u-dur-2) var(--u-ease); }
.ui3 .u-pack__head[aria-expanded="true"] .u-pack__chev { transform: rotate(180deg); }
.ui3 .u-pack__body[hidden] { display: none; }
.ui3 .u-pack__rail { display: flex; gap: 12px; overflow-x: auto; padding-block: 0 16px; padding-inline: 16px; scroll-snap-type: x mandatory; }
.ui3 .u-pack__item { flex: none; width: 210px; scroll-snap-align: start; }
.ui3 .u-pack__card { display: flex; flex-direction: column; gap: 8px; width: 100%; height: 100%; min-height: 168px; padding: 14px; border: 1px solid var(--u-line); border-radius: var(--u-r-lg); background: var(--u-surface); box-shadow: var(--u-sh-xs); font: inherit; color: inherit; text-align: start; cursor: pointer; transition: border-color var(--u-dur-2), box-shadow var(--u-dur-2), transform var(--u-dur-2) var(--u-ease); }
.ui3 .u-pack__card:hover { border-color: var(--u-line-strong); box-shadow: var(--u-sh-md); transform: translateY(-1px); }
.ui3 .u-pack__card:focus-visible { outline: none; box-shadow: var(--u-ring); }
.ui3 .u-pack__top { display: flex; align-items: center; gap: 8px; min-width: 0; }
.ui3 .u-pack__n { width: 20px; height: 20px; flex: none; border-radius: 50%; display: grid; place-items: center; background: var(--u-accent-soft); color: var(--u-accent-ink); font-size: var(--u-t-2xs); font-weight: 600; }
.ui3 .u-pack__venue { flex: 1; min-width: 0; font-size: var(--u-t-2xs); font-weight: 600; letter-spacing: 0.04em; text-transform: uppercase; color: var(--u-ink-3); overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.ui3 .u-pack__title { font-size: var(--u-t-sm); font-weight: 600; line-height: 1.4; color: var(--u-ink); display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.ui3 .u-pack__authors { font-size: var(--u-t-xs); color: var(--u-ink-3); overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.ui3 .u-pack__cta { display: inline-flex; align-items: center; gap: 4px; margin-block-start: auto; font-size: var(--u-t-xs); font-weight: 600; color: var(--u-accent-ink); }
.ui3 .u-pack__loading { display: flex; align-items: flex-start; gap: 10px; padding-block: 0 16px; padding-inline: 16px; font-size: var(--u-t-sm); color: var(--u-ink-2); }
.ui3 .u-pack__loading p { margin: 0; }
.ui3 .u-pack__foot { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; padding-block: 8px; padding-inline: 16px 8px; border-top: 1px solid var(--u-accent-line); }
.ui3 .u-pack__link { display: inline-flex; align-items: center; gap: 4px; font-size: var(--u-t-xs); font-weight: 500; color: var(--u-accent-ink); text-decoration: none; }
.ui3 .u-pack__link:hover { text-decoration: underline; text-underline-offset: 2px; }

/* Paper dock + transcript */
.ui3 .u-pplayer__open { padding: 0; border: 0; background: none; font: inherit; color: inherit; text-align: start; cursor: pointer; border-radius: var(--u-r-md); }
.ui3 .u-pplayer__open:focus-visible { outline: none; box-shadow: var(--u-ring); }
.ui3 .u-pplayer__open:hover .u-player__title { text-decoration: underline; text-underline-offset: 2px; }
.ui3 .u-pplayer__cover { display: grid; place-items: center; color: var(--u-ink-3); }
.ui3 .u-pplayer__cover img[hidden] { display: none; }
.ui3 .u-pplayer__vol { display: inline-flex; align-items: center; gap: 2px; }
.ui3 .u-pplayer__vol input { width: 72px; accent-color: var(--u-ink-2); }
.ui3 .u-pplayer .u-play.is-loading .u-i { opacity: 0.4; }
.ui3 .u-pplayer [data-pp-speed] { min-width: 42px; justify-content: center; }
.ui3 .u-pplayer [data-pp-transcript][aria-pressed="true"] { background: var(--u-surface-2); color: var(--u-ink); }
html.ui3.u-reader-open .u-pplayer {
  position: fixed; z-index: calc(var(--u-z-overlay) - 8); inset-block-end: 16px; inset-inline-start: 50%;
  width: min(760px, calc(100vw - 32px)); transform: translateX(-50%);
  border: 1px solid var(--u-line); border-radius: var(--u-r-xl); box-shadow: var(--u-sh-lg);
}
[dir="rtl"].ui3.u-reader-open .u-pplayer { transform: translateX(50%); }
html.ui3.u-reader-open .u-pplayer { grid-template-columns: minmax(120px, 1fr) auto minmax(0, 1.4fr); gap: 12px; padding-inline: 14px; }
html.ui3.u-reader-open .u-pplayer .u-player__rt { min-width: 0; gap: 6px; }
html.ui3.u-reader-open .u-pplayer .u-scrub { flex: 1 1 60px; width: auto; min-width: 40px; }
html.ui3.u-reader-open .u-pplayer__vol input { display: none; }
html.ui3.u-reader-open .u-pplayer [data-pp-transcript] span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
@media (min-width: 900px) {
  html.ui3.u-reader-open.u-rchat-open .u-pplayer { inset-inline-start: calc(50% - 200px); width: min(680px, calc(100vw - 448px)); }
}
@media (min-width: 1100px) {
  html.ui3.u-reader-open .u-pplayer { inset-inline-start: calc(50% + 118px); width: min(760px, calc(100vw - 284px)); }
  html.ui3.u-reader-open.u-rchat-open .u-pplayer { inset-inline-start: calc(50% - 82px); width: min(680px, calc(100vw - 668px)); }
}
.ui3 .u-sheet {
  position: fixed; z-index: calc(var(--u-z-overlay) - 6); inset-block: 0; inset-inline-end: 0; width: min(420px, 100vw);
  display: flex; flex-direction: column; background: var(--u-surface); border-inline-start: 1px solid var(--u-line); box-shadow: var(--u-sh-lg);
  animation: u-fade var(--u-dur-2) var(--u-ease);
}
.ui3 .u-sheet[hidden] { display: none; }
html.ui3.u-has-pplayer:not(.u-reader-open) .u-sheet { inset-block-end: 61px; }
.ui3 .u-sheet__head { display: flex; align-items: flex-start; gap: 12px; padding-block: 16px; padding-inline: 20px 12px; border-bottom: 1px solid var(--u-line); }
.ui3 .u-sheet__body { flex: 1; min-height: 0; overflow-y: auto; padding: 20px; font-size: 15px; }
html.ui3.u-reader-open .u-sheet__body { padding-block-end: 120px; }

/* ---------- Paper reader ---------- */
.ui3 .u-reader { position: fixed; inset: 0; z-index: calc(var(--u-z-overlay) - 10); display: flex; flex-direction: column; background: var(--u-surface); animation: u-fade var(--u-dur-2) var(--u-ease); }
.ui3 .u-reader[hidden] { display: none; }
.ui3 .u-reader__top { position: relative; gap: 6px; padding-inline: 10px 12px; }
.ui3 .u-reader__crumbs { flex: 1; min-width: 0; }
.ui3 .u-reader__crumb { padding: 0; border: 0; background: none; font: inherit; color: inherit; cursor: pointer; white-space: nowrap; border-radius: var(--u-r-xs); }
.ui3 .u-reader__crumb:hover { color: var(--u-ink); }
.ui3 .u-reader__crumb:focus-visible { outline: none; box-shadow: var(--u-ring); }
.ui3 .u-reader__folder { white-space: nowrap; }
.ui3 .u-reader__folder::before { content: "/"; margin-inline-end: 6px; color: var(--u-ink-4); }
.ui3 .u-reader__folder[hidden] { display: none; }
.ui3 .u-reader__toptitle { min-width: 0; color: var(--u-ink); font-weight: 500; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.ui3 .u-reader__top .u-spacer { flex: 0; }
.ui3 .u-reader__top [data-r-translate][hidden] { display: none; }
.ui3 .u-reader__dur { font-weight: 400; opacity: 0.7; }
.ui3 .u-reader__dur[hidden] { display: none; }
.ui3 .u-reader__top [data-r-listen] .u-spinner { width: 12px; height: 12px; }
.ui3 .u-reader__top [data-r-listen].u-btn--primary .u-spinner { border-color: var(--u-ink-3); border-top-color: var(--u-on-ink); }
.ui3 .u-reader__top [data-r-listen] .u-i { fill: currentColor; }
.ui3 .u-reader__tocbtn { display: none; }
.ui3 .u-reader__progress { position: absolute; inset-inline: 0; inset-block-end: -1px; height: 2px; pointer-events: none; }
.ui3 .u-reader__progress > span { display: block; width: 0; height: 100%; background: var(--u-accent); transition: inline-size 120ms linear; }
.ui3 .u-reader__banner { flex: none; border-radius: 0; padding-inline: 20px; align-items: center; }
.ui3 .u-reader__banner[hidden] { display: none; }

.ui3 .u-reader__body { flex: 1; min-height: 0; display: grid; grid-template-columns: 236px minmax(0, 1fr); }
html.ui3.u-rchat-open .u-reader__body { grid-template-columns: 236px minmax(0, 1fr) 400px; }
.ui3 .u-reader__rail { min-height: 0; overflow-y: auto; padding-block: 8px 120px; padding-inline: 12px; border-inline-end: 1px solid var(--u-line); background: var(--u-bg); }
.ui3 .u-reader__rail > .u-group-label { margin: 0; padding-inline: 8px; font-size: var(--u-t-xs); font-weight: 600; color: var(--u-ink-3); }
.ui3 .u-reader__rail .u-label { padding-inline: 8px; margin: 0; }
.ui3 .u-reader__scroll { min-height: 0; overflow-y: auto; scroll-behavior: smooth; }
.ui3 .u-reader__doc { max-width: 720px; margin-inline: auto; padding-block: 40px 140px; padding-inline: 32px; }
.ui3 .u-reader__title { margin: 0; font-size: 30px; font-weight: 650; line-height: 1.2; letter-spacing: -0.022em; color: var(--u-ink); overflow-wrap: anywhere; }
.ui3 .u-reader__authors { margin-block: 14px 0; font-size: var(--u-t-sm); color: var(--u-ink-2); line-height: 1.5; }
.ui3 .u-reader__authors:empty { display: none; }
.ui3 .u-reader__meta { margin-block-start: 8px; }
.ui3 .u-reader__hl { margin-block-start: 24px; padding-block: 16px 18px; padding-inline: 20px; border-radius: var(--u-r-lg); background: var(--u-surface-2); }
.ui3 .u-reader__hl[hidden] { display: none; }
.ui3 .u-reader__hl > .u-group-label { margin: 0; padding: 0 0 8px; font-size: var(--u-t-xs); font-weight: 600; color: var(--u-ink-3); }
.ui3 .u-reader__hl ol { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; counter-reset: u-hl; }
.ui3 .u-reader__hl li { counter-increment: u-hl; display: grid; grid-template-columns: 22px minmax(0, 1fr); gap: 6px; font-family: var(--u-font-read); font-size: 15.5px; line-height: 1.6; color: var(--u-ink-2); }
.ui3 .u-reader__hl li::before { content: counter(u-hl); font: 600 var(--u-t-xs)/2.1 var(--u-mono); color: var(--u-accent-ink); }
.ui3 .u-reader__prose { margin-block-start: 32px; font-family: var(--u-font-read); font-size: 17px; line-height: 1.75; color: var(--u-ink-2); overflow-wrap: break-word; }
.ui3 .u-reader__prose > :first-child { margin-block-start: 0; }
.ui3 .u-reader__prose h2 { margin-block: 36px 12px; font-family: var(--u-font); font-size: var(--u-t-xl); font-weight: 600; letter-spacing: -0.018em; line-height: 1.3; color: var(--u-ink); scroll-margin-top: 24px; border-radius: var(--u-r-sm); }
.ui3 .u-reader__prose h3 { margin-block: 22px 8px; font-family: var(--u-font); font-size: var(--u-t-md); font-weight: 600; color: var(--u-ink); }
.ui3 .u-reader__prose p { margin-block: 0 14px; }
.ui3 .u-reader__prose ul, .ui3 .u-reader__prose ol { margin-block: 0 16px; padding-inline-start: 22px; }
.ui3 .u-reader__prose ul { list-style: disc; }
.ui3 .u-reader__prose ol { list-style: decimal; }
.ui3 .u-reader__prose li { margin-block: 5px; }
.ui3 .u-reader__prose li::marker { color: var(--u-ink-4); }
.ui3 .u-reader__prose strong { font-weight: 600; color: var(--u-ink); }
.ui3 .u-reader__prose a { color: var(--u-accent-ink); text-decoration: underline; text-decoration-color: var(--u-accent-line); text-underline-offset: 2px; }
.ui3 .u-reader__prose blockquote { margin-block: 0 16px; margin-inline: 0; padding-inline-start: 14px; border-inline-start: 3px solid var(--u-line-strong); color: var(--u-ink-3); }
.ui3 .u-reader__prose hr { border: 0; height: 1px; background: var(--u-line); margin-block: 24px; }
.ui3 .u-reader__prose > table, .ui3 .u-reader__prose p > table { display: block; max-width: 100%; overflow-x: auto; border-collapse: collapse; font-family: var(--u-font); font-size: var(--u-t-sm); }
.ui3 .u-reader__prose th, .ui3 .u-reader__prose td { padding-block: 8px; padding-inline: 12px; border: 1px solid var(--u-line); text-align: start; vertical-align: top; }
.ui3 .u-reader__prose th { background: var(--u-surface-2); color: var(--u-ink); font-weight: 600; }
.ui3 .u-reader__prose .u-empty { font-family: var(--u-font); display: grid; justify-items: center; gap: 8px; }
.ui3 .u-reader__prose .u-empty p { margin: 0; font-size: var(--u-t-sm); color: var(--u-ink-3); }
.ui3 .u-reader__sk { height: 14px; margin-block: 14px; }
.ui3 .u-reader__sk--short { width: 62%; }
.ui3 .is-flash { animation: u-flash 1.4s var(--u-ease); }
@keyframes u-flash { 0%, 30% { background: var(--u-accent-soft); } 100% { background: transparent; } }
.ui3 .u-spinner--lg { width: 28px; height: 28px; border-width: 3px; }
.ui3 .u-cite { display: inline-flex; align-items: center; height: 20px; padding-inline: 7px; margin-inline: 1px; border: 0; border-radius: var(--u-r-pill); background: var(--u-accent-soft); color: var(--u-accent-ink); font: 500 var(--u-t-2xs)/1 var(--u-font); cursor: pointer; vertical-align: 1px; }
.ui3 .u-cite:hover { background: var(--u-accent-line); }
.ui3 .u-cite:focus-visible { outline: none; box-shadow: var(--u-ring); }

.ui3 .u-fig { margin-block: 28px; border: 1px solid var(--u-line); border-radius: var(--u-r-lg); background: var(--u-surface); overflow: hidden; font-family: var(--u-font); scroll-margin-top: 24px; }
.ui3 .u-fig__head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; padding-block: 12px; padding-inline: 16px; border-bottom: 1px solid var(--u-line); }
.ui3 .u-fig__titles { min-width: 0; }
.ui3 .u-fig__title { margin: 0; font-size: var(--u-t-sm); font-weight: 600; line-height: 1.4; color: var(--u-ink); }
.ui3 .u-fig__caption { margin: 4px 0 0; font-size: var(--u-t-xs); line-height: 1.5; color: var(--u-ink-3); }
.ui3 .u-fig__head .u-btn { flex: none; }
.ui3 .u-fig__chart { height: 280px; padding: 16px; }
.ui3 .u-fig__table { overflow-x: auto; }
.ui3 .u-fig__table table { width: 100%; border-collapse: collapse; font-size: var(--u-t-sm); line-height: 1.45; }
.ui3 .u-fig__table th, .ui3 .u-fig__table td { padding-block: 8px; padding-inline: 12px; text-align: start; vertical-align: top; border: 0; border-top: 1px solid var(--u-line); }
.ui3 .u-fig__table th { border-top: 0; background: var(--u-surface-2); font-weight: 600; color: var(--u-ink); }
.ui3 .u-fig__table tr:nth-child(even) td { background: var(--u-bg); }
.ui3 .u-fig__prov { margin: 0; padding-block: 8px; padding-inline: 16px; border-top: 1px solid var(--u-line); font-size: var(--u-t-xs); font-style: italic; color: var(--u-ink-3); }

.ui3 .u-reader__figs { display: grid; gap: 8px; padding-block-end: 8px; }
.ui3 .u-figthumb { display: grid; gap: 6px; padding: 6px; border: 1px solid var(--u-line); border-radius: var(--u-r-md); background: var(--u-surface); font: inherit; text-align: start; cursor: pointer; transition: border-color var(--u-dur-1), box-shadow var(--u-dur-1); }
.ui3 .u-figthumb:hover { border-color: var(--u-line-strong); box-shadow: var(--u-sh-sm); }
.ui3 .u-figthumb:focus-visible { outline: none; box-shadow: var(--u-ring); }
.ui3 .u-figthumb__media { position: relative; display: block; aspect-ratio: 16 / 10; overflow: hidden; border-radius: var(--u-r-sm); background: var(--u-bg); }
.ui3 .u-figthumb__media img { width: 100%; height: 100%; object-fit: contain; }
.ui3 .u-figthumb__scale { position: absolute; inset-block-start: 0; inset-inline-start: 0; width: max-content; transform-origin: top left; pointer-events: none; }
[dir="rtl"].ui3 .u-figthumb__scale { transform-origin: top right; }
.ui3 .u-figthumb__scale table { border-collapse: collapse; font-size: 12px; }
.ui3 .u-figthumb__scale th, .ui3 .u-figthumb__scale td { padding: 4px; border-top: 1px solid var(--u-line); }
.ui3 .u-figthumb__title { font-size: var(--u-t-xs); color: var(--u-ink-3); overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.ui3 .u-reader__figpending { display: grid; gap: 8px; }
.ui3 .u-reader__figpending .u-label { display: flex; align-items: center; gap: 6px; }
.ui3 .u-reader__figpending .u-spinner { width: 12px; height: 12px; }
.ui3 .u-figthumb__sk { height: 64px; border-radius: var(--u-r-md); }

.ui3 .u-reader__chat { min-height: 0; display: flex; flex-direction: column; border-inline-start: 1px solid var(--u-line); background: var(--u-surface); }
.ui3 .u-reader__chat[hidden] { display: none; }
.ui3 .u-reader__chathead { display: flex; align-items: center; gap: 4px; padding-block: 12px; padding-inline: 16px 10px; border-bottom: 1px solid var(--u-line); }
.ui3 .u-reader__chatwho { flex: 1; min-width: 0; display: flex; align-items: center; gap: 10px; }
.ui3 .u-reader__chatwho .u-label { margin: 0; }
.ui3 .u-reader__chatmark { width: 26px; height: 26px; flex: none; border-radius: var(--u-r-sm); display: grid; place-items: center; background: var(--u-accent); color: var(--u-on-accent); }
.ui3 .u-reader__msgs { flex: 1; min-height: 0; overflow-y: auto; padding: 16px; display: grid; align-content: start; gap: 18px; }
.ui3 .u-reader__msgs .u-msg--user { max-width: 92%; }
.ui3 .u-reader__msgs .u-msg__bubble { font-size: var(--u-t-sm); }
.ui3 .u-reader__msgs .u-followups { margin-block-start: 4px; }
.ui3 .u-reader__msgs .u-followup { font-size: var(--u-t-sm); }
.ui3 .u-reader__msgs .u-followup:disabled { opacity: 0.5; cursor: default; }
.ui3 .u-reader__starters { margin-block-start: 0; }
.ui3 .u-rmsg { display: grid; justify-items: start; gap: 10px; min-width: 0; animation: u-rise var(--u-dur-3) var(--u-ease) both; }
.ui3 .u-rmsg > .u-answer { width: 100%; }
.ui3 .u-rmsg > .u-followups { width: 100%; margin: 0; }
.ui3 .u-answer--sm { font-size: 14.5px; line-height: 1.65; }
.ui3 .u-answer--sm h1, .ui3 .u-answer--sm h2 { margin-block: 16px 6px; font-size: var(--u-t-base); }
.ui3 .u-answer.is-thinking { display: flex; align-items: center; gap: 8px; font-family: var(--u-font); font-size: var(--u-t-sm); color: var(--u-ink-3); }
.ui3 .u-answer.is-thinking .u-spinner { width: 12px; height: 12px; }
.ui3 .u-answer.is-streaming > :last-child::after { content: ""; display: inline-block; width: 7px; height: 1em; margin-inline-start: 2px; vertical-align: -2px; background: var(--u-ink-3); animation: u-pulse 1s steps(2) infinite; }
.ui3 .u-reader__composer { flex: none; display: grid; gap: 8px; padding-block: 8px 12px; padding-inline: 12px; }
.ui3 .u-reader__composer .u-composer__input { font-size: var(--u-t-sm); }
.ui3 .u-reader__stop { justify-self: center; }
.ui3 .u-reader__stop[hidden] { display: none; }
.ui3 .u-reader__disclaimer { margin: 0; font-size: var(--u-t-2xs); line-height: 1.45; color: var(--u-ink-4); text-align: center; }
.ui3 .u-reader__askpop { position: fixed; z-index: calc(var(--u-z-overlay) - 7); box-shadow: var(--u-sh-lg); }
.ui3 .u-reader__askpop[hidden] { display: none; }
.ui3 .u-menu--top { z-index: calc(var(--u-z-overlay) - 1); }

.ui3 .u-reader__tocsheet { position: fixed; inset: 0; z-index: calc(var(--u-z-overlay) - 4); }
.ui3 .u-reader__tocsheet[hidden] { display: none; }
.ui3 .u-reader__scrim { position: absolute; inset: 0; border: 0; padding: 0; background: var(--u-scrim); cursor: default; animation: u-fade var(--u-dur-1) var(--u-ease); }
.ui3 .u-reader__tocpanel { position: absolute; inset-block: 0; inset-inline-start: 0; width: min(320px, 86vw); overflow-y: auto; padding: 12px; background: var(--u-surface); box-shadow: var(--u-sh-lg); }
.ui3 .u-reader__tochead { display: flex; align-items: center; justify-content: space-between; padding-inline-start: 8px; }
.ui3 .u-reader__tochead .u-group-label { padding: 0; margin: 0; font-size: var(--u-t-xs); font-weight: 600; color: var(--u-ink-3); }

/* Presentation overlay */
.ui3 .u-slides { position: fixed; inset: 0; z-index: calc(var(--u-z-overlay) + 5); display: flex; flex-direction: column; background: var(--u-bg); animation: u-fade var(--u-dur-2) var(--u-ease); }
.ui3 .u-slides[hidden] { display: none; }
.ui3 .u-slides__body { position: relative; flex: 1; min-height: 0; }
.ui3 .u-slides__loading { position: absolute; inset: 0; display: grid; place-content: center; justify-items: center; gap: 12px; }
.ui3 .u-slides__loading[hidden], .ui3 .u-slides__exists[hidden] { display: none; }
.ui3 .u-slides__loading p { margin: 0; }
.ui3 .u-slides__exists { height: 100%; display: grid; place-items: center; padding: 24px; }
.ui3 .u-slides__card { width: min(480px, 100%); padding: 32px; display: grid; justify-items: center; gap: 10px; text-align: center; }
.ui3 .u-slides__card p { margin: 0; }
.ui3 .u-slides__mark { width: 48px; height: 48px; border-radius: var(--u-r-lg); display: grid; place-items: center; background: var(--u-accent-soft); color: var(--u-accent-ink); margin-block-end: 6px; }
.ui3 .u-slides__acts { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin-block-start: 12px; }
.ui3 .u-slides__frame { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; background: var(--u-surface); opacity: 0; transition: opacity var(--u-dur-2); }
.ui3 .u-slides__frame.is-ready { opacity: 1; }
.ui3 .u-slides__frame[hidden] { display: none; }

@media (hover: none) {
  .ui3 .u-lrow__play { opacity: 1; transform: none; }
}
@media (max-width: 1099px) {
  .ui3 .u-reader__body, html.ui3.u-rchat-open .u-reader__body { grid-template-columns: minmax(0, 1fr); }
  html.ui3.u-rchat-open .u-reader__body { grid-template-columns: minmax(0, 1fr) 380px; }
  .ui3 .u-reader__rail { display: none; }
  .ui3 .u-reader__tocbtn { display: inline-flex; }
  .ui3 .u-pplayer__vol input { display: none; }
}
@media (max-width: 899px) {
  html.ui3.u-rchat-open .u-reader__body { grid-template-columns: minmax(0, 1fr); }
  .ui3 .u-reader__chat {
    position: fixed; z-index: calc(var(--u-z-overlay) - 5); inset-inline: 0; inset-block-end: 0; height: min(78vh, 680px);
    border-inline-start: 0; border-top: 1px solid var(--u-line); border-start-start-radius: var(--u-r-xl); border-start-end-radius: var(--u-r-xl);
    box-shadow: var(--u-sh-lg); animation: u-rise var(--u-dur-2) var(--u-ease);
  }
  html.ui3.u-has-pplayer .u-reader__chat { padding-block-end: 84px; }
  .ui3 .u-reader__wide > span { display: none; }
  .ui3 .u-lib__features { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 699px) {
  .ui3 .u-lib { padding-inline: 16px; }
  .ui3 .u-lib .u-pagehead { align-items: center; }
  .ui3 .u-lib__tools { gap: 8px; }
  .ui3 .u-lib__search { width: 100%; }
  .ui3 .u-lib__search .u-kbd { display: none; }
  .ui3 .u-lib__folders { flex-wrap: nowrap; overflow-x: auto; width: 100%; padding-block-end: 2px; scrollbar-width: none; }
  .ui3 .u-lrow { grid-template-columns: auto minmax(0, 1fr) auto; gap: 12px; }
  .ui3 .u-lrow__thumb { width: 44px; height: 56px; }
  .ui3 .u-lrow .u-row__actions { opacity: 1; }
  .ui3 .u-pack__item { width: 180px; }
  .ui3 .u-pplayer .u-player__ctrl [data-pp-back], .ui3 .u-pplayer .u-player__ctrl [data-pp-fwd] { display: none; }
  html.ui3.u-reader-open .u-pplayer { inset-block-end: 10px; width: calc(100vw - 20px); grid-template-columns: minmax(0, 1fr) auto; }
  .ui3 .u-reader__top { gap: 2px; padding-inline: 4px 8px; }
  .ui3 .u-reader__crumb, .ui3 .u-reader__crumbs > .u-i, .ui3 .u-reader__folder { display: none; }
  .ui3 .u-reader__top [data-r-ask] > span, .ui3 .u-reader__top [data-r-translate] > span:last-child, .ui3 .u-reader__dur { display: none; }
  .ui3 .u-reader__doc { padding-block: 24px 140px; padding-inline: 18px; }
  .ui3 .u-reader__title { font-size: 24px; }
  .ui3 .u-reader__prose { font-size: 16.5px; }
  .ui3 .u-fig__head { flex-direction: column; }
  .ui3 .u-sheet { width: 100vw; }
}

/* ---------- Scrollbars ---------- */
.ui3 .u-scroll::-webkit-scrollbar { width: 10px; height: 10px; }
.ui3 .u-scroll::-webkit-scrollbar-thumb { background: var(--u-surface-3); border-radius: 10px; border: 3px solid var(--u-surface); }

/* ---------- Motion ---------- */
@keyframes u-fade { from { opacity: 0; } }
@keyframes u-pop { from { opacity: 0; transform: translateY(6px) scale(0.985); } }
@keyframes u-rise { from { opacity: 0; transform: translateY(8px); } }
@keyframes u-spin { to { transform: rotate(360deg); } }
@keyframes u-pulse { 50% { opacity: 0.35; } }
@keyframes u-shimmer { 0% { background-position: -400px 0; } 100% { background-position: 400px 0; } }
.ui3 .u-enter { animation: u-rise var(--u-dur-3) var(--u-ease) both; }

@media (prefers-reduced-motion: reduce) {
  html.ui3 *, html.ui3 *::before, html.ui3 *::after {
    animation-duration: 1ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 1ms !important;
  }
}

/* ---------- Utilities ---------- */
.ui3 .u-stack { display: grid; gap: 16px; }
.ui3 .u-stack--sm { gap: 8px; }
.ui3 .u-hstack { display: flex; align-items: center; gap: 8px; }
.ui3 .u-spacer { flex: 1; }
.ui3 .u-tone-rec { color: var(--u-rec); }
.ui3 .u-tone-accent { color: var(--u-accent); }
.ui3 .u-tone-danger { color: var(--u-danger); }
.ui3 .u-tone-warn { color: var(--u-warn); }
.ui3 .u-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; }

/* ---------- Presentations ---------- */
.ui3 .u-i--xs { width: 12px; height: 12px; }
html.ui3.u-presenting, html.ui3.u-presenting body { overflow: hidden; }
html.ui3.u-embedded body { background: var(--u-surface); }
.ui3 .u-main--embed { height: 100vh; }
.ui3 .u-input--lg { height: 44px; padding: 0 14px; }
.ui3 .u-input--lg input { font-size: var(--u-t-md); }
.ui3 .u-chip:focus-visible { outline: none; box-shadow: var(--u-ring); }

/* Slides render on a fixed 960x540 canvas and are scaled into any box (same as v2).
   The canvas mirrors the LTR PPTX layout, so it stays LTR on RTL pages and scales from its start corner. */
.ui3 .u-slidebox { --u-slide-scale: 0.25; position: relative; display: block; width: 100%; aspect-ratio: 16 / 9; overflow: hidden; background: var(--u-surface-2); direction: ltr; }
.ui3 .u-slidebox__inner {
  position: absolute; inset-block-start: 0; inset-inline-start: 0; display: block;
  width: 960px; height: 540px;
  transform: scale(var(--u-slide-scale)); transform-origin: top left;
  font-size: 16px; line-height: 1.5; color: var(--u-slide-ink);
  pointer-events: none;
}
.ui3 .u-slidebox__inner, .ui3 .u-slidebox__inner *,
.ui3 .u-present__stage, .ui3 .u-present__stage * { box-sizing: border-box; }

/* List */
.ui3 .u-pres__toolbar { margin-bottom: 16px; }
.ui3 .u-pres__search { width: 260px; }
.ui3 .u-pres__selbar {
  position: sticky; top: 8px; z-index: 2;
  display: flex; align-items: center; gap: 8px;
  margin-bottom: 12px; padding-block: 6px; padding-inline: 14px 6px;
  border: 1px solid var(--u-line); border-radius: var(--u-r-lg);
  background: var(--u-surface); box-shadow: var(--u-sh-md);
  animation: u-pop var(--u-dur-2) var(--u-ease);
}
.ui3 .u-pres__selcount { font-size: var(--u-t-sm); font-weight: 500; color: var(--u-ink); }
.ui3 .u-pres__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 16px; }
.ui3 .u-pcard {
  position: relative; display: flex; flex-direction: column; min-width: 0;
  background: var(--u-surface); border: 1px solid var(--u-line); border-radius: var(--u-r-lg);
  overflow: hidden; box-shadow: var(--u-sh-xs);
  transition: border-color var(--u-dur-2), box-shadow var(--u-dur-2);
}
.ui3 .u-pcard:hover { border-color: var(--u-line-strong); box-shadow: var(--u-sh-md); }
.ui3 .u-pcard.is-selected { border-color: var(--u-accent); box-shadow: var(--u-ring); }
.ui3 .u-pcard__thumb { display: block; border-bottom: 1px solid var(--u-line); }
.ui3 .u-pcard__check {
  position: absolute; top: 10px; inset-inline-start: 10px;
  display: grid; place-items: center; width: 24px; height: 24px;
  border-radius: var(--u-r-sm); background: var(--u-surface); box-shadow: var(--u-sh-sm);
  opacity: 0; transition: opacity var(--u-dur-1); cursor: pointer;
}
.ui3 .u-pcard__check input { width: 14px; height: 14px; margin: 0; accent-color: var(--u-accent); cursor: pointer; }
.ui3 .u-pcard:hover .u-pcard__check, .ui3 .u-pcard:focus-within .u-pcard__check,
.ui3 .u-pres__grid.is-selecting .u-pcard__check { opacity: 1; }
.ui3 .u-pcard__body { flex: 1; display: grid; align-content: start; gap: 8px; padding: 12px 14px; }
.ui3 .u-pcard__title { font-size: var(--u-t-md); font-weight: 600; line-height: 1.35; letter-spacing: -0.01em; color: var(--u-ink); text-decoration: none; }
.ui3 .u-pcard__title:hover { text-decoration: underline; text-underline-offset: 2px; }
.ui3 .u-pcard__foot { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: 2px; }
.ui3 .u-pcard__extras { display: inline-flex; align-items: center; gap: 8px; color: var(--u-ink-4); }
.ui3 .u-pcard__src { display: inline-flex; }
.ui3 .u-pcard__dots { display: inline-flex; }
.ui3 .u-pcard__dot { width: 10px; height: 10px; border-radius: 50%; box-shadow: 0 0 0 1.5px var(--u-surface); }
.ui3 .u-pcard__dot + .u-pcard__dot { margin-inline-start: -3px; }
.ui3 .u-pcard__acts { display: inline-flex; align-items: center; gap: 2px; }

/* List empty state */
.ui3 .u-pres__hero { display: grid; justify-items: center; gap: 14px; padding: 24px 0 8px; text-align: center; }
.ui3 .u-pres__samples { display: flex; align-items: flex-start; justify-content: center; height: 170px; margin-bottom: 18px; }
.ui3 .u-pres__samples .u-slidebox { flex: none; width: 250px; border-radius: var(--u-r-md); box-shadow: var(--u-sh-lg); }
.ui3 .u-pres__samples .u-slidebox:nth-child(1) { transform: translate(40px, 18px) rotate(-7deg); }
.ui3 .u-pres__samples .u-slidebox:nth-child(2) { z-index: 1; }
.ui3 .u-pres__samples .u-slidebox:nth-child(3) { transform: translate(-40px, 18px) rotate(7deg); }
.ui3 .u-pres__lead { max-width: 560px; margin: 0; font-size: var(--u-t-md); color: var(--u-ink-3); }
.ui3 .u-pres__uses { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; width: 100%; max-width: 880px; margin-top: 28px; text-align: start; }
.ui3 .u-pres__use { display: grid; align-content: start; gap: 6px; padding: 16px; color: inherit; text-decoration: none; }
.ui3 .u-pres__useicon { display: grid; place-items: center; width: 32px; height: 32px; margin-bottom: 4px; border-radius: var(--u-r-md); background: var(--u-accent-soft); color: var(--u-accent-ink); }

/* Wizard */
.ui3 .u-wiz { flex: 1; display: flex; flex-direction: column; min-height: 0; }
.ui3 .u-wiz__bar { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); gap: 16px; }
.ui3 .u-wiz__bar .u-stepper { grid-column: 2; }
.ui3 .u-wiz__panels { flex: 1; display: flex; flex-direction: column; min-height: 0; }
.ui3 .u-wiz__panel { flex: 1; min-height: 0; overflow-y: auto; animation: u-fade var(--u-dur-2) var(--u-ease); }
.ui3 .u-wiz__narrow { display: grid; gap: 20px; max-width: 640px; margin: 0 auto; padding: 40px 24px 64px; }
.ui3 .u-wiz__narrow > .u-pagehead__sub { margin-top: -14px; }
.ui3 .u-wiz__tabs { display: flex; gap: 3px; padding: 3px; background: var(--u-surface-2); border: 1px solid var(--u-line); border-radius: var(--u-r-lg); }
.ui3 .u-wiz__tabs > button {
  flex: 1; display: inline-flex; align-items: center; justify-content: center; gap: 6px;
  height: 34px; padding: 0 8px; border: 0; border-radius: var(--u-r-md); background: transparent;
  font: 500 var(--u-t-sm)/1 var(--u-font); color: var(--u-ink-3); cursor: pointer; white-space: nowrap;
  transition: background var(--u-dur-1), color var(--u-dur-1);
}
.ui3 .u-wiz__tabs > button:hover { color: var(--u-ink); }
.ui3 .u-wiz__tabs > [aria-selected="true"] { background: var(--u-surface); color: var(--u-ink); box-shadow: var(--u-sh-sm); }
.ui3 .u-wiz__tabs > button:focus-visible { outline: none; box-shadow: var(--u-ring); }
.ui3 .u-wiz .u-textarea { box-sizing: border-box; }
.ui3 .u-wiz__drop { width: 100%; }
.ui3 .u-wiz__cta { margin-top: 4px; }
.ui3 .u-wiz__head { display: flex; align-items: center; gap: 8px; margin-inline-start: -8px; }
.ui3 .u-wiz__row { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 24px; }
.ui3 .u-wiz__grow { flex: 1; }
.ui3 .u-wiz__field { display: grid; gap: 8px; min-width: 0; margin: 0; padding: 0; border: 0; }
.ui3 .u-wiz__field > legend { margin-bottom: 8px; padding: 0; }
.ui3 .u-wiz__chips { display: flex; flex-wrap: wrap; gap: 6px; }
.ui3 .u-wiz__chips [aria-checked="true"] { background: var(--u-ink); border-color: var(--u-ink); color: var(--u-on-ink); }
.ui3 .u-stepnum { display: inline-flex; align-items: center; gap: 6px; }
.ui3 .u-stepnum__val { min-width: 36px; text-align: center; font-size: var(--u-t-lg); font-weight: 600; font-variant-numeric: tabular-nums; color: var(--u-ink); }
.ui3 .u-wiz__toggles { display: grid; border: 1px solid var(--u-line); border-radius: var(--u-r-lg); }
.ui3 .u-wiz__toggle { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 12px 14px; font-size: var(--u-t-sm); color: var(--u-ink); }
.ui3 .u-wiz__toggle + .u-wiz__toggle { border-top: 1px solid var(--u-line); }
.ui3 .u-wiz__toggle .u-field__hint { display: block; margin-top: 2px; }
.ui3 .u-swatches { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 10px; }
.ui3 .u-swatch { display: grid; gap: 6px; padding: 0; border: 0; background: transparent; font: inherit; color: var(--u-ink-3); text-align: center; cursor: pointer; }
.ui3 .u-swatch__art {
  position: relative; display: grid; place-items: center; aspect-ratio: 4 / 3; overflow: hidden;
  border-radius: var(--u-r-md); box-shadow: 0 0 0 1px var(--u-line);
  font-size: var(--u-t-sm); font-weight: 600; color: var(--u-on-stage);
  transition: box-shadow var(--u-dur-1);
}
.ui3 .u-swatch__art span { padding: 0 4px; line-height: 1.15; }
.ui3 .u-swatch__art i { position: absolute; inset-inline: 24%; bottom: 16%; height: 3px; border-radius: 2px; }
.ui3 .u-swatch__label { font-size: var(--u-t-xs); font-weight: 500; }
.ui3 .u-swatch:hover .u-swatch__art { box-shadow: 0 0 0 1px var(--u-line-strong); }
.ui3 .u-swatch[aria-checked="true"] .u-swatch__art { box-shadow: 0 0 0 2px var(--u-surface), 0 0 0 4px var(--u-accent); }
.ui3 .u-swatch[aria-checked="true"] .u-swatch__label { color: var(--u-ink); }
.ui3 .u-swatch:focus-visible { outline: none; }
.ui3 .u-swatch:focus-visible .u-swatch__art { box-shadow: 0 0 0 2px var(--u-surface), 0 0 0 4px var(--u-accent), var(--u-ring); }
.ui3 .u-wiz__adv { border: 1px solid var(--u-line); border-radius: var(--u-r-lg); }
.ui3 .u-wiz__adv > summary { display: flex; align-items: center; gap: 8px; padding: 12px 14px; list-style: none; cursor: pointer; font-size: var(--u-t-sm); font-weight: 500; color: var(--u-ink); }
.ui3 .u-wiz__adv > summary::-webkit-details-marker { display: none; }
.ui3 .u-wiz__adv > summary .u-i { transition: transform var(--u-dur-2) var(--u-ease); }
.ui3 .u-wiz__adv[open] > summary .u-i { transform: rotate(90deg); }
.ui3 .u-wiz__adv > summary .u-faint { font-weight: 400; }
.ui3 .u-wiz__advbody { display: grid; gap: 12px; padding: 0 14px 14px; }
.ui3 .u-wiz__pair { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.ui3 .u-wiz__center { margin-top: -8px; text-align: center; }

/* Stepper */
.ui3 .u-stepper { display: flex; align-items: center; gap: 8px; margin: 0; padding: 0; list-style: none; }
.ui3 .u-stepper__step { display: flex; align-items: center; gap: 8px; font-size: var(--u-t-sm); color: var(--u-ink-4); white-space: nowrap; }
.ui3 .u-stepper__step + .u-stepper__step::before { content: ""; width: 24px; height: 1px; background: var(--u-line-strong); }
.ui3 .u-stepper__dot {
  display: grid; place-items: center; width: 22px; height: 22px; flex: none;
  border: 1px solid var(--u-line-strong); border-radius: 50%; background: var(--u-surface);
  font-size: var(--u-t-2xs); font-weight: 600; color: var(--u-ink-3); font-variant-numeric: tabular-nums;
}
.ui3 .u-stepper__dot .u-i { width: 12px; height: 12px; stroke-width: 2.5; }
.ui3 .u-stepper__step.is-active { color: var(--u-ink); font-weight: 500; }
.ui3 .u-stepper__step.is-active .u-stepper__dot { background: var(--u-ink); border-color: var(--u-ink); color: var(--u-on-ink); }
.ui3 .u-stepper__step.is-done { color: var(--u-ink-3); }
.ui3 .u-stepper__step.is-done .u-stepper__dot { background: var(--u-accent-soft); border-color: transparent; color: var(--u-accent-ink); }
.ui3 .u-stepper__step.is-done + .u-stepper__step::before { background: var(--u-accent); }

/* Outline editor */
.ui3 .u-wiz__loading { display: grid; gap: 10px; max-width: 760px; margin: 0 auto; padding: 32px 24px; }
.ui3 .u-wiz__loading .u-callout { align-items: center; margin-bottom: 6px; }
.ui3 .u-wiz__loading .u-callout p { margin: 0; }
.ui3 .u-ocard.u-ocard--skel { display: grid; grid-template-columns: minmax(0, 1fr); gap: 10px; padding: 16px; border: 1px solid var(--u-line); border-radius: var(--u-r-lg); }
.ui3 .u-ocard--skel .u-skeleton { display: block; height: 10px; }
.ui3 .u-ocard--skel .u-skeleton:nth-child(1) { width: 42%; height: 14px; }
.ui3 .u-ocard--skel .u-skeleton:nth-child(2) { width: 88%; }
.ui3 .u-ocard--skel .u-skeleton:nth-child(3) { width: 64%; }
.ui3 .u-outline { display: grid; grid-template-columns: minmax(0, 1fr) 400px; gap: 0 32px; max-width: 1240px; margin: 0 auto; padding: 28px 28px 0; }
.ui3 .u-outline__main { display: grid; align-content: start; gap: 12px; min-width: 0; padding-bottom: 24px; }
.ui3 .u-outline__head { display: grid; gap: 6px; margin-bottom: 4px; }
.ui3 .u-outline__title {
  box-sizing: border-box; width: calc(100% + 8px); margin-inline-start: -8px; padding: 4px 8px;
  border: 0; border-radius: var(--u-r-md); background: transparent; outline: 0;
  font: 600 var(--u-t-2xl)/1.2 var(--u-font); letter-spacing: -0.022em; color: var(--u-ink);
}
.ui3 .u-outline__title:hover { background: var(--u-surface-2); }
.ui3 .u-outline__title:focus { background: var(--u-surface); box-shadow: var(--u-ring); }
.ui3 .u-outline__list { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }
.ui3 .u-ocard {
  display: grid; grid-template-columns: auto auto minmax(0, 1fr) auto; align-items: start; gap: 8px;
  padding-block: 10px; padding-inline: 4px 8px;
  background: var(--u-surface); border: 1px solid var(--u-line); border-radius: var(--u-r-lg);
  transition: border-color var(--u-dur-1), box-shadow var(--u-dur-1);
}
.ui3 .u-ocard:hover { border-color: var(--u-line-strong); }
.ui3 .u-ocard.is-active { border-color: var(--u-accent); box-shadow: var(--u-ring); }
.ui3 .u-ocard.sortable-ghost { opacity: 0.4; }
.ui3 .u-ocard.sortable-chosen { box-shadow: var(--u-sh-lg); }
.ui3 .u-ocard__grip { display: grid; place-items: center; padding: 6px 2px; border: 0; border-radius: var(--u-r-sm); background: transparent; color: var(--u-ink-4); cursor: grab; }
.ui3 .u-ocard__grip:hover { color: var(--u-ink-2); background: var(--u-surface-2); }
.ui3 .u-ocard__grip:focus-visible { outline: none; box-shadow: var(--u-ring); }
.ui3 .u-ocard__n { display: grid; place-items: center; min-width: 22px; height: 22px; margin-top: 4px; border-radius: var(--u-r-sm); background: var(--u-surface-2); font-size: var(--u-t-2xs); font-weight: 600; color: var(--u-ink-3); font-variant-numeric: tabular-nums; }
.ui3 .u-ocard__body { display: grid; gap: 4px; min-width: 0; }
.ui3 .u-ocard__title, .ui3 .u-ocard__content {
  box-sizing: border-box; width: calc(100% + 6px); margin-inline-start: -6px; padding: 4px 6px;
  border: 0; border-radius: var(--u-r-sm); background: transparent; outline: 0; font-family: inherit;
}
.ui3 .u-ocard__title { font-size: var(--u-t-md); font-weight: 600; color: var(--u-ink); }
.ui3 .u-ocard__content { resize: vertical; font-size: var(--u-t-sm); line-height: 1.5; color: var(--u-ink-2); }
.ui3 .u-ocard__title:hover, .ui3 .u-ocard__content:hover { background: var(--u-surface-2); }
.ui3 .u-ocard__title:focus, .ui3 .u-ocard__content:focus { background: var(--u-surface-2); box-shadow: inset 0 0 0 1px var(--u-line-strong); }
.ui3 .u-ocard__row { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin-top: 2px; }
.ui3 .u-ocard__layout { display: inline-flex; align-items: center; gap: 6px; height: 28px; padding-inline: 8px 4px; border: 1px solid var(--u-line); border-radius: var(--u-r-sm); font-size: var(--u-t-xs); color: var(--u-ink-3); }
.ui3 .u-ocard__layout select { border: 0; outline: 0; background: transparent; font: inherit; color: var(--u-ink-2); cursor: pointer; }
.ui3 .u-ocard__layout:focus-within { border-color: var(--u-accent); box-shadow: var(--u-ring); }
.ui3 .u-ocard__notes { box-sizing: border-box; min-height: 64px; margin-top: 4px; }
.ui3 .u-ocard__acts { display: flex; gap: 2px; }
.ui3 .u-outline__add { border-style: dashed; box-shadow: none; color: var(--u-ink-3); }
.ui3 .u-outline__side { min-width: 0; }
.ui3 .u-outline__sticky { position: sticky; top: 28px; display: grid; gap: 10px; }
.ui3 .u-outline__preview { overflow: hidden; border-radius: var(--u-r-md); box-shadow: var(--u-sh-md); }
.ui3 .u-outline__preview--v2 { aspect-ratio: 16 / 9; }
.ui3 .u-outline__papers { display: grid; gap: 6px; margin-top: 6px; padding: 14px; border: 1px solid var(--u-line); border-radius: var(--u-r-lg); }
.ui3 .u-outline__papers > p { margin: 0; }
.ui3 .u-outline__papers .u-label { display: flex; align-items: center; gap: 6px; color: var(--u-ink-2); }
.ui3 .u-outline__paperlist { display: grid; gap: 10px; max-height: 280px; margin: 4px 0 0; padding: 0; overflow-y: auto; list-style: none; }
.ui3 .u-outline__paperlist li { display: grid; gap: 2px; }
.ui3 .u-outline__ptitle { font-size: var(--u-t-sm); line-height: 1.35; color: var(--u-ink); }
.ui3 .u-outline__foot {
  position: sticky; bottom: 0; z-index: 2; grid-column: 1 / -1;
  display: flex; align-items: center; gap: 8px; margin-top: 8px; padding: 12px 0 16px;
  border-top: 1px solid var(--u-line); background: var(--u-surface);
}

/* Generating */
.ui3 .u-gen { display: grid; justify-items: center; gap: 6px; max-width: 420px; margin: 0 auto; padding: 72px 24px; text-align: center; }
.ui3 .u-gen > p { margin: 0; }
.ui3 .u-gen .u-spinner--lg { margin-bottom: 14px; border-top-color: var(--u-accent); }
.ui3 .u-gen__bar { width: 220px; margin: 14px 0 20px; }
.ui3 .u-gen__steps { display: grid; gap: 10px; min-width: 220px; margin: 0; padding: 0; list-style: none; text-align: start; }
.ui3 .u-gen__steps li { display: flex; align-items: center; gap: 10px; font-size: var(--u-t-sm); color: var(--u-ink-4); transition: color var(--u-dur-2); }
.ui3 .u-gen__steps li.is-active { color: var(--u-ink); font-weight: 500; }
.ui3 .u-gen__steps li.is-done { color: var(--u-ink-3); }
.ui3 .u-gen__mark { position: relative; display: grid; place-items: center; width: 18px; height: 18px; flex: none; border: 1.5px solid var(--u-line-strong); border-radius: 50%; box-sizing: border-box; }
.ui3 .u-gen__mark .u-i { width: 11px; height: 11px; stroke-width: 3; }
.ui3 .u-gen__steps li.is-active .u-gen__mark { border-color: var(--u-accent); }
.ui3 .u-gen__steps li.is-active .u-gen__mark::after { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--u-accent); animation: u-pulse 1.4s var(--u-ease) infinite; }
.ui3 .u-gen__steps li.is-done .u-gen__mark { border-color: var(--u-accent); background: var(--u-accent); color: var(--u-on-accent); }

/* Auto page */
.ui3 .u-auto { flex: 1; min-height: 0; overflow-y: auto; display: grid; place-items: center; padding: 32px 16px; background: var(--u-surface-2); }
.ui3 .u-auto__card { width: min(440px, 100%); }
.ui3 .u-auto__card .u-gen { padding: 40px 28px 32px; }
.ui3 .u-auto__err { display: grid; justify-items: center; gap: 8px; padding: 36px 28px 28px; text-align: center; }
.ui3 .u-auto__err p { margin: 0; }
.ui3 .u-auto__erricon { display: grid; place-items: center; width: 40px; height: 40px; margin-bottom: 6px; border-radius: var(--u-r-md); background: var(--u-danger-soft); color: var(--u-danger); }
.ui3 .u-auto__actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin-top: 12px; }

/* Deck viewer */
.ui3 .u-deck { flex: 1; display: flex; flex-direction: column; min-height: 0; }
.ui3 .u-deck__bar { height: auto; min-height: 56px; padding-block: 8px; gap: 10px; }
.ui3 .u-deck__titles { display: grid; gap: 3px; flex: 0 1 auto; min-width: 0; max-width: 40%; }
.ui3 .u-deck__title { margin: 0; font-size: var(--u-t-md); font-weight: 600; letter-spacing: -0.01em; }
.ui3 .u-deck__theme { display: inline-flex; align-items: center; gap: 6px; }
.ui3 .u-deck__themedot { width: 8px; height: 8px; border-radius: 50%; box-shadow: 0 0 0 1px var(--u-line-strong); }
.ui3 .u-deck__counter { display: inline-flex; align-items: center; gap: 2px; font-size: var(--u-t-sm); color: var(--u-ink-2); }
.ui3 .u-deck__counter .u-num { min-width: 56px; text-align: center; }
.ui3 .u-deck__actions { display: flex; align-items: center; gap: 6px; }
.ui3 .u-deck__dirty { display: inline-flex; align-items: center; gap: 6px; margin-inline-end: 4px; font-size: var(--u-t-xs); color: var(--u-warn); white-space: nowrap; }
.ui3 .u-deck__notice { align-items: center; margin: 12px 16px 0; }
.ui3 .u-deck__noticetext { flex: 1; min-width: 0; }
.ui3 .u-deck__body { position: relative; flex: 1; display: flex; min-height: 0; }
.ui3 .u-deck__rail { width: 196px; flex: none; overflow-y: auto; padding: 12px 10px; border-inline-end: 1px solid var(--u-line); background: var(--u-surface); }
.ui3 .u-deck__thumbs { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
.ui3 .u-deck__thumb { display: flex; align-items: flex-start; gap: 8px; width: 100%; padding: 0; border: 0; background: transparent; text-align: start; cursor: pointer; }
.ui3 .u-deck__thumbn { width: 16px; flex: none; padding-top: 2px; font-size: var(--u-t-2xs); color: var(--u-ink-4); text-align: end; }
.ui3 .u-deck__thumb .u-slidebox { flex: 1; border-radius: var(--u-r-sm); box-shadow: 0 0 0 1px var(--u-line); transition: box-shadow var(--u-dur-1); }
.ui3 .u-deck__thumb:hover .u-slidebox { box-shadow: 0 0 0 1px var(--u-line-strong); }
.ui3 .u-deck__thumb[aria-current="true"] .u-slidebox { box-shadow: 0 0 0 2px var(--u-accent); }
.ui3 .u-deck__thumb[aria-current="true"] .u-deck__thumbn { color: var(--u-accent-ink); font-weight: 600; }
.ui3 .u-deck__thumb:focus-visible { outline: none; }
.ui3 .u-deck__thumb:focus-visible .u-slidebox { box-shadow: 0 0 0 2px var(--u-accent), var(--u-ring); }
.ui3 .u-deck__main { flex: 1; display: flex; flex-direction: column; min-width: 0; background: var(--u-surface-2); }
.ui3 .u-deck__canvas { position: relative; flex: 1; display: flex; align-items: center; justify-content: center; min-height: 0; padding: 28px 64px; }
.ui3 .u-deck__stage { width: 100%; max-width: calc((100vh - 56px - 180px - 56px) * 16 / 9); }
.ui3 .u-deck__frame { border-radius: var(--u-r-sm); box-shadow: var(--u-sh-lg); }
.ui3 .u-deck__none { text-align: center; }
.ui3 .u-deck__arrow {
  position: absolute; top: 50%; z-index: 1; transform: translateY(-50%);
  display: grid; place-items: center; width: 36px; height: 36px;
  border: 1px solid var(--u-line); border-radius: 50%; background: var(--u-surface); color: var(--u-ink-2);
  box-shadow: var(--u-sh-md); cursor: pointer; transition: color var(--u-dur-1), opacity var(--u-dur-1);
}
.ui3 .u-deck__arrow:hover:not(:disabled) { color: var(--u-ink); }
.ui3 .u-deck__arrow:disabled { opacity: 0.3; cursor: default; }
.ui3 .u-deck__arrow:focus-visible { outline: none; box-shadow: var(--u-ring); }
.ui3 .u-deck__arrow--prev { inset-inline-start: 14px; }
.ui3 .u-deck__arrow--next { inset-inline-end: 14px; }
.ui3 .u-deck__notes { display: flex; flex-direction: column; gap: 4px; height: 180px; flex: none; padding: 10px 20px 14px; border-top: 1px solid var(--u-line); background: var(--u-surface); }
.ui3 .u-deck__noteshead { display: flex; align-items: center; gap: 6px; color: var(--u-ink-3); }
.ui3 .u-deck__noteshead .u-label { margin: 0; }
.ui3 .u-deck__slidetitle, .ui3 .u-deck__notesarea {
  box-sizing: border-box; width: calc(100% + 6px); margin-inline-start: -6px; padding: 4px 6px;
  border: 0; border-radius: var(--u-r-sm); background: transparent; outline: 0; font-family: inherit;
}
.ui3 .u-deck__slidetitle { font-size: var(--u-t-md); font-weight: 600; color: var(--u-ink); }
.ui3 .u-deck__notesarea { flex: 1; min-height: 0; resize: none; font-size: var(--u-t-sm); line-height: 1.6; color: var(--u-ink-2); }
.ui3 .u-deck__slidetitle:not([readonly]):hover, .ui3 .u-deck__notesarea:not([readonly]):hover { background: var(--u-surface-2); }
.ui3 .u-deck__slidetitle:not([readonly]):focus, .ui3 .u-deck__notesarea:not([readonly]):focus { background: var(--u-surface-2); box-shadow: inset 0 0 0 1px var(--u-line-strong); }
.ui3 .u-deck__refs { display: grid; align-content: start; gap: 10px; width: 340px; flex: none; overflow-y: auto; padding: 16px; border-inline-start: 1px solid var(--u-line); background: var(--u-surface); }
.ui3 .u-deck__refs > p { margin: 0; }
.ui3 .u-deck__refshead { display: flex; align-items: center; justify-content: space-between; }
.ui3 .u-deck__refshead .u-h3 { display: flex; align-items: center; gap: 8px; }
.ui3 .u-deck__reflist { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }
.ui3 .u-deck__ref { display: grid; gap: 4px; padding: 10px 12px; border: 1px solid var(--u-line); border-radius: var(--u-r-md); }
.ui3 .u-deck__reftitle { margin: 0; font-size: var(--u-t-sm); font-weight: 500; line-height: 1.4; color: var(--u-ink); }
.ui3 .u-deck__ref a { color: var(--u-accent-ink); }

/* Present mode */
.ui3 .u-present { position: fixed; inset: 0; z-index: calc(var(--u-z-overlay) + 10); display: flex; align-items: center; justify-content: center; overflow: hidden; background: var(--u-stage-bg); }
.ui3 .u-present__stage { direction: ltr; position: relative; flex: none; width: 960px; height: 540px; overflow: hidden; transform-origin: center; font-size: 16px; line-height: 1.5; color: var(--u-slide-ink); }
.ui3 .u-present__zone { position: absolute; top: 0; bottom: 0; z-index: 1; width: 30%; padding: 0; border: 0; background: transparent; cursor: pointer; }
.ui3 .u-present__zone--prev { inset-inline-start: 0; }
.ui3 .u-present__zone--next { inset-inline-end: 0; }
.ui3 .u-present__zone.is-edge { cursor: default; }
.ui3 .u-present__count {
  position: fixed; bottom: 20px; inset-inline: 0; z-index: 2; width: max-content; margin-inline: auto;
  padding: 5px 14px; border-radius: var(--u-r-pill); background: var(--u-stage-chip); color: var(--u-on-stage);
  font: 500 var(--u-t-sm)/1.4 var(--u-mono); pointer-events: none;
}
.ui3 .u-present__close {
  position: fixed; top: 16px; inset-inline-end: 16px; z-index: 2;
  display: grid; place-items: center; width: 40px; height: 40px;
  border: 0; border-radius: 50%; background: var(--u-stage-chip); color: var(--u-on-stage);
  opacity: 0.6; cursor: pointer; transition: opacity var(--u-dur-1);
}
.ui3 .u-present__close:hover, .ui3 .u-present__close:focus-visible { opacity: 1; outline: none; }

@media (hover: none) {
  .ui3 .u-pcard__check { opacity: 1; }
}
@media (max-width: 1099px) {
  .ui3 .u-outline { grid-template-columns: minmax(0, 1fr) 320px; gap: 0 24px; }
  .ui3 .u-deck__rail { width: 160px; }
  .ui3 .u-deck__refs { position: absolute; inset-block: 0; inset-inline-end: 0; z-index: 3; box-shadow: var(--u-sh-lg); }
}
@media (max-width: 899px) {
  .ui3 .u-outline { grid-template-columns: minmax(0, 1fr); padding: 20px 16px 0; }
  .ui3 .u-outline__sticky { position: static; }
  .ui3 .u-outline__side { padding-bottom: 16px; }
  .ui3 .u-stepper__step:not(.is-active) .u-stepper__label { display: none; }
  .ui3 .u-deck__body { flex-direction: column; }
  .ui3 .u-deck__main { order: 1; }
  .ui3 .u-deck__rail { order: 2; width: auto; overflow-x: auto; overflow-y: hidden; padding: 8px 12px; border-inline-end: 0; border-top: 1px solid var(--u-line); }
  .ui3 .u-deck__thumbs { grid-auto-flow: column; grid-auto-columns: 112px; }
  .ui3 .u-deck__thumbn { display: none; }
  .ui3 .u-deck__canvas { padding: 16px 12px; }
  .ui3 .u-deck__stage { max-width: none; }
  .ui3 .u-deck__arrow { display: none; }
  .ui3 .u-deck__notes { height: 150px; padding-inline: 16px; }
  .ui3 .u-deck__titles { flex: 1; max-width: none; }
  .ui3 .u-deck__wide { display: none; }
}
@media (max-width: 699px) {
  .ui3 .u-pres__search { flex: 1 1 100%; width: auto; }
  .ui3 .u-pres__uses { grid-template-columns: minmax(0, 1fr); }
  .ui3 .u-pres__samples { height: 120px; }
  .ui3 .u-pres__samples .u-slidebox { width: 170px; }
  .ui3 .u-pres__samples .u-slidebox:nth-child(1) { transform: translate(30px, 12px) rotate(-7deg); }
  .ui3 .u-pres__samples .u-slidebox:nth-child(3) { transform: translate(-30px, 12px) rotate(7deg); }
  .ui3 .u-wiz__bar { display: flex; justify-content: center; }
  .ui3 .u-wiz__bar .u-crumbs { display: none; }
  .ui3 .u-wiz__narrow { padding: 24px 16px 48px; }
  .ui3 .u-wiz__tabs { overflow-x: auto; }
  .ui3 .u-wiz__tabs > button { flex: 1 0 auto; }
  .ui3 .u-swatches { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .ui3 .u-wiz__pair { grid-template-columns: minmax(0, 1fr); }
  .ui3 .u-ocard__acts { flex-direction: column; }
  .ui3 .u-outline__foot { flex-wrap: wrap; }
  .ui3 .u-outline__foot [data-w-generate] { flex: 1 1 100%; }
  .ui3 .u-deck__bar { flex-wrap: wrap; row-gap: 6px; }
  .ui3 .u-deck__titles { flex: 1 1 calc(100% - 48px); }
  .ui3 .u-deck__counter { display: none; }
  .ui3 .u-deck__bar > .u-topbar__spacer { display: none; }
  .ui3 .u-deck__actions { margin-inline-start: auto; }
  .ui3 .u-deck__refs { position: fixed; width: min(360px, 100%); z-index: var(--u-z-menu); }
}

/* ---------- Slide editor (React, src/slides) ---------- */
.ui3 .u-deckeditor { flex: 1 1 auto; display: flex; flex-direction: column; min-height: 0; }
.ui3 .u-deckeditor__fail { flex: 1; display: grid; place-items: center; }
.ui3 .u-deckeditor__fail[hidden], .ui3 .u-deckeditor[hidden] { display: none; }
.ui3 .ms-slides-v2 { position: relative; display: flex; flex-direction: column; flex: 1 1 auto; min-height: 0; height: 100%; overflow: hidden; background: var(--u-surface); color: var(--u-ink); font-family: var(--u-font); }
.ui3 .ms-slides-v2 * { box-sizing: border-box; }
.ui3 .ms-preview { background: transparent; }
.ui3 .ms-preview .ms-slide-scale { border-radius: 0; box-shadow: none; }
.ui3 .ms-i { flex: none; }
.ui3[dir="rtl"] .ms-i-back, .ui3[dir="rtl"] .ms-i-prev, .ui3[dir="rtl"] .ms-i-next, .ui3[dir="rtl"] .ms-i-undo, .ui3[dir="rtl"] .ms-i-redo { transform: scaleX(-1); }

/* Toolbar */
.ui3 .ms-toolbar { display: flex; align-items: center; gap: 12px; min-height: 56px; padding-block: 8px; padding-inline: 12px 16px; border-bottom: 1px solid var(--u-line); background: var(--u-surface); flex: none; }
.ui3 .ms-toolbar-left { display: flex; align-items: center; gap: 8px; flex: 1 1 0; min-width: 0; }
.ui3 .ms-toolbar-right { display: flex; align-items: center; justify-content: flex-end; gap: 6px; flex: 1 1 0; min-width: 0; }
.ui3 .ms-titles { display: grid; gap: 3px; min-width: 0; }
.ui3 .ms-title { overflow: hidden; font-size: var(--u-t-md); font-weight: 600; letter-spacing: -0.01em; line-height: 1.25; white-space: nowrap; text-overflow: ellipsis; }
.ui3 .ms-meta { display: flex; align-items: center; gap: 6px; min-width: 0; overflow: hidden; font-size: var(--u-t-xs); color: var(--u-ink-3); white-space: nowrap; }
.ui3 .ms-dot { width: 8px; height: 8px; flex: none; border-radius: 50%; box-shadow: 0 0 0 1px var(--u-line-strong); }
.ui3 .ms-save { font-weight: 500; color: var(--u-ink-3); }
.ui3 .ms-save-pending, .ui3 .ms-save-saving { color: var(--u-warn); }
.ui3 .ms-save-error { color: var(--u-danger); }
.ui3 .ms-classic-link { color: var(--u-ink-3); text-decoration: underline; text-decoration-color: var(--u-line-strong); text-underline-offset: 2px; }
.ui3 .ms-classic-link:hover { color: var(--u-ink); }
.ui3 .ms-link { padding: 0; border: 0; background: none; font: inherit; font-size: var(--u-t-xs); font-weight: 500; color: var(--u-accent-ink); cursor: pointer; }
.ui3 .ms-link:hover { text-decoration: underline; }

/* Buttons */
.ui3 .ms-icon-btn, .ui3 .ms-btn, .ui3 .ms-counter button, .ui3 .ms-nav {
  display: inline-flex; align-items: center; justify-content: center; gap: 6px; height: 32px; padding: 0 12px;
  border: 1px solid var(--u-line); border-radius: var(--u-r-md); background: var(--u-surface); box-shadow: var(--u-sh-xs);
  font: 500 var(--u-t-sm)/1 var(--u-font); color: var(--u-ink); cursor: pointer; white-space: nowrap; text-decoration: none;
  transition: background var(--u-dur-1) var(--u-ease), border-color var(--u-dur-1) var(--u-ease), color var(--u-dur-1) var(--u-ease), box-shadow var(--u-dur-1) var(--u-ease);
}
.ui3 .ms-icon-btn:hover, .ui3 .ms-btn:hover:not(:disabled), .ui3 .ms-counter button:hover:not(:disabled), .ui3 .ms-nav:hover:not(:disabled) { background: var(--u-surface-2); border-color: var(--u-line-strong); }
.ui3 .ms-icon-btn:focus-visible, .ui3 .ms-btn:focus-visible, .ui3 .ms-counter button:focus-visible, .ui3 .ms-nav:focus-visible, .ui3 .ms-link:focus-visible, .ui3 .ms-thumb:focus-visible, .ui3 .ms-add-slide:focus-visible { outline: none; box-shadow: var(--u-ring); }
.ui3 .ms-icon-btn { width: 32px; padding: 0; border-color: transparent; background: transparent; box-shadow: none; color: var(--u-ink-2); }
.ui3 .ms-btn:disabled, .ui3 .ms-counter button:disabled, .ui3 .ms-nav:disabled { opacity: 0.4; cursor: default; }
.ui3 .ms-btn.is-on { background: var(--u-accent-soft); border-color: var(--u-accent-line); color: var(--u-accent-ink); }
.ui3 .ms-btn-primary { border-color: transparent; background: var(--u-ink); color: var(--u-on-ink); box-shadow: none; }
.ui3 .ms-btn-primary:hover:not(:disabled) { border-color: transparent; background: var(--u-ink-2); }
.ui3 .ms-present-split { position: relative; display: inline-flex; }
.ui3 .ms-present-split .ms-btn-primary { background: var(--u-accent); color: var(--u-on-accent); }
.ui3 .ms-present-split .ms-btn-primary:hover:not(:disabled) { background: var(--u-accent-hover); }
.ui3 .ms-present-main { border-start-end-radius: 0; border-end-end-radius: 0; padding-inline-end: 10px; }
.ui3 .ms-present-caret { width: 28px; padding: 0; border-start-start-radius: 0; border-end-start-radius: 0; border-inline-start: 1px solid color-mix(in srgb, var(--u-on-accent) 30%, transparent); }
.ui3 .ms-menu > .ms-btn-primary { border-color: var(--u-line); background: var(--u-surface); color: var(--u-ink); box-shadow: var(--u-sh-xs); }
.ui3 .ms-menu > .ms-btn-primary:hover:not(:disabled) { background: var(--u-surface-2); border-color: var(--u-line-strong); }
.ui3 .ms-btn-ai { color: var(--u-accent-ink); }
.ui3 .ms-btn-ai .ms-i { color: var(--u-accent); }

/* Undo / slide counter */
.ui3 .ms-counter { display: flex; align-items: center; gap: 2px; flex: none; font-size: var(--u-t-sm); color: var(--u-ink-2); }
.ui3 .ms-counter button { width: 30px; height: 30px; padding: 0; border-color: transparent; background: transparent; box-shadow: none; color: var(--u-ink-2); }
.ui3 .ms-counter button:hover:not(:disabled) { border-color: transparent; color: var(--u-ink); }
.ui3 .ms-counter-sep { width: 1px; height: 18px; margin-inline: 6px; background: var(--u-line); }
.ui3 .ms-counter-pos { min-width: 52px; text-align: center; font-variant-numeric: tabular-nums; }

/* Menus */
.ui3 .ms-menu { position: relative; }
.ui3 .ms-menu-list {
  position: absolute; z-index: var(--u-z-menu); inset-block-start: calc(100% + 6px); inset-inline-end: 0;
  display: flex; flex-direction: column; min-width: 220px; padding: 4px;
  border-radius: var(--u-r-lg); background: var(--u-surface); box-shadow: var(--u-sh-lg);
  animation: u-pop var(--u-dur-2) var(--u-ease);
}
.ui3 .ms-menu-left { inset-inline-start: 0; inset-inline-end: auto; }
.ui3 .ms-present-flyout { min-width: 260px; }
.ui3 .ms-menu-list a, .ui3 .ms-menu-list button {
  display: flex; align-items: center; gap: 10px; width: 100%; min-height: 32px; padding: 6px 8px;
  border: 0; border-radius: var(--u-r-sm); background: none; font: inherit; font-size: var(--u-t-sm);
  color: var(--u-ink-2); text-align: start; text-decoration: none; cursor: pointer;
}
.ui3 .ms-menu-list a:hover, .ui3 .ms-menu-list button:hover, .ui3 .ms-menu-list a:focus-visible, .ui3 .ms-menu-list button:focus-visible { background: var(--u-surface-2); color: var(--u-ink); outline: none; }
.ui3 .ms-menu-list .ms-i { color: var(--u-ink-3); }
.ui3 .ms-menu-text { display: grid; gap: 2px; }
.ui3 .ms-menu-sub { font-size: var(--u-t-xs); font-weight: 400; color: var(--u-ink-3); }
.ui3 .ms-menu-caption { padding: 8px 8px 4px; font-size: var(--u-t-2xs); font-weight: 500; color: var(--u-ink-4); }
.ui3 .ms-menu-scroll { display: flex; flex-direction: column; max-height: 280px; overflow: auto; }
.ui3 .ms-menu-list .ms-menu-back { color: var(--u-ink-3); }

/* Toast */
.ui3 .ms-toast {
  position: absolute; z-index: var(--u-z-toast); inset-block-end: 24px; inset-inline: 0; width: max-content; max-width: calc(100% - 32px); margin-inline: auto;
  display: flex; align-items: center; gap: 12px; padding-block: 10px; padding-inline: 14px 12px;
  border-radius: var(--u-r-lg); background: var(--u-ink); color: var(--u-on-ink); font-size: var(--u-t-sm); box-shadow: var(--u-sh-lg);
  animation: u-rise var(--u-dur-3) var(--u-ease);
}
.ui3 .ms-toast-undo { padding: 0; border: 0; background: none; font: inherit; font-weight: 500; color: var(--u-accent-line); cursor: pointer; }

/* Body: rail, main, side panels */
.ui3 .ms-body { display: flex; flex: 1; min-height: 0; }
.ui3 .ms-rail { width: 200px; flex: none; overflow-y: auto; padding: 12px 10px; border-inline-end: 1px solid var(--u-line); background: var(--u-surface); }
.ui3 .ms-thumb-row { position: relative; margin-bottom: 8px; border-radius: var(--u-r-sm); }
.ui3 .ms-thumb-row.is-drop::before { content: ""; position: absolute; inset-block-start: -5px; inset-inline: 22px 0; height: 2px; border-radius: 2px; background: var(--u-accent); }
.ui3 .ms-thumb { display: flex; align-items: flex-start; gap: 6px; width: 100%; padding: 0; border: 0; border-radius: var(--u-r-sm); background: transparent; cursor: pointer; }
.ui3 .ms-thumb-num { width: 16px; flex: none; padding-top: 2px; font-size: var(--u-t-2xs); color: var(--u-ink-4); text-align: end; font-variant-numeric: tabular-nums; }
.ui3 .ms-thumb-frame { position: relative; flex: 1; aspect-ratio: 16 / 9; overflow: hidden; border-radius: var(--u-r-sm); background: var(--u-surface); box-shadow: 0 0 0 1px var(--u-line); pointer-events: none; transition: box-shadow var(--u-dur-1); }
.ui3 .ms-thumb:hover .ms-thumb-frame { box-shadow: 0 0 0 1px var(--u-line-strong); }
.ui3 .ms-thumb.active .ms-thumb-num { color: var(--u-ink); font-weight: 600; }
.ui3 .ms-thumb.active .ms-thumb-frame { box-shadow: 0 0 0 2px var(--u-accent); }
.ui3 .ms-thumb-actions { position: absolute; inset-block-end: 4px; inset-inline-end: 4px; display: none; gap: 1px; padding: 2px; border-radius: var(--u-r-sm); background: var(--u-surface); box-shadow: var(--u-sh-md); }
.ui3 .ms-thumb-row:hover .ms-thumb-actions, .ui3 .ms-thumb-row:focus-within .ms-thumb-actions { display: flex; }
.ui3 .ms-thumb-actions button { display: grid; place-items: center; width: 22px; height: 22px; padding: 0; border: 0; border-radius: var(--u-r-xs); background: none; color: var(--u-ink-2); cursor: pointer; }
.ui3 .ms-thumb-actions button:hover:not(:disabled) { background: var(--u-surface-2); color: var(--u-ink); }
.ui3 .ms-thumb-actions button:last-child:hover:not(:disabled) { background: var(--u-danger-soft); color: var(--u-danger); }
.ui3 .ms-thumb-actions button:disabled { opacity: 0.3; cursor: default; }
.ui3 .ms-add-slide { display: flex; align-items: center; justify-content: center; gap: 6px; width: calc(100% - 22px); height: 34px; margin-inline-start: 22px; border: 1px dashed var(--u-line-strong); border-radius: var(--u-r-md); background: transparent; font: 500 var(--u-t-xs)/1 var(--u-font); color: var(--u-ink-3); cursor: pointer; }
.ui3 .ms-add-slide:hover { border-color: var(--u-ink-4); background: var(--u-surface-2); color: var(--u-ink); }
.ui3 .ms-main { display: flex; flex: 1; flex-direction: column; min-width: 0; }

/* Inspector */
.ui3 .ms-inspector { display: flex; align-items: center; gap: 8px; flex: none; padding-block: 8px; padding-inline: 16px; border-bottom: 1px solid var(--u-line); background: var(--u-surface); }
.ui3 .ms-field-inline { display: flex; align-items: center; gap: 6px; height: 32px; padding-inline: 10px 4px; border: 1px solid var(--u-line); border-radius: var(--u-r-md); background: var(--u-surface); box-shadow: var(--u-sh-xs); font-size: var(--u-t-xs); color: var(--u-ink-3); }
.ui3 .ms-field-inline:focus-within { border-color: var(--u-accent); box-shadow: var(--u-ring); }
.ui3 .ms-field-inline select { max-width: 190px; height: 28px; padding-inline: 2px; border: 0; outline: 0; background: transparent; font: inherit; font-size: var(--u-t-sm); font-weight: 500; color: var(--u-ink); cursor: pointer; }
.ui3 .ms-field select { height: 32px; padding-inline: 8px; border: 1px solid var(--u-line); border-radius: var(--u-r-md); background: var(--u-surface); font: inherit; font-size: var(--u-t-sm); color: var(--u-ink); }
.ui3 .ms-inspector-hint { margin-inline-start: auto; font-size: var(--u-t-xs); color: var(--u-ink-4); white-space: nowrap; }

/* Canvas */
.ui3 .ms-canvas { position: relative; display: flex; align-items: center; justify-content: center; flex: 1; min-height: 0; padding: 20px 56px; background: var(--u-bg); }
.ui3 .ms-stage { width: 100%; height: 100%; max-width: 1280px; min-height: 0; }
.ui3 .ms-slide-host { position: relative; width: 100%; height: 100%; overflow: hidden; }
.ui3 [data-slide-dir="ltr"] .ms-slide-host { direction: ltr; }
.ui3 [data-slide-dir="rtl"] .ms-slide-host { direction: rtl; }
.ui3 .ms-slide-scale { border-radius: var(--u-r-xs); box-shadow: var(--u-sh-lg), 0 0 0 1px var(--u-line); }
.ui3 .ms-nav { position: absolute; z-index: 2; inset-block-start: 50%; width: 36px; height: 36px; margin-block-start: -18px; padding: 0; border-radius: 50%; color: var(--u-ink-2); }
.ui3 .ms-nav.prev { inset-inline-start: 12px; }
.ui3 .ms-nav.next { inset-inline-end: 12px; }
.ui3 .ms-slide-host.is-editing .ms-editable { border-radius: 6px; cursor: text; transition: box-shadow var(--u-dur-1), background var(--u-dur-1); }
.ui3 .ms-slide-host.is-editing .ms-editable:hover { box-shadow: 0 0 0 3px color-mix(in srgb, var(--u-accent) 30%, transparent); }
.ui3 .ms-slide-host.is-editing .ms-editable:focus { outline: none; box-shadow: 0 0 0 4px var(--u-accent); background: color-mix(in srgb, var(--u-accent) 5%, transparent); }
.ui3 .ms-editable:empty::before { content: attr(data-placeholder); opacity: 0.38; font-style: italic; pointer-events: none; }
.ui3 .ms-add-item { align-self: flex-start; display: inline-block; margin-top: 12px; padding: 8px 18px; border: 2px dashed color-mix(in srgb, var(--u-accent) 45%, transparent); border-radius: 12px; background: color-mix(in srgb, var(--u-accent) 6%, transparent); font-family: inherit; font-size: 22px; color: var(--u-accent); opacity: 0.75; cursor: pointer; }
.ui3 .ms-add-item:hover { opacity: 1; }

/* Speaker notes */
.ui3 .ms-notes { display: flex; flex-direction: column; flex: none; min-height: 0; border-top: 1px solid var(--u-line); background: var(--u-surface); }
.ui3 .ms-notes-resize { position: relative; height: 10px; flex: none; cursor: ns-resize; }
.ui3 .ms-notes-resize::after { content: ""; position: absolute; inset-block-start: 3px; inset-inline: 0; width: 36px; height: 3px; margin-inline: auto; border-radius: var(--u-r-pill); background: var(--u-line-strong); }
.ui3 .ms-notes-resize:hover::after { background: var(--u-ink-4); }
.ui3 .ms-notes-head { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding-block: 2px 6px; padding-inline: 16px; font-size: var(--u-t-xs); font-weight: 600; color: var(--u-ink-3); }
.ui3 .ms-notes textarea, .ui3 .ms-notes-body { flex: 1; min-height: 0; padding-block: 0 12px; padding-inline: 16px; overflow-y: auto; border: 0; outline: none; resize: none; background: transparent; font: inherit; font-size: var(--u-t-sm); line-height: 1.55; color: var(--u-ink-2); }
.ui3 .ms-notes textarea::placeholder { color: var(--u-ink-4); }

/* Data and references panels */
.ui3 .ms-side-panel, .ui3 .ms-refs { flex: none; overflow-y: auto; border-inline-start: 1px solid var(--u-line); background: var(--u-surface); animation: u-fade var(--u-dur-2) var(--u-ease); }
.ui3 .ms-side-panel { width: 380px; }
.ui3 .ms-refs { width: 320px; padding-block: 8px 12px; }
.ui3 .ms-side-panel > .ms-notes-head, .ui3 .ms-refs > .ms-notes-head { position: sticky; z-index: 1; inset-block-start: 0; min-height: 48px; padding-block: 0; border-bottom: 1px solid var(--u-line); margin-bottom: 12px; background: var(--u-surface); font-size: var(--u-t-sm); color: var(--u-ink); }
.ui3 .ms-refs > .ms-notes-head { margin-block-start: -8px; }
.ui3 .ms-ref { margin: 0 12px 8px; padding: 10px 12px; border: 1px solid var(--u-line); border-radius: var(--u-r-md); }
.ui3 .ms-ref-title { font-size: var(--u-t-sm); font-weight: 500; line-height: 1.4; color: var(--u-ink); }
.ui3 .ms-ref-meta { margin-top: 4px; font-size: var(--u-t-xs); color: var(--u-ink-3); }
.ui3 .ms-data { display: flex; flex-direction: column; gap: 12px; padding: 0 16px 16px; }
.ui3 .ms-data-note { padding: 8px 10px; border-radius: var(--u-r-md); background: var(--u-warn-soft); font-size: var(--u-t-xs); line-height: 1.45; color: var(--u-warn); }
.ui3 .ms-field { display: flex; flex-direction: column; gap: 6px; font-size: var(--u-t-xs); font-weight: 500; color: var(--u-ink-2); }
.ui3 .ms-cell { width: 100%; min-width: 64px; height: 30px; padding-inline: 8px; border: 1px solid var(--u-line); border-radius: var(--u-r-sm); background: var(--u-surface); font: inherit; font-size: var(--u-t-sm); color: var(--u-ink); transition: border-color var(--u-dur-1), box-shadow var(--u-dur-1); }
.ui3 .ms-cell:focus { outline: none; border-color: var(--u-accent); box-shadow: var(--u-ring); }
.ui3 .ms-grid-wrap { overflow-x: auto; }
.ui3 .ms-grid { border-collapse: separate; border-spacing: 4px; }
.ui3 .ms-grid th, .ui3 .ms-grid td { position: relative; vertical-align: top; }
.ui3 .ms-grid th { font-weight: 500; }
.ui3 .ms-grid td:has(> .ms-x) { display: flex; align-items: center; gap: 2px; }
.ui3 .ms-x { display: inline-grid; place-items: center; width: 20px; height: 20px; padding: 0; border: 0; border-radius: var(--u-r-xs); background: none; color: var(--u-ink-4); cursor: pointer; }
.ui3 .ms-x:hover { background: var(--u-danger-soft); color: var(--u-danger); }
.ui3 .ms-grid th .ms-x { position: absolute; inset-block-start: -9px; inset-inline-end: -6px; background: var(--u-surface); box-shadow: var(--u-sh-xs); }
.ui3 .ms-stat-row { display: flex; align-items: center; gap: 6px; }
.ui3 .ms-data-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.ui3 .ms-data-actions .ms-btn { height: 28px; padding: 0 10px; font-size: var(--u-t-xs); }
.ui3 .ms-empty { padding: 48px 24px; font-size: var(--u-t-sm); color: var(--u-ink-3); }

/* Present mode (in-page full screen) */
.ui3 .ms-present { position: fixed; z-index: var(--u-z-overlay); inset: 0; display: flex; align-items: center; justify-content: center; background: var(--u-stage-bg); animation: u-fade var(--u-dur-2) var(--u-ease); }
.ui3 .ms-present-stage { width: min(94vw, calc(94vh * 16 / 9)); height: min(94vh, calc(94vw * 9 / 16)); }
.ui3 .ms-present .ms-slide-scale { border-radius: 0; box-shadow: none; }
.ui3 .ms-present-count { position: fixed; inset-block-end: 20px; inset-inline: 0; width: max-content; margin-inline: auto; padding: 4px 12px; border-radius: var(--u-r-pill); background: var(--u-stage-chip); font-size: var(--u-t-sm); color: var(--u-on-stage); font-variant-numeric: tabular-nums; }
.ui3 .ms-present-close { position: fixed; z-index: 1; inset-block-start: 16px; inset-inline-end: 16px; display: grid; place-items: center; width: 36px; height: 36px; border: 0; border-radius: 50%; background: var(--u-stage-chip); color: var(--u-on-stage); cursor: pointer; opacity: 0.7; transition: opacity var(--u-dur-1); }
.ui3 .ms-present-close:hover, .ui3 .ms-present-close:focus-visible { opacity: 1; outline: none; }
.ui3 .ms-present-zone { position: fixed; inset-block: 0; width: 30%; }
.ui3 .ms-present-zone.left { inset-inline-start: 0; }
.ui3 .ms-present-zone.right { inset-inline-end: 0; }
.ui3[dir="rtl"] .ms-present-zone.left { inset-inline-start: auto; inset-inline-end: 0; }
.ui3[dir="rtl"] .ms-present-zone.right { inset-inline-end: auto; inset-inline-start: 0; }

/* Presenter window */
.ui3 .ms-presenter .ms-toolbar { justify-content: space-between; }
.ui3 .ms-timer { padding: 4px 10px; border-radius: var(--u-r-pill); background: var(--u-surface-2); font-size: var(--u-t-md); font-weight: 600; font-variant-numeric: tabular-nums; }
.ui3 .ms-presenter .ms-counter span { min-width: 52px; text-align: center; font-variant-numeric: tabular-nums; }
.ui3 .ms-presenter-grid { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); gap: 16px; flex: 1; min-height: 0; padding: 16px; background: var(--u-bg); }
.ui3 .ms-presenter-current { min-height: 0; overflow: hidden; border-radius: var(--u-r-lg); }
.ui3 .ms-presenter-side { display: flex; flex-direction: column; gap: 16px; min-height: 0; }
.ui3 .ms-presenter-next, .ui3 .ms-presenter-notes { display: flex; flex-direction: column; flex: 1; min-height: 0; overflow: hidden; padding-block-start: 10px; border: 1px solid var(--u-line); border-radius: var(--u-r-lg); background: var(--u-surface); }
.ui3 .ms-presenter-next .ms-slide-host { flex: 1; min-height: 0; margin: 0 12px 12px; }
.ui3 .ms-presenter-notes .ms-notes-body { font-size: var(--u-t-md); color: var(--u-ink); white-space: pre-wrap; }

@media (max-width: 1180px) {
  .ui3 .ms-inspector-hint { display: none; }
  .ui3 .ms-meta .ms-classic-link { display: none; }
}
@media (max-width: 899px) {
  .ui3 .ms-rail { display: none; }
  .ui3 .ms-counter-sep, .ui3 .ms-counter button:nth-child(-n+2) { display: none; }
  .ui3 .ms-inspector { overflow-x: auto; }
  .ui3 .ms-canvas { padding: 12px; }
  .ui3 .ms-nav { display: none; }
  .ui3 .ms-side-panel, .ui3 .ms-refs { position: absolute; z-index: var(--u-z-menu); inset-block: 0; inset-inline-end: 0; width: min(380px, 100%); box-shadow: var(--u-sh-lg); }
  .ui3 .ms-body { position: relative; }
  .ui3 .ms-presenter-grid { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 699px) {
  .ui3 .ms-toolbar { flex-wrap: wrap; row-gap: 6px; }
  .ui3 .ms-toolbar-left { flex: 1 1 100%; }
  .ui3 .ms-meta { display: none; }
}

/* ---------- Research helper ---------- */
.ui3 .u-rh { position: relative; flex: 1; min-height: 0; display: grid; grid-template-columns: minmax(0, 1fr) 280px; }
.ui3 .u-rh__stage { grid-column: 1; grid-row: 1; position: relative; display: flex; flex-direction: column; min-width: 0; min-height: 0; }
.ui3 .u-rh__top { gap: 12px; }
.ui3 .u-rh__titlewrap { display: flex; align-items: baseline; gap: 10px; min-width: 0; }
.ui3 .u-rh__title { margin: 0; font-size: var(--u-t-base); font-weight: 600; color: var(--u-ink); white-space: nowrap; }
.ui3 .u-rh__sub { font-size: var(--u-t-xs); color: var(--u-ink-4); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ui3 .u-rh__stepper { margin-inline-start: 12px; }
.ui3 .u-rh__stepper .u-stepper__step { font-size: var(--u-t-xs); }
.ui3 .u-rh__stepper .u-stepper__step + .u-stepper__step::before { width: 16px; }
.ui3 .u-rh__stepper .u-stepper__dot { width: 20px; height: 20px; }
.ui3 .u-rh__scroll { flex: 1; min-height: 0; overflow-y: auto; }
.ui3 .u-rh__screen { padding-block: 32px 64px; padding-inline: 32px; animation: u-fade var(--u-dur-2) var(--u-ease); }
.ui3 .u-rh__screen[hidden] { display: none; }
.ui3 .u-rh__screen--hero { padding-block-start: 7vh; }
.ui3 .u-rh__narrow { max-width: 720px; margin-inline: auto; }
.ui3 .u-rh__kicker { display: block; margin: 0 0 8px; font-size: var(--u-t-xs); font-weight: 600; letter-spacing: 0.02em; color: var(--u-accent-ink); }
.ui3 .u-rh__h1 { margin: 0; font-size: var(--u-t-3xl); font-weight: 600; letter-spacing: -0.03em; line-height: 1.15; color: var(--u-ink); }
.ui3 .u-rh__h2 { margin: 0; font-size: var(--u-t-xl); font-weight: 600; letter-spacing: -0.02em; color: var(--u-ink); }
.ui3 .u-rh__lead { margin: 10px 0 24px; max-width: 580px; font-size: var(--u-t-md); line-height: 1.5; color: var(--u-ink-3); }
.ui3 .u-rh__muted { margin: 0; font-size: var(--u-t-sm); line-height: 1.5; color: var(--u-ink-3); }
.ui3 .u-rh__busy { display: flex; align-items: center; gap: 10px; }
.ui3 .u-rh__block { margin-block-start: 28px; }
.ui3 .u-rh__block > .u-label { display: block; margin-block-end: 10px; }
.ui3 .u-rh__chips { display: flex; flex-wrap: wrap; gap: 6px; }
.ui3 .u-rh__chips .u-chip { height: 30px; color: var(--u-ink-2); }
[dir="rtl"].ui3 .u-rh__fwd, [dir="rtl"].ui3 .u-rh__back { transform: scaleX(-1); }

/* Composer */
.ui3 .u-rh__composer .u-composer__input { min-height: 104px; }
.ui3 .u-rh__composerrow { flex-wrap: wrap; padding-block: 8px 10px; padding-inline: 14px 10px; border-top: 1px solid var(--u-line); }
.ui3 .u-rh__toggle { display: inline-flex; align-items: center; gap: 10px; cursor: pointer; min-width: 0; }
.ui3 .u-rh__toggle > span { display: grid; gap: 1px; min-width: 0; }
.ui3 .u-rh__togglelabel { font-size: var(--u-t-sm); color: var(--u-ink-2); }
.ui3 .u-rh__togglehint { font-size: var(--u-t-2xs); color: var(--u-ink-4); }
.ui3 .u-rh__count { margin-inline-start: auto; font-size: var(--u-t-xs); color: var(--u-ink-4); font-variant-numeric: tabular-nums; }
.ui3 .u-rh__count.is-ok { color: var(--u-accent-ink); }
.ui3 .u-rh__error { margin: 10px 0 0; font-size: var(--u-t-sm); color: var(--u-danger); }
.ui3 .u-rh__error[hidden] { display: none; }
.ui3 .u-rh__hint { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; margin: 12px 0 0; font-size: var(--u-t-xs); color: var(--u-ink-4); }
.ui3 .u-rh__continue { display: grid; gap: 6px; }
.ui3 .u-rh__continue .u-rh__hitem { border: 1px solid var(--u-line); background: var(--u-surface); box-shadow: var(--u-sh-xs); }
.ui3 .u-rh__continue .u-rh__hitem:hover { border-color: var(--u-line-strong); background: var(--u-surface); }
.ui3 .u-rh__continue .u-rh__hlink { padding-block: 10px; padding-inline: 12px; }
.ui3 .u-rh__how { list-style: none; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 36px 0 0; padding: 20px 0 0; border-top: 1px solid var(--u-line); }
.ui3 .u-rh__how li { display: grid; gap: 4px; align-content: start; font-size: var(--u-t-sm); color: var(--u-ink-3); line-height: 1.45; }
.ui3 .u-rh__how strong { font-weight: 600; color: var(--u-ink); }
.ui3 .u-rh__hownum { width: 22px; height: 22px; margin-block-end: 6px; border-radius: 50%; display: grid; place-items: center; background: var(--u-surface-2); font-size: var(--u-t-2xs); font-weight: 600; color: var(--u-ink-3); }

/* Analyzing */
.ui3 .u-rh__skel { display: grid; gap: 12px; }
.ui3 .u-rh__sk1 { width: 28%; height: 10px; }
.ui3 .u-rh__sk2 { width: 88%; height: 20px; }
.ui3 .u-rh__sk3 { width: 70%; height: 20px; }
.ui3 .u-rh__sk4 { width: 40%; height: 10px; margin-block-start: 8px; }
.ui3 .u-rh__skelchips { display: flex; gap: 8px; }
.ui3 .u-rh__skelchips .u-skeleton { width: 104px; height: 30px; border-radius: var(--u-r-pill); }
.ui3 .u-rh__skel .u-rh__busy { margin-block-start: 10px; }

/* Refine */
.ui3 .u-rh__refine { overflow: hidden; }
.ui3 .u-rh__section { display: grid; gap: 10px; padding: 20px 22px; }
.ui3 .u-rh__section + .u-rh__section { border-top: 1px solid var(--u-line); }
.ui3 .u-rh__section > .u-rh__kicker { margin: 0; }
.ui3 .u-rh__focus { min-height: 72px; resize: none; font-size: var(--u-t-md); font-weight: 500; line-height: 1.45; }
.ui3 .u-rh__constraints { gap: 14px; background: var(--u-surface-2); }
.ui3 .u-rh__cgroup { display: grid; grid-template-columns: 120px minmax(0, 1fr); align-items: start; gap: 12px; }
.ui3 .u-rh__clabel { padding-block-start: 7px; font-size: var(--u-t-xs); font-weight: 500; color: var(--u-ink-3); }
.ui3 .u-rh__opt { background: var(--u-surface); }
.ui3 .u-rh__opt:focus-visible { outline: none; box-shadow: var(--u-ring); }
.ui3 .u-rh__opt.is-on { background: var(--u-ink); border-color: var(--u-ink); color: var(--u-on-ink); }
.ui3 .u-rh__optmark { display: none; }
.ui3 .u-rh__opt.is-on .u-rh__optmark { display: inline-grid; }
.ui3 .u-rh__questions { gap: 18px; }
.ui3 .u-rh__questions:empty { display: none; }
.ui3 .u-rh__optional { align-items: flex-start; }
.ui3 .u-rh__optional .u-i { margin-block-start: 2px; flex: none; }
.ui3 .u-rh__q { display: grid; gap: 8px; }
.ui3 .u-rh__qtext { margin: 0; font-size: var(--u-t-sm); font-weight: 600; color: var(--u-ink); }
.ui3 .u-rh__req { color: var(--u-danger); }
.ui3 .u-rh__qinput { height: 38px; width: 100%; font-size: var(--u-t-sm); color: var(--u-ink); }
.ui3 .u-rh__clear { display: flex; gap: 12px; align-items: flex-start; color: var(--u-ink-3); font-size: var(--u-t-sm); }
.ui3 .u-rh__clear > .u-i { color: var(--u-accent); margin-block-start: 2px; flex: none; }
.ui3 .u-rh__clear p { margin: 0; }
.ui3 .u-rh__clear strong { color: var(--u-ink); font-weight: 600; }
.ui3 .u-rh__foot { display: flex; align-items: center; gap: 10px; padding: 14px 22px; border-top: 1px solid var(--u-line); background: var(--u-surface-2); }
.ui3 .u-rh__foothint { margin-inline-start: auto; }

/* Strategy */
.ui3 .u-rh__strategy { border-top: 1px solid var(--u-line); }
.ui3 .u-rh__strategy[hidden] { display: none; }
.ui3 .u-rh__strategy details > summary { display: flex; align-items: center; gap: 8px; min-height: 48px; padding-inline: 22px 14px; list-style: none; cursor: pointer; font-size: var(--u-t-sm); font-weight: 500; color: var(--u-ink); }
.ui3 .u-rh__strategy details > summary::-webkit-details-marker { display: none; }
.ui3 .u-rh__strategy details > summary:focus-visible { outline: none; box-shadow: inset var(--u-ring); }
.ui3 .u-rh__caret { color: var(--u-ink-4); transition: transform var(--u-dur-2) var(--u-ease); }
.ui3 .u-rh__strategy details[open] .u-rh__caret { transform: rotate(90deg); }
[dir="rtl"].ui3 .u-rh__caret { transform: scaleX(-1); }
[dir="rtl"].ui3 .u-rh__strategy details[open] .u-rh__caret { transform: rotate(90deg); }
.ui3 .u-rh__stratactions { display: inline-flex; gap: 2px; margin-inline-start: auto; }
.ui3 .u-rh__stratbody { display: grid; gap: 8px; padding-block: 0 16px; padding-inline: 46px 22px; }
.ui3 .u-rh__stale { display: flex; align-items: center; gap: 6px; color: var(--u-warn); }
.ui3 .u-rh__terms { margin: 0; padding-inline-start: 18px; display: grid; gap: 6px; font-size: var(--u-t-xs); color: var(--u-ink-4); }
.ui3 .u-rh__terms code { display: block; padding: 8px 10px; border-radius: var(--u-r-md); background: var(--u-surface-2); font: 400 var(--u-t-xs)/1.55 var(--u-mono); color: var(--u-ink-2); overflow-wrap: anywhere; text-align: start; }
.ui3 .u-rh__strategy--compact { border: 1px solid var(--u-line); border-radius: var(--u-r-lg); }
.ui3 .u-rh__strategy--compact details > summary { min-height: 40px; padding-inline: 12px 6px; }
.ui3 .u-rh__strategy--compact .u-rh__stratbody { padding-inline: 34px 12px; padding-block-end: 12px; }

/* Searching */
.ui3 .u-rh__proc { padding: 36px 32px 28px; text-align: center; }
.ui3 .u-rh__proc .u-rh__lead { margin-inline: auto; margin-block: 8px 20px; font-size: var(--u-t-base); }
.ui3 .u-rh__indet { position: relative; max-width: 360px; height: 3px; margin: 0 auto 24px; border-radius: var(--u-r-pill); background: var(--u-surface-3); overflow: hidden; }
.ui3 .u-rh__indet > span { position: absolute; inset-block: 0; width: 36%; border-radius: var(--u-r-pill); background: var(--u-accent); animation: u-indeterminate 1.4s var(--u-ease) infinite; }
.ui3 .u-rh__stages { list-style: none; display: grid; gap: 2px; max-width: 400px; margin: 0 auto 18px; padding: 0; text-align: start; }
.ui3 .u-rh__stages[hidden] { display: none; }
.ui3 .u-rh__pstage { display: flex; align-items: center; gap: 10px; padding-block: 6px; padding-inline: 10px; border-radius: var(--u-r-md); font-size: var(--u-t-sm); color: var(--u-ink-4); }
.ui3 .u-rh__pstage.is-done { color: var(--u-ink-3); }
.ui3 .u-rh__pstage.is-current { color: var(--u-ink); font-weight: 500; background: var(--u-surface-2); }
.ui3 .u-rh__stagemark { width: 18px; height: 18px; flex: none; display: grid; place-items: center; border-radius: 50%; }
.ui3 .u-rh__stagemark > span:empty:not(.u-spinner) { width: 6px; height: 6px; border-radius: 50%; background: var(--u-line-strong); }
.ui3 .u-rh__pstage.is-done .u-rh__stagemark { background: var(--u-accent-soft); color: var(--u-accent-ink); }
.ui3 .u-rh__pstage.is-done .u-i { width: 12px; height: 12px; stroke-width: 2.5; }
.ui3 .u-rh__pstage .u-spinner { width: 14px; height: 14px; border-top-color: var(--u-accent); }
.ui3 .u-rh__funnel { margin: 0 0 6px; font-size: var(--u-t-xs); color: var(--u-ink-3); font-variant-numeric: tabular-nums; }
.ui3 .u-rh__funnel:empty { display: none; }
.ui3 .u-rh__times { display: inline-flex; align-items: center; gap: 8px; font-size: var(--u-t-xs); font-variant-numeric: tabular-nums; }
.ui3 .u-rh__times > span:empty, .ui3 .u-rh__times > span:empty + .u-meta__sep, .ui3 .u-rh__times > .u-meta__sep:has(+ span:empty) { display: none; }
.ui3 .u-rh__leave { margin-block-start: 24px; justify-content: center; text-align: start; }
.ui3 .u-rh__leave .u-i { flex: none; margin-block-start: 2px; }

/* Review */
.ui3 .u-rh__results { max-width: 1040px; margin-inline: auto; padding-block-end: 112px; }
.ui3 .u-rh__rhead { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; }
.ui3 .u-rh__rcopy { min-width: 0; }
.ui3 .u-rh__rtitle { margin: 0 0 8px; font-size: var(--u-t-2xl); font-weight: 600; letter-spacing: -0.025em; line-height: 1.25; color: var(--u-ink); }
.ui3 .u-rh__rtitle:empty { width: 60%; height: 28px; border-radius: var(--u-r-xs); background: var(--u-surface-2); }
.ui3 .u-rh__num { font-weight: 600; color: var(--u-ink-2); font-variant-numeric: tabular-nums; }
.ui3 .u-rh__ractions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 6px; flex: none; }
.ui3 .u-rh__context { display: grid; grid-template-columns: minmax(0, 1fr); gap: 10px; margin-block-start: 14px; }
.ui3 .u-rh__ctxchips { display: flex; flex-wrap: wrap; gap: 6px; }
.ui3 .u-rh__ctxchips:empty { display: none; }
.ui3 .u-rh__relaxed { margin-block-start: 12px; }
.ui3 .u-rh__relaxed[hidden] { display: none; }

.ui3 .u-rh__synth { margin-block-start: 22px; padding: 18px 20px 14px; border: 1px solid var(--u-accent-line); border-radius: var(--u-r-lg); background: linear-gradient(180deg, var(--u-accent-soft), transparent 140px), var(--u-surface); }
.ui3 .u-rh__synth.is-error { border-color: var(--u-line); background: var(--u-surface); }
.ui3 .u-rh__synth[hidden] { display: none; }
.ui3 .u-rh__synthhead { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; margin-block-end: 12px; }
.ui3 .u-rh__synthtitle { display: inline-flex; align-items: center; gap: 6px; margin: 0; font-size: var(--u-t-sm); font-weight: 600; color: var(--u-accent-ink); }
.ui3 .u-rh__tabs[hidden] { display: none; }
.ui3 .u-rh__slist { margin: 0; padding-inline-start: 20px; display: grid; gap: 10px; }
.ui3 .u-rh__slist[hidden] { display: none; }
.ui3 .u-rh__sitem { padding-inline-start: 4px; font-family: var(--u-font-read); font-size: 15.5px; line-height: 1.65; color: var(--u-ink-2); }
.ui3 .u-rh__sitem::marker { color: var(--u-ink-4); font-family: var(--u-font); font-size: var(--u-t-xs); }
.ui3 .u-rh__sitem strong, .ui3 .u-rh__dcited strong { font-weight: 600; color: var(--u-ink); }
.ui3 .u-rh__sitem .inline-ref { border-style: solid; cursor: pointer; }
.ui3 .u-rh__synthskel { display: grid; gap: 10px; margin-block-end: 12px; }
.ui3 .u-rh__synthskel .u-skeleton { height: 12px; }
.ui3 .u-rh__synthskel .u-skeleton:nth-child(1) { width: 30%; }
.ui3 .u-rh__synthskel .u-skeleton:nth-child(3) { width: 92%; }
.ui3 .u-rh__synthskel .u-skeleton:nth-child(4) { width: 78%; }
.ui3 .u-rh__synthbody .u-callout p { margin: 0; }
.ui3 .u-rh__synthbody .u-callout .u-i { flex: none; margin-block-start: 2px; }
.ui3 .u-rh__synthnote { margin: 14px 0 0; font-size: var(--u-t-2xs); color: var(--u-ink-4); }

.ui3 .u-rh__tools { position: sticky; top: 0; z-index: 2; display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-block-start: 22px; padding-block: 12px; background: var(--u-surface); border-bottom: 1px solid var(--u-line); }
.ui3 .u-rh__rsearch { width: 220px; }
.ui3 .u-rh__sel { height: 32px; font-size: var(--u-t-xs); }
.ui3 .u-rh__check { display: inline-flex; align-items: center; gap: 6px; height: 32px; padding-inline: 10px; border: 1px solid var(--u-line); border-radius: var(--u-r-md); font-size: var(--u-t-xs); color: var(--u-ink-2); cursor: pointer; white-space: nowrap; }
.ui3 .u-rh__check:has(input:checked) { border-color: var(--u-accent-line); background: var(--u-accent-soft); color: var(--u-accent-ink); }
.ui3 .u-rh__check input { accent-color: var(--u-accent); margin: 0; }
.ui3 .u-rh__sort { display: inline-flex; align-items: center; gap: 6px; font-size: var(--u-t-xs); color: var(--u-ink-3); }
.ui3 .u-rh__showing { display: flex; align-items: center; gap: 8px; min-height: 40px; font-size: var(--u-t-xs); color: var(--u-ink-3); font-variant-numeric: tabular-nums; }
.ui3 .u-rh__kbdhint { color: var(--u-ink-4); }

.ui3 .u-rh__papers { display: grid; }
.ui3 .u-rh__pskel { display: grid; gap: 12px; padding-block: 12px; }
.ui3 .u-rh__pskel .u-skeleton { height: 88px; border-radius: var(--u-r-lg); }
.ui3 .u-rh__paper {
  position: relative; display: grid; grid-template-columns: 20px 22px minmax(0, 1fr); gap: 12px;
  padding-block: 16px; padding-inline: 12px; margin-inline: -12px; border-radius: var(--u-r-lg);
  transition: background var(--u-dur-1) var(--u-ease); animation: u-fade var(--u-dur-2) var(--u-ease);
}
.ui3 .u-rh__paper + .u-rh__paper::before { content: ""; position: absolute; top: 0; inset-inline: 12px; height: 1px; background: var(--u-line); }
.ui3 .u-rh__paper:hover, .ui3 .u-rh__paper.is-focused, .ui3 .u-rh__paper.is-open { background: var(--u-surface-2); }
.ui3 .u-rh__paper:hover::before, .ui3 .u-rh__paper:hover + .u-rh__paper::before, .ui3 .u-rh__paper.is-focused::before, .ui3 .u-rh__paper.is-focused + .u-rh__paper::before, .ui3 .u-rh__paper.is-open::before, .ui3 .u-rh__paper.is-open + .u-rh__paper::before { opacity: 0; }
.ui3 .u-rh__paper.is-focused { box-shadow: inset 2px 0 0 var(--u-accent); }
[dir="rtl"].ui3 .u-rh__paper.is-focused { box-shadow: inset -2px 0 0 var(--u-accent); }
.ui3 .u-rh__paper.is-selected { background: var(--u-accent-soft); }
.ui3 .u-rh__pick { padding-block-start: 2px; cursor: pointer; }
.ui3 .u-rh__pick input { width: 15px; height: 15px; margin: 0; accent-color: var(--u-accent); cursor: pointer; }
.ui3 .u-rh__rank { padding-block-start: 2px; font-size: var(--u-t-xs); font-weight: 500; color: var(--u-ink-4); text-align: end; font-variant-numeric: tabular-nums; }
.ui3 .u-rh__pbody { min-width: 0; display: grid; gap: 6px; }
.ui3 .u-rh__ptop { display: flex; align-items: flex-start; gap: 12px; }
.ui3 .u-rh__ptitle { flex: 1; min-width: 0; margin: 0; font-size: var(--u-t-base); font-weight: 600; line-height: 1.4; letter-spacing: -0.01em; }
.ui3 .u-rh__ptitle button { padding: 0; border: 0; background: none; font: inherit; color: var(--u-ink); text-align: start; cursor: pointer; }
.ui3 .u-rh__ptitle button:hover { color: var(--u-accent-ink); }
.ui3 .u-rh__ptitle button:focus-visible { outline: none; box-shadow: var(--u-ring); border-radius: var(--u-r-xs); }
.ui3 .u-rh__pactions { display: flex; gap: 2px; flex: none; margin-block-start: -4px; opacity: 0; transition: opacity var(--u-dur-1); }
.ui3 .u-rh__paper:hover .u-rh__pactions, .ui3 .u-rh__paper:focus-within .u-rh__pactions, .ui3 .u-rh__paper.is-focused .u-rh__pactions { opacity: 1; }
.ui3 .u-rh__pmeta { margin: 0; font-size: var(--u-t-xs); color: var(--u-ink-3); line-height: 1.5; }
.ui3 .u-rh__why { display: flex; align-items: flex-start; gap: 6px; margin: 0; font-size: var(--u-t-xs); line-height: 1.5; color: var(--u-ink-2); }
.ui3 .u-rh__why > .u-i { flex: none; margin-block-start: 2px; color: var(--u-accent); }
.ui3 .u-rh__badges { display: flex; flex-wrap: wrap; gap: 4px; }
.ui3 .u-rh__badges .u-badge { height: 20px; padding: 0 7px; font-size: var(--u-t-2xs); gap: 4px; }
.ui3 .u-rh__abs { margin: 2px 0 0; font-family: var(--u-font-read); font-size: var(--u-t-sm); line-height: 1.6; color: var(--u-ink-3); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.ui3 .u-rh__abs.is-open { display: block; -webkit-line-clamp: unset; }
.ui3 .u-rh__more { justify-self: start; padding: 0; border: 0; background: none; font: 500 var(--u-t-xs)/1.4 var(--u-font); color: var(--u-ink-3); cursor: pointer; }
.ui3 .u-rh__more:hover { color: var(--u-ink); text-decoration: underline; text-underline-offset: 2px; }
.ui3 .u-rh__more:focus-visible { outline: none; box-shadow: var(--u-ring); border-radius: var(--u-r-xs); }

.ui3 .u-rh__bulk {
  position: absolute; inset-block-end: 20px; inset-inline-start: 50%; transform: translateX(-50%); z-index: var(--u-z-menu);
  display: flex; align-items: center; gap: 4px; padding-block: 6px; padding-inline: 14px 6px;
  border-radius: var(--u-r-pill); background: var(--u-ink); color: var(--u-on-ink); box-shadow: var(--u-sh-lg);
  animation: u-rise var(--u-dur-2) var(--u-ease);
}
[dir="rtl"].ui3 .u-rh__bulk { transform: translateX(50%); }
.ui3 .u-rh__bulk[hidden] { display: none; }
.ui3 .u-rh__bulk .u-btn { color: var(--u-on-ink); }
.ui3 .u-rh__bulk .u-btn:hover { background: color-mix(in srgb, var(--u-on-ink) 14%, transparent); }
.ui3 .u-rh__bulk .u-topbar__sep { background: color-mix(in srgb, var(--u-on-ink) 24%, transparent); }
.ui3 .u-rh__bulkcount { padding-inline-end: 6px; font-size: var(--u-t-sm); font-weight: 500; white-space: nowrap; font-variant-numeric: tabular-nums; }
.ui3 .u-rh__err { max-width: 520px; margin-inline: auto; }

/* History rail */
.ui3 .u-rh__hist { grid-column: 2; grid-row: 1; display: flex; flex-direction: column; min-height: 0; border-inline-start: 1px solid var(--u-line); background: var(--u-bg); }
.ui3 .u-rh__histtop { display: flex; align-items: center; justify-content: space-between; min-height: 52px; padding-inline: 16px 10px; border-bottom: 1px solid var(--u-line); }
.ui3 .u-rh__histtitle { margin: 0; font-size: var(--u-t-sm); font-weight: 600; color: var(--u-ink); }
.ui3 .u-rh__histclose { display: none; }
.ui3 .u-rh__histsearch { padding: 10px 12px 4px; }
.ui3 .u-rh__histsearch .u-input { height: 32px; }
.ui3 .u-rh__histlist { flex: 1; min-height: 0; overflow-y: auto; padding-block: 0 12px; padding-inline: 8px; }
.ui3 .u-rh__histmore { padding: 0 12px 12px; }
.ui3 .u-rh__histmore:has([hidden]) { display: none; }
.ui3 .u-rh__hgroup { margin: 0; padding-block: 14px 4px; padding-inline: 8px; font-size: 11.5px; font-weight: 500; color: var(--u-ink-4); }
.ui3 .u-rh__hitem { position: relative; display: flex; align-items: flex-start; border-radius: var(--u-r-md); transition: background var(--u-dur-1); }
.ui3 .u-rh__hitem:hover { background: var(--u-surface-3); }
.ui3 .u-rh__hitem.is-on { background: var(--u-surface); box-shadow: var(--u-sh-sm); }
.ui3 .u-rh__hlink { flex: 1; min-width: 0; display: grid; gap: 4px; padding-block: 8px; padding-inline: 8px; border: 0; border-radius: var(--u-r-md); background: none; font: inherit; text-align: start; cursor: pointer; }
.ui3 .u-rh__hlink:focus-visible { outline: none; box-shadow: var(--u-ring); }
.ui3 .u-rh__hq { font-size: var(--u-t-sm); line-height: 1.4; color: var(--u-ink-2); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.ui3 .u-rh__hitem:hover .u-rh__hq, .ui3 .u-rh__hitem.is-on .u-rh__hq { color: var(--u-ink); }
.ui3 .u-rh__hmeta { display: flex; align-items: center; gap: 6px; font-size: var(--u-t-2xs); color: var(--u-ink-4); font-variant-numeric: tabular-nums; }
.ui3 .u-rh__dot { width: 6px; height: 6px; border-radius: 50%; flex: none; background: var(--u-ink-4); }
.ui3 .u-rh__dot[data-status="completed"] { background: var(--u-accent); }
.ui3 .u-rh__dot[data-status="processing"] { background: var(--u-info); animation: u-pulse 1.4s var(--u-ease) infinite; }
.ui3 .u-rh__dot[data-status="failed"] { background: var(--u-danger); }
.ui3 .u-rh__hdel { flex: none; width: 26px; height: 26px; margin-block-start: 6px; margin-inline-end: 4px; border: 0; border-radius: var(--u-r-sm); background: none; display: grid; place-items: center; color: var(--u-ink-4); cursor: pointer; opacity: 0; transition: opacity var(--u-dur-1), background var(--u-dur-1), color var(--u-dur-1); }
.ui3 .u-rh__hitem:hover .u-rh__hdel, .ui3 .u-rh__hitem:focus-within .u-rh__hdel { opacity: 1; }
.ui3 .u-rh__hdel:hover { background: var(--u-danger-soft); color: var(--u-danger); }
.ui3 .u-rh__hdel:focus-visible { opacity: 1; outline: none; box-shadow: var(--u-ring); }
.ui3 .u-rh__hempty { display: grid; justify-items: center; gap: 4px; padding: 36px 16px; text-align: center; font-size: var(--u-t-sm); color: var(--u-ink-3); }
.ui3 .u-rh__hempty .u-i { margin-block-end: 6px; color: var(--u-ink-4); }
.ui3 .u-rh__hempty p { margin: 0; }
.ui3 .u-rh__hempty strong { color: var(--u-ink-2); font-weight: 500; }
.ui3 .u-rh__scrim, .ui3 .u-rh__dscrim { display: none; }
.ui3 .u-rh.is-rail-collapsed { grid-template-columns: minmax(0, 1fr); }
.ui3 .u-rh.is-rail-collapsed .u-rh__hist { display: none; }

/* Paper drawer */
.ui3 .u-rh__drawer { grid-column: 2; grid-row: 1; display: flex; flex-direction: column; min-height: 0; min-width: 0; border-inline-start: 1px solid var(--u-line); background: var(--u-surface); animation: u-fade var(--u-dur-2) var(--u-ease); }
.ui3 .u-rh__drawer[hidden] { display: none; }
.ui3 .u-rh.is-drawer-open { grid-template-columns: minmax(0, 1fr) 440px; }
.ui3 .u-rh.is-drawer-open .u-rh__hist { display: none; }
.ui3 .u-rh__drawerhead { display: flex; align-items: center; gap: 2px; min-height: 52px; padding-inline: 10px; border-bottom: 1px solid var(--u-line); }
.ui3 .u-rh__dpos { margin-inline-start: 6px; font-size: var(--u-t-xs); color: var(--u-ink-4); font-variant-numeric: tabular-nums; }
.ui3 .u-rh__drawerbody { flex: 1; min-height: 0; overflow-y: auto; display: grid; align-content: start; gap: 14px; padding: 20px 22px 32px; }
.ui3 .u-rh__dtitle { margin: 0; font-size: var(--u-t-lg); font-weight: 600; letter-spacing: -0.015em; line-height: 1.35; color: var(--u-ink); }
.ui3 .u-rh__dlinks { display: flex; flex-wrap: wrap; gap: 6px; }
.ui3 .u-rh__dabs { margin: 0; font-family: var(--u-font-read); font-size: 15px; line-height: 1.7; color: var(--u-ink-2); }
.ui3 .u-rh__dsec { display: grid; gap: 10px; padding-block-start: 14px; border-top: 1px solid var(--u-line); }
.ui3 .u-rh__dsechead { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.ui3 .u-rh__dsechead .u-label { margin: 0; }
.ui3 .u-rh__cite { margin: 0; padding: 10px 12px; border-radius: var(--u-r-md); background: var(--u-surface-2); font-size: var(--u-t-xs); line-height: 1.6; color: var(--u-ink-2); text-align: start; overflow-wrap: anywhere; }
.ui3 .u-rh__dcited { margin: 0; padding-inline-start: 18px; display: grid; gap: 8px; font-size: var(--u-t-sm); line-height: 1.55; color: var(--u-ink-2); }

@media (max-width: 1279px) {
  .ui3 .u-rh.is-drawer-open { grid-template-columns: minmax(0, 1fr) 280px; }
  .ui3 .u-rh.is-drawer-open .u-rh__hist { display: flex; }
  .ui3 .u-rh.is-drawer-open.is-rail-collapsed { grid-template-columns: minmax(0, 1fr); }
  .ui3 .u-rh.is-drawer-open.is-rail-collapsed .u-rh__hist { display: none; }
  .ui3 .u-rh__drawer { position: absolute; inset-block: 0; inset-inline-end: 0; z-index: var(--u-z-overlay); width: min(480px, 94vw); box-shadow: var(--u-sh-lg); border: 0; animation: u-rise var(--u-dur-2) var(--u-ease); }
  .ui3 .u-rh__dscrim:not([hidden]) { display: block; position: absolute; inset: 0; z-index: calc(var(--u-z-overlay) - 1); background: var(--u-scrim); }
  .ui3 .u-rh__steplabel { display: none; }
  .ui3 .u-rh__sub { display: none; }
}
@media (max-width: 1099px) {
  .ui3 .u-rh, .ui3 .u-rh.is-drawer-open { grid-template-columns: minmax(0, 1fr); }
  .ui3 .u-rh .u-rh__hist, .ui3 .u-rh.is-drawer-open .u-rh__hist, .ui3 .u-rh.is-rail-collapsed .u-rh__hist {
    display: flex; position: absolute; inset-block: 0; inset-inline-end: 0; z-index: var(--u-z-overlay); width: min(300px, 86vw);
    box-shadow: var(--u-sh-lg); transform: translateX(105%); visibility: hidden;
    transition: transform var(--u-dur-2) var(--u-ease), visibility 0s linear var(--u-dur-2);
  }
  [dir="rtl"].ui3 .u-rh .u-rh__hist { transform: translateX(-105%); }
  .ui3 .u-rh.is-hist-open .u-rh__hist { transform: none; visibility: visible; transition: transform var(--u-dur-2) var(--u-ease); }
  .ui3 .u-rh__histclose { display: inline-flex; }
  .ui3 .u-rh__scrim:not([hidden]) { display: block; position: absolute; inset: 0; z-index: calc(var(--u-z-overlay) - 1); background: var(--u-scrim); }
  .ui3 .u-rh__kbdhint { display: none; }
}
@media (max-width: 899px) {
  .ui3 .u-rh__stepper { display: none; }
  .ui3 .u-rh__rhead { flex-direction: column; }
  .ui3 .u-rh__ractions { justify-content: flex-start; }
}
@media (max-width: 699px) {
  .ui3 .u-rh__screen { padding-inline: 16px; padding-block: 20px 48px; }
  .ui3 .u-rh__screen--hero { padding-block-start: 20px; }
  .ui3 .u-rh__h1 { font-size: var(--u-t-2xl); }
  .ui3 .u-rh__how { grid-template-columns: minmax(0, 1fr); }
  .ui3 .u-rh__cgroup { grid-template-columns: minmax(0, 1fr); gap: 6px; }
  .ui3 .u-rh__clabel { padding: 0; }
  .ui3 .u-rh__section, .ui3 .u-rh__foot { padding-inline: 16px; }
  .ui3 .u-rh__foothint, .ui3 .u-rh__hint .u-kbd { display: none; }
  .ui3 .u-rh__proc { padding-inline: 18px; }
  .ui3 .u-rh__rsearch { width: 100%; }
  .ui3 .u-rh__strategy--compact details > summary { flex-wrap: wrap; row-gap: 0; padding-block: 4px; }
  .ui3 .u-rh__strategy--compact .u-rh__stratactions { margin-inline-start: 0; inline-size: 100%; }
  .ui3 .u-rh__tabs { max-inline-size: 100%; overflow-x: auto; scrollbar-width: none; }
  .ui3 .u-rh__tabs > button { white-space: nowrap; flex: none; }
  .ui3 .u-rh__tools { position: static; }
  .ui3 .u-rh__paper { grid-template-columns: 20px minmax(0, 1fr); }
  .ui3 .u-rh__rank { display: none; }
  .ui3 .u-rh__pactions { opacity: 1; }
  .ui3 .u-rh__top [data-rh-new] > span { display: none; }
  .ui3 .u-rh__bulk { inset-inline: 12px; transform: none; overflow-x: auto; }
  [dir="rtl"].ui3 .u-rh__bulk { transform: none; }
}
@media (hover: none) {
  .ui3 .u-rh__hdel, .ui3 .u-rh__pactions { opacity: 1; }
}

/* ---------- AI notes ---------- */
.ui3 .u-nt__hero { display: grid; justify-items: center; gap: 14px; padding-block: 32px 8px; text-align: center; }
.ui3 .u-nt__heroicon { display: grid; place-items: center; width: 56px; height: 56px; border-radius: var(--u-r-xl); background: var(--u-accent-soft); color: var(--u-accent-ink); margin-block-end: 4px; }
.ui3 .u-nt__lead { max-width: 560px; margin: 0; font-size: var(--u-t-md); color: var(--u-ink-3); }
.ui3 .u-nt__entries { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; width: 100%; max-width: 880px; margin-block-start: 24px; text-align: start; }
.ui3 .u-nt__entry { display: grid; align-content: start; gap: 6px; padding: 18px; color: inherit; text-decoration: none; font: inherit; text-align: start; cursor: pointer; }
.ui3 .u-nt__entry--primary { border-color: var(--u-accent-line); }
.ui3 .u-nt__entryicon { display: grid; place-items: center; width: 34px; height: 34px; margin-block-end: 4px; border-radius: var(--u-r-md); background: var(--u-surface-2); color: var(--u-ink-2); }
.ui3 .u-nt__entryicon--rec { background: color-mix(in srgb, var(--u-rec) 12%, transparent); color: var(--u-rec); }
.ui3 .u-nt__how { width: 100%; max-width: 880px; margin-block-start: 28px; text-align: start; }
.ui3 .u-nt__how > .u-label { margin-block-end: 10px; text-align: center; }
.ui3 .u-nt__steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 0; padding: 0; list-style: none; }
.ui3 .u-nt__steps li { display: flex; gap: 12px; align-items: flex-start; padding: 14px; border-radius: var(--u-r-lg); background: var(--u-surface-2); }
.ui3 .u-nt__steps li div { display: grid; gap: 2px; font-size: var(--u-t-sm); }
.ui3 .u-nt__steps li strong { font-weight: 600; color: var(--u-ink); }
.ui3 .u-nt__steps li span:not(.u-nt__stepn) { color: var(--u-ink-3); font-size: var(--u-t-xs); line-height: 1.45; }
.ui3 .u-nt__stepn { flex: none; display: grid; place-items: center; width: 22px; height: 22px; border-radius: 50%; background: var(--u-surface); color: var(--u-ink-2); font-size: var(--u-t-2xs); font-weight: 600; box-shadow: var(--u-sh-xs); }

.ui3 .u-nt__toolbar { margin-block-end: 20px; }
.ui3 .u-nt__tagbtn.is-on { background: var(--u-accent-soft); color: var(--u-accent-ink); border-color: var(--u-accent-line); }
.ui3 .u-nt__tagbtn span { max-inline-size: 160px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ui3 .u-nt__tagmenu { max-block-size: 320px; overflow-y: auto; min-inline-size: 200px; }
.ui3 .u-nt__tagmenu .is-on { color: var(--u-ink); font-weight: 500; }
.ui3 .u-nt__search { inline-size: 260px; }
.ui3 .u-nt__search input { flex: 1; min-width: 0; }
.ui3 .u-nt__group { margin-block-end: 28px; }
.ui3 .u-nt__grouptitle { margin-block-end: 10px; }
.ui3 .u-nt__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 12px; }
.ui3 .u-nt__more { display: flex; justify-content: center; padding-block: 8px 24px; }

.ui3 .u-ntc { position: relative; display: flex; flex-direction: column; gap: 6px; min-height: 132px; padding: 14px 16px; cursor: pointer; transition: opacity var(--u-dur-2) var(--u-ease), transform var(--u-dur-2) var(--u-ease), border-color var(--u-dur-1) var(--u-ease); }
.ui3 .u-ntc.is-leaving { opacity: 0; transform: scale(0.97); }
.ui3 .u-ntc--error { border-color: color-mix(in srgb, var(--u-danger) 35%, transparent); }
.ui3 .u-ntc__meta { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; padding-inline-end: 28px; font-size: var(--u-t-xs); color: var(--u-ink-4); }
.ui3 .u-ntc__src { display: inline-flex; align-items: center; gap: 4px; color: var(--u-ink-3); }
.ui3 .u-ntc__dur { font-variant-numeric: tabular-nums; }
.ui3 .u-ntc__status { display: inline-flex; align-items: center; gap: 5px; }
.ui3 .u-ntc__spin { width: 10px; height: 10px; border-width: 1.5px; border-color: color-mix(in srgb, currentColor 30%, transparent); border-top-color: currentColor; }
.ui3 .u-ntc__title { margin: 0; font-size: var(--u-t-base); font-weight: 600; line-height: 1.35; color: var(--u-ink); display: -webkit-box; -webkit-line-clamp: 1; -webkit-box-orient: vertical; overflow: hidden; }
.ui3 .u-ntc__link { color: inherit; text-decoration: none; }
.ui3 .u-ntc__link:focus-visible { outline: none; }
.ui3 .u-ntc:has(.u-ntc__link:focus-visible) { box-shadow: var(--u-ring); }
.ui3 .u-ntc__snip { margin: 0; font-size: var(--u-t-sm); line-height: 1.5; color: var(--u-ink-3); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.ui3 .u-ntc__snip--error { color: var(--u-danger); }
.ui3 .u-ntc__more { display: inline-flex; align-items: center; gap: 4px; font-size: var(--u-t-xs); font-weight: 500; color: var(--u-accent-ink); }
.ui3 .u-ntc__tags { display: flex; flex-wrap: wrap; align-items: center; gap: 4px; margin-block-start: auto; padding-block-start: 4px; }
.ui3 .u-ntc__moretags { font-size: var(--u-t-2xs); color: var(--u-ink-4); }
.ui3 .u-ntc__menu { position: absolute; inset-block-start: 8px; inset-inline-end: 8px; opacity: 0; transition: opacity var(--u-dur-1) var(--u-ease); }
.ui3 .u-ntc:hover .u-ntc__menu, .ui3 .u-ntc__menu:focus-visible, .ui3 .u-ntc__menu[aria-expanded="true"] { opacity: 1; }

.ui3 .u-nt__rows { display: grid; gap: 2px; }
.ui3 .u-nt__row { display: flex; align-items: center; gap: 12px; padding: 10px 12px; border-radius: var(--u-r-md); color: inherit; text-decoration: none; }
.ui3 .u-nt__row:hover, .ui3 .u-nt__row:focus-visible { background: var(--u-surface-2); outline: none; }
.ui3 .u-nt__rowicon { flex: none; display: grid; place-items: center; width: 30px; height: 30px; border-radius: var(--u-r-md); background: var(--u-surface-2); color: var(--u-ink-3); }
.ui3 .u-nt__rowmain { flex: 1; min-width: 0; display: grid; gap: 2px; }
.ui3 .u-nt__rowtitle { font-size: var(--u-t-sm); font-weight: 500; color: var(--u-ink); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ui3 .u-nt__rowsnip { font-size: var(--u-t-xs); color: var(--u-ink-3); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ui3 .u-nt__rowdate { flex: none; font-size: var(--u-t-xs); color: var(--u-ink-4); }

.ui3 .u-nt__drop { position: fixed; inset: 0; z-index: var(--u-z-overlay); display: grid; place-items: center; padding: 24px; background: color-mix(in srgb, var(--u-surface) 80%, transparent); backdrop-filter: blur(2px); pointer-events: none; animation: u-fade var(--u-dur-1) var(--u-ease); }
.ui3 .u-nt__drop[hidden] { display: none; }
.ui3 .u-nt__dropcard { display: grid; justify-items: center; gap: 10px; padding: 40px 56px; border: 2px dashed var(--u-accent-line); border-radius: var(--u-r-xl); background: var(--u-surface); color: var(--u-accent-ink); font-weight: 500; box-shadow: var(--u-sh-lg); }
.ui3 .u-nt__busy .u-dialog__body { display: grid; justify-items: center; gap: 6px; padding-block: 28px; text-align: center; }
.ui3 .u-nt__busyspin { width: 28px; height: 28px; border-width: 2.5px; margin-block-end: 8px; border-top-color: var(--u-accent); }

/* Write */
.ui3 .u-ntw { display: flex; flex-direction: column; min-height: 100%; }
.ui3 .u-ntw__bar { position: sticky; inset-block-start: 0; z-index: 5; }
.ui3 .u-ntw__count { font-size: var(--u-t-xs); color: var(--u-ink-4); font-variant-numeric: tabular-nums; }
.ui3 .u-ntw__paper { inline-size: 100%; max-width: 760px; margin-inline: auto; padding-block: 40px 80px; padding-inline: 32px; }
.ui3 .u-ntw__title { display: block; inline-size: 100%; margin-block-end: 16px; padding: 0; border: 0; outline: 0; background: none; font: inherit; font-size: var(--u-t-2xl); font-weight: 600; letter-spacing: -0.02em; color: var(--u-ink); }
.ui3 .u-ntw__title::placeholder, .ui3 .u-ntw__body::placeholder { color: var(--u-ink-4); }
.ui3 .u-ntw__body { display: block; inline-size: 100%; min-height: 320px; padding: 0; border: 0; outline: 0; resize: none; background: none; font-family: var(--u-font-read); font-size: var(--u-t-read); line-height: 1.7; color: var(--u-ink); }
.ui3 .u-ntw__error { margin-block-start: 12px; font-size: var(--u-t-sm); color: var(--u-danger); }

/* Record */
.ui3 .u-ntr { display: flex; flex-direction: column; min-height: 100%; }
.ui3 .u-ntr__bar { position: sticky; inset-block-start: 0; z-index: 5; }
.ui3 .u-ntr__status { display: inline-flex; align-items: center; gap: 6px; background: color-mix(in srgb, var(--u-rec) 12%, transparent); color: var(--u-rec); }
.ui3 .u-ntr[data-state="paused"] .u-ntr__status { background: var(--u-warn-soft); color: var(--u-warn); }
.ui3 .u-ntr__dot { width: 7px; height: 7px; border-radius: 50%; background: currentColor; animation: u-pulse 1.4s var(--u-ease) infinite; }
.ui3 .u-ntr[data-state="paused"] .u-ntr__dot { animation: none; }
.ui3 .u-ntr__stage { flex: 1; display: grid; justify-items: center; align-content: center; gap: 10px; padding-block: 40px 24px; padding-inline: 24px; text-align: center; }
.ui3 .u-ntr__meter { display: flex; align-items: center; justify-content: center; gap: 3px; block-size: 72px; inline-size: min(420px, 100%); margin-block-end: 8px; }
.ui3 .u-ntr__meter span { flex: 1; max-inline-size: 5px; block-size: 100%; border-radius: var(--u-r-pill); background: var(--u-line-strong); transform: scaleY(0.08); transition: transform 90ms linear, background var(--u-dur-2) var(--u-ease); }
.ui3 .u-ntr[data-state="recording"] .u-ntr__meter span { background: color-mix(in srgb, var(--u-rec) 55%, var(--u-line-strong)); }
.ui3 .u-ntr[data-state="recording"][data-loud] .u-ntr__meter span { background: var(--u-rec); }
.ui3 .u-ntr__timer { display: flex; align-items: baseline; gap: 8px; font-family: var(--u-mono); font-variant-numeric: tabular-nums; }
.ui3 .u-ntr__timer > span:first-child { font-size: 56px; font-weight: 500; letter-spacing: -0.02em; line-height: 1; color: var(--u-ink); }
.ui3 .u-ntr__max { font-size: var(--u-t-sm); color: var(--u-ink-4); }
.ui3 .u-ntr[data-tone="warning"] .u-ntr__timer > span:first-child { color: var(--u-warn); }
.ui3 .u-ntr[data-tone="danger"] .u-ntr__timer > span:first-child { color: var(--u-danger); }
.ui3 .u-ntr__progress { inline-size: min(320px, 100%); block-size: 4px; border-radius: var(--u-r-pill); background: var(--u-surface-3); overflow: hidden; }
.ui3 .u-ntr__progress span { display: block; block-size: 100%; inline-size: 0; background: var(--u-ink-3); transition: inline-size 250ms linear; }
.ui3 .u-ntr[data-tone="warning"] .u-ntr__progress span { background: var(--u-warn); }
.ui3 .u-ntr[data-tone="danger"] .u-ntr__progress span { background: var(--u-danger); }
.ui3 .u-ntr__help { margin: 4px 0 0; font-size: var(--u-t-sm); color: var(--u-ink-3); min-block-size: 1.5em; }
.ui3 .u-ntr[data-state="failed"] .u-ntr__help { color: var(--u-danger); }
.ui3 .u-ntr__controls { display: flex; align-items: flex-start; justify-content: center; gap: 28px; margin-block-start: 18px; }
.ui3 .u-ntr__ctl { display: grid; justify-items: center; gap: 8px; min-inline-size: 72px; }
.ui3 .u-ntr__ctllabel { font-size: var(--u-t-xs); color: var(--u-ink-3); }
.ui3 .u-ntr__side { display: grid; place-items: center; width: 48px; height: 48px; margin-block-start: 12px; border-radius: 50%; border: 1px solid var(--u-line-strong); background: var(--u-surface); color: var(--u-ink-2); cursor: pointer; transition: background var(--u-dur-1) var(--u-ease), opacity var(--u-dur-1) var(--u-ease); }
.ui3 .u-ntr__side:hover:not(:disabled) { background: var(--u-surface-2); }
.ui3 .u-ntr__side:disabled { opacity: 0.35; cursor: default; }
.ui3 .u-ntr__side:focus-visible, .ui3 .u-ntr__main:focus-visible { outline: none; box-shadow: var(--u-ring); }
.ui3 .u-ntr__main { position: relative; display: grid; place-items: center; width: 72px; height: 72px; border-radius: 50%; border: 0; background: var(--u-rec); color: var(--u-on-accent); cursor: pointer; box-shadow: 0 8px 24px color-mix(in srgb, var(--u-rec) 35%, transparent); transition: transform var(--u-dur-1) var(--u-ease), box-shadow var(--u-dur-2) var(--u-ease); }
.ui3 .u-ntr__main:hover:not(:disabled) { transform: scale(1.04); }
.ui3 .u-ntr__main:disabled { opacity: 0.6; cursor: progress; }
.ui3 .u-ntr__main::before { content: ""; position: absolute; inset: -8px; border-radius: 50%; border: 2px solid color-mix(in srgb, var(--u-rec) 30%, transparent); opacity: 0; transition: opacity var(--u-dur-2) var(--u-ease), transform var(--u-dur-2) var(--u-ease); }
.ui3 .u-ntr[data-state="recording"][data-loud] .u-ntr__main::before { opacity: 1; transform: scale(1.08); }
.ui3 .u-ntr__stopsq { display: none; width: 22px; height: 22px; border-radius: 5px; background: currentColor; }
.ui3 .u-ntr[data-state="recording"] .u-ntr__main [data-ntr-icon], .ui3 .u-ntr[data-state="paused"] .u-ntr__main [data-ntr-icon] { display: none; }
.ui3 .u-ntr__main [data-ntr-icon="retry"], .ui3 .u-ntr[data-state="failed"] .u-ntr__main [data-ntr-icon="mic"] { display: none; }
.ui3 .u-ntr[data-state="failed"] .u-ntr__main [data-ntr-icon="retry"] { display: block; }
.ui3 .u-ntr[data-state="recording"] .u-ntr__stopsq, .ui3 .u-ntr[data-state="paused"] .u-ntr__stopsq { display: block; }
.ui3 .u-ntr__keys { margin: 14px 0 0; font-size: var(--u-t-xs); color: var(--u-ink-4); }
.ui3 .u-ntr__opts { inline-size: min(520px, calc(100% - 48px)); margin-inline: auto; margin-block-end: 40px; padding-block: 4px; padding-inline: 0; }
.ui3 .u-ntr__opt { display: flex; align-items: center; gap: 12px; padding-block: 12px; padding-inline: 16px; }
.ui3 .u-ntr__opt + .u-ntr__opt { border-top: 1px solid var(--u-line); }
.ui3 .u-ntr__opticon { flex: none; display: grid; place-items: center; width: 32px; height: 32px; border-radius: var(--u-r-md); background: var(--u-surface-2); color: var(--u-ink-3); }
.ui3 .u-ntr__opttext { flex: 1; min-width: 0; display: grid; gap: 1px; }
.ui3 .u-ntr__optname { font-size: var(--u-t-sm); font-weight: 500; color: var(--u-ink); }
.ui3 .u-ntr__opthint { font-size: var(--u-t-xs); color: var(--u-ink-3); }
.ui3 .u-ntr__privacy { display: grid; justify-items: center; gap: 8px; padding-block-start: 24px; text-align: center; }
.ui3 .u-ntr__privicon { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; background: var(--u-accent-soft); color: var(--u-accent-ink); }
.ui3 .u-ntr__privbtns { display: grid; gap: 8px; inline-size: 100%; margin-block-start: 8px; }
.ui3 .u-ntr__privbtns .u-btn { justify-content: center; }
.ui3 .u-ntr__privnote { margin: 0; font-size: var(--u-t-xs); color: var(--u-ink-4); }

/* Detail */
.ui3 .u-ntd__state { max-width: 560px; margin-inline: auto; padding-block: 24px 64px; padding-inline: 24px; }
.ui3 .u-ntd__stateback { margin-block-end: 48px; }
.ui3 .u-ntd__progress { display: grid; justify-items: center; gap: 8px; padding: 36px 32px 28px; text-align: center; }
.ui3 .u-ntd__wave { display: flex; align-items: center; gap: 4px; block-size: 40px; margin-block-end: 8px; }
.ui3 .u-ntd__wave span { inline-size: 4px; block-size: 100%; border-radius: var(--u-r-pill); background: var(--u-accent); animation: u-ntd-wave 1.1s var(--u-ease) infinite; transform-origin: center; }
.ui3 .u-ntd__wave span:nth-child(2) { animation-delay: -0.9s; }
.ui3 .u-ntd__wave span:nth-child(3) { animation-delay: -0.75s; }
.ui3 .u-ntd__wave span:nth-child(4) { animation-delay: -0.6s; }
.ui3 .u-ntd__wave span:nth-child(5) { animation-delay: -0.45s; }
.ui3 .u-ntd__wave span:nth-child(6) { animation-delay: -0.3s; }
.ui3 .u-ntd__wave span:nth-child(7) { animation-delay: -0.15s; }
@keyframes u-ntd-wave { 0%, 100% { transform: scaleY(0.25); } 50% { transform: scaleY(1); } }
.ui3 .u-ntd__dur { display: inline-flex; align-items: center; gap: 6px; margin: 0 0 14px; }
.ui3 .u-ntd__pbar { inline-size: 100%; block-size: 6px; border-radius: var(--u-r-pill); background: var(--u-surface-3); overflow: hidden; }
.ui3 .u-ntd__pbar span { display: block; block-size: 100%; inline-size: 0; border-radius: inherit; background: var(--u-accent); transition: inline-size 900ms linear; }
.ui3 .u-ntd__stage { display: flex; justify-content: space-between; gap: 12px; inline-size: 100%; font-size: var(--u-t-xs); color: var(--u-ink-3); }
.ui3 .u-ntd__stage span:last-child { color: var(--u-ink-4); font-variant-numeric: tabular-nums; }
.ui3 .u-ntd__erricon { background: var(--u-danger-soft); color: var(--u-danger); }

.ui3 .u-ntd, .ui3 .u-ntd__panel, .ui3 .u-ntd__gallery {
  --u-ntd-panel: 380px;
  --u-spk-0: var(--u-accent); --u-spk-1: var(--u-info); --u-spk-2: color-mix(in srgb, var(--u-info) 55%, var(--u-rec));
  --u-spk-3: var(--u-warn); --u-spk-4: var(--u-danger); --u-spk-5: color-mix(in srgb, var(--u-rec) 60%, var(--u-warn));
}
.ui3 .u-ntd { transition: padding var(--u-dur-2) var(--u-ease); }
.ui3 .u-ntd__bar { position: sticky; inset-block-start: 0; z-index: 5; gap: 6px; }
.ui3 .u-ntd__saved { font-size: var(--u-t-xs); color: var(--u-ink-4); }
.ui3 .u-ntd__saved[data-tone="danger"] { color: var(--u-danger); }
.ui3 .u-ntd__tools { display: flex; align-items: center; gap: 4px; }
.ui3 .u-ntd__count { display: inline-grid; place-items: center; min-inline-size: 18px; block-size: 18px; padding-inline: 5px; border-radius: var(--u-r-pill); background: var(--u-surface-3); color: var(--u-ink-2); font-size: var(--u-t-2xs); font-weight: 600; }
.ui3 [data-ntd-panel][aria-expanded="true"]:not(.u-btn--primary) { background: var(--u-surface-2); color: var(--u-ink); }
.ui3 .u-ntd__doc { max-width: 760px; margin-inline: auto; padding-block: 28px 96px; padding-inline: 32px; }
.ui3 .u-ntd__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin-block-end: 10px; font-size: var(--u-t-xs); color: var(--u-ink-4); }
.ui3 .u-ntd__meta .u-tag { display: inline-flex; align-items: center; gap: 4px; }
.ui3 .u-ntd__title { display: block; inline-size: 100%; margin-block-end: 14px; padding: 0; border: 0; outline: 0; resize: none; overflow: hidden; background: none; font: inherit; font-size: var(--u-t-2xl); font-weight: 600; letter-spacing: -0.02em; line-height: 1.25; color: var(--u-ink); }
.ui3 .u-ntd__title::placeholder { color: var(--u-ink-4); }
.ui3 .u-ntd__title:focus-visible { box-shadow: none; }
.ui3 .u-ntd__player { display: flex; align-items: center; gap: 10px; margin-block-end: 14px; padding-block: 8px; padding-inline: 8px 10px; border: 1px solid var(--u-line); border-radius: var(--u-r-pill); background: var(--u-surface-2); }
.ui3 .u-ntd__play { flex: none; display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; border: 0; background: var(--u-ink); color: var(--u-on-ink); cursor: pointer; }
.ui3 .u-ntd__play:focus-visible { outline: none; box-shadow: var(--u-ring); }
.ui3 .u-ntd__time { flex: none; min-inline-size: 36px; font-size: var(--u-t-xs); color: var(--u-ink-3); font-variant-numeric: tabular-nums; text-align: center; }
.ui3 .u-ntd__seek { flex: 1; min-width: 0; block-size: 4px; margin: 0; border-radius: var(--u-r-pill); appearance: none; -webkit-appearance: none; cursor: pointer; background: linear-gradient(to right, var(--u-ink-2) var(--u-ntd-seek, 0%), var(--u-line-strong) var(--u-ntd-seek, 0%)); }
.ui3 .u-ntd__seek::-webkit-slider-thumb { -webkit-appearance: none; width: 12px; height: 12px; border-radius: 50%; background: var(--u-ink); border: 2px solid var(--u-surface); box-shadow: var(--u-sh-sm); }
.ui3 .u-ntd__seek::-moz-range-thumb { width: 12px; height: 12px; border-radius: 50%; background: var(--u-ink); border: 2px solid var(--u-surface); }
.ui3 .u-ntd__seek:focus-visible { outline: none; box-shadow: var(--u-ring); }
.ui3 .u-ntd__rate { flex: none; min-inline-size: 40px; font-variant-numeric: tabular-nums; }
.ui3 .u-ntd__tags { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin-block-end: 16px; }
.ui3 .u-ntd__taglist { display: contents; }
.ui3 .u-ntd__tag { display: inline-flex; align-items: center; gap: 4px; padding-inline-end: 4px; cursor: default; }
.ui3 .u-ntd__tagx { display: grid; place-items: center; width: 18px; height: 18px; padding: 0; border: 0; border-radius: 50%; background: none; color: var(--u-ink-4); cursor: pointer; }
.ui3 .u-ntd__tagx:hover { background: var(--u-surface-3); color: var(--u-danger); }
.ui3 .u-ntd__tagx:focus-visible { outline: none; box-shadow: var(--u-ring); }
.ui3 .u-ntd__tagform { display: inline-flex; align-items: center; gap: 6px; }
.ui3 .u-ntd__tagform[hidden] { display: none; }
.ui3 .u-ntd__taginput { block-size: 28px; inline-size: 200px; padding-inline: 10px; border: 1px solid var(--u-line-strong); border-radius: var(--u-r-pill); background: var(--u-surface); font: inherit; font-size: var(--u-t-xs); color: var(--u-ink); outline: 0; }
.ui3 .u-ntd__taginput:focus { border-color: var(--u-accent-line); box-shadow: var(--u-ring); }
.ui3 .u-ntd__previewbar { display: flex; align-items: center; gap: 8px; margin-block-end: 12px; }
.ui3 .u-ntd__previewbar[hidden] { display: none; }
.ui3 .u-ntd__content { position: relative; padding: 6px 24px 24px; min-block-size: 200px; }
.ui3 .u-ntd__contenthead { display: flex; align-items: center; gap: 8px; min-block-size: 48px; margin-block-end: 6px; border-bottom: 1px solid var(--u-line); }
.ui3 .u-ntd__view > button { display: inline-flex; align-items: center; gap: 6px; }
.ui3 .u-ntd__md { font-family: var(--u-font-read); font-size: var(--u-t-read); line-height: 1.7; color: var(--u-ink); cursor: text; border-radius: var(--u-r-sm); padding-block-start: 10px; overflow-wrap: anywhere; }
.ui3 .u-ntd__md:focus-visible { outline: none; box-shadow: var(--u-ring); }
.ui3 .u-ntd__md > :first-child { margin-block-start: 0; }
.ui3 .u-ntd__md p { margin-block: 0 14px; }
.ui3 .u-ntd__md h1, .ui3 .u-ntd__md h2, .ui3 .u-ntd__md h3, .ui3 .u-ntd__md h4 { margin-block: 22px 8px; font-family: var(--u-font); font-weight: 600; letter-spacing: -0.012em; line-height: 1.3; color: var(--u-ink); }
.ui3 .u-ntd__md h1 { font-size: var(--u-t-xl); }
.ui3 .u-ntd__md h2 { font-size: var(--u-t-lg); }
.ui3 .u-ntd__md h3, .ui3 .u-ntd__md h4 { font-size: var(--u-t-md); }
.ui3 .u-ntd__md ul, .ui3 .u-ntd__md ol { margin-block: 0 14px; padding-inline-start: 22px; }
.ui3 .u-ntd__md ul { list-style: disc; }
.ui3 .u-ntd__md ol { list-style: decimal; }
.ui3 .u-ntd__md li { margin-block-end: 4px; }
.ui3 .u-ntd__md strong { font-weight: 600; }
.ui3 .u-ntd__md a { color: var(--u-accent-ink); text-decoration: underline; text-underline-offset: 2px; }
.ui3 .u-ntd__md blockquote { margin-block: 0 14px; margin-inline: 0; padding-inline-start: 14px; border-inline-start: 3px solid var(--u-line-strong); color: var(--u-ink-3); }
.ui3 .u-ntd__md hr { border: 0; border-top: 1px solid var(--u-line); margin-block: 20px; }
.ui3 .u-ntd__md code { padding: 1px 5px; border-radius: var(--u-r-xs); background: var(--u-surface-2); font-family: var(--u-mono); font-size: 0.88em; }
.ui3 .u-ntd__md table { display: block; max-width: 100%; overflow-x: auto; border-collapse: collapse; margin-block: 4px 16px; font-family: var(--u-font); font-size: var(--u-t-sm); }
.ui3 .u-ntd__md th, .ui3 .u-ntd__md td { padding-block: 6px; padding-inline: 10px; border: 1px solid var(--u-line); text-align: start; }
.ui3 .u-ntd__md th { background: var(--u-surface-2); font-weight: 600; }
.ui3 .u-ntd__editor { display: block; inline-size: 100%; min-block-size: 240px; margin-block-start: 10px; padding: 12px; border: 1px solid var(--u-accent-line); border-radius: var(--u-r-md); outline: 0; resize: vertical; background: var(--u-surface); box-shadow: var(--u-ring); font-family: var(--u-mono); font-size: var(--u-t-sm); line-height: 1.65; color: var(--u-ink); }
.ui3 .u-ntd__editor[hidden] { display: none; }

.ui3 .u-ntd__spk, .ui3 .u-ntd__seg { --u-spk: var(--u-ink-4); margin-block: 0 10px; padding-block: 6px; padding-inline: 14px 4px; border-inline-start: 3px solid var(--u-spk); border-start-end-radius: var(--u-r-sm); border-end-end-radius: var(--u-r-sm); }
.ui3 .u-ntd__spk--0, .ui3 .u-ntd__seg--0 { --u-spk: var(--u-spk-0); }
.ui3 .u-ntd__spk--1, .ui3 .u-ntd__seg--1 { --u-spk: var(--u-spk-1); }
.ui3 .u-ntd__spk--2, .ui3 .u-ntd__seg--2 { --u-spk: var(--u-spk-2); }
.ui3 .u-ntd__spk--3, .ui3 .u-ntd__seg--3 { --u-spk: var(--u-spk-3); }
.ui3 .u-ntd__spk--4, .ui3 .u-ntd__seg--4 { --u-spk: var(--u-spk-4); }
.ui3 .u-ntd__spk--5 { --u-spk: var(--u-spk-5); }
.ui3 .u-ntd__spkname, .ui3 .u-ntd__segwho { display: block; margin-block-end: 2px; font-family: var(--u-font); font-size: var(--u-t-2xs); font-weight: 600; letter-spacing: 0.02em; color: var(--u-spk); }
.ui3 .u-ntd__segments { margin: 0; padding: 10px 0 0; list-style: none; }
.ui3 .u-ntd__segments[hidden] { display: none; }
.ui3 .u-ntd__seg:hover { background: color-mix(in srgb, var(--u-spk) 6%, transparent); }
.ui3 .u-ntd__seghead { display: flex; align-items: center; gap: 8px; margin-block-end: 2px; }
.ui3 .u-ntd__seghead .u-ntd__segwho { margin: 0; }
.ui3 .u-ntd__segtime { display: inline-flex; align-items: center; gap: 4px; padding-block: 1px; padding-inline: 6px; border: 0; border-radius: var(--u-r-pill); background: none; font: inherit; font-size: var(--u-t-2xs); color: var(--u-ink-4); font-variant-numeric: tabular-nums; }
.ui3 button.u-ntd__segtime { cursor: pointer; }
.ui3 button.u-ntd__segtime:hover { background: var(--u-surface-2); color: var(--u-ink-2); }
.ui3 button.u-ntd__segtime:focus-visible { outline: none; box-shadow: var(--u-ring); }
.ui3 .u-ntd__segtext { margin: 0; font-family: var(--u-font-read); font-size: var(--u-t-read); line-height: 1.65; color: var(--u-ink); }
.ui3 .u-ntd__busy { position: absolute; inset: 0; z-index: 2; display: flex; align-items: center; justify-content: center; gap: 10px; border-radius: inherit; background: color-mix(in srgb, var(--u-surface) 78%, transparent); backdrop-filter: blur(1px); font-size: var(--u-t-sm); font-weight: 500; color: var(--u-ink-2); animation: u-fade var(--u-dur-2) var(--u-ease); }
.ui3 .u-ntd__busy[hidden] { display: none; }

.ui3 .u-ntd__panel { position: fixed; z-index: calc(var(--u-z-overlay) - 6); inset-block: 0; inset-inline-end: 0; inline-size: min(380px, 100vw); display: flex; flex-direction: column; background: var(--u-surface); border-inline-start: 1px solid var(--u-line); box-shadow: var(--u-sh-lg); animation: u-fade var(--u-dur-2) var(--u-ease); }
.ui3 .u-ntd__panel[hidden] { display: none; }
.ui3 .u-ntd__panelhead { display: flex; align-items: center; gap: 8px; block-size: 52px; flex: none; padding-inline: 12px 8px; border-bottom: 1px solid var(--u-line); }
.ui3 .u-ntd__ptabs > button { white-space: nowrap; }
.ui3 .u-ntd__pbody { flex: 1; min-height: 0; overflow-y: auto; padding: 16px; }
.ui3 .u-ntd__pbody[hidden] { display: none; }
.ui3 .u-ntd__phint { margin: 0 0 12px; font-size: var(--u-t-xs); }
.ui3 .u-ntd__from { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-block-end: 16px; }
.ui3 .u-ntd__qgroup { margin-block-end: 14px; }
.ui3 .u-ntd__qgroup > .u-label { margin: 0 0 4px; padding-inline: 8px; }
.ui3 .u-ntd__opt { position: relative; display: flex; align-items: center; gap: 10px; inline-size: 100%; padding: 8px; border: 0; border-radius: var(--u-r-md); background: none; font: inherit; text-align: start; color: var(--u-ink); cursor: pointer; }
.ui3 .u-ntd__opt:hover:not(:disabled) { background: var(--u-surface-2); }
.ui3 .u-ntd__opt:focus-visible { outline: none; box-shadow: var(--u-ring); }
.ui3 .u-ntd__opt:disabled { cursor: default; opacity: 0.55; }
.ui3 .u-ntd__opt.is-loading { opacity: 1; background: var(--u-surface-2); }
.ui3 .u-ntd__opticon { flex: none; display: grid; place-items: center; width: 30px; height: 30px; border-radius: var(--u-r-md); background: var(--u-surface-2); color: var(--u-ink-3); }
.ui3 .u-ntd__opticon--general { background: var(--u-accent-soft); color: var(--u-accent-ink); }
.ui3 .u-ntd__opticon--medical { background: var(--u-info-soft); color: var(--u-info); }
.ui3 .u-ntd__opticon--text_editing { background: color-mix(in srgb, var(--u-spk-2) 14%, transparent); color: var(--u-spk-2); }
.ui3 .u-ntd__opticon--emails { background: color-mix(in srgb, var(--u-rec) 12%, transparent); color: var(--u-rec); }
.ui3 .u-ntd__opticon--writing_styles { background: color-mix(in srgb, var(--u-spk-5) 14%, transparent); color: var(--u-spk-5); }
.ui3 .u-ntd__opticon--summary { background: var(--u-warn-soft); color: var(--u-warn); }
.ui3 .u-ntd__opticon--work { background: var(--u-surface-3); color: var(--u-ink-2); }
.ui3 .u-ntd__opttext { flex: 1; min-width: 0; display: grid; gap: 1px; }
.ui3 .u-ntd__optname { font-size: var(--u-t-sm); font-weight: 500; }
.ui3 .u-ntd__optdesc { font-size: var(--u-t-xs); color: var(--u-ink-3); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ui3 .u-ntd__optspin { display: none; flex: none; }
.ui3 .is-loading > .u-ntd__optspin { display: block; }
.ui3 .u-ntd__alltpl { inline-size: 100%; justify-content: center; margin-block-start: 4px; }
.ui3 .u-ntd__alltplcount { padding-inline: 6px; border-radius: var(--u-r-pill); background: var(--u-surface-3); font-size: var(--u-t-2xs); color: var(--u-ink-3); }
.ui3 .u-ntd__psearch { margin-block-end: 10px; }
.ui3 .u-ntd__psearch input { flex: 1; min-width: 0; }
.ui3 .u-ntd__langs { display: grid; gap: 1px; }
.ui3 .u-ntd__lang { display: flex; align-items: center; gap: 10px; inline-size: 100%; padding-block: 9px; padding-inline: 10px; border: 0; border-radius: var(--u-r-md); background: none; font: inherit; text-align: start; cursor: pointer; }
.ui3 .u-ntd__lang:hover:not(:disabled) { background: var(--u-surface-2); }
.ui3 .u-ntd__lang:focus-visible { outline: none; box-shadow: var(--u-ring); }
.ui3 .u-ntd__lang:disabled { cursor: default; opacity: 0.55; }
.ui3 .u-ntd__lang.is-loading { opacity: 1; background: var(--u-surface-2); }
.ui3 .u-ntd__langname { font-size: var(--u-t-sm); font-weight: 500; color: var(--u-ink); }
.ui3 .u-ntd__langnative { flex: 1; font-size: var(--u-t-xs); color: var(--u-ink-4); }
.ui3 .u-ntd__versions { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }
.ui3 .u-ntd__ver { display: grid; gap: 4px; padding: 12px; border: 1px solid var(--u-line); border-radius: var(--u-r-lg); background: var(--u-surface); }
.ui3 .u-ntd__ver.is-current { border-color: var(--u-accent-line); background: color-mix(in srgb, var(--u-accent) 5%, var(--u-surface)); }
.ui3 .u-ntd__verhead { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.ui3 .u-ntd__verkind--translation { background: var(--u-info-soft); color: var(--u-info); }
.ui3 .u-ntd__verkind--rewrite { background: color-mix(in srgb, var(--u-spk-2) 14%, transparent); color: var(--u-spk-2); }
.ui3 .u-ntd__verkind--original { background: var(--u-surface-3); color: var(--u-ink-2); }
.ui3 .u-ntd__vername { font-size: var(--u-t-sm); font-weight: 500; color: var(--u-ink); }
.ui3 .u-ntd__vercur { margin-inline-start: auto; }
.ui3 .u-ntd__verwhen { font-size: var(--u-t-2xs); color: var(--u-ink-4); }
.ui3 .u-ntd__versnip { margin: 0; font-size: var(--u-t-xs); line-height: 1.5; color: var(--u-ink-3); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.ui3 .u-ntd__veracts { display: flex; gap: 6px; margin-block-start: 4px; }

.ui3 .u-ntd__gallery { inline-size: min(860px, 100%); display: flex; flex-direction: column; max-block-size: calc(100vh - 14vh - 32px); }
.ui3 .u-ntd__gbody { display: flex; flex-direction: column; gap: 12px; min-height: 0; overflow: hidden; }
.ui3 .u-ntd__gbody .u-input input { flex: 1; min-width: 0; }
.ui3 .u-ntd__cats { display: flex; gap: 6px; overflow-x: auto; scrollbar-width: none; flex: none; }
.ui3 .u-ntd__cats .u-chip { flex: none; white-space: nowrap; }
.ui3 .u-ntd__tplgrid { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 6px; overflow-y: auto; min-height: 0; padding-block-end: 4px; }
.ui3 .u-ntd__tplcard { align-items: flex-start; padding: 10px; border: 1px solid var(--u-line); }
.ui3 .u-ntd__tplcard .u-ntd__optdesc { white-space: normal; }
.ui3 .u-ntd__tplnone { margin: 0; padding-block: 24px; text-align: center; }

@media (min-width: 1280px) {
  html.ui3.u-ntd-panel-open .u-ntd { padding-inline-end: var(--u-ntd-panel); }
  html.ui3.u-ntd-panel-open .u-ntd__panel { box-shadow: none; animation: none; }
}
@media (max-width: 1099px) {
  .ui3 .u-ntd__toollabel { display: none; }
}
@media (max-width: 899px) {
  .ui3 .u-nt__entries, .ui3 .u-nt__steps { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 699px) {
  .ui3 .u-nt__toolbar { gap: 8px; }
  .ui3 .u-nt__toolbar > .u-toolbar__spacer { display: none; }
  .ui3 .u-nt__search { inline-size: 100%; order: -1; }
  .ui3 .u-nt__search .u-kbd { display: none; }
  .ui3 .u-nt .u-pagehead { flex-wrap: wrap; align-items: flex-start; }
  .ui3 .u-nt .u-pagehead__actions { inline-size: 100%; }
  .ui3 .u-nt .u-pagehead__actions .u-btn { flex: 1; justify-content: center; }
  .ui3 .u-nt .u-pagehead__actions .u-btn--secondary { flex: none; }
  .ui3 .u-nt .u-pagehead__actions .u-btn--secondary > :not(.u-i):not(svg) { display: none; }
  .ui3 .u-nt__grid { grid-template-columns: minmax(0, 1fr); }
  .ui3 .u-ntc { min-height: 0; }
  .ui3 .u-ntc__menu { opacity: 1; }
  .ui3 .u-ntw__paper { padding-block: 24px 64px; padding-inline: 20px; }
  .ui3 .u-ntw__keys { display: none; }
  .ui3 .u-ntr__timer > span:first-child { font-size: 44px; }
  .ui3 .u-ntr__controls { gap: 16px; }
  .ui3 .u-ntr__keys { display: none; }
  .ui3 .u-ntd__doc { padding-block: 20px 80px; padding-inline: 16px; }
  .ui3 .u-ntd__content { padding-block: 4px 18px; padding-inline: 16px; }
  .ui3 .u-ntd__title { font-size: var(--u-t-xl); }
  .ui3 .u-ntd__bar .u-ntd__saved { display: none; }
  .ui3 .u-ntd__previewbar { flex-wrap: wrap; }
  .ui3 .u-ntd__panel { inset-block-start: auto; block-size: min(78vh, 640px); inline-size: 100vw; border-inline-start: 0; border-top: 1px solid var(--u-line); border-start-start-radius: var(--u-r-xl); border-start-end-radius: var(--u-r-xl); }
  .ui3 .u-ntd__ptabs { max-inline-size: calc(100vw - 72px); overflow-x: auto; scrollbar-width: none; }
  .ui3 .u-ntd__player .u-ntd__rate { display: none; }
}
@media (hover: none) {
  .ui3 .u-ntc__menu { opacity: 1; }
}
@media (prefers-reduced-motion: reduce) {
  .ui3 .u-ntd__wave span, .ui3 .u-ntr__dot { animation: none; }
  .ui3 .u-ntr__meter span { transition: none; }
}

/* ---------- Writer ---------- */
/* Dashboard */
.ui3 .u-wr__hero { display: grid; justify-items: center; gap: 12px; padding-block: 40px 8px; text-align: center; }
.ui3 .u-wr__heroicon { display: grid; place-items: center; width: 56px; height: 56px; border-radius: var(--u-r-xl); background: var(--u-accent-soft); color: var(--u-accent-ink); margin-block-end: 4px; }
.ui3 .u-wr__eyebrow { color: var(--u-accent-ink); letter-spacing: 0.02em; }
.ui3 .u-wr__lead { max-width: 580px; margin: 0; font-size: var(--u-t-md); line-height: 1.55; color: var(--u-ink-3); }
.ui3 .u-wr__heroacts { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin-block-start: 12px; }
.ui3 .u-wr__how { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; width: 100%; max-width: 880px; margin-block: 36px 0; margin-inline: 0; padding: 0; list-style: none; text-align: start; }
.ui3 .u-wr__how li { display: flex; gap: 12px; align-items: flex-start; padding: 16px; border-radius: var(--u-r-lg); background: var(--u-surface-2); }
.ui3 .u-wr__how li div { display: grid; gap: 3px; font-size: var(--u-t-sm); }
.ui3 .u-wr__how li strong { font-weight: 600; color: var(--u-ink); }
.ui3 .u-wr__how li div span { color: var(--u-ink-3); font-size: var(--u-t-xs); line-height: 1.5; }
.ui3 .u-wr__hown { flex: none; display: grid; place-items: center; width: 22px; height: 22px; border-radius: 50%; background: var(--u-surface); color: var(--u-ink-2); font-size: var(--u-t-2xs); font-weight: 600; font-variant-numeric: tabular-nums; box-shadow: var(--u-sh-xs); }
.ui3 .u-wr__totals { margin-block-start: 6px; font-size: var(--u-t-sm); }

.ui3 .u-wr__toolbar { margin-block-end: 12px; }
.ui3 .u-wr__search { inline-size: 240px; }
.ui3 .u-wr__search input { flex: 1; min-width: 0; }
.ui3 .u-wr__view > button { padding-inline: 8px; }
.ui3 .u-wr__view > [aria-pressed="true"] { background: var(--u-surface); color: var(--u-ink); box-shadow: var(--u-sh-sm); }

.ui3 .u-wr__bulk {
  position: sticky; inset-block-start: 0; z-index: 2; display: flex; align-items: center; flex-wrap: wrap; gap: 2px;
  margin-block-end: 12px; padding-block: 6px; padding-inline: 14px 6px;
  border: 1px solid var(--u-accent-line); border-radius: var(--u-r-lg); background: var(--u-accent-soft);
  animation: u-fade var(--u-dur-2) var(--u-ease);
}
.ui3 .u-wr__bulkcount { margin-inline-end: 8px; font-size: var(--u-t-sm); font-weight: 600; color: var(--u-accent-ink); font-variant-numeric: tabular-nums; }
.ui3 .u-wr__bulk .u-btn--ghost { color: var(--u-ink-2); }
.ui3 .u-wr__bulk .u-btn--ghost:hover:not(:disabled) { background: color-mix(in srgb, var(--u-accent) 10%, transparent); }
.ui3 .u-wr__bulk .u-wr__bulkdel { color: var(--u-danger); }
.ui3 .u-wr__bulk .u-kbd { margin-inline-start: 4px; }
.ui3 .u-wr__dot { width: 8px; height: 8px; border-radius: 50%; flex: none; background: var(--u-ink-4); }
.ui3 .u-wr__dot--in_review { background: var(--u-info); }
.ui3 .u-wr__dot--completed { background: var(--u-accent); }

.ui3 .u-wr__docs[data-view="list"] { border: 1px solid var(--u-line); border-radius: var(--u-r-lg); overflow: hidden; background: var(--u-surface); }
.ui3 .u-wrd {
  position: relative; display: grid; grid-template-columns: auto auto minmax(0, 1fr) auto auto; grid-template-areas: "check icon main status acts";
  align-items: center; column-gap: 12px; padding-block: 12px; padding-inline: 14px 10px; cursor: pointer;
  transition: background var(--u-dur-1) var(--u-ease);
}
.ui3 .u-wr__docs[data-view="list"] .u-wrd + .u-wrd { border-top: 1px solid var(--u-line); }
.ui3 .u-wrd:hover { background: var(--u-bg); }
.ui3 .u-wrd.is-selected { background: color-mix(in srgb, var(--u-accent-soft) 70%, transparent); }
.ui3 .u-wrd.is-selected::before { content: ""; position: absolute; inset-block: 0; inset-inline-start: 0; width: 2px; background: var(--u-accent); }
.ui3 .u-wrd__check { grid-area: check; display: grid; place-items: center; width: 20px; height: 20px; cursor: pointer; }
.ui3 .u-wrd__check input { width: 15px; height: 15px; margin: 0; accent-color: var(--u-accent); cursor: pointer; }
.ui3 .u-wrd__icon { grid-area: icon; display: grid; place-items: center; width: 34px; height: 34px; border-radius: var(--u-r-md); background: var(--u-surface-2); color: var(--u-ink-3); }
.ui3 .u-wrd__main { grid-area: main; min-width: 0; display: grid; gap: 3px; }
.ui3 .u-wrd__title { margin: 0; font-size: var(--u-t-base); font-weight: 600; line-height: 1.35; color: var(--u-ink); overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.ui3 .u-wrd__link { color: inherit; text-decoration: none; }
.ui3 .u-wrd__link:focus-visible { outline: none; }
.ui3 .u-wrd:has(.u-wrd__link:focus-visible) { box-shadow: inset 0 0 0 2px var(--u-accent-line); }
.ui3 .u-wrd__meta { gap: 6px; }
.ui3 .u-wrd__lang { display: inline-flex; align-items: center; gap: 3px; font-weight: 500; color: var(--u-info); }
.ui3 .u-wrd__status { grid-area: status; }
.ui3 .u-wrd__acts { grid-area: acts; display: flex; align-items: center; gap: 2px; opacity: 0; transition: opacity var(--u-dur-1) var(--u-ease); }
.ui3 .u-wrd:hover .u-wrd__acts, .ui3 .u-wrd:focus-within .u-wrd__acts, .ui3 .u-wrd.is-selected .u-wrd__acts, .ui3 .u-wrd__acts:has([aria-expanded="true"]) { opacity: 1; }

.ui3 .u-wr__docs[data-view="card"] { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 12px; }
.ui3 .u-wr__docs[data-view="card"] .u-wrd {
  grid-template-columns: auto minmax(0, 1fr) auto; grid-template-areas: "icon . check" "main main main" "status . acts";
  align-items: start; row-gap: 12px; min-height: 168px; padding: 16px;
  border: 1px solid var(--u-line); border-radius: var(--u-r-lg); background: var(--u-surface); box-shadow: var(--u-sh-xs);
  transition: border-color var(--u-dur-2), box-shadow var(--u-dur-2), transform var(--u-dur-2) var(--u-ease);
}
.ui3 .u-wr__docs[data-view="card"] .u-wrd:hover { border-color: var(--u-line-strong); box-shadow: var(--u-sh-md); transform: translateY(-1px); background: var(--u-surface); }
.ui3 .u-wr__docs[data-view="card"] .u-wrd.is-selected { border-color: var(--u-accent-line); background: color-mix(in srgb, var(--u-accent-soft) 60%, var(--u-surface)); }
.ui3 .u-wr__docs[data-view="card"] .u-wrd.is-selected::before { display: none; }
.ui3 .u-wr__docs[data-view="card"] .u-wrd__title { white-space: normal; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; font-size: var(--u-t-md); }
.ui3 .u-wr__docs[data-view="card"] .u-wrd__main { align-self: start; }
.ui3 .u-wr__docs[data-view="card"] .u-wrd__status, .ui3 .u-wr__docs[data-view="card"] .u-wrd__acts { align-self: end; }
.ui3 .u-wr__docs[data-view="card"] .u-wrd__check { justify-self: end; opacity: 0; transition: opacity var(--u-dur-1); }
.ui3 .u-wr__docs[data-view="card"] .u-wrd:hover .u-wrd__check, .ui3 .u-wr__docs[data-view="card"] .u-wrd__check:has(:checked), .ui3 .u-wr__docs[data-view="card"] .u-wrd__check:focus-within { opacity: 1; }
.ui3 .u-wr__renameinput { margin-block-start: 12px; }

/* Composers (generate / upload) */
html.ui3.u-wrc-open { overflow: hidden; }
.ui3 .u-wrc { position: fixed; inset: 0; z-index: var(--u-z-overlay); display: flex; flex-direction: column; background: var(--u-bg); animation: u-fade var(--u-dur-2) var(--u-ease); }
.ui3 .u-wrc__bar { gap: 12px; }
.ui3 .u-wrc__scroll { flex: 1; min-height: 0; overflow-y: auto; }
.ui3 .u-wrc__inner { max-width: 1040px; margin-inline: auto; padding-block: 36px 48px; padding-inline: 32px; }
.ui3 .u-wrc__head { display: grid; gap: 6px; max-width: 640px; margin-block-end: 28px; }
.ui3 .u-wrc__head p { margin: 0; }
.ui3 .u-wrc__grid { display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); gap: 32px; align-items: start; }
.ui3 .u-wrc__form { display: grid; gap: 28px; }
.ui3 .u-wrc__label { font-size: var(--u-t-sm); font-weight: 600; color: var(--u-ink); }
.ui3 .u-wrc__req { color: var(--u-danger); }
.ui3 .u-wrc__opt { font-weight: 400; color: var(--u-ink-4); }
.ui3 .u-wrc__topic { height: 48px; background: var(--u-surface); }
.ui3 .u-wrc__topic input { font-size: var(--u-t-md); }
.ui3 .u-wrc__topic:has(input[aria-invalid="true"]) { border-color: var(--u-danger); }
.ui3 .u-wrc__try { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin-block-start: 4px; }
.ui3 .u-wrc__try .u-label { margin-inline-end: 2px; }
.ui3 .u-wrc__try .u-chip, .ui3 .u-wrc__chips .u-chip, .ui3 .u-wrg__filters .u-chip { height: 30px; background: var(--u-surface); color: var(--u-ink-2); font-size: var(--u-t-xs); }
.ui3 .u-wrc__chips { display: flex; flex-wrap: wrap; gap: 6px; }
.ui3 .u-wrc__chips .u-chip .u-i { transition: transform var(--u-dur-2) var(--u-ease); }
.ui3 .u-wrc__chips .u-chip[aria-pressed="true"], .ui3 .u-wrg__filters .u-chip[aria-pressed="true"] { background: var(--u-accent-soft); border-color: var(--u-accent-line); color: var(--u-accent-ink); }
.ui3 .u-wrc__chips .u-chip[aria-pressed="true"] .u-i { transform: rotate(45deg); }
.ui3 .u-wrc__chips .u-chip:focus-visible, .ui3 .u-wrc__try .u-chip:focus-visible { outline: none; box-shadow: var(--u-ring); }
.ui3 .u-wrc__instructions { min-height: 112px; resize: vertical; }
.ui3 .u-wrc__aside { position: sticky; inset-block-start: 0; display: grid; gap: 12px; }
.ui3 .u-wrc__card { display: grid; gap: 14px; padding: 18px; }
.ui3 .u-wrc__select { width: 100%; }
.ui3 .u-wrc__next { display: grid; gap: 12px; margin: 0; padding: 0; list-style: none; }
.ui3 .u-wrc__next li { display: flex; gap: 10px; align-items: flex-start; font-size: var(--u-t-sm); line-height: 1.45; color: var(--u-ink-2); }
.ui3 .u-wrc__next .u-wr__hown { background: var(--u-accent-soft); color: var(--u-accent-ink); box-shadow: none; }
.ui3 .u-wrc__foot { display: flex; align-items: center; justify-content: flex-end; gap: 8px; padding-block: 12px; padding-inline: max(32px, calc((100% - 1040px) / 2 + 32px)); border-top: 1px solid var(--u-line); background: var(--u-surface); }
.ui3 .u-wrc__spin { width: 14px; height: 14px; border-color: color-mix(in srgb, var(--u-on-ink) 35%, transparent); border-top-color: var(--u-on-ink); }
.ui3 .u-wrc__drop {
  display: grid; justify-items: center; gap: 6px; width: 100%; padding-block: 28px; padding-inline: 20px;
  border: 1.5px dashed var(--u-line-strong); border-radius: var(--u-r-lg); background: var(--u-surface);
  font: inherit; color: var(--u-ink-2); cursor: pointer; transition: border-color var(--u-dur-1), background var(--u-dur-1);
}
.ui3 .u-wrc__drop:hover, .ui3 .u-wrc__drop.has-files { border-color: var(--u-accent-line); background: color-mix(in srgb, var(--u-accent-soft) 50%, var(--u-surface)); }
.ui3 .u-wrc__drop.has-files { padding-block: 16px; }
.ui3 .u-wrc__drop:focus-visible { outline: none; box-shadow: var(--u-ring); }
.ui3 .u-wrc__dropicon { display: grid; place-items: center; width: 40px; height: 40px; border-radius: var(--u-r-md); background: var(--u-surface-2); color: var(--u-ink-2); }
.ui3 .u-wrc__droptitle { font-size: var(--u-t-sm); font-weight: 500; }
.ui3 .u-wrc__drophint { font-size: var(--u-t-xs); color: var(--u-ink-4); }
.ui3 .u-wrc__files { display: grid; gap: 6px; margin-block: 10px 0; margin-inline: 0; padding: 0; list-style: none; }
.ui3 .u-wrc__file { display: flex; align-items: center; gap: 10px; padding-block: 6px; padding-inline: 12px 6px; border: 1px solid var(--u-line); border-radius: var(--u-r-md); background: var(--u-surface); color: var(--u-danger); }
.ui3 .u-wrc__fname { flex: 1; min-width: 0; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; font-size: var(--u-t-sm); font-weight: 500; color: var(--u-ink); }
.ui3 .u-wrc__fsize { font-size: var(--u-t-xs); color: var(--u-ink-4); font-variant-numeric: tabular-nums; }
.ui3 .u-wrc__fcount { font-size: var(--u-t-xs); color: var(--u-ink-4); padding-inline: 2px; }
.ui3 .u-wrc__dropzone { position: fixed; inset: 0; z-index: calc(var(--u-z-overlay) + 1); display: grid; place-items: center; padding: 24px; background: color-mix(in srgb, var(--u-bg) 82%, transparent); backdrop-filter: blur(2px); pointer-events: none; }
.ui3 .u-wrc__dropcard { display: grid; justify-items: center; gap: 10px; padding-block: 36px; padding-inline: 48px; border: 2px dashed var(--u-accent); border-radius: var(--u-r-xl); background: var(--u-surface); color: var(--u-accent-ink); font-weight: 500; box-shadow: var(--u-sh-lg); }

/* Generation flow */
.ui3 .u-wrg { flex: 1; min-height: 0; display: flex; flex-direction: column; }
.ui3 .u-wrg__bar { gap: 12px; }
.ui3 .u-wrg__barpad { inline-size: 120px; }
.ui3 .u-wrg__page { max-width: 920px; padding-block-end: 0; }
.ui3 .u-wrg__head { margin-block-end: 22px; }
.ui3 .u-wrg__eyebrow { display: inline-flex; align-items: center; gap: 6px; color: var(--u-accent-ink); }
.ui3 .u-wrg__topic { margin-block-start: 6px; overflow-wrap: anywhere; }
.ui3 .u-wrg__state { padding-block-end: 40px; animation: u-fade var(--u-dur-2) var(--u-ease); }
.ui3 .u-wrg__card { padding: 28px; }
.ui3 .u-wrg__cardhead { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; margin-block-end: 22px; }
.ui3 .u-wrg__cardhead p { margin-block: 4px 0; }
.ui3 .u-wrg__elapsed { font: 500 var(--u-t-sm)/1 var(--u-mono); color: var(--u-ink-3); padding-block: 6px; padding-inline: 10px; border-radius: var(--u-r-pill); background: var(--u-surface-2); font-variant-numeric: tabular-nums; }
.ui3 .u-wrg__stages { display: grid; gap: 0; margin-block: 0 22px; margin-inline: 0; padding: 0; list-style: none; }
.ui3 .u-wrg__stage { position: relative; display: flex; gap: 14px; padding-block: 10px; }
.ui3 .u-wrg__stage + .u-wrg__stage::before { content: ""; position: absolute; inset-block-start: -10px; inset-inline-start: 12px; width: 1px; height: 20px; background: var(--u-line-strong); }
.ui3 .u-wrg__stage[data-state="done"] + .u-wrg__stage::before { background: var(--u-accent); }
.ui3 .u-wrg__stage p { margin: 0; }
.ui3 .u-wrg__stagedot { position: relative; z-index: 1; display: grid; place-items: center; width: 25px; height: 25px; flex: none; border-radius: 50%; border: 1px solid var(--u-line-strong); background: var(--u-surface); font-size: var(--u-t-2xs); font-weight: 600; color: var(--u-ink-4); }
.ui3 .u-wrg__stagecheck, .ui3 .u-wrg__stagespin { display: none; }
.ui3 .u-wrg__stagespin { width: 13px; height: 13px; border-width: 1.5px; border-top-color: var(--u-on-ink); border-color: color-mix(in srgb, var(--u-on-ink) 30%, transparent); }
.ui3 .u-wrg__stage[data-state="done"] .u-wrg__stagedot { background: var(--u-accent-soft); border-color: transparent; color: var(--u-accent-ink); }
.ui3 .u-wrg__stage[data-state="done"] .u-wrg__stagenum, .ui3 .u-wrg__stage[data-state="current"] .u-wrg__stagenum { display: none; }
.ui3 .u-wrg__stage[data-state="done"] .u-wrg__stagecheck { display: block; }
.ui3 .u-wrg__stage[data-state="current"] .u-wrg__stagedot { background: var(--u-ink); border-color: var(--u-ink); }
.ui3 .u-wrg__stage[data-state="current"] .u-wrg__stagespin { display: block; border-top-color: var(--u-on-ink); }
.ui3 .u-wrg__stagetitle { font-size: var(--u-t-sm); font-weight: 600; color: var(--u-ink-3); }
.ui3 .u-wrg__stage[data-state="current"] .u-wrg__stagetitle, .ui3 .u-wrg__stage[data-state="done"] .u-wrg__stagetitle { color: var(--u-ink); }
.ui3 .u-wrg__stagetext { font-size: var(--u-t-xs); color: var(--u-ink-3); line-height: 1.5; }
.ui3 .u-wrg__queries { margin-block-end: 18px; padding-block: 12px; padding-inline: 14px; border-radius: var(--u-r-md); background: var(--u-surface-2); animation: u-fade var(--u-dur-3) var(--u-ease); }
.ui3 .u-wrg__queries ul { display: grid; gap: 6px; margin-block: 8px 0; margin-inline: 0; padding: 0; list-style: none; }
.ui3 .u-wrg__queries li { display: grid; grid-template-columns: 96px minmax(0, 1fr); gap: 10px; font-size: var(--u-t-xs); color: var(--u-ink-2); }
.ui3 .u-wrg__qlabel { font-weight: 600; color: var(--u-ink-3); }
.ui3 .u-wrg__foot { display: flex; align-items: center; gap: 6px; margin: 0; font-size: var(--u-t-xs); color: var(--u-ink-4); }
.ui3 .u-wrg__busy { display: grid; justify-items: center; gap: 8px; padding-block: 48px; text-align: center; }
.ui3 .u-wrg__busy p { margin: 0; }
.ui3 .u-wrg__busyicon { display: grid; place-items: center; width: 60px; height: 60px; margin-block-end: 8px; border-radius: 50%; background: var(--u-info-soft); color: var(--u-info); animation: u-pulse 1.8s var(--u-ease) infinite; }
.ui3 .u-wrg__busyicon--pen { background: var(--u-accent-soft); color: var(--u-accent-ink); }
.ui3 .u-wrg__indet { position: relative; inline-size: 220px; margin-block: 12px 6px; }
.ui3 .u-wrg__indet .u-progress__bar { position: absolute; inline-size: 40%; animation: u-wrg-slide 1.4s var(--u-ease) infinite; }
@keyframes u-wrg-slide { from { transform: translateX(-100%); } to { transform: translateX(250%); } }
.ui3 .u-wrg__sechead { display: grid; gap: 4px; margin-block-end: 16px; }
.ui3 .u-wrg__sechead p { margin: 0; font-size: var(--u-t-sm); }
.ui3 .u-wrg__evidence { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; margin: 0; }
.ui3 .u-wrg__evidence > div { padding-block: 10px; padding-inline: 14px; border: 1px solid var(--u-line); border-radius: var(--u-r-md); background: var(--u-surface); }
.ui3 .u-wrg__evidence dt { font-size: var(--u-t-2xs); font-weight: 600; letter-spacing: 0.04em; text-transform: uppercase; color: var(--u-ink-4); }
.ui3 .u-wrg__evidence dd { margin-block: 2px 0; margin-inline: 0; font-size: var(--u-t-lg); font-weight: 600; color: var(--u-ink); font-variant-numeric: tabular-nums; }
.ui3 .u-wrg__tools { margin-block: 16px 10px; gap: 6px; }
.ui3 .u-wrg__filters, .ui3 .u-wrg__select { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.ui3 .u-wrg__select .u-btn { color: var(--u-ink-3); }
.ui3 .u-wrg__papers { margin: 0; padding: 0; list-style: none; border: 1px solid var(--u-line); border-radius: var(--u-r-lg); background: var(--u-surface); overflow: hidden; }
.ui3 .u-wrg__paper { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 12px; padding-block: 14px; padding-inline: 16px; transition: background var(--u-dur-1); }
.ui3 .u-wrg__paper:not([hidden]) ~ .u-wrg__paper:not([hidden]) { border-top: 1px solid var(--u-line); }
.ui3 .u-wrg__paper:hover { background: var(--u-bg); }
.ui3 .u-wrg__paper.is-excluded .u-wrg__pbody { opacity: 0.5; }
.ui3 .u-wrg__paper.is-excluded .u-wrg__ptitle { text-decoration: line-through; text-decoration-color: var(--u-ink-4); }
.ui3 .u-wrg__pcheck { padding-block-start: 2px; }
.ui3 .u-wrg__pcheck input, .ui3 .u-wrg__include input { width: 15px; height: 15px; margin: 0; accent-color: var(--u-accent); cursor: pointer; }
.ui3 .u-wrg__pbody { min-width: 0; display: grid; gap: 3px; transition: opacity var(--u-dur-2); }
.ui3 .u-wrg__pbody p { margin: 0; }
.ui3 .u-wrg__ptop { display: flex; align-items: flex-start; gap: 10px; }
.ui3 .u-wrg__ptitle { flex: 1; min-width: 0; font-size: var(--u-t-base); font-weight: 500; line-height: 1.4; color: var(--u-ink); }
.ui3 .u-wrg__rel { height: 20px; padding-inline: 7px; font-size: var(--u-t-2xs); }
.ui3 .u-wrg__rel--high { color: var(--u-accent-ink); background: var(--u-accent-soft); border-color: transparent; }
.ui3 .u-wrg__rel--medium { color: var(--u-warn); background: var(--u-warn-soft); border-color: transparent; }
.ui3 .u-wrg__pauth { font-size: var(--u-t-xs); color: var(--u-ink-3); }
.ui3 .u-wrg__pmeta { gap: 6px; }
.ui3 .u-wrg__pmeta .u-badge { height: 18px; padding-inline: 6px; font-size: var(--u-t-2xs); }
.ui3 .u-wrg__venue { max-inline-size: 300px; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.ui3 .u-wrg__plink { display: inline-flex; align-items: center; gap: 2px; color: var(--u-accent-ink); font-weight: 500; text-decoration: none; }
.ui3 .u-wrg__plink:hover { text-decoration: underline; }
.ui3 .u-wrg__abs { margin-block-start: 6px !important; font-size: var(--u-t-sm); line-height: 1.55; color: var(--u-ink-3); display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.ui3 .u-wrg__abs.is-open { display: block; }
.ui3 .u-wrg__more { justify-self: start; padding: 0; border: 0; background: none; font: 500 var(--u-t-xs)/1.6 var(--u-font); color: var(--u-accent-ink); cursor: pointer; }
.ui3 .u-wrg__none { margin: 0; padding: 24px; text-align: center; font-size: var(--u-t-sm); color: var(--u-ink-3); }
.ui3 .u-wrg__footer {
  position: sticky; inset-block-end: 0; z-index: 2; display: flex; align-items: center; justify-content: space-between; gap: 16px;
  margin-block-start: 16px; padding-block: 14px; border-top: 1px solid var(--u-line);
  background: color-mix(in srgb, var(--u-surface) 92%, transparent); backdrop-filter: blur(8px);
}
.ui3 .u-wrg__hint { margin: 0; font-size: var(--u-t-sm); color: var(--u-ink-3); }
.ui3 .u-wrg__hint.is-warn { color: var(--u-warn); }
.ui3 .u-wrg__metalist { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
.ui3 .u-wrg__meta { padding-block: 12px; padding-inline: 14px; transition: opacity var(--u-dur-2), border-color var(--u-dur-2); }
.ui3 .u-wrg__meta.is-excluded { opacity: 0.55; }
.ui3 .u-wrg__meta.is-missing { border-color: color-mix(in srgb, var(--u-warn) 45%, transparent); }
.ui3 .u-wrg__meta.is-missing .u-wrg__complete { display: none; }
.ui3 .u-wrg__metahead { display: flex; align-items: center; gap: 10px; }
.ui3 .u-wrg__metatoggle { flex: 1; min-width: 0; display: flex; align-items: center; gap: 8px; padding-block: 4px; padding-inline: 2px; border: 0; border-radius: var(--u-r-sm); background: none; font: inherit; text-align: start; color: var(--u-ink); cursor: pointer; }
.ui3 .u-wrg__metatoggle:focus-visible { outline: none; box-shadow: var(--u-ring); }
.ui3 .u-wrg__chev { color: var(--u-ink-4); transition: transform var(--u-dur-2) var(--u-ease); }
.ui3 .u-wrg__metatoggle[aria-expanded="true"] .u-wrg__chev { transform: rotate(90deg); }
.ui3 .u-wrg__pdficon { color: var(--u-danger); }
.ui3 .u-wrg__metaname { min-width: 0; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; font-size: var(--u-t-sm); font-weight: 500; }
.ui3 .u-wrg__metahead .u-badge { height: 22px; gap: 4px; }
.ui3 .u-wrg__include { display: inline-flex; align-items: center; gap: 6px; font-size: var(--u-t-xs); color: var(--u-ink-3); cursor: pointer; white-space: nowrap; }
.ui3 .u-wrg__metafields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-block-start: 12px; padding-block-start: 14px; border-top: 1px solid var(--u-line); }
.ui3 .u-wrg__meta.is-collapsed .u-wrg__metafields { display: none; }
.ui3 .u-wrg__span2 { grid-column: 1 / -1; }
.ui3 .u-wrg__metafields .u-input:has(input[aria-invalid="true"]) { border-color: var(--u-warn); }
.ui3 .u-wrg__fail { display: grid; justify-items: center; gap: 8px; padding-block: 44px; text-align: center; }
.ui3 .u-wrg__fail p { margin: 0; max-width: 480px; }
.ui3 .u-wrg__failicon { display: grid; place-items: center; width: 60px; height: 60px; margin-block-end: 8px; border-radius: 50%; background: var(--u-danger-soft); color: var(--u-danger); }
.ui3 .u-wrg__failacts { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin-block-start: 14px; }
.ui3 .u-stepper [data-check] { display: none; }
.ui3 .u-stepper__step.is-done [data-num] { display: none; }
.ui3 .u-stepper__step.is-done [data-check] { display: block; }
.ui3 .u-stepper__step.is-error { color: var(--u-danger); font-weight: 500; }
.ui3 .u-stepper__step.is-error .u-stepper__dot { background: var(--u-danger-soft); border-color: transparent; color: var(--u-danger); }

/* Editor */
.ui3 .u-wre { flex: 1; min-height: 0; display: flex; flex-direction: column; }
.ui3 .u-wre__bar { gap: 6px; padding-inline: 10px; }
.ui3 .u-wre__title {
  flex: 0 1 440px; min-width: 120px; height: 32px; padding-inline: 8px; border: 1px solid transparent; border-radius: var(--u-r-sm);
  background: transparent; color: var(--u-ink); font: 600 var(--u-t-md)/1 var(--u-font); letter-spacing: -0.01em; text-overflow: ellipsis; outline: 0;
  transition: background var(--u-dur-1), border-color var(--u-dur-1), box-shadow var(--u-dur-1);
}
.ui3 .u-wre__title:hover { background: var(--u-surface-2); }
.ui3 .u-wre__title:focus { background: var(--u-surface); border-color: var(--u-accent); box-shadow: var(--u-ring); }
.ui3 .u-wre__save { display: inline-flex; align-items: center; gap: 5px; font-size: var(--u-t-xs); color: var(--u-ink-4); white-space: nowrap; }
.ui3 .u-wre__save[data-state="unsaved"] { color: var(--u-ink-3); }
.ui3 .u-wre__save[data-state="failed"] { color: var(--u-warn); }
.ui3 .u-wre__savespin { width: 10px; height: 10px; border-width: 1.5px; }
.ui3 .u-wre__lang { height: 22px; gap: 4px; }
.ui3 .u-wre__tools { display: flex; align-items: center; gap: 2px; padding-block: 5px; padding-inline: 12px; border-bottom: 1px solid var(--u-line); background: var(--u-surface); overflow-x: auto; scrollbar-width: none; flex: none; }
.ui3 .u-wre__tool { display: grid; place-items: center; width: 30px; height: 30px; flex: none; border: 0; border-radius: var(--u-r-sm); background: transparent; color: var(--u-ink-3); cursor: pointer; transition: background var(--u-dur-1), color var(--u-dur-1); }
.ui3 .u-wre__tool:hover { background: var(--u-surface-2); color: var(--u-ink); }
.ui3 .u-wre__tool:focus-visible { outline: none; box-shadow: var(--u-ring); }
.ui3 .u-wre__tool[aria-pressed="true"] { background: var(--u-accent-soft); color: var(--u-accent-ink); }
.ui3 .u-wre__sep { width: 1px; height: 18px; margin-inline: 6px; flex: none; background: var(--u-line); }
.ui3 .u-wre__hint { display: inline-flex; align-items: center; gap: 5px; padding-inline-start: 12px; font-size: var(--u-t-xs); color: var(--u-ink-4); white-space: nowrap; }
.ui3 .u-wre__body { position: relative; flex: 1; min-height: 0; display: grid; grid-template-columns: minmax(0, 1fr) 380px; }
.ui3 .u-wre[data-panel="closed"] .u-wre__body { grid-template-columns: minmax(0, 1fr); }
.ui3 .u-wre[data-panel="closed"] .u-wre__panel { display: none; }
.ui3 .u-wre__canvas { min-height: 0; overflow-y: auto; background: var(--u-bg); padding-block: 28px 0; padding-inline: 24px; }
.ui3 .u-wre__paper { max-width: 800px; min-height: calc(100% - 28px); margin-inline: auto; background: var(--u-surface); border: 1px solid var(--u-line); border-block-end: 0; border-start-start-radius: var(--u-r-lg); border-start-end-radius: var(--u-r-lg); box-shadow: var(--u-sh-xs); }
.ui3 .u-wre__paper > #editor, .ui3 .u-wre__paper .ProseMirror { min-height: 100%; }

.ui3 .u-wre .writer-editor-content { padding-block: 56px 180px; padding-inline: 72px; outline: none; font-family: var(--u-font-read); font-size: var(--u-t-read); line-height: 1.75; color: var(--u-ink-2); overflow-wrap: break-word; }
.ui3 .u-wre .writer-editor-content > :first-child { margin-block-start: 0; }
.ui3 .u-wre .writer-editor-content h1, .ui3 .u-wre .writer-editor-content h2, .ui3 .u-wre .writer-editor-content h3, .ui3 .u-wre .writer-editor-content h4 { font-family: var(--u-font); color: var(--u-ink); font-weight: 600; }
.ui3 .u-wre .writer-editor-content h1 { margin-block: 0 0.8em; font-size: 30px; line-height: 1.2; letter-spacing: -0.022em; }
.ui3 .u-wre .writer-editor-content h2 { margin-block: 1.7em 0.45em; font-size: 21px; line-height: 1.3; letter-spacing: -0.015em; }
.ui3 .u-wre .writer-editor-content h3 { margin-block: 1.4em 0.4em; font-size: 17px; line-height: 1.35; }
.ui3 .u-wre .writer-editor-content h4 { margin-block: 1.2em 0.3em; font-size: var(--u-t-md); }
.ui3 .u-wre .writer-editor-content p { margin-block: 0.8em; }
.ui3 .u-wre .writer-editor-content ul, .ui3 .u-wre .writer-editor-content ol { margin-block: 0.6em; padding-inline-start: 1.4em; }
.ui3 .u-wre .writer-editor-content ul, .ui3 .u-wre__msgbody ul { list-style: disc; }
.ui3 .u-wre .writer-editor-content ol, .ui3 .u-wre__msgbody ol { list-style: decimal; }
.ui3 .u-wre .writer-editor-content li::marker, .ui3 .u-wre__msgbody li::marker { color: var(--u-ink-4); }
.ui3 .u-wre .writer-editor-content li { margin-block: 0.2em; }
.ui3 .u-wre .writer-editor-content li p { margin-block: 0; }
.ui3 .u-wre .writer-editor-content blockquote { margin-block: 1.2em; margin-inline: 0; padding-inline-start: 1em; border-inline-start: 3px solid var(--u-accent-line); color: var(--u-ink-3); font-style: italic; }
.ui3 .u-wre .writer-editor-content a { color: var(--u-accent-ink); text-decoration: underline; text-underline-offset: 2px; }
.ui3 .u-wre .writer-editor-content hr { margin-block: 2em; border: 0; border-top: 1px solid var(--u-line); }
.ui3 .u-wre .writer-editor-content strong { color: var(--u-ink); font-weight: 650; }
.ui3 .u-wre .writer-editor-content mark { background: var(--u-highlight); color: inherit; border-radius: 2px; }
.ui3 .u-wre .writer-editor-content p.is-editor-empty:first-child::before,
.ui3 .u-wre .writer-editor-content.ProseMirror-focused p.is-empty::before { content: var(--u-wre-ph, attr(data-placeholder)); float: inline-start; height: 0; color: var(--u-ink-4); pointer-events: none; }
.ui3 .u-wre .inline-citation { padding-block: 1px; padding-inline: 2px; border-radius: var(--u-r-xs); background: var(--u-accent-soft); color: var(--u-accent-ink); font: 600 0.74em/1 var(--u-font); font-style: normal; vertical-align: 0.12em; white-space: nowrap; cursor: pointer; transition: background var(--u-dur-1); }
.ui3 .u-wre .inline-citation:hover { background: color-mix(in srgb, var(--u-accent) 20%, transparent); }
.ui3 .u-wre .inline-citation.ProseMirror-selectednode { box-shadow: 0 0 0 2px var(--u-accent-line); }
.ui3 .u-wre .ai-ghost-text { color: var(--u-ink-4); font-style: italic; pointer-events: none; user-select: none; }
.ui3 .u-wre .ai-suggestion-wrapper { display: inline-flex; flex-direction: column; align-items: flex-start; gap: 4px; }
.ui3 .u-wre .ai-suggestion-bar { display: flex; align-items: center; flex-wrap: wrap; gap: 4px; padding: 4px; border: 1px solid var(--u-line); border-radius: var(--u-r-md); background: var(--u-surface); box-shadow: var(--u-sh-md); font-family: var(--u-font); }
.ui3 .u-wre .ai-suggestion-bar button { height: 24px; padding-inline: 8px; border: 0; border-radius: var(--u-r-sm); background: transparent; color: var(--u-ink-2); font: 500 var(--u-t-xs)/1 var(--u-font); cursor: pointer; }
.ui3 .u-wre .ai-suggestion-bar .ai-suggestion-accept { background: var(--u-ink); color: var(--u-on-ink); }
.ui3 .u-wre .ai-ghost-hint { margin-inline-start: 4px; padding-block: 1px; padding-inline: 4px; border-radius: var(--u-r-xs); background: var(--u-surface-2); color: var(--u-ink-3); font: 500 0.7em/1 var(--u-font); font-style: normal; vertical-align: middle; }
.ui3 .u-wre .ai-suggestion-bar .ai-suggestion-try:hover, .ui3 .u-wre .ai-suggestion-bar .ai-suggestion-thumb:hover { background: var(--u-surface-2); color: var(--u-ink); }
.ui3 .u-wre .ai-suggestion-bar .ai-suggestion-thumb { padding-inline: 6px; color: var(--u-ink-4); }
.ui3 .u-wre .ai-suggestion-shortcut { font-size: var(--u-t-2xs); color: var(--u-ink-4); }
.ui3 .ai-command-menu {
  position: absolute; z-index: var(--u-z-menu); flex-wrap: wrap; gap: 2px; max-inline-size: min(680px, calc(100vw - 20px)); padding: 4px;
  border: 1px solid var(--u-line); border-radius: var(--u-r-lg); background: var(--u-surface); box-shadow: var(--u-sh-lg);
  font-family: var(--u-font); animation: u-fade var(--u-dur-1) var(--u-ease);
}
.ui3 .ai-command-menu button { height: 28px; padding-inline: 10px; border: 0; border-radius: var(--u-r-sm); background: transparent; color: var(--u-ink-2); font: 500 var(--u-t-xs)/1 var(--u-font); white-space: nowrap; cursor: pointer; transition: background var(--u-dur-1), color var(--u-dur-1); }
.ui3 .ai-command-menu button:hover:not(:disabled) { background: var(--u-accent-soft); color: var(--u-accent-ink); }
.ui3 .ai-command-menu button:focus-visible { outline: none; box-shadow: var(--u-ring); }
.ui3 .ai-command-menu button:disabled { color: var(--u-ink-4); cursor: progress; }

.ui3 .u-wre__panel { min-height: 0; display: flex; flex-direction: column; border-inline-start: 1px solid var(--u-line); background: var(--u-surface); overflow: hidden; }
.ui3 .u-wre__tabs { display: flex; align-items: center; gap: 2px; padding-block: 8px; padding-inline: 10px 8px; border-bottom: 1px solid var(--u-line); flex: none; }
.ui3 .u-wre__tabs [role="tab"] { display: inline-flex; align-items: center; gap: 6px; height: 30px; padding-inline: 10px; border: 0; border-radius: var(--u-r-sm); background: transparent; color: var(--u-ink-3); font: 500 var(--u-t-sm)/1 var(--u-font); cursor: pointer; transition: background var(--u-dur-1), color var(--u-dur-1); }
.ui3 .u-wre__tabs [role="tab"]:hover { color: var(--u-ink); }
.ui3 .u-wre__tabs [role="tab"]:focus-visible { outline: none; box-shadow: var(--u-ring); }
.ui3 .u-wre__tabs [role="tab"][aria-selected="true"] { background: var(--u-surface-2); color: var(--u-ink); }
.ui3 .u-wre__tabcount { display: inline-grid; place-items: center; min-width: 18px; height: 18px; padding-inline: 5px; border-radius: var(--u-r-pill); background: var(--u-surface-3); color: var(--u-ink-2); font-size: var(--u-t-2xs); font-weight: 600; font-variant-numeric: tabular-nums; }
.ui3 .u-wre__tabcount:empty { display: none; }
.ui3 .u-wre__panelclose { display: none; }
.ui3 .u-wre__pane { flex: 1; min-height: 0; display: flex; flex-direction: column; }
.ui3 .u-wre__scroll { flex: 1; min-height: 0; overflow-y: auto; }
.ui3 .u-wre__search { display: grid; gap: 8px; padding: 12px; border-bottom: 1px solid var(--u-line); }
.ui3 .u-wre__filters { display: flex; align-items: center; gap: 8px; }
.ui3 .u-wre__filters .u-select { height: 30px; font-size: var(--u-t-xs); }
.ui3 .u-wre__results:empty { display: none; }
.ui3 .u-wre__results { border-bottom: 1px solid var(--u-line); }
.ui3 .u-wre__reslist { margin: 0; padding: 0; list-style: none; }
.ui3 .u-wre__res { display: grid; gap: 2px; padding-block: 12px; padding-inline: 14px; animation: u-fade var(--u-dur-2) var(--u-ease); }
.ui3 .u-wre__res + .u-wre__res { border-top: 1px solid var(--u-line); }
.ui3 .u-wre__res p { margin: 0; }
.ui3 .u-wre__restitle { font-size: var(--u-t-sm); font-weight: 500; line-height: 1.4; color: var(--u-ink); display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; overflow-wrap: anywhere; }
.ui3 .u-wre__resauth { font-size: var(--u-t-xs); color: var(--u-ink-3); }
.ui3 .u-wre__resmeta { gap: 6px; margin-block-end: 6px !important; }
.ui3 .u-wre__resjournal { max-inline-size: 170px; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.ui3 .u-wre__oa { height: 18px; padding-inline: 6px; font-size: var(--u-t-2xs); }
.ui3 .u-wre__resacts { display: flex; flex-wrap: wrap; gap: 4px; }
.ui3 .u-wre__resmsg { display: flex; align-items: center; justify-content: center; gap: 8px; padding-block: 22px; padding-inline: 16px; font-size: var(--u-t-sm); color: var(--u-ink-3); text-align: center; }
.ui3 .u-wre__resmsg.is-danger { color: var(--u-danger); }
.ui3 .u-wre__resmore { margin: 0; padding: 10px; text-align: center; font-size: var(--u-t-xs); color: var(--u-ink-4); }
.ui3 .u-wre__cited { padding: 14px; }
.ui3 .u-wre__citedhead { margin-block: 0 8px; }
.ui3 .u-wre__citelist { display: grid; gap: 6px; margin: 0; padding: 0; list-style: none; }
.ui3 .u-wre__cite { display: flex; gap: 10px; padding-block: 10px; padding-inline: 12px; border: 1px solid var(--u-line); border-radius: var(--u-r-md); }
.ui3 .u-wre__citenum { display: grid; place-items: center; min-width: 22px; height: 22px; padding-inline: 4px; flex: none; border-radius: var(--u-r-pill); background: var(--u-accent-soft); color: var(--u-accent-ink); font-size: var(--u-t-2xs); font-weight: 600; font-variant-numeric: tabular-nums; }
.ui3 .u-wre__citebody { min-width: 0; display: grid; gap: 2px; }
.ui3 .u-wre__citebody p { margin: 0; }
.ui3 .u-wre__citetitle { font-size: var(--u-t-xs); font-weight: 500; line-height: 1.4; color: var(--u-ink); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.ui3 .u-wre__citeauth, .ui3 .u-wre__citemeta { font-size: var(--u-t-2xs); color: var(--u-ink-3); overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.ui3 .u-wre__citelink { display: inline-flex; align-items: center; gap: 2px; margin-block-start: 2px; font-size: var(--u-t-2xs); font-weight: 500; color: var(--u-accent-ink); text-decoration: none; }
.ui3 .u-wre__citelink:hover { text-decoration: underline; }
.ui3 .u-wre__citedempty { display: grid; justify-items: center; gap: 6px; padding-block: 28px; padding-inline: 12px; text-align: center; }
.ui3 .u-wre__citedempty p { margin: 0; }
.ui3 .u-wre__citedempty .u-muted { font-size: var(--u-t-xs); max-width: 260px; }
.ui3 .u-wre__citedempty .u-empty__icon { margin: 0 auto; }

.ui3 .u-wre__thesis { padding-block: 14px 6px; padding-inline: 14px; }
.ui3 .u-wre__thesis .u-textarea { min-height: 0; resize: none; font-size: var(--u-t-sm); }
.ui3 .u-wre__plan { display: grid; gap: 6px; margin: 0; padding-block: 8px 20px; padding-inline: 12px; list-style: none; }
.ui3 .u-wre__sec { display: grid; gap: 4px; padding-block: 8px; padding-inline: 10px; border: 1px solid var(--u-line); border-radius: var(--u-r-md); background: var(--u-surface); transition: border-color var(--u-dur-1); }
.ui3 .u-wre__sec:hover, .ui3 .u-wre__sec:focus-within { border-color: var(--u-line-strong); }
.ui3 .u-wre__sec[data-level="1"] { background: var(--u-surface-2); border-color: transparent; }
.ui3 .u-wre__sec[data-level="3"], .ui3 .u-wre__sec[data-level="4"] { margin-inline-start: 14px; }
.ui3 .u-wre__sechead { display: flex; align-items: center; gap: 8px; width: 100%; padding-block: 2px; padding-inline: 0; border: 0; background: none; font: 600 var(--u-t-sm)/1.35 var(--u-font); text-align: start; color: var(--u-ink); cursor: pointer; border-radius: var(--u-r-xs); }
.ui3 .u-wre__sechead:focus-visible { outline: none; box-shadow: var(--u-ring); }
.ui3 .u-wre__secname { flex: 1; min-width: 0; }
.ui3 .u-wre__secstate { display: grid; place-items: center; width: 18px; height: 18px; flex: none; border-radius: 50%; color: var(--u-ink-4); }
.ui3 .u-wre__secstate.is-done { background: var(--u-accent-soft); color: var(--u-accent-ink); }
.ui3 .u-wre__secgo { color: var(--u-ink-4); opacity: 0; transition: opacity var(--u-dur-1); }
.ui3 .u-wre__sechead:hover .u-wre__secgo, .ui3 .u-wre__sechead:focus-visible .u-wre__secgo { opacity: 1; }
.ui3 .u-wre__purpose, .ui3 .u-wre__kpin {
  width: 100%; padding-block: 3px; padding-inline: 6px; border: 1px solid transparent; border-radius: var(--u-r-sm);
  background: transparent; color: var(--u-ink-3); font: 400 var(--u-t-xs)/1.5 var(--u-font); outline: 0; resize: none;
  transition: border-color var(--u-dur-1), background var(--u-dur-1);
}
.ui3 .u-wre__purpose:hover, .ui3 .u-wre__kpin:hover { border-color: var(--u-line); }
.ui3 .u-wre__purpose:focus, .ui3 .u-wre__kpin:focus { border-color: var(--u-accent); background: var(--u-surface); color: var(--u-ink); }
.ui3 .u-wre__purpose { overflow: hidden; margin-inline-start: 20px; width: calc(100% - 20px); }
.ui3 .u-wre__kps { display: grid; gap: 1px; margin: 0; padding-inline-start: 20px; list-style: none; }
.ui3 .u-wre__kp { position: relative; display: flex; align-items: center; gap: 2px; }
.ui3 .u-wre__kp::before { content: ""; position: absolute; inset-inline-start: -2px; width: 4px; height: 4px; border-radius: 50%; background: var(--u-ink-4); }
.ui3 .u-wre__kpin { color: var(--u-ink-2); padding-inline-start: 10px; }
.ui3 .u-wre__kp .u-btn { opacity: 0; width: 22px; height: 22px; }
.ui3 .u-wre__kp:hover .u-btn, .ui3 .u-wre__kp:focus-within .u-btn { opacity: 1; }
.ui3 .u-wre__addkp { display: inline-flex; align-items: center; gap: 4px; margin-inline-start: 4px; padding-block: 3px; padding-inline: 6px; border: 0; border-radius: var(--u-r-sm); background: none; color: var(--u-accent-ink); font: 500 var(--u-t-2xs)/1.4 var(--u-font); cursor: pointer; }
.ui3 .u-wre__addkp:hover { background: var(--u-accent-soft); }
.ui3 .u-wre__notes { margin: 0; padding-block: 6px; padding-inline: 8px; border-radius: var(--u-r-sm); border-inline-start: 2px solid var(--u-accent-line); background: var(--u-surface-2); font-size: var(--u-t-xs); color: var(--u-ink-3); }

.ui3 .u-wre__chat #chatMessages { padding-block: 14px; padding-inline: 14px; }
.ui3 .u-wre__chatintro { display: grid; justify-items: center; gap: 10px; padding-block: 28px 8px; text-align: center; }
.ui3 .u-wre__chatintro p { margin: 0; max-width: 260px; font-size: var(--u-t-sm); }
.ui3 .u-wre__chatmark { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; background: var(--u-accent-soft); color: var(--u-accent-ink); }
.ui3 .u-wre__starters { display: grid; gap: 6px; width: 100%; margin-block-start: 8px; }
.ui3 .u-wre__starters .u-chip { justify-content: flex-start; height: auto; min-height: 32px; padding-block: 7px; padding-inline: 12px; border-radius: var(--u-r-md); background: var(--u-surface); color: var(--u-ink-2); font-size: var(--u-t-xs); line-height: 1.4; text-align: start; white-space: normal; }
.ui3 .u-wre__msg { margin-block-end: 14px; font-size: var(--u-t-sm); line-height: 1.65; color: var(--u-ink-2); animation: u-fade var(--u-dur-2) var(--u-ease); }
.ui3 .u-wre__msg--user { margin-inline-start: 36px; padding-block: 8px; padding-inline: 12px; border-radius: var(--u-r-lg); border-end-end-radius: var(--u-r-xs); background: var(--u-surface-2); color: var(--u-ink); white-space: pre-wrap; }
.ui3 .u-wre__msg.is-error { color: var(--u-danger); }
.ui3 .u-wre__msgbody > :first-child { margin-block-start: 0; }
.ui3 .u-wre__msgbody > :last-child { margin-block-end: 0; }
.ui3 .u-wre__msgbody p { margin-block: 0 0.8em; }
.ui3 .u-wre__msgbody ul, .ui3 .u-wre__msgbody ol { margin-block: 0.4em 0.9em; padding-inline-start: 1.3em; }
.ui3 .u-wre__msgbody li { margin-block: 0.25em; }
.ui3 .u-wre__msgbody strong { color: var(--u-ink); font-weight: 600; }
.ui3 .u-wre__msgbody code { padding-block: 1px; padding-inline: 4px; border-radius: var(--u-r-xs); background: var(--u-surface-2); font: 0.9em var(--u-mono); }
.ui3 .u-wre__msgbody blockquote { margin-block: 0.5em; margin-inline: 0; padding-inline-start: 0.75em; border-inline-start: 3px solid var(--u-accent-line); color: var(--u-ink-3); }
.ui3 .u-wre__msgbody a { color: var(--u-accent-ink); }
.ui3 .u-wre__typing { display: inline-flex; gap: 4px; padding-block: 6px; }
.ui3 .u-wre__typing span { width: 6px; height: 6px; border-radius: 50%; background: var(--u-ink-4); animation: u-pulse 1.2s var(--u-ease) infinite; }
.ui3 .u-wre__typing span:nth-child(2) { animation-delay: 0.15s; }
.ui3 .u-wre__typing span:nth-child(3) { animation-delay: 0.3s; }
.ui3 .u-wre__disclaimer { margin: 0; padding-block: 6px 4px; padding-inline: 14px; font-size: var(--u-t-2xs); line-height: 1.45; color: var(--u-ink-4); border-top: 1px solid var(--u-line); }
.ui3 .u-wre__composer { display: flex; align-items: flex-end; gap: 6px; margin-block: 6px 12px; margin-inline: 12px; padding-block: 5px; padding-inline: 12px 5px; border: 1px solid var(--u-line); border-radius: var(--u-r-lg); background: var(--u-surface); transition: border-color var(--u-dur-1), box-shadow var(--u-dur-1); }
.ui3 .u-wre__composer:focus-within { border-color: var(--u-accent); box-shadow: var(--u-ring); }
.ui3 .u-wre__composer.is-busy .u-btn { opacity: 0.5; pointer-events: none; }
.ui3 .u-wre__chatin { flex: 1; min-width: 0; max-height: 140px; padding-block: 5px; border: 0; background: transparent; color: var(--u-ink); font: 400 var(--u-t-sm)/1.45 var(--u-font); resize: none; outline: 0; }
.ui3 .u-wre__chatin::placeholder { color: var(--u-ink-4); }
.ui3 .u-wre__status { display: flex; align-items: center; gap: 8px; height: 32px; padding-inline: 16px 10px; border-top: 1px solid var(--u-line); background: var(--u-surface); font-size: var(--u-t-xs); color: var(--u-ink-3); font-variant-numeric: tabular-nums; flex: none; }
.ui3 .u-wre__style { display: inline-flex; align-items: center; gap: 4px; cursor: pointer; }
.ui3 .u-wre__stylesel { height: 24px; padding-inline: 4px; border: 0; border-radius: var(--u-r-xs); background: transparent; color: var(--u-ink); font: 600 var(--u-t-xs)/1 var(--u-font); cursor: pointer; }
.ui3 .u-wre__stylesel:hover { background: var(--u-surface-2); }
.ui3 .u-wre__stylesel:focus-visible { outline: none; box-shadow: var(--u-ring); }
.ui3 .u-wre__scrim { display: none; }

.ui3 .u-wre__pop { position: fixed; z-index: var(--u-z-menu); display: grid; gap: 4px; width: min(360px, calc(100vw - 24px)); padding-block: 14px 12px; padding-inline: 16px; border: 1px solid var(--u-line); border-radius: var(--u-r-lg); background: var(--u-surface); box-shadow: var(--u-sh-lg); animation: u-pop var(--u-dur-2) var(--u-ease); }
.ui3 .u-wre__pop p { margin: 0; }
.ui3 .u-wre__poptitle { font-size: var(--u-t-sm); font-weight: 600; line-height: 1.4; color: var(--u-ink); }
.ui3 .u-wre__popauth { font-size: var(--u-t-xs); color: var(--u-ink-3); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.ui3 .u-wre__popmeta { gap: 6px; }
.ui3 .u-wre__popacts { display: flex; gap: 6px; margin-block-start: 10px; }
.ui3 .u-wre__popdel { color: var(--u-danger); }
.ui3 .u-wre__popdel:hover:not(:disabled) { background: var(--u-danger-soft); color: var(--u-danger); }
.ui3 .u-wre__keys { display: grid; gap: 10px; margin: 0; }
.ui3 .u-wre__keys > div { display: flex; align-items: center; justify-content: space-between; gap: 12px; font-size: var(--u-t-sm); }
.ui3 .u-wre__keys dt { color: var(--u-ink-2); }
.ui3 .u-wre__keys dd { display: flex; gap: 4px; margin: 0; }

@media (max-width: 1099px) {
  .ui3 .u-wre__body { grid-template-columns: minmax(0, 1fr); }
  .ui3 .u-wre__panel {
    position: absolute; inset-block: 0; inset-inline-end: 0; z-index: 5; inline-size: min(400px, 100%);
    box-shadow: var(--u-sh-lg); animation: u-wre-in var(--u-dur-2) var(--u-ease);
  }
  .ui3 .u-wre[data-panel="open"] .u-wre__scrim { display: block; position: absolute; inset: 0; z-index: 4; background: var(--u-scrim); animation: u-fade var(--u-dur-2) var(--u-ease); }
  .ui3 .u-wre__scrim[hidden] { display: none !important; }
  .ui3 .u-wre__panelclose { display: inline-flex; }
  .ui3 .u-wrc__grid { grid-template-columns: minmax(0, 1fr); }
  .ui3 .u-wrc__aside { position: static; grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@keyframes u-wre-in { from { opacity: 0; transform: translateX(16px); } to { opacity: 1; transform: none; } }
[dir="rtl"] .ui3 .u-wre__panel, .ui3[dir="rtl"] .u-wre__panel { animation-name: u-wre-in-rtl; }
@keyframes u-wre-in-rtl { from { opacity: 0; transform: translateX(-16px); } to { opacity: 1; transform: none; } }
@media (max-width: 899px) {
  .ui3 .u-wrc__stepper .u-stepper__step:not(.is-active) > span:last-child, .ui3 .u-wrg__stepper .u-stepper__step:not(.is-active):not(.is-error) > span:last-child { display: none; }
  .ui3 .u-wrg__barpad { display: none; }
  .ui3 .u-wr__how { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 699px) {
  .ui3 .u-wr .u-pagehead { flex-wrap: wrap; align-items: flex-start; }
  .ui3 .u-wr .u-pagehead__actions { inline-size: 100%; }
  .ui3 .u-wr .u-pagehead__actions .u-btn { flex: 1; }
  .ui3 .u-wr__toolbar { gap: 6px; }
  .ui3 .u-wr__toolbar > .u-toolbar__spacer { display: none; }
  .ui3 .u-wr__search { inline-size: 100%; }
  .ui3 .u-wr__search .u-kbd, .ui3 .u-wr__bulk .u-kbd { display: none; }
  .ui3 .u-wr__toolbar .u-select { flex: 1 1 40%; min-width: 0; }
  .ui3 .u-wrd__title { white-space: normal; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
  .ui3 .u-wrd { grid-template-columns: auto minmax(0, 1fr) auto; grid-template-areas: "check main acts" ". status ."; row-gap: 6px; }
  .ui3 .u-wrd__icon { display: none; }
  .ui3 .u-wrd__status { justify-self: start; }
  .ui3 .u-wrd__acts { opacity: 1; }
  .ui3 .u-wrd__acts [data-wr-act] { display: none; }
  .ui3 .u-wr__docs[data-view="card"] .u-wrd { grid-template-areas: "check . acts" "main main main" "status . ."; }
  .ui3 .u-wr__docs[data-view="card"] .u-wrd__check { opacity: 1; }
  .ui3 .u-wrc__inner { padding-block: 24px 32px; padding-inline: 16px; }
  .ui3 .u-wrc__aside { grid-template-columns: minmax(0, 1fr); }
  .ui3 .u-wrc__foot { padding-inline: 16px; }
  .ui3 .u-wrc__foot .u-btn { flex: 1; }
  .ui3 .u-wrc__bar > .u-btn:first-child { display: none; }
  .ui3 .u-wrg__back { display: none; }
  .ui3 .u-wrg__card { padding: 20px; }
  .ui3 .u-wrg__evidence { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ui3 .u-wrg__metafields { grid-template-columns: minmax(0, 1fr); }
  .ui3 .u-wrg__queries li { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .ui3 .u-wrg__footer { flex-direction: column; align-items: stretch; }
  .ui3 .u-wrg__footer .u-btn { justify-content: center; }
  .ui3 .u-wrg__tools .u-select { flex: 1; }
  .ui3 .u-wre__hideable { display: none; }
  .ui3 .u-wre__title { flex: 1; }
  .ui3 .u-wre__canvas { padding: 0; }
  .ui3 .u-wre__paper { border: 0; border-radius: 0; box-shadow: none; min-height: 100%; }
  .ui3 .u-wre .writer-editor-content { padding-block: 28px 140px; padding-inline: 20px; font-size: 16.5px; }
  .ui3 .u-wre .writer-editor-content h1 { font-size: 25px; }
  .ui3 .u-wre__panel { inline-size: 100%; }
  .ui3 .u-wre__save > span { display: none; }
}
@media (hover: none) {
  .ui3 .u-wrd__acts, .ui3 .u-wre__kp .u-btn, .ui3 .u-wre__secgo { opacity: 1; }
}
@media (prefers-reduced-motion: reduce) {
  .ui3 .u-wrg__busyicon, .ui3 .u-wrg__indet .u-progress__bar, .ui3 .u-wre__typing span { animation: none; }
}

@media print {
  .ui3:has(.ms-slides-v2) body * { visibility: hidden !important; }
  .ui3 .ms-slides-v2, .ui3 .ms-slides-v2 * { visibility: visible !important; }
  .ui3:has(.ms-slides-v2) .u-sidebar, .ui3:has(.ms-slides-v2) .u-mobilebar, .ui3:has(.ms-slides-v2) .u-toasts, .ui3:has(.ms-slides-v2) .u-tipfloat { display: none !important; }
  .ui3:has(.ms-slides-v2) .u-app { display: block; height: auto; overflow: visible; }
  .ui3:has(.ms-slides-v2) .u-main { height: auto; overflow: visible; }
  .ui3 .ms-toolbar, .ui3 .ms-rail, .ui3 .ms-notes, .ui3 .ms-refs, .ui3 .ms-nav, .ui3 .ms-toast, .ui3 .ms-inspector, .ui3 .ms-side-panel, .ui3 .ms-add-item { display: none !important; }
  .ui3 .ms-editable { box-shadow: none !important; background: none !important; }
  .ui3 .ms-slides-v2, .ui3 .ms-body, .ui3 .ms-main, .ui3 .ms-canvas, .ui3 .ms-stage, .ui3 .ms-slide-host { position: static !important; height: auto !important; padding: 0 !important; overflow: visible !important; background: none !important; box-shadow: none !important; }
  .ui3 .ms-slide-scale { transform: none !important; page-break-after: always; border-radius: 0; box-shadow: none !important; }
}

/* ---------- Team ---------- */
.ui3 .u-tm { max-width: 1240px; }
.ui3 .u-tm__loading { display: grid; gap: 12px; padding-block-start: 8px; }
.ui3 .u-tm__sk { height: 112px; border-radius: var(--u-r-lg); }
.ui3 .u-tm__sk--head { height: 56px; max-width: 420px; }
.ui3 .u-tm__sk--bar { height: 34px; }

.ui3 .u-tm__hero { display: grid; justify-items: center; gap: 12px; padding-block: 40px 8px; text-align: center; }
.ui3 .u-tm__heroicon { display: grid; place-items: center; width: 56px; height: 56px; border-radius: var(--u-r-xl); background: var(--u-accent-soft); color: var(--u-accent-ink); margin-block-end: 4px; }
.ui3 .u-tm__eyebrow { color: var(--u-accent-ink); letter-spacing: 0.02em; }
.ui3 .u-tm__lead { max-width: 600px; margin: 0; font-size: var(--u-t-md); line-height: 1.55; color: var(--u-ink-3); }
.ui3 .u-tm__heroacts { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin-block-start: 12px; }
.ui3 .u-tm__how { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; width: 100%; max-width: 880px; margin-block: 36px 0; margin-inline: 0; padding: 0; list-style: none; text-align: start; }
.ui3 .u-tm__how li { display: flex; gap: 12px; align-items: flex-start; padding: 16px; border-radius: var(--u-r-lg); background: var(--u-surface-2); }
.ui3 .u-tm__how li div { display: grid; gap: 3px; font-size: var(--u-t-sm); }
.ui3 .u-tm__how li strong { font-weight: 600; color: var(--u-ink); }
.ui3 .u-tm__how li div span { color: var(--u-ink-3); font-size: var(--u-t-xs); line-height: 1.5; }
.ui3 .u-tm__hown { flex: none; display: grid; place-items: center; width: 22px; height: 22px; border-radius: 50%; background: var(--u-surface); color: var(--u-ink-2); font-size: var(--u-t-2xs); font-weight: 600; font-variant-numeric: tabular-nums; box-shadow: var(--u-sh-xs); }

.ui3 .u-tm__head { align-items: center; }
.ui3 .u-tm__head .u-pagehead__actions { flex: none; }
.ui3 .u-tm__who { flex: 1; display: flex; align-items: center; gap: 14px; min-width: 0; }
.ui3 .u-tm__whotext { flex: 1; display: grid; justify-items: start; gap: 2px; min-width: 0; }
.ui3 .u-tm__avatar { flex: none; display: grid; place-items: center; width: 48px; height: 48px; border-radius: var(--u-r-lg); overflow: hidden; background: var(--u-accent-soft); color: var(--u-accent-ink); font-weight: 600; font-size: var(--u-t-md); }
.ui3 .u-tm__avatar img { width: 100%; height: 100%; object-fit: cover; }
.ui3 .u-tm__avatar--lg { width: 64px; height: 64px; font-size: var(--u-t-lg); }
.ui3 .u-tm__switch { display: inline-flex; align-items: center; gap: 6px; max-width: 100%; min-width: 0; padding-block: 2px; padding-inline: 6px; margin-inline-start: -6px; border: 0; border-radius: var(--u-r-md); background: transparent; color: var(--u-ink); font: inherit; cursor: pointer; text-align: start; }
.ui3 .u-tm__switch:hover, .ui3 .u-tm__switch[aria-expanded="true"] { background: var(--u-surface-2); }
.ui3 .u-tm__switch > .u-i { flex: none; color: var(--u-ink-3); }
.ui3 .u-tm__name { margin: 0; min-width: 0; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.ui3 .u-tm__purpose { max-width: 760px; margin-block: -6px 18px; margin-inline: 0; color: var(--u-ink-2); font-size: var(--u-t-sm); line-height: 1.55; }

.ui3 .u-tm__notice { display: flex; align-items: center; gap: 10px; margin-block-end: 16px; padding-block: 10px; padding-inline: 14px 10px; border-radius: var(--u-r-lg); background: var(--u-info-soft); color: var(--u-info); font-size: var(--u-t-sm); }
.ui3 .u-tm__notice > span { flex: 1; min-width: 0; color: var(--u-ink-2); }
.ui3 .u-tm__notice--wait { background: var(--u-warn-soft); color: var(--u-warn); padding-inline-end: 14px; }
.ui3 .u-tm__notice[hidden] { display: none; }

.ui3 .u-tm__grid { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 24px; align-items: start; }
.ui3 .u-tm__grid[hidden] { display: none; }
.ui3 .u-tm__toolbar { flex-wrap: wrap; gap: 10px; margin-block-end: 12px; }
.ui3 .u-tm__toolbar[hidden] { display: none; }
.ui3 .u-tm__search { flex: 1 1 240px; max-width: 360px; }
.ui3 .u-tm__filters { display: flex; flex-wrap: wrap; gap: 6px; }
.ui3 .u-tm__fcount { color: inherit; opacity: 0.6; }
.ui3 .u-tm__fcount:empty { display: none; }
.ui3 .u-tm__list { display: grid; gap: 10px; }
.ui3 .u-tm__more { display: flex; justify-content: center; padding-block: 16px 4px; }
.ui3 .u-tm__more[hidden] { display: none; }

.ui3 .u-tmp {
  display: grid; grid-template-columns: 56px minmax(0, 1fr) auto; gap: 16px; align-items: start;
  padding: 16px; border: 1px solid var(--u-line); border-radius: var(--u-r-lg); background: var(--u-surface); box-shadow: var(--u-sh-xs);
  transition: border-color var(--u-dur-2), box-shadow var(--u-dur-2);
}
.ui3 .u-tmp.is-readable { cursor: pointer; }
.ui3 .u-tmp.is-readable:hover { border-color: var(--u-line-strong); box-shadow: var(--u-sh-md); }
.ui3 .u-tmp.is-over { border-color: var(--u-accent); box-shadow: var(--u-ring); background: var(--u-accent-soft); }
.ui3 .u-tmp__thumb { display: grid; place-items: center; width: 56px; height: 72px; border-radius: var(--u-r-sm); overflow: hidden; background: var(--u-surface-2); border: 1px solid var(--u-line); color: var(--u-ink-4); }
.ui3 .u-tmp__thumb img { width: 100%; height: 100%; object-fit: cover; object-position: top; }
.ui3 .u-tmp__main { display: grid; gap: 6px; min-width: 0; }
.ui3 .u-tmp__top { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; min-width: 0; }
.ui3 .u-tmp__venue { min-width: 0; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; font-size: var(--u-t-xs); color: var(--u-ink-3); }
.ui3 .u-tmp__title { margin: 0; font-size: var(--u-t-md); font-weight: 600; line-height: 1.35; color: var(--u-ink); }
.ui3 .u-tmp__titlebtn { padding: 0; border: 0; background: none; font: inherit; color: inherit; text-align: start; cursor: pointer; }
.ui3 .u-tmp__titlebtn:hover { text-decoration: underline; text-decoration-color: var(--u-line-strong); text-underline-offset: 3px; }
.ui3 .u-tmp__authors { margin: 0; font-size: var(--u-t-xs); color: var(--u-ink-3); overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.ui3 .u-tmp__preview { margin: 0; font-size: var(--u-t-sm); line-height: 1.55; color: var(--u-ink-2); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.ui3 .u-tmp__status { display: flex; align-items: center; gap: 6px; margin: 0; font-size: var(--u-t-sm); color: var(--u-ink-3); }
.ui3 .u-tmp__note { margin: 0; padding-block: 6px; padding-inline: 10px; border-inline-start: 2px solid var(--u-accent); border-radius: var(--u-r-xs); background: var(--u-surface-2); font-size: var(--u-t-sm); line-height: 1.5; color: var(--u-ink-2); }
.ui3 .u-tmp__foot { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin-block-start: 2px; font-size: var(--u-t-xs); color: var(--u-ink-3); }
.ui3 .u-tmp__ccount { display: inline-flex; align-items: center; gap: 4px; margin-inline-start: auto; padding-block: 2px; padding-inline: 6px; border: 0; border-radius: var(--u-r-sm); background: transparent; color: var(--u-ink-3); font: inherit; cursor: pointer; }
.ui3 .u-tmp__ccount:hover { background: var(--u-surface-2); color: var(--u-ink); }
.ui3 .u-tmp__acts { display: flex; align-items: center; gap: 6px; }
.ui3 .u-btn.is-pulse { box-shadow: var(--u-ring); animation: u-pulse 1.4s var(--u-ease) 3; }

.ui3 .u-tm__empty { display: grid; justify-items: center; gap: 8px; }
.ui3 .u-tm__empty p { max-width: 440px; margin: 0; color: var(--u-ink-3); }
.ui3 .u-tm__emptyicon { display: grid; place-items: center; width: 44px; height: 44px; border-radius: var(--u-r-lg); background: var(--u-surface-2); color: var(--u-ink-3); }
.ui3 .u-tm__emptyacts { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin-block-start: 8px; }

.ui3 .u-tm__rail { display: grid; gap: 12px; position: sticky; inset-block-start: 16px; }
.ui3 .u-tm__panel { display: grid; gap: 10px; padding: 16px; }
.ui3 .u-tm__panel[hidden] { display: none; }
.ui3 .u-tm__panelhead { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.ui3 .u-tm__panelhead .u-h3 { margin: 0; }
.ui3 .u-tm__panelnote { margin: 0; font-size: var(--u-t-xs); line-height: 1.5; }
.ui3 .u-tm__panelbtn { justify-self: start; }
.ui3 .u-tm__mlist { display: grid; gap: 2px; margin: 0; padding: 0; list-style: none; }
.ui3 .u-tm__mrow, .ui3 .u-tm__srow { display: flex; align-items: center; gap: 10px; min-width: 0; padding-block: 6px; }
.ui3 .u-tm__mtext { flex: 1; min-width: 0; display: grid; }
.ui3 .u-tm__mname { font-size: var(--u-t-sm); font-weight: 500; color: var(--u-ink); overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.ui3 .u-tm__msub { font-size: var(--u-t-xs); color: var(--u-ink-3); overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.ui3 .u-tm__mmore { padding-block: 6px 0; font-size: var(--u-t-xs); color: var(--u-ink-3); }
.ui3 .u-tm__you { font-size: var(--u-t-2xs); font-weight: 500; color: var(--u-ink-4); }
.ui3 .u-tm__linkfield { padding-inline-end: 4px; }
.ui3 .u-tm__linkfield input { font-size: var(--u-t-xs); color: var(--u-ink-2); }
.ui3 .u-tm__share { display: flex; flex-wrap: wrap; gap: 6px; margin-block-start: 4px; }

.ui3 .u-tm__mini { flex: none; display: grid; place-items: center; width: 24px; height: 24px; border-radius: var(--u-r-sm); overflow: hidden; background: var(--u-accent-soft); color: var(--u-accent-ink); font-size: var(--u-t-2xs); font-weight: 600; }
.ui3 .u-tm__mini img { width: 100%; height: 100%; object-fit: cover; }
.ui3 .u-tm__switchitem { min-width: 240px; }
.ui3 .u-tm__switchtext { flex: 1; min-width: 0; display: grid; text-align: start; }
.ui3 .u-tm__switchtext > span:first-child { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.ui3 .u-tm__switchsub { font-size: var(--u-t-2xs); color: var(--u-ink-4); }

.ui3 .u-tm__form { display: grid; gap: 14px; }
.ui3 .u-tm__form .u-file { margin: 0; }
.ui3 .u-tm__emails { min-height: 64px; }
.ui3 .u-tm__or { display: flex; align-items: center; gap: 10px; font-size: var(--u-t-xs); color: var(--u-ink-4); }
.ui3 .u-tm__or::before, .ui3 .u-tm__or::after { content: ""; flex: 1; height: 1px; background: var(--u-line); }
.ui3 .u-tm__addhint { display: flex; align-items: flex-start; gap: 6px; margin: 0; }
.ui3 .u-tm__steps { display: grid; gap: 10px; margin-block: 4px 16px; margin-inline: 0; padding: 0; list-style: none; font-size: var(--u-t-sm); color: var(--u-ink-2); }
.ui3 .u-tm__steps li { display: flex; align-items: flex-start; gap: 10px; }
.ui3 .u-tm__check { display: inline-flex; align-items: center; gap: 8px; font-size: var(--u-t-sm); color: var(--u-ink-2); cursor: pointer; }
.ui3 .u-tm__check input { accent-color: var(--u-accent); }

.ui3 .u-tm__settings { width: min(600px, 100%); }
.ui3 .u-tm__stabs { padding-block: 14px 0; padding-inline: 20px; }
.ui3 .u-tm__ssec { display: grid; gap: 6px; padding-block: 8px; }
.ui3 .u-tm__ssec + .u-tm__ssec { border-top: 1px solid var(--u-line); padding-block-start: 16px; }
.ui3 .u-tm__ssec[hidden] { display: none; }
.ui3 .u-tm__srows { display: grid; margin: 0; padding: 0; list-style: none; }
.ui3 .u-tm__srow + .u-tm__srow { border-top: 1px solid var(--u-line); }
.ui3 .u-tm__sacts { display: flex; align-items: center; gap: 6px; flex: none; }
.ui3 .u-select--sm { height: 28px; font-size: var(--u-t-xs); }
.ui3 .u-tm__profile { display: flex; align-items: center; gap: 14px; padding-block: 4px 10px; }
.ui3 .u-tm__profileacts { display: grid; gap: 4px; justify-items: start; }
.ui3 .u-tm__rename, .ui3 .u-tm__delconfirm { margin-block-start: 4px; }
.ui3 .u-tm__renamerow { display: flex; gap: 8px; }
.ui3 .u-tm__renamerow .u-input { flex: 1; }
.ui3 .u-tm__delconfirm[hidden] { display: none; }
.ui3 .u-tm__dangerrow { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-block: 6px; }
.ui3 .u-tm__dangerrow strong { font-size: var(--u-t-sm); font-weight: 500; color: var(--u-ink); }
.ui3 .u-tm__dangerrow .u-field__hint { margin: 2px 0 0; }
.ui3 .u-tm__dangerrow[hidden] { display: none; }

/* Reader, team mode: Discussion / Ask tabs */
.ui3 .u-reader__chathead--tabs { gap: 6px; padding-inline: 12px 10px; }
.ui3 .u-reader__tabs { flex: 1; min-width: 0; justify-self: start; max-width: max-content; }
.ui3 .u-reader__tabs > button { display: inline-flex; align-items: center; gap: 6px; }
.ui3 .u-reader__tabcount { min-width: 18px; height: 18px; padding-inline: 5px; border-radius: var(--u-r-pill); background: var(--u-accent-soft); color: var(--u-accent-ink); font-size: var(--u-t-2xs); display: inline-grid; place-items: center; }
.ui3 .u-reader__tabcount[hidden] { display: none; }
.ui3 .u-reader__pane { flex: 1; min-height: 0; display: flex; flex-direction: column; }
.ui3 .u-reader__pane[hidden] { display: none; }
.ui3 .u-reader__panenote { display: flex; align-items: center; gap: 6px; margin: 0; padding-block: 8px; padding-inline: 16px; border-bottom: 1px solid var(--u-line); background: var(--u-surface-2); color: var(--u-ink-3); }
.ui3 .u-reader__askpop--pair { display: flex; gap: 6px; padding: 4px; border-radius: var(--u-r-md); background: var(--u-surface); border: 1px solid var(--u-line); }
.ui3 [data-r-ask] .u-badge--new { margin-inline-start: 2px; }
.ui3 .u-rdisc { gap: 14px; }
.ui3 .u-rdisc__sk { height: 64px; border-radius: var(--u-r-md); }
.ui3 .u-rdisc__empty { display: grid; justify-items: center; gap: 6px; padding-block: 36px; padding-inline: 12px; text-align: center; color: var(--u-ink-3); }
.ui3 .u-rdisc__empty .u-h3 { margin: 4px 0 0; color: var(--u-ink); }
.ui3 .u-rdisc__empty p { margin: 0; max-width: 300px; font-size: var(--u-t-sm); line-height: 1.5; }
.ui3 .u-rdisc__emptyicon { display: grid; place-items: center; width: 44px; height: 44px; border-radius: var(--u-r-lg); background: var(--u-surface-2); color: var(--u-ink-3); }
.ui3 .u-rcomment { position: relative; display: flex; gap: 10px; align-items: flex-start; animation: u-rise var(--u-dur-3) var(--u-ease) both; }
.ui3 .u-rcomment > .u-avatar { margin-block-start: 2px; }
.ui3 .u-rcomment__body { flex: 1; min-width: 0; display: grid; gap: 3px; }
.ui3 .u-rcomment__head { display: flex; align-items: baseline; flex-wrap: wrap; column-gap: 6px; min-height: 24px; padding-inline-end: 28px; font-size: var(--u-t-xs); color: var(--u-ink-3); }
.ui3 .u-rcomment__head strong { font-size: var(--u-t-sm); font-weight: 600; color: var(--u-ink); }
.ui3 .u-rcomment__sub { color: var(--u-ink-4); }
.ui3 .u-rcomment__time { color: var(--u-ink-4); }
.ui3 .u-rcomment__del { position: absolute; inset-block-start: -2px; inset-inline-end: 0; opacity: 0; transition: opacity var(--u-dur-1); }
.ui3 .u-rcomment:hover .u-rcomment__del, .ui3 .u-rcomment__del:focus-visible { opacity: 1; }
.ui3 .u-rcomment__text { font-size: var(--u-t-sm); line-height: 1.6; color: var(--u-ink-2); overflow-wrap: anywhere; }
.ui3 .u-rcomment__text blockquote { margin-block: 2px 6px; margin-inline: 0; padding-block: 4px; padding-inline: 10px; border-inline-start: 2px solid var(--u-accent); background: var(--u-surface-2); border-radius: var(--u-r-xs); color: var(--u-ink-3); }
.ui3 .u-rcomment__text a { color: var(--u-accent-ink); text-decoration: underline; text-underline-offset: 2px; }
.ui3 .u-composer__note.is-warn { color: var(--u-warn); }
.ui3 #ui3RDiscForm.is-busy .u-composer__send { opacity: 0.4; }

@media (max-width: 1099px) {
  .ui3 .u-tm__grid { grid-template-columns: minmax(0, 1fr); }
  .ui3 .u-tm__rail { position: static; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); }
}
@media (max-width: 699px) {
  .ui3 .u-tm__how { grid-template-columns: minmax(0, 1fr); margin-block-start: 24px; }
  .ui3 .u-tm__head { flex-wrap: wrap; }
  .ui3 .u-tm__head .u-pagehead__actions { width: 100%; }
  .ui3 .u-tm__head .u-pagehead__actions .u-btn--primary { flex: 1; justify-content: center; }
  .ui3 .u-tm__avatar { width: 40px; height: 40px; }
  .ui3 .u-tm__search { max-width: none; flex-basis: 100%; }
  .ui3 .u-tm__filters { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; margin-inline: -16px; padding-inline: 16px; }
  .ui3 .u-tm__filters .u-chip { flex: none; }
  .ui3 .u-tmp { grid-template-columns: 44px minmax(0, 1fr); gap: 12px; padding: 14px; }
  .ui3 .u-tmp__thumb { width: 44px; height: 56px; }
  .ui3 .u-tmp__acts { grid-column: 1 / -1; flex-wrap: wrap; }
  .ui3 .u-tmp__acts .u-btn--primary { flex: 1; justify-content: center; }
  .ui3 .u-tm__renamerow { flex-direction: column; }
  .ui3 .u-tm__dangerrow { align-items: flex-start; flex-direction: column; }
  .ui3 .u-rcomment__del { opacity: 1; }
}
@media (hover: none) {
  .ui3 .u-rcomment__del { opacity: 1; }
}
@media (prefers-reduced-motion: reduce) {
  .ui3 .u-btn.is-pulse, .ui3 .u-rcomment { animation: none; }
}

/* ---------- Study ---------- */
.ui3 .u-i--xs { width: 12px; height: 12px; }
.ui3 .u-st__crumbs { margin-block-end: 8px; }
.ui3 .u-st .u-pagehead .u-h1 { overflow-wrap: anywhere; }
.ui3 .u-st-section { display: grid; gap: 12px; margin-block-start: 28px; }
.ui3 .u-st-section__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; }

.ui3 .u-st-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin: 0; }
.ui3 .u-st-stats--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.ui3 .u-st-stats--5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.ui3 .u-st-stat { display: grid; gap: 4px; padding-block: 12px; padding-inline: 14px; border: 1px solid var(--u-line); border-radius: var(--u-r-lg); background: var(--u-surface); }
.ui3 .u-st-stat dt { display: flex; align-items: center; gap: 6px; font-size: var(--u-t-xs); color: var(--u-ink-3); }
.ui3 .u-st-stat dd { margin: 0; font-size: var(--u-t-xl); font-weight: 600; letter-spacing: -0.02em; color: var(--u-ink); }
.ui3 .u-st-stat dd .u-faint { font-size: var(--u-t-sm); font-weight: 500; }
.ui3 .u-st-stat--ok dd { color: var(--u-accent-ink); }
.ui3 .u-st-stat--warn dd { color: var(--u-warn); }

.ui3 .u-st-bar { position: relative; display: block; height: 6px; border-radius: var(--u-r-pill); background: var(--u-surface-3); overflow: hidden; }
.ui3 .u-st-bar > span { position: absolute; inset-block: 0; inset-inline-start: 0; width: var(--p, 0%); border-radius: inherit; background: var(--u-accent); transition: width var(--u-dur-3) var(--u-ease); }
.ui3 .u-st-bar--warn > span { background: var(--u-warn); }
.ui3 .u-st-bar--danger > span { background: var(--u-danger); }

.ui3 .u-st-ring { width: 56px; height: 56px; flex: none; transform: rotate(-90deg); }
.ui3 .u-st-ring--lg { width: 120px; height: 120px; }
.ui3 .u-st-ring__track { fill: none; stroke: var(--u-surface-3); stroke-width: 3.2; }
.ui3 .u-st-ring__fill { fill: none; stroke: var(--u-accent); stroke-width: 3.2; stroke-linecap: round; transition: stroke-dasharray 700ms var(--u-ease); }
.ui3 [data-tone="warn"] .u-st-ring__fill, .ui3 .u-st-ring.is-warn .u-st-ring__fill { stroke: var(--u-warn); }
.ui3 [data-tone="danger"] .u-st-ring__fill, .ui3 .u-st-ring.is-danger .u-st-ring__fill { stroke: var(--u-danger); }

.ui3 .u-st-legend { display: grid; gap: 6px; margin: 0; padding: 0; list-style: none; font-size: var(--u-t-sm); color: var(--u-ink-2); }
.ui3 .u-st-legend li { display: flex; align-items: center; gap: 8px; }
.ui3 .u-st-legend li strong { margin-inline-start: auto; font-weight: 600; color: var(--u-ink); }
.ui3 .u-st-legend__dot { width: 8px; height: 8px; flex: none; border-radius: 50%; background: var(--u-line-strong); }
.ui3 .u-st-cardbar { display: flex; gap: 2px; height: 8px; border-radius: var(--u-r-pill); overflow: hidden; background: var(--u-surface-3); }
.ui3 .u-st-cardbar__seg { flex-basis: 0; min-width: 4px; background: var(--u-line-strong); }
.ui3 .u-st-legend__dot--learning, .ui3 .u-st-cardbar__seg--learning { background: var(--u-warn); }
.ui3 .u-st-legend__dot--reviewing, .ui3 .u-st-cardbar__seg--reviewing, .ui3 .u-st-legend__dot--exam { background: var(--u-info); }
.ui3 .u-st-legend__dot--mastered, .ui3 .u-st-cardbar__seg--mastered, .ui3 .u-st-legend__dot--answered { background: var(--u-accent); }
.ui3 .u-st-legend__dot--flagged { background: var(--u-warn); }

.ui3 .u-st-diff { font-size: var(--u-t-2xs); font-weight: 600; letter-spacing: 0.02em; text-transform: uppercase; color: var(--u-ink-3); }
.ui3 .u-st-diff--easy { color: var(--u-accent-ink); }
.ui3 .u-st-diff--medium { color: var(--u-warn); }
.ui3 .u-st-diff--hard { color: var(--u-danger); }

/* Set cards */
.ui3 .u-st-sets { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 12px; }
.ui3 .u-stset { display: flex; flex-direction: column; gap: 8px; min-width: 0; padding: 16px; border: 1px solid var(--u-line); border-radius: var(--u-r-lg); background: var(--u-surface); box-shadow: var(--u-sh-xs); color: inherit; text-decoration: none; transition: border-color var(--u-dur-2), box-shadow var(--u-dur-2), transform var(--u-dur-2) var(--u-ease); }
.ui3 .u-stset:hover { border-color: var(--u-line-strong); box-shadow: var(--u-sh-md); transform: translateY(-1px); }
.ui3 .u-stset:focus-visible { outline: none; box-shadow: var(--u-ring); }
.ui3 .u-stset__top { display: flex; align-items: center; gap: 6px; min-width: 0; }
.ui3 .u-stset__src { display: grid; place-items: center; width: 28px; height: 28px; flex: none; border-radius: var(--u-r-md); background: var(--u-surface-2); color: var(--u-ink-3); }
.ui3 .u-stset__title { font-size: var(--u-t-md); font-weight: 600; line-height: 1.35; color: var(--u-ink); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.ui3 .u-stset__foot { display: flex; align-items: center; gap: 10px; margin-block-start: auto; padding-block-start: 6px; }
.ui3 .u-stset__foot .u-st-bar { flex: 1; }
.ui3 .u-stset__pct { font-size: var(--u-t-xs); color: var(--u-ink-3); white-space: nowrap; font-variant-numeric: tabular-nums; }

/* Dashboard */
.ui3 .u-st-hero { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: 40px; align-items: center; padding-block: 32px 16px; }
.ui3 .u-st-hero__copy { display: grid; gap: 14px; justify-items: start; }
.ui3 .u-st-hero__eyebrow { color: var(--u-accent-ink); letter-spacing: 0.02em; }
.ui3 .u-st-hero__lead { margin: 0; max-width: 520px; font-size: var(--u-t-md); line-height: 1.6; color: var(--u-ink-3); }
.ui3 .u-st-hero__acts { display: flex; flex-wrap: wrap; gap: 8px; margin-block-start: 6px; }
.ui3 .u-st-hero__modes { display: flex; flex-wrap: wrap; gap: 6px 14px; margin-block: 10px 0; margin-inline: 0; padding: 0; list-style: none; font-size: var(--u-t-sm); color: var(--u-ink-3); }
.ui3 .u-st-hero__modes li { display: inline-flex; align-items: center; gap: 6px; }
.ui3 .u-st-demo { display: grid; gap: 10px; padding: 20px; border-radius: var(--u-r-xl); background: var(--u-surface-2); }
.ui3 .u-st-demo__card { min-height: 220px; }
.ui3 .u-st-demo__nav { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.ui3 .u-st-demo__dots { display: inline-flex; gap: 6px; }
.ui3 .u-st-demo__dots span { width: 6px; height: 6px; border-radius: 50%; background: var(--u-line-strong); transition: background var(--u-dur-2), width var(--u-dur-2) var(--u-ease); }
.ui3 .u-st-demo__dots span.is-on { width: 16px; border-radius: var(--u-r-pill); background: var(--u-ink); }

.ui3 .u-st-due { display: flex; align-items: center; gap: 14px; margin-block-end: 16px; padding: 14px 16px; border-radius: var(--u-r-lg); background: var(--u-warn-soft); }
.ui3 .u-st-due__icon { display: grid; place-items: center; width: 40px; height: 40px; flex: none; border-radius: var(--u-r-md); background: var(--u-surface); color: var(--u-warn); box-shadow: var(--u-sh-xs); }
.ui3 .u-st-due__copy { flex: 1; min-width: 0; }
.ui3 .u-st-due__copy p { margin: 2px 0 0; font-size: var(--u-t-sm); }
.ui3 .u-st-suggest { display: flex; align-items: center; gap: 12px; margin-block-start: 16px; padding: 12px 14px; border: 1px solid var(--u-accent-line); border-radius: var(--u-r-lg); background: var(--u-accent-soft); color: var(--u-ink); text-decoration: none; font-size: var(--u-t-sm); transition: border-color var(--u-dur-1); }
.ui3 .u-st-suggest:hover { border-color: var(--u-accent); }
.ui3 .u-st-suggest:focus-visible { outline: none; box-shadow: var(--u-ring); }
.ui3 .u-st-suggest__icon { display: grid; place-items: center; width: 28px; height: 28px; flex: none; border-radius: var(--u-r-md); background: var(--u-surface); color: var(--u-accent-ink); }
.ui3 .u-st-suggest__text { flex: 1; min-width: 0; }
.ui3 .u-st-suggest__cta { display: inline-flex; align-items: center; gap: 4px; font-weight: 600; color: var(--u-accent-ink); white-space: nowrap; }
.ui3 .u-st-quick { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin-block-start: 28px; }
.ui3 .u-st-quick__item { display: flex; align-items: flex-start; gap: 12px; padding: 14px; border-radius: var(--u-r-lg); background: var(--u-surface-2); color: var(--u-ink-2); text-decoration: none; transition: background var(--u-dur-1); }
.ui3 .u-st-quick__item:hover { background: var(--u-surface-3); }
.ui3 .u-st-quick__item:focus-visible { outline: none; box-shadow: var(--u-ring); }
.ui3 .u-st-quick__item > span { display: grid; gap: 2px; font-size: var(--u-t-sm); }
.ui3 .u-st-quick__item strong { color: var(--u-ink); font-weight: 600; }
.ui3 .u-st-quick__item .u-muted { font-size: var(--u-t-xs); }

/* Library */
.ui3 .u-st-filters { margin-block-end: 16px; }
.ui3 .u-st-filters__search { flex: 1 1 260px; max-width: 420px; }
.ui3 .u-st-pager { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; margin-block-start: 20px; font-size: var(--u-t-sm); }

/* Flip card (dashboard demo + sessions) */
.ui3 .u-flip { position: relative; display: block; width: 100%; padding: 0; border: 0; background: none; font: inherit; color: inherit; text-align: start; cursor: pointer; perspective: 1400px; }
.ui3 .u-flip:focus-visible { outline: none; }
.ui3 .u-flip:focus-visible .u-flip__face { box-shadow: var(--u-sh-md), var(--u-ring); }
.ui3 .u-flip__inner { position: relative; display: grid; min-height: inherit; transform-style: preserve-3d; transition: transform 480ms var(--u-ease); }
.ui3 .u-flip.is-flipped .u-flip__inner { transform: rotateY(180deg); }
.ui3 .u-flip__face { grid-area: 1 / 1; display: flex; flex-direction: column; gap: 12px; min-height: inherit; padding: 24px; border: 1px solid var(--u-line); border-radius: var(--u-r-xl); background: var(--u-surface); box-shadow: var(--u-sh-md); backface-visibility: hidden; -webkit-backface-visibility: hidden; }
.ui3 .u-flip__face--back { transform: rotateY(180deg); background: var(--u-surface); border-color: var(--u-accent-line); }
.ui3 .u-flip__face--back > .u-label { color: var(--u-accent-ink); }
.ui3 .u-flip__text { flex: 1; display: flex; align-items: center; justify-content: center; margin: 0; text-align: center; font-size: var(--u-t-xl); font-weight: 500; line-height: 1.45; letter-spacing: -0.012em; color: var(--u-ink); overflow-wrap: anywhere; white-space: pre-line; }
.ui3 .u-flip__hint { display: inline-flex; align-items: center; justify-content: center; gap: 6px; font-size: var(--u-t-xs); color: var(--u-ink-4); }

/* Set hub */
.ui3 .u-sth__head { align-items: flex-start; }
.ui3 .u-sth__intro { min-width: 0; }
.ui3 .u-sth__src { display: inline-flex; align-items: center; gap: 4px; min-width: 0; max-width: 260px; }
.ui3 .u-sth__src > span { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.ui3 .u-sth__grid { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 24px; align-items: start; }
.ui3 .u-sth__main { display: grid; gap: 20px; min-width: 0; }
.ui3 .u-sth__main > .u-st-section { margin-block-start: 8px; }
.ui3 .u-sth__aside { display: grid; gap: 12px; position: sticky; inset-block-start: 16px; }
.ui3 .u-st-next { display: flex; align-items: center; gap: 14px; padding: 16px; border-radius: var(--u-r-lg); background: var(--u-surface-2); }
.ui3 .u-st-next__icon { display: grid; place-items: center; width: 40px; height: 40px; flex: none; border-radius: var(--u-r-md); background: var(--u-ink); color: var(--u-on-ink); }
.ui3 .u-st-next__copy { flex: 1; min-width: 0; display: grid; gap: 2px; }
.ui3 .u-st-next__copy p { margin: 0; }
.ui3 .u-st-next__copy .u-muted { font-size: var(--u-t-sm); }
.ui3 .u-st-modes { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.ui3 .u-st-mode { display: flex; flex-direction: column; gap: 6px; min-width: 0; padding: 14px; border: 1px solid var(--u-line); border-radius: var(--u-r-lg); background: var(--u-surface); color: inherit; text-decoration: none; transition: border-color var(--u-dur-2), box-shadow var(--u-dur-2), transform var(--u-dur-2) var(--u-ease); }
.ui3 .u-st-mode:hover { border-color: var(--u-line-strong); box-shadow: var(--u-sh-md); transform: translateY(-1px); }
.ui3 .u-st-mode:focus-visible { outline: none; box-shadow: var(--u-ring); }
.ui3 .u-st-mode--primary { border-color: var(--u-accent-line); background: var(--u-accent-soft); }
.ui3 .u-st-mode--primary:hover { border-color: var(--u-accent); }
.ui3 .u-st-mode__top { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-block-end: 4px; }
.ui3 .u-st-mode__icon { display: grid; place-items: center; width: 34px; height: 34px; flex: none; border-radius: var(--u-r-md); background: var(--u-surface-2); color: var(--u-ink-2); }
.ui3 .u-st-mode--primary .u-st-mode__icon { background: var(--u-accent); color: var(--u-on-accent); }
.ui3 .u-st-mode__title { font-size: var(--u-t-md); font-weight: 600; color: var(--u-ink); }
.ui3 .u-st-mode__text { flex: 1; font-size: var(--u-t-xs); line-height: 1.5; color: var(--u-ink-3); }
.ui3 .u-st-mode__cta { display: inline-flex; align-items: center; gap: 4px; margin-block-start: 4px; font-size: var(--u-t-sm); font-weight: 500; color: var(--u-ink); }
.ui3 .u-st-mode--primary .u-st-mode__cta { color: var(--u-accent-ink); }
.ui3 .u-st-preview { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 10px; margin: 0; padding: 0; list-style: none; }
.ui3 .u-st-preview__card { display: grid; gap: 8px; align-content: start; padding: 14px; border-radius: var(--u-r-lg); background: var(--u-surface-2); }
.ui3 .u-st-preview__top { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.ui3 .u-st-preview__text { font-size: var(--u-t-sm); line-height: 1.5; color: var(--u-ink); display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.ui3 .u-st-mastery { display: grid; gap: 14px; padding: 16px; }
.ui3 .u-st-mastery__head { display: flex; align-items: center; gap: 14px; }
.ui3 .u-st-mastery__head p { margin: 0; }
.ui3 .u-st-mastery__head .u-muted { font-size: var(--u-t-xs); }
.ui3 .u-st-how > summary { height: 28px; font-size: var(--u-t-xs); }
.ui3 .u-st-how__list { display: grid; gap: 8px; margin-block: 12px 0; margin-inline: 0; font-size: var(--u-t-xs); line-height: 1.5; }
.ui3 .u-st-how__list dt { font-weight: 600; color: var(--u-ink); }
.ui3 .u-st-how__list dd { margin: 0; color: var(--u-ink-3); }
.ui3 .u-sth__aside .u-st-stat { padding-block: 10px; padding-inline: 12px; }
.ui3 .u-sth__aside .u-st-stat dd { font-size: var(--u-t-lg); }
.ui3 .u-st-sched { display: grid; gap: 10px; padding: 14px 16px; }
.ui3 .u-st-sched__list { display: grid; gap: 6px; margin: 0; padding: 0; list-style: none; }
.ui3 .u-st-sched__list li { display: flex; align-items: baseline; gap: 8px; font-size: var(--u-t-sm); color: var(--u-ink-3); }
.ui3 .u-st-sched__list strong { min-width: 28px; font-weight: 600; color: var(--u-ink); }
.ui3 .u-st-sched__list li.is-soon strong { color: var(--u-warn); }

/* Create dialog */
.ui3 .u-stc { width: min(600px, 100%); }
.ui3 .u-stc__body { display: grid; gap: 14px; }
.ui3 .u-stc__tabs { justify-self: start; }
.ui3 .u-stc__pane { display: grid; gap: 8px; }
.ui3 .u-stc__drop { display: grid; justify-items: center; gap: 4px; width: 100%; min-height: 140px; align-content: center; }
.ui3 .u-stc__file { margin: 0; }
.ui3 .u-stc__text { min-height: 180px; }
.ui3 .u-stc__count { display: flex; justify-content: space-between; gap: 8px; margin: 0; }
.ui3 .u-stc__count [data-stc-count] { font-variant-numeric: tabular-nums; }
.ui3 .u-stc__topics { display: flex; flex-wrap: wrap; gap: 6px; }
.ui3 .u-stc__busy { display: grid; justify-items: center; gap: 14px; padding-block: 36px 28px; text-align: center; }
.ui3 .u-stc__steps { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; text-align: start; font-size: var(--u-t-sm); color: var(--u-ink-4); }
.ui3 .u-stc__steps li { display: flex; align-items: center; gap: 10px; transition: color var(--u-dur-2); }
.ui3 .u-stc__steps li.is-on { color: var(--u-ink); font-weight: 500; }
.ui3 .u-stc__steps li.is-done { color: var(--u-ink-3); }
.ui3 .u-stc__stepdot { width: 8px; height: 8px; flex: none; border-radius: 50%; background: var(--u-line-strong); }
.ui3 .u-stc__steps li.is-on .u-stc__stepdot { background: var(--u-accent); box-shadow: var(--u-ring); animation: u-pulse 1.4s var(--u-ease) infinite; }
.ui3 .u-stc__steps li.is-done .u-stc__stepdot { background: var(--u-accent); }
.ui3 .u-stc__wait { max-width: 380px; margin: 0; font-size: var(--u-t-xs); }

/* Flashcard sessions */
.ui3 .u-sts { max-width: 760px; }
.ui3 .u-sts__head { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; flex-wrap: wrap; margin-block-end: 14px; }
.ui3 .u-sts__headmain { min-width: 0; }
.ui3 .u-sts__headmain .u-muted { margin: 4px 0 0; font-size: var(--u-t-sm); }
.ui3 .u-sts__meta { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.ui3 .u-sts__pill { display: inline-flex; align-items: center; gap: 6px; height: 28px; padding-inline: 10px; border-radius: var(--u-r-pill); background: var(--u-surface-2); font-size: var(--u-t-xs); font-weight: 500; color: var(--u-ink-2); transition: background var(--u-dur-2), color var(--u-dur-2); }
.ui3 .u-sts__pill.is-urgent { background: var(--u-danger-soft); color: var(--u-danger); }
.ui3 .u-sts__progress { display: flex; gap: 3px; margin-block-end: 20px; }
.ui3 .u-sts__progress > span { flex: 1; height: 4px; border-radius: var(--u-r-pill); background: var(--u-surface-3); transition: background var(--u-dur-2); }
.ui3 .u-sts__progress > .is-good { background: var(--u-accent); }
.ui3 .u-sts__progress > .is-hard { background: var(--u-warn); }
.ui3 .u-sts__progress > .is-again { background: var(--u-danger); }
.ui3 .u-sts__stage { display: grid; gap: 16px; }
.ui3 .u-sts__from { margin: 0; }
.ui3 .u-sts__card { min-height: 340px; touch-action: pan-y; transition: transform var(--u-dur-2) var(--u-ease); }
.ui3 .u-sts__card.is-enter .u-flip__face { animation: u-pop var(--u-dur-3) var(--u-ease); }
.ui3 .u-sts__card[data-size="lg"] .u-flip__text { font-size: var(--u-t-2xl); }
.ui3 .u-sts__card[data-size="sm"] .u-flip__text { font-size: var(--u-t-lg); }
.ui3 .u-sts__card[data-size="xs"] .u-flip__text { font-size: var(--u-t-md); line-height: 1.6; }
.ui3 .u-sts__hintbtn { align-self: center; }
.ui3 .u-sts__hint { margin: 0; padding: 10px 12px; border-radius: var(--u-r-md); background: var(--u-warn-soft); color: var(--u-ink-2); font-size: var(--u-t-sm); text-align: center; }
.ui3 .u-sts__expl { margin: 0; padding-block-start: 12px; border-block-start: 1px solid var(--u-line); font-size: var(--u-t-sm); line-height: 1.6; color: var(--u-ink-3); }
.ui3 .u-sts__actions { display: grid; }
.ui3 .u-sts__reveal { justify-self: center; min-width: 240px; }
.ui3 .u-sts__reveal .u-kbd { margin-inline-start: 4px; background: transparent; color: inherit; opacity: 0.6; border-color: currentColor; box-shadow: none; }
.ui3 .u-sts__rates { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.ui3 .u-sts__rate { position: relative; display: grid; justify-items: center; gap: 2px; padding-block: 10px; padding-inline: 8px; border: 1px solid var(--u-line); border-radius: var(--u-r-lg); background: var(--u-surface); color: var(--u-ink); font: inherit; cursor: pointer; transition: border-color var(--u-dur-1), background var(--u-dur-1), transform var(--u-dur-1) var(--u-ease); }
.ui3 .u-sts__rate:hover { transform: translateY(-1px); }
.ui3 .u-sts__rate:focus-visible { outline: none; box-shadow: var(--u-ring); }
.ui3 .u-sts__rate .u-kbd { position: absolute; inset-block-start: 6px; inset-inline-end: 6px; }
.ui3 .u-sts__ratelabel { font-size: var(--u-t-sm); font-weight: 600; }
.ui3 .u-sts__rateint { font-size: var(--u-t-xs); color: var(--u-ink-3); }
.ui3 .u-sts__rate--again .u-sts__ratelabel { color: var(--u-danger); }
.ui3 .u-sts__rate--again:hover { border-color: var(--u-danger); background: var(--u-danger-soft); }
.ui3 .u-sts__rate--hard .u-sts__ratelabel { color: var(--u-warn); }
.ui3 .u-sts__rate--hard:hover { border-color: var(--u-warn); background: var(--u-warn-soft); }
.ui3 .u-sts__rate--good .u-sts__ratelabel { color: var(--u-accent-ink); }
.ui3 .u-sts__rate--good:hover { border-color: var(--u-accent); background: var(--u-accent-soft); }
.ui3 .u-sts__rate--easy .u-sts__ratelabel { color: var(--u-info); }
.ui3 .u-sts__rate--easy:hover { border-color: var(--u-info); background: var(--u-info-soft); }
.ui3 .u-sts__keys { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px 18px; margin: 0; font-size: var(--u-t-xs); }
.ui3 .u-sts__undo { position: sticky; inset-block-end: 16px; z-index: 2; display: flex; align-items: center; gap: 10px; width: max-content; max-width: 100%; margin-block-start: 16px; margin-inline: auto; padding-block: 6px; padding-inline: 14px 6px; border-radius: var(--u-r-pill); background: var(--u-ink); color: var(--u-on-ink); font-size: var(--u-t-sm); box-shadow: var(--u-sh-lg); animation: u-rise var(--u-dur-2) var(--u-ease); }
.ui3 .u-sts__undo .u-btn { color: var(--u-on-ink); }
.ui3 .u-sts__undo .u-btn:hover { background: var(--u-ink-2); color: var(--u-on-ink); }
.ui3 .u-sts__undo .u-kbd { background: transparent; color: inherit; border-color: currentColor; opacity: 0.6; box-shadow: none; }
.ui3 .u-sts__empty { margin-block-start: 8px; }
.ui3 .u-sts__done { display: grid; justify-items: center; gap: 12px; padding-block: 28px 8px; text-align: center; }
.ui3 .u-sts__doneicon { display: grid; place-items: center; width: 64px; height: 64px; border-radius: var(--u-r-xl); background: var(--u-accent-soft); color: var(--u-accent-ink); }
.ui3 .u-sts__done .u-h1:focus { outline: none; }
.ui3 .u-sts__donetext { max-width: 480px; margin: 0; }
.ui3 .u-sts__done .u-st-stats { width: 100%; margin-block: 8px; text-align: start; }
.ui3 .u-sts__doneacts { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; }

/* Quiz + exam */
.ui3 .u-stq { max-width: 760px; }
.ui3 .u-stq__config { display: grid; gap: 20px; }
.ui3 .u-stq__intro { display: grid; justify-items: center; gap: 8px; padding-block: 12px 0; text-align: center; }
.ui3 .u-stq__intro .u-st-mode__icon { width: 44px; height: 44px; border-radius: var(--u-r-lg); background: var(--u-accent-soft); color: var(--u-accent-ink); }
.ui3 .u-stq__intro .u-muted { max-width: 520px; margin: 0; }
.ui3 .u-stq__form { display: grid; gap: 18px; width: 100%; max-width: 560px; justify-self: center; }
.ui3 .u-stq__types { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin: 0; padding: 0; border: 0; }
.ui3 .u-stq__types > legend { grid-column: 1 / -1; padding: 0; margin-block-end: 6px; }
.ui3 .u-stq__type { position: relative; display: flex; align-items: center; gap: 8px; padding: 10px 12px; border: 1px solid var(--u-line); border-radius: var(--u-r-md); font-size: var(--u-t-sm); color: var(--u-ink-2); cursor: pointer; transition: border-color var(--u-dur-1), background var(--u-dur-1); }
.ui3 .u-stq__type input { position: absolute; opacity: 0; pointer-events: none; }
.ui3 .u-stq__type:hover { border-color: var(--u-line-strong); }
.ui3 .u-stq__type:has(input:focus-visible) { box-shadow: var(--u-ring); }
.ui3 .u-stq__type:has(input:checked) { border-color: var(--u-accent); background: var(--u-accent-soft); color: var(--u-ink); }
.ui3 .u-stq__typecheck { margin-inline-start: auto; color: var(--u-accent-ink); opacity: 0; }
.ui3 .u-stq__type:has(input:checked) .u-stq__typecheck { opacity: 1; }
.ui3 .u-stq__run { display: grid; gap: 12px; }
.ui3 .u-stq__bar { display: flex; align-items: center; gap: 8px; min-height: 28px; }
.ui3 .u-stq__progress { height: 4px; }
.ui3 .u-stq__dots { display: flex; flex-wrap: wrap; gap: 4px; }
.ui3 .u-stq__dots > span { width: 8px; height: 8px; border-radius: 50%; background: var(--u-surface-3); }
.ui3 .u-stq__dots > .is-ok { background: var(--u-accent); }
.ui3 .u-stq__dots > .is-bad { background: var(--u-danger); }
.ui3 .u-stq__dots > .is-cur { background: var(--u-ink); }
.ui3 .u-stq__qcard { display: grid; gap: 16px; padding: 22px; }
.ui3 .u-stq__qcard.is-enter { animation: u-rise var(--u-dur-3) var(--u-ease); }
.ui3 .u-stq__qhead { display: flex; align-items: center; gap: 8px; }
.ui3 .u-stq__qtext { margin: 0; font-size: var(--u-t-lg); font-weight: 500; line-height: 1.55; color: var(--u-ink); white-space: pre-line; overflow-wrap: anywhere; }
.ui3 .u-stq__qtext:focus { outline: none; }
.ui3 .u-stq__opts { display: grid; gap: 8px; }
.ui3 .u-stq__opts--tf { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.ui3 .u-stq__opt { display: flex; align-items: flex-start; gap: 12px; width: 100%; padding: 12px 14px; border: 1px solid var(--u-line); border-radius: var(--u-r-lg); background: var(--u-surface); color: var(--u-ink); font: inherit; font-size: var(--u-t-base); line-height: 1.5; text-align: start; cursor: pointer; transition: border-color var(--u-dur-1), background var(--u-dur-1); }
.ui3 .u-stq__opt:hover:not(:disabled) { border-color: var(--u-line-strong); background: var(--u-surface-2); }
.ui3 .u-stq__opt:focus-visible { outline: none; box-shadow: var(--u-ring); }
.ui3 .u-stq__opt:disabled { cursor: default; }
.ui3 .u-stq__opt[aria-pressed="true"] { border-color: var(--u-ink); background: var(--u-surface-2); }
.ui3 .u-stq__optkey { display: grid; place-items: center; width: 24px; height: 24px; flex: none; border-radius: var(--u-r-sm); background: var(--u-surface-2); font-size: var(--u-t-xs); font-weight: 600; color: var(--u-ink-3); }
.ui3 .u-stq__opt[aria-pressed="true"] .u-stq__optkey { background: var(--u-ink); color: var(--u-on-ink); }
.ui3 .u-stq__opttext { flex: 1; min-width: 0; padding-block-start: 1px; overflow-wrap: anywhere; }
.ui3 .u-stq__opt.is-correct, .ui3 .u-stq__opt.is-answer { border-color: var(--u-accent); background: var(--u-accent-soft); }
.ui3 .u-stq__opt.is-correct .u-stq__optkey, .ui3 .u-stq__opt.is-answer .u-stq__optkey { background: var(--u-accent); color: var(--u-on-accent); }
.ui3 .u-stq__opt.is-wrong { border-color: var(--u-danger); background: var(--u-danger-soft); }
.ui3 .u-stq__opt.is-wrong .u-stq__optkey { background: var(--u-danger); color: var(--u-surface); }
.ui3 .u-stq__fb { flex-direction: column; gap: 4px; }
.ui3 .u-stq__fb p { margin: 0; color: var(--u-ink-2); }
.ui3 .u-stq__fb strong { font-weight: 600; }
.ui3 .u-stq__foot { display: flex; align-items: center; gap: 8px; }
.ui3 .u-stq__foot .u-btn .u-kbd { background: transparent; color: inherit; border-color: currentColor; opacity: 0.6; box-shadow: none; }
.ui3 .u-stq__keys { margin: 0; font-size: var(--u-t-xs); }
.ui3 .u-stq__results { display: grid; gap: 20px; }
.ui3 .u-stq__score { display: flex; align-items: center; gap: 24px; padding: 24px; }
.ui3 .u-stq__scoretext { display: grid; gap: 4px; min-width: 0; }
.ui3 .u-stq__scoretext p { margin: 0; }
.ui3 .u-stq__scoretext .u-h3:focus { outline: none; }
.ui3 .u-stq__weak { display: grid; gap: 8px; }
.ui3 .u-stq__weak h3 { margin: 0; }
.ui3 .u-stq__chips { display: flex; flex-wrap: wrap; gap: 6px; }
.ui3 .u-stq__review { display: grid; gap: 10px; }
.ui3 .u-stq__reviewlist { display: grid; gap: 6px; }
.ui3 .u-stq__item { border: 1px solid var(--u-line); border-radius: var(--u-r-lg); background: var(--u-surface); }
.ui3 .u-stq__item > summary { display: flex; align-items: flex-start; gap: 10px; padding: 12px 14px; font-size: var(--u-t-sm); color: var(--u-ink); cursor: pointer; list-style: none; }
.ui3 .u-stq__item > summary::-webkit-details-marker { display: none; }
.ui3 .u-stq__item > summary:focus-visible { outline: none; box-shadow: var(--u-ring); border-radius: var(--u-r-lg); }
.ui3 .u-stq__itemicon { margin-block-start: 2px; }
.ui3 .u-stq__item.is-ok .u-stq__itemicon { color: var(--u-accent); }
.ui3 .u-stq__item.is-bad .u-stq__itemicon { color: var(--u-danger); }
.ui3 .u-stq__itemq { flex: 1; min-width: 0; line-height: 1.5; }
.ui3 .u-stq__itemflag { margin-block-start: 3px; color: var(--u-warn); }
.ui3 .u-stq__itembody { display: grid; gap: 6px; padding-block: 0 14px; padding-inline: 40px 14px; font-size: var(--u-t-sm); line-height: 1.55; color: var(--u-ink-2); }
.ui3 .u-stq__itembody p { margin: 0; }
.ui3 .u-stq__itemcorrect strong { color: var(--u-accent-ink); font-weight: 600; }
.ui3 .u-stq__acts { display: flex; flex-wrap: wrap; gap: 8px; }

.ui3 .u-ste__types { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.ui3 .u-ste__type { display: grid; gap: 2px; width: 100%; background: var(--u-surface); font: inherit; text-align: start; color: var(--u-ink); }
.ui3 .u-ste__type strong { font-size: var(--u-t-sm); }
.ui3 .u-ste__type .u-muted { font-size: var(--u-t-xs); }
.ui3 .u-ste__type:focus-visible { outline: none; box-shadow: var(--u-ring); }
.ui3 .u-ste__type[aria-pressed="true"] { border-color: var(--u-accent); background: var(--u-accent-soft); }
.ui3 .u-ste__row { display: flex; flex-wrap: wrap; gap: 18px; }
.ui3 .u-ste__past { display: grid; gap: 8px; width: 100%; max-width: 560px; justify-self: center; }
.ui3 .u-ste__past h2 { margin: 0; }
.ui3 .u-ste__pastlist { display: grid; gap: 6px; margin: 0; padding: 0; list-style: none; }
.ui3 .u-ste__pastlist li { display: flex; align-items: center; gap: 12px; padding: 10px 12px; border-radius: var(--u-r-md); background: var(--u-surface-2); }
.ui3 .u-ste__pastscore { min-width: 44px; font-size: var(--u-t-md); font-weight: 600; }
.ui3 .u-ste__pastscore--ok { color: var(--u-accent-ink); }
.ui3 .u-ste__pastscore--warn { color: var(--u-warn); }
.ui3 .u-ste__pastscore--danger { color: var(--u-danger); }
.ui3 .u-ste__pastmain { display: grid; gap: 1px; min-width: 0; font-size: var(--u-t-sm); }
.ui3 .u-ste__pastmain .u-muted { font-size: var(--u-t-xs); }
.ui3 .u-ste__nav { display: grid; gap: 12px; padding: 14px; }
.ui3 .u-ste__navgrid { display: grid; grid-template-columns: repeat(auto-fill, minmax(34px, 1fr)); gap: 6px; }
.ui3 .u-ste__navbtn { height: 34px; border: 1px solid var(--u-line); border-radius: var(--u-r-sm); background: var(--u-surface); color: var(--u-ink-3); font: 500 var(--u-t-xs)/1 var(--u-font); font-variant-numeric: tabular-nums; cursor: pointer; }
.ui3 .u-ste__navbtn:hover { border-color: var(--u-line-strong); color: var(--u-ink); }
.ui3 .u-ste__navbtn:focus-visible { outline: none; box-shadow: var(--u-ring); }
.ui3 .u-ste__navbtn.is-answered { border-color: transparent; background: var(--u-accent-soft); color: var(--u-accent-ink); }
.ui3 .u-ste__navbtn.is-flagged { border-color: var(--u-warn); color: var(--u-warn); }
.ui3 .u-ste__navbtn.is-current { border-color: var(--u-ink); color: var(--u-ink); box-shadow: inset 0 0 0 1px var(--u-ink); }
.ui3 .u-ste__navlegend { display: flex; flex-wrap: wrap; gap: 6px 16px; font-size: var(--u-t-xs); }
.ui3 .u-ste__flag[aria-pressed="true"] { background: var(--u-warn-soft); color: var(--u-warn); border-color: transparent; }
.ui3 .u-ste__readiness { height: 26px; padding-inline: 10px; font-size: var(--u-t-sm); }

/* Explain */
.ui3 .u-stx { max-width: 760px; padding-block-end: 24px; }
.ui3 .u-stx__log { display: grid; gap: 28px; margin-block-start: 12px; }
.ui3 .u-stx__greet .u-answer p { margin: 0; }
.ui3 .u-stx__disclaimer { margin-block: 10px 0; margin-inline: 0; font-size: var(--u-t-xs); }
.ui3 .u-stx__starters { display: flex; flex-wrap: wrap; gap: 6px; margin-block-start: -12px; }
.ui3 .u-stx__thinking { display: inline-flex; align-items: center; gap: 8px; margin: 0; font-family: var(--u-font); font-size: var(--u-t-sm); color: var(--u-ink-3); }
.ui3 .u-stx__error { margin: 0; font-family: var(--u-font); font-size: var(--u-t-sm); color: var(--u-danger); }
.ui3 .u-stx__history { margin-block-start: 32px; }
.ui3 .u-stx__past { display: grid; gap: 6px; margin-block: 12px 0; margin-inline: 0; padding: 0; list-style: none; }
.ui3 .u-stx__conv { border: 1px solid var(--u-line); border-radius: var(--u-r-md); }
.ui3 .u-stx__conv > summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 12px; font-size: var(--u-t-sm); color: var(--u-ink-2); cursor: pointer; list-style: none; }
.ui3 .u-stx__conv > summary::-webkit-details-marker { display: none; }
.ui3 .u-stx__conv > summary:focus-visible { outline: none; box-shadow: var(--u-ring); border-radius: var(--u-r-md); }
.ui3 .u-stx__conv > summary .u-faint { flex: none; font-size: var(--u-t-xs); }
.ui3 .u-stx__convbody { display: grid; gap: 8px; padding-block: 0 12px; padding-inline: 12px; }
.ui3 .u-stx__convmsg { margin: 0; font-size: var(--u-t-sm); line-height: 1.55; color: var(--u-ink-3); white-space: pre-line; overflow-wrap: anywhere; }
.ui3 .u-stx__convmsg strong { color: var(--u-ink-2); font-weight: 600; }
.ui3 .u-stx__convmsg.is-user { color: var(--u-ink); }
.ui3 .u-stx__dock { flex: none; padding-block: 8px 16px; padding-inline: 32px; background: var(--u-surface); }
.ui3 .u-stx__composer { max-width: 760px; margin-inline: auto; }

/* Notes */
.ui3 .u-stn__head { align-items: flex-start; }
.ui3 .u-stn__grid { display: grid; grid-template-columns: minmax(0, 1fr) 220px; gap: 28px; align-items: start; }
.ui3 .u-stn__grid:has(.u-stn__toc[hidden]) { grid-template-columns: minmax(0, 1fr); max-width: 820px; }
.ui3 .u-stn__doc { padding-block: 28px; padding-inline: 36px; }
.ui3 .u-stn__prose > :first-child { margin-block-start: 0; }
.ui3 .u-stn__prose h1, .ui3 .u-stn__prose h2, .ui3 .u-stn__prose h3 { font-family: var(--u-font); color: var(--u-ink); letter-spacing: -0.015em; scroll-margin-block-start: 16px; }
.ui3 .u-stn__prose h1 { font-size: var(--u-t-2xl); }
.ui3 .u-stn__prose h2 { font-size: var(--u-t-xl); margin-block-start: 1.6em; }
.ui3 .u-stn__prose h3 { font-size: var(--u-t-md); margin-block-start: 1.4em; }
.ui3 .u-stn__sk { height: 14px; margin-block-end: 12px; }
.ui3 .u-stn__sk--short { width: 60%; }
.ui3 .u-stn__toc { position: sticky; inset-block-start: 16px; display: grid; gap: 8px; }
.ui3 .u-stn__toc ol { display: grid; gap: 2px; margin: 0; padding: 0; list-style: none; border-inline-start: 1px solid var(--u-line); }
.ui3 .u-stn__toc a { display: block; padding-block: 4px; padding-inline: 12px; margin-inline-start: -1px; border-inline-start: 1px solid transparent; font-size: var(--u-t-xs); line-height: 1.45; color: var(--u-ink-3); text-decoration: none; }
.ui3 .u-stn__toc a:hover { color: var(--u-ink); border-inline-start-color: var(--u-ink-3); }
.ui3 .u-stn__toc .u-stn__toch3 a { padding-inline-start: 24px; }
@media print {
  .ui3 .u-sidebar, .ui3 .u-stn__toc, .ui3 .u-stn__head .u-pagehead__actions, .ui3 .u-st__crumbs { display: none !important; }
  .ui3 .u-app, .ui3 .u-main { display: block; height: auto; overflow: visible; }
  .ui3 .u-main__scroll { overflow: visible; }
  .ui3 .u-stn__grid { display: block; }
  .ui3 .u-stn__doc { border: 0; box-shadow: none; padding: 0; }
}

/* Progress */
.ui3 .u-stp > .u-st-stats { margin-block-end: 16px; }
.ui3 .u-stp__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: 16px; margin-block-end: 16px; }
.ui3 .u-stp > .u-stp__card { margin-block-end: 16px; }
.ui3 .u-stp__card { display: grid; gap: 14px; align-content: start; padding: 18px; min-width: 0; }
.ui3 .u-stp__cardhead { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 8px; }
.ui3 .u-stp__card .u-h3 { display: flex; align-items: center; gap: 6px; }
.ui3 .u-stp__cardhead .u-muted { font-size: var(--u-t-xs); }
.ui3 .u-stp__flame { color: var(--u-warn); }
.ui3 .u-stp__week { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 6px; margin: 0; padding: 0; list-style: none; }
.ui3 .u-stp__week li { display: grid; justify-items: center; gap: 6px; }
.ui3 .u-stp__weekdot { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; background: var(--u-surface-2); color: var(--u-ink-4); }
.ui3 .u-stp__week li.is-on .u-stp__weekdot { background: var(--u-accent); color: var(--u-on-accent); }
.ui3 .u-stp__weeklabel { font-size: var(--u-t-2xs); color: var(--u-ink-3); }
.ui3 .u-stp__readybody { display: flex; align-items: center; gap: 16px; }
.ui3 .u-stp__readybody p { margin: 0; }
.ui3 .u-stp__readybody .u-st-ring { width: 72px; height: 72px; }
.ui3 .u-stp__readybody .u-muted { font-size: var(--u-t-xs); }
.ui3 .u-stp__readyline { display: flex; align-items: center; gap: 8px; margin-block: 4px !important; }
.ui3 .u-stp__trend { display: inline-flex; align-items: center; gap: 3px; font-size: var(--u-t-xs); font-weight: 600; font-variant-numeric: tabular-nums; }
.ui3 .u-stp__trend--up { color: var(--u-accent-ink); }
.ui3 .u-stp__trend--down { color: var(--u-danger); }
.ui3 .u-stp__scale { display: inline-flex; align-items: center; gap: 3px; font-size: var(--u-t-2xs); color: var(--u-ink-4); }
.ui3 .u-stp__scale > span:first-child { margin-inline-end: 3px; }
.ui3 .u-stp__scale > span:last-child { margin-inline-start: 3px; }
.ui3 .u-stp__heat { display: flex; gap: 4px; overflow-x: auto; padding-block-end: 4px; scrollbar-width: thin; }
.ui3 .u-stp__heatcol, .ui3 .u-stp__heatdays { display: grid; grid-template-rows: repeat(7, 1fr); gap: 4px; }
.ui3 .u-stp__heatcol { flex: 1 1 0; min-width: 12px; max-width: 18px; }
.ui3 .u-stp__scale .u-stp__cell { width: 10px; height: 10px; }
.ui3 .u-stp__heatdays { flex: none; margin-inline-end: 4px; font-size: 9px; color: var(--u-ink-4); align-items: center; }
.ui3 .u-stp__cell { display: block; width: 100%; aspect-ratio: 1; border-radius: 3px; background: var(--u-surface-3); }
.ui3 .u-stp__cell.is-pad { background: transparent; }
.ui3 .u-stp__cell[data-l="1"] { background: color-mix(in srgb, var(--u-accent) 28%, var(--u-surface-2)); }
.ui3 .u-stp__cell[data-l="2"] { background: color-mix(in srgb, var(--u-accent) 52%, var(--u-surface-2)); }
.ui3 .u-stp__cell[data-l="3"] { background: color-mix(in srgb, var(--u-accent) 76%, var(--u-surface-2)); }
.ui3 .u-stp__cell[data-l="4"] { background: var(--u-accent); }
.ui3 .u-stp__cell.is-today { box-shadow: inset 0 0 0 1.5px var(--u-ink-2); }
.ui3 .u-stp__bars { display: flex; align-items: flex-end; gap: 6px; height: 170px; margin: 0; padding: 0; list-style: none; }
.ui3 .u-stp__bars li { flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: flex-end; gap: 4px; height: 100%; min-width: 0; }
.ui3 .u-stp__bar { display: block; width: 100%; max-width: 28px; height: var(--h); min-height: 2px; border-start-start-radius: 4px; border-start-end-radius: 4px; background: var(--u-accent); opacity: 0.85; transition: opacity var(--u-dur-1); }
.ui3 .u-stp__bars li:hover .u-stp__bar { opacity: 1; }
.ui3 .u-stp__barval { font-size: var(--u-t-2xs); color: var(--u-ink-3); }
.ui3 .u-stp__barlabel { font-size: 9.5px; color: var(--u-ink-4); white-space: nowrap; }
.ui3 .u-stp__bars:has(li:nth-child(9)) li:nth-last-child(even) .u-stp__barlabel { visibility: hidden; }
.ui3 .u-stp__line { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 8px; height: 160px; }
.ui3 .u-stp__line svg { width: 100%; height: 100%; overflow: visible; }
.ui3 .u-stp__axis { display: flex; flex-direction: column; justify-content: space-between; font-size: var(--u-t-2xs); color: var(--u-ink-4); font-variant-numeric: tabular-nums; }
.ui3 .u-stp__gridline { stroke: var(--u-line); stroke-width: 1; stroke-dasharray: 2 3; vector-effect: non-scaling-stroke; }
.ui3 .u-stp__series { fill: none; stroke-width: 2; stroke-linejoin: round; stroke-linecap: round; vector-effect: non-scaling-stroke; }
.ui3 .u-stp__series--practice { stroke: var(--u-accent); }
.ui3 .u-stp__series--exam { stroke: var(--u-info); }
[dir="rtl"].ui3 .u-stp__line svg { transform: scaleX(-1); }
.ui3 .u-stp__legend { display: flex; flex-wrap: wrap; gap: 6px 18px; }
.ui3 .u-stp__legend li strong { margin-inline-start: 4px; }
.ui3 .u-stp__chartempty { display: grid; justify-items: center; gap: 4px; padding-block: 36px; }
.ui3 .u-stp__cats, .ui3 .u-stp__sets { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 14px 24px; margin: 0; padding: 0; list-style: none; }
.ui3 .u-stp__cats li, .ui3 .u-stp__sets a { display: grid; gap: 6px; font-size: var(--u-t-sm); }
.ui3 .u-stp__cats .u-faint { font-size: var(--u-t-xs); }
.ui3 .u-stp__sets a { padding: 8px; margin: -8px; border-radius: var(--u-r-md); color: inherit; text-decoration: none; }
.ui3 .u-stp__sets a:hover { background: var(--u-surface-2); }
.ui3 .u-stp__sets a:focus-visible { outline: none; box-shadow: var(--u-ring); }
.ui3 .u-stp__catrow { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; min-width: 0; color: var(--u-ink); }
.ui3 .u-stp__catrow strong { font-weight: 500; }
.ui3 .u-stp__catrow .u-num { flex: none; color: var(--u-ink-3); font-size: var(--u-t-xs); }
.ui3 .u-stp__miles { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 10px; margin: 0; padding: 0; list-style: none; }
.ui3 .u-stp__miles li { display: flex; align-items: center; gap: 10px; padding: 10px 12px; border-radius: var(--u-r-md); background: var(--u-surface-2); }
.ui3 .u-stp__miles li > span:last-child { display: grid; font-size: var(--u-t-sm); }
.ui3 .u-stp__miles .u-faint { font-size: var(--u-t-xs); }
.ui3 .u-stp__mileicon { display: grid; place-items: center; width: 30px; height: 30px; flex: none; border-radius: 50%; background: var(--u-accent-soft); color: var(--u-accent-ink); }

/* Mind map */
.ui3 .u-stm { flex: 1; min-height: 0; display: flex; flex-direction: column; }
.ui3 .u-stm__head { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; padding-block: 14px 12px; padding-inline: 24px; border-block-end: 1px solid var(--u-line); }
.ui3 .u-stm__headmain { flex: 1; min-width: 0; }
.ui3 .u-stm__headmain .u-st__crumbs { margin: 0; }
.ui3 .u-stm__progress { display: flex; align-items: center; gap: 10px; font-size: var(--u-t-xs); }
.ui3 .u-stm__progress .u-st-bar { width: 120px; }
.ui3 .u-mm { position: relative; flex: 1; min-height: 0; overflow: hidden; background: var(--u-mm-canvas); }
.ui3 .u-mm__empty { position: absolute; inset: 24px; display: grid; place-content: center; justify-items: center; background: var(--u-surface); }
.ui3 .u-mm__svg { display: block; width: 100%; height: 100%; touch-action: none; cursor: grab; user-select: none; -webkit-user-select: none; }
.ui3 .u-mm__svg.is-panning { cursor: grabbing; }
.ui3 .u-mm__link { fill: none; stroke: var(--u-line-strong); stroke-width: 1.5; opacity: 0.9; transition: stroke var(--u-dur-2); }
.ui3 .u-mm__link--category { stroke: color-mix(in srgb, var(--u-mm-category) 45%, transparent); stroke-width: 2.5; }
.ui3 .u-mm__link--concept { stroke: color-mix(in srgb, var(--u-mm-concept) 40%, transparent); stroke-width: 2; }
.ui3 .u-mm__link--detail { stroke: color-mix(in srgb, var(--u-mm-detail) 35%, transparent); }
.ui3 .u-mm__link.is-got { stroke: color-mix(in srgb, var(--u-mm-got) 60%, transparent); }
.ui3 .u-mm__link.is-review { stroke: color-mix(in srgb, var(--u-mm-review) 60%, transparent); }
.ui3 .u-mm__node { cursor: pointer; outline: none; }
.ui3 .u-mm__shadow { fill: var(--u-mm-shadow); }
.ui3 .u-mm__disc { fill: var(--u-mm-concept); stroke: var(--u-mm-canvas); stroke-width: 3; transition: fill var(--u-dur-2), stroke var(--u-dur-2); }
.ui3 .u-mm__node--root .u-mm__disc { fill: var(--u-mm-root); }
.ui3 .u-mm__node--category .u-mm__disc { fill: var(--u-mm-category); }
.ui3 .u-mm__node--detail .u-mm__disc { fill: var(--u-mm-detail); }
.ui3 .u-mm__node.is-got .u-mm__disc { fill: var(--u-mm-got); }
.ui3 .u-mm__node.is-review .u-mm__disc { fill: var(--u-mm-review); }
.ui3 .u-mm__node:hover .u-mm__disc { stroke: var(--u-ink-4); }
.ui3 .u-mm__node.is-selected .u-mm__disc, .ui3 .u-mm__node:focus-visible .u-mm__disc { stroke: var(--u-ink); stroke-width: 3.5; }
.ui3 .u-mm__label { fill: var(--u-mm-label); font-family: var(--u-font); font-weight: 600; pointer-events: none; }
.ui3 .u-mm__label--out { fill: var(--u-ink-2); font-weight: 500; paint-order: stroke; stroke: var(--u-mm-canvas); stroke-width: 4px; stroke-linejoin: round; }
.ui3 .u-mm__badge { display: none; pointer-events: none; }
.ui3 .u-mm__node.is-got .u-mm__badge, .ui3 .u-mm__node.is-review .u-mm__badge { display: inline; }
.ui3 .u-mm__badge circle { fill: var(--u-surface); stroke: var(--u-line); }
.ui3 .u-mm__badge text { font-family: var(--u-font); font-weight: 700; fill: var(--u-mm-got); }
.ui3 .u-mm__node.is-review .u-mm__badge text { fill: var(--u-mm-review); }
.ui3 .u-mm__controls { position: absolute; inset-block-end: 16px; inset-inline-end: 16px; display: flex; flex-direction: column; gap: 4px; }
.ui3 .u-mm__legend { position: absolute; inset-block-end: 16px; inset-inline-start: 16px; display: flex; flex-wrap: wrap; align-items: center; gap: 4px 12px; max-width: calc(100% - 96px); margin: 0; padding-block: 8px; padding-inline: 12px; border-radius: var(--u-r-lg); background: var(--u-surface); box-shadow: var(--u-sh-sm); list-style: none; font-size: var(--u-t-xs); color: var(--u-ink-3); }
.ui3 .u-mm__legend li { display: inline-flex; align-items: center; gap: 6px; }
.ui3 .u-mm__legendsep { padding-inline-start: 12px; border-inline-start: 1px solid var(--u-line); }
.ui3 .u-mm__swatch { width: 10px; height: 10px; flex: none; border-radius: 50%; background: var(--u-line-strong); }
.ui3 .u-mm__swatch--root { background: var(--u-mm-root); }
.ui3 .u-mm__swatch--category { background: var(--u-mm-category); }
.ui3 .u-mm__swatch--concept { background: var(--u-mm-concept); }
.ui3 .u-mm__swatch--detail { background: var(--u-mm-detail); }
.ui3 .u-mm__swatch--got { background: var(--u-mm-got); }
.ui3 .u-mm__swatch--review { background: var(--u-mm-review); }
.ui3 .u-mm__panel { position: absolute; inset-block: 16px; inset-inline-end: 16px; display: flex; flex-direction: column; gap: 14px; width: 340px; max-width: calc(100% - 32px); overflow-y: auto; padding: 16px; border-radius: var(--u-r-xl); background: var(--u-surface); box-shadow: var(--u-sh-lg); animation: u-pop var(--u-dur-2) var(--u-ease); }
.ui3 .u-mm__panel:not([hidden]) ~ .u-mm__controls { display: none; }
.ui3 .u-mm__panelhead { display: flex; align-items: center; gap: 8px; }
.ui3 .u-mm__panel .u-h3 { overflow-wrap: anywhere; }
.ui3 .u-mm__panel .u-h3:focus { outline: none; }
.ui3 .u-mm__overview, .ui3 .u-mm__quiz, .ui3 .u-mm__children { display: grid; gap: 6px; }
.ui3 .u-mm__overview p, .ui3 .u-mm__quiz p, .ui3 .u-mm__children p { margin: 0; }
.ui3 .u-mm__overview p:last-child { font-size: var(--u-t-sm); line-height: 1.6; color: var(--u-ink-2); }
.ui3 .u-mm__quiz { padding: 12px; border-radius: var(--u-r-lg); background: var(--u-surface-2); }
.ui3 .u-mm__qtext, .ui3 .u-mm__atext { font-size: var(--u-t-sm); line-height: 1.55; color: var(--u-ink); margin-block-end: 6px !important; }
.ui3 .u-mm__atext { font-weight: 500; }
.ui3 .u-mm__rate { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; }
.ui3 .u-mm__got:hover { border-color: var(--u-mm-got); color: var(--u-accent-ink); }
.ui3 .u-mm__again:hover { border-color: var(--u-mm-review); color: var(--u-warn); }
.ui3 .u-mm__rated { justify-items: start; }
.ui3 .u-mm__children ul { display: grid; gap: 2px; margin: 0; padding: 0; list-style: none; }
.ui3 .u-mm__child { display: flex; align-items: flex-start; gap: 10px; width: 100%; padding: 8px; border: 0; border-radius: var(--u-r-md); background: none; font: inherit; color: inherit; text-align: start; cursor: pointer; }
.ui3 .u-mm__child:hover { background: var(--u-surface-2); }
.ui3 .u-mm__child:focus-visible { outline: none; box-shadow: var(--u-ring); }
.ui3 .u-mm__child .u-mm__swatch { margin-block-start: 5px; }
.ui3 .u-mm__childtext { display: grid; gap: 2px; min-width: 0; font-size: var(--u-t-sm); }
.ui3 .u-mm__childtext strong { font-weight: 500; color: var(--u-ink); }
.ui3 .u-mm__childtext .u-faint { font-size: var(--u-t-xs); line-height: 1.45; }

@media (max-width: 1099px) {
  .ui3 .u-sth__grid, .ui3 .u-stn__grid { grid-template-columns: minmax(0, 1fr); }
  .ui3 .u-sth__aside { position: static; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); }
  .ui3 .u-stn__toc { display: none; }
  .ui3 .u-st-modes { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ui3 .u-st-stats--5 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 899px) {
  .ui3 .u-st-hero { grid-template-columns: minmax(0, 1fr); gap: 24px; padding-block-start: 12px; }
}
@media (max-width: 699px) {
  .ui3 .u-st-stats, .ui3 .u-st-stats--5 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ui3 .u-st-stats--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .ui3 .u-st-stat dd { font-size: var(--u-t-lg); }
  .ui3 .u-st-quick, .ui3 .u-st-modes { grid-template-columns: minmax(0, 1fr); }
  .ui3 .u-st-due { flex-wrap: wrap; }
  .ui3 .u-st-due .u-btn { width: 100%; }
  .ui3 .u-st-next { flex-wrap: wrap; }
  .ui3 .u-st-next__cta { width: 100%; }
  .ui3 .u-st-hero__acts .u-btn { flex: 1 1 auto; }
  .ui3 .u-st-filters__search { max-width: none; flex-basis: 100%; }
  .ui3 .u-st-filters .u-select { flex: 1; }
  .ui3 .u-st-filters .u-toolbar__spacer { display: none; }
  .ui3 .u-sth__head { flex-direction: column; align-items: stretch; }
  .ui3 .u-sts__card { min-height: 300px; }
  .ui3 .u-flip__face { padding: 18px; }
  .ui3 .u-sts__rates { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ui3 .u-sts__rate .u-kbd, .ui3 .u-sts__keys, .ui3 .u-sts__reveal .u-kbd, .ui3 .u-stq__keys, .ui3 .u-stq__foot .u-kbd, .ui3 .u-ste__flag .u-kbd { display: none; }
  .ui3 .u-sts__reveal { width: 100%; min-width: 0; }
  .ui3 .u-stq__types, .ui3 .u-ste__types { grid-template-columns: minmax(0, 1fr); }
  .ui3 .u-stq__qcard { padding: 16px; }
  .ui3 .u-stq__score { flex-direction: column; text-align: center; }
  .ui3 .u-stq__scoretext { justify-items: center; }
  .ui3 .u-stq__acts .u-btn { flex: 1 1 auto; }
  .ui3 .u-stx__dock { padding-inline: 12px; }
  .ui3 .u-stn__doc { padding: 20px; }
  .ui3 .u-stp__grid { grid-template-columns: minmax(0, 1fr); }
  .ui3 .u-stp__weekdot { width: 30px; height: 30px; }
  .ui3 .u-stm__head { padding-inline: 16px; }
  .ui3 .u-stm__progress .u-st-bar { width: 72px; }
  .ui3 .u-mm__legend { display: none; }
  .ui3 .u-mm__panel { inset-block: auto 0; inset-inline: 0; width: auto; max-width: none; max-height: 60%; border-end-start-radius: 0; border-end-end-radius: 0; }
}

/* ---------- Account ---------- */
.ui3 .u-acct { width: min(540px, 100%); display: flex; flex-direction: column; }
.ui3 .u-acct__head { align-items: center; }
.ui3 .u-acct__avatar { width: 40px; height: 40px; font-size: var(--u-t-sm); }
.ui3 .u-acct__tabs { padding-block: 14px 0; padding-inline: 20px; }
.ui3 .u-acct__tabs .u-seg { display: flex; }
.ui3 .u-acct__tabs .u-seg > button { flex: 1; justify-content: center; height: 30px; }
.ui3 .u-acct__body { min-height: 340px; padding-block-start: 16px; }
.ui3 .u-acct__pane { display: grid; gap: 16px; align-content: start; }
.ui3 .u-acct__loading { display: grid; gap: 14px; }
.ui3 .u-acct__skel { display: block; height: 52px; border-radius: var(--u-r-md); }
.ui3 .u-acct__skel--short { width: 60%; }
.ui3 .u-acct__calloutbody { display: grid; gap: 6px; justify-items: start; min-width: 0; }
.ui3 .u-acct__calloutbody p { margin: 0; }
.ui3 .u-acct__calloutbody .u-btn { margin-block-start: 4px; }
.ui3 .u-acct__email { display: flex; align-items: center; gap: 8px; height: 34px; padding-inline: 10px; border-radius: var(--u-r-md); background: var(--u-surface-2); color: var(--u-ink-2); font-size: var(--u-t-sm); min-width: 0; }
.ui3 .u-acct__email .u-i { color: var(--u-ink-4); flex: none; }
.ui3 .u-acct__select { width: 100%; height: 36px; }
.ui3 .u-acct__label { margin: 0 0 8px; font-size: var(--u-t-xs); font-weight: 500; color: var(--u-ink-3); }
.ui3 .u-acct__plan { display: grid; gap: 10px; padding: 14px 16px; border: 1px solid var(--u-line); border-radius: var(--u-r-lg); }
.ui3 .u-acct__plan .u-acct__label { margin: 0; }
.ui3 .u-acct__planrow { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.ui3 .u-acct__kv { display: grid; gap: 6px; margin: 0; }
.ui3 .u-acct__kv > div { display: flex; align-items: center; gap: 12px; }
.ui3 .u-acct__kv dt { width: 56px; font-size: var(--u-t-xs); color: var(--u-ink-3); }
.ui3 .u-acct__kv dd { margin: 0; font-size: var(--u-t-sm); font-weight: 600; color: var(--u-ink); }
.ui3 .u-acct__invoices { display: grid; margin: 0; padding: 0; list-style: none; border: 1px solid var(--u-line); border-radius: var(--u-r-lg); overflow: hidden; }
.ui3 .u-acct__inv { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; align-items: center; gap: 12px; padding: 10px 14px; }
.ui3 .u-acct__inv + .u-acct__inv { border-block-start: 1px solid var(--u-line); }
.ui3 .u-acct__invmain { display: flex; align-items: center; gap: 8px; min-width: 0; }
.ui3 .u-acct__amt { font-size: var(--u-t-sm); font-weight: 600; color: var(--u-ink); font-variant-numeric: tabular-nums; }
.ui3 .u-acct__invdate { font-size: var(--u-t-xs); color: var(--u-ink-3); white-space: nowrap; }
.ui3 .u-acct__invact { display: flex; justify-content: flex-end; gap: 2px; min-width: 116px; }
.ui3 .u-acct__refund { color: var(--u-ink-3); }
.ui3 .u-acct__refund:hover { color: var(--u-danger); }
.ui3 .u-acct__noinv { padding: 28px 20px; }
.ui3 .u-acct__noinvtitle { margin: 0; font-size: var(--u-t-sm); font-weight: 600; color: var(--u-ink); }
.ui3 .u-acct__noinv .u-empty__text { margin-block-end: 0; }
.ui3 .u-acct__done { display: grid; justify-items: center; align-content: center; gap: 8px; min-height: 300px; text-align: center; }
.ui3 .u-acct__done p { margin: 0; max-width: 380px; font-size: var(--u-t-sm); line-height: 1.6; }
.ui3 .u-acct__doneicon { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; background: var(--u-accent-soft); color: var(--u-accent); }
.ui3 .u-acct__foot { align-items: center; justify-content: flex-start; }
.ui3 .u-acct__signout { color: var(--u-ink-3); }
.ui3 .u-acct__signout:hover { color: var(--u-danger); }
@media (max-width: 699px) {
  .ui3 .u-acct__inv { grid-template-columns: minmax(0, 1fr) auto; }
  .ui3 .u-acct__invdate { grid-row: 2; }
  .ui3 .u-acct__invact { grid-row: 1 / span 2; grid-column: 2; }
  .ui3 .u-acct__body { min-height: 0; }
}

/* ---------- Public auth (login) ---------- */
html.ui3:has(.u-auth-page),
html.ui3:has(.u-auth-page) body.u-auth-page {
  height: 100%;
  min-height: 100dvh;
  overflow: hidden;
  background: var(--u-surface);
}
.ui3 .u-auth {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(380px, 520px);
  grid-template-rows: 100%;
  align-items: stretch;
  height: 100dvh;
  min-height: 100dvh;
  background: var(--u-surface);
}
.ui3 .u-auth__aside {
  position: relative; display: flex; flex-direction: column; justify-content: space-between;
  min-height: 0; padding: 32px 40px 40px; overflow: hidden; color: var(--u-on-stage);
}
.ui3 .u-auth__photo, .ui3 .u-auth__veil { position: absolute; inset: 0; display: block; width: 100%; height: 100%; }
.ui3 .u-auth__photo img {
  position: absolute; inset: 0; display: block;
  width: 100%; height: 100%; max-width: none; max-height: none;
  object-fit: cover; object-position: center;
}
.ui3 .u-auth__veil { background: var(--u-auth-veil); pointer-events: none; }
.ui3 .u-auth__aside .u-logo, .ui3 .u-auth__asidebody { position: relative; z-index: 1; }
.ui3 .u-auth__aside .u-logo { color: var(--u-on-stage); }
.ui3 .u-auth__asidebody { display: grid; gap: 16px; max-width: 420px; }
.ui3 .u-auth__aside .u-badge {
  height: auto; max-width: 100%; padding-block: 6px; line-height: 1.35; white-space: normal;
  color: var(--u-on-stage); background: var(--u-stage-chip); border-color: transparent;
}
.ui3 .u-auth__quote { margin: 0; color: var(--u-on-stage); font-size: var(--u-t-xl); line-height: 1.45; }
.ui3 .u-auth__main { display: flex; flex-direction: column; min-height: 0; height: 100%; padding: 24px 32px 28px; background: var(--u-surface); }
.ui3 .u-auth__top { display: flex; align-items: center; gap: 8px; flex: none; }
.ui3 .u-auth__moblogo { display: none; }
.ui3 .u-auth__mid { flex: 1; display: flex; align-items: center; justify-content: center; min-height: 0; }
.ui3 .u-auth__card {
  width: 100%; max-width: 400px; display: grid; gap: 16px;
  animation: u-rise var(--u-dur-3) var(--u-ease) both;
}
.ui3 .u-auth__lead, .ui3 .u-auth__hint, .ui3 .u-auth__email { margin: 0; }
.ui3 .u-auth__hint { font-size: var(--u-t-xs); }
.ui3 .u-auth__email { font-weight: 600; overflow-wrap: anywhere; }
.ui3 .u-auth__pwlabel { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.ui3 .u-auth__forgot { font-size: var(--u-t-xs); font-weight: 500; color: var(--u-accent-ink); text-decoration: none; }
.ui3 .u-auth__forgot:hover { text-decoration: underline; }
.ui3 .u-auth__code input { text-align: center; letter-spacing: 0.35em; font-size: var(--u-t-xl); font-weight: 600; font-variant-numeric: tabular-nums; }
.ui3 .u-auth__or { display: flex; align-items: center; gap: 12px; color: var(--u-ink-4); font-size: var(--u-t-xs); }
.ui3 .u-auth__or::before, .ui3 .u-auth__or::after { content: ""; flex: 1; height: 1px; background: var(--u-line); }
.ui3 .u-auth__or span { flex: none; }
.ui3 .u-auth__footlink { margin: 0; text-align: center; font-size: var(--u-t-sm); color: var(--u-ink-3); }
.ui3 .u-auth__footlink a, .ui3 .u-auth__legal a { color: var(--u-accent-ink); font-weight: 500; text-decoration: none; }
.ui3 .u-auth__footlink a:hover, .ui3 .u-auth__legal a:hover { text-decoration: underline; }
.ui3 .u-auth__legal { flex: none; margin-block: 16px 0; margin-inline: auto; max-width: 400px; text-align: center; font-size: var(--u-t-xs); color: var(--u-ink-4); }
@media (max-width: 899px) {
  html.ui3:has(.u-auth-page) body.u-auth-page { overflow: auto; }
  .ui3 .u-auth { grid-template-columns: minmax(0, 1fr); height: auto; min-height: 100dvh; }
  .ui3 .u-auth__aside { display: none; }
  .ui3 .u-auth__moblogo { display: inline-flex; }
  .ui3 .u-auth__mid { padding-block: 32px; }
}

/* ---------- Campaign performance (admin) ---------- */
.ui3 .u-page.u-cpd { max-width: 1520px; padding-inline: 28px; }
.ui3 .u-cpd .hidden { display: none; }
.ui3 .u-cpd .u-pagehead { align-items: center; flex-wrap: wrap; margin-bottom: 12px; }
.ui3 .u-cpd__status {
  display: flex; flex-direction: column; align-items: flex-end; gap: 2px;
  max-width: 220px; margin: 0; text-align: end;
}
.ui3 .u-cpd__status #rcSyncProgress { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ui3 .u-cpd__filters { display: grid; gap: 10px; margin-bottom: 14px; }
.ui3 .u-cpd-toolbar { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 10px; }
.ui3 .u-cpd-toolbar__gap { flex: 1; min-width: 4px; }
.ui3 .u-cpd-toolbar__badge {
  margin: 0; max-width: 260px;
  overflow: hidden; white-space: nowrap; text-overflow: ellipsis;
}
.ui3 .u-cpd__note { margin: 0 0 12px; }
.ui3 .u-cpd-drawer.is-collapsed { display: none; }
.ui3 .u-cpd-drawer__head {
  display: flex; align-items: center; justify-content: space-between; gap: 12px;
  padding: 12px 16px 0;
}
.ui3 .u-cpd-panel__btn {
  display: flex; align-items: center; justify-content: space-between; gap: 16px;
  width: 100%; padding: 14px 16px; border: 0; background: none;
  font: inherit; color: inherit; cursor: pointer; text-align: start;
}
.ui3 .u-cpd-panel__btn:hover { background: var(--u-surface-2); }
.ui3 .u-cpd-panel__body { padding: 12px 16px 16px; }
.ui3 #facebookTokenToggle.is-attention { color: var(--u-warn); }
.ui3 .u-cpd-fields {
  display: grid; gap: 12px;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  margin: 14px 0 0;
}
.ui3 .u-cpd-ov { margin-top: 14px; padding: 12px; border: 1px solid var(--u-line); border-radius: var(--u-r-md); background: var(--u-surface-2); }
.ui3 .u-cpd-ov__head { display: flex; flex-wrap: wrap; align-items: flex-start; justify-content: space-between; gap: 8px; margin-bottom: 8px; }
.ui3 .u-cpd-ov__add { display: flex; align-items: center; gap: 6px; }
.ui3 .u-cpd-ov__add .u-input { width: 64px; }
.ui3 .u-cpd-ov__scroll { max-height: 220px; overflow: auto; }
.ui3 .u-cpd-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 12px; }
.ui3 .u-cpd-token.is-attention { border-color: var(--u-warn); background: var(--u-warn-soft); }
.ui3 .u-cpd-token__meta { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 10px; margin: 14px 0; }
.ui3 .u-cpd-token__form { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 10px; }
.ui3 .u-cpd-token__form .u-field { flex: 1; min-width: 220px; }
.ui3 .u-cpd-dates { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.ui3 .u-cpd-dates .u-input { width: auto; }
.ui3 .u-cpd-dates input[type="date"] { width: 9.6rem; }
.ui3 .u-cpd-searchrow { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.ui3 .u-cpd-searchrow .u-input { flex: 1; min-width: 220px; }
.ui3 .u-cpd-chips { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.ui3 .u-cpd-kpis {
  display: grid; gap: 10px; margin-bottom: 16px;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
}
.ui3 .u-cpd-kpi { display: grid; gap: 2px; }
.ui3 .u-cpd-kpi__top { display: flex; align-items: center; justify-content: space-between; gap: 6px; }
.ui3 .u-cpd-kpi__val {
  margin: 4px 0 0; font-size: var(--u-t-2xl); font-weight: 600;
  letter-spacing: -0.022em; line-height: 1.15; font-variant-numeric: tabular-nums;
}
.ui3 .u-cpd-kpi__sub { margin: 4px 0 0; font-size: var(--u-t-xs); color: var(--u-ink-3); }
.ui3 .u-cpd-roas--ok { color: var(--u-accent-ink); }
.ui3 .u-cpd-roas--warn { color: var(--u-warn); }
.ui3 .u-cpd-roas--poor { color: var(--u-danger); }
.ui3 .u-cpd-vol { margin-bottom: 16px; }
.ui3 .u-cpd-vol__head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 10px; margin-bottom: 14px; }
.ui3 .u-cpd-vol__total { font-size: var(--u-t-2xl); font-weight: 600; letter-spacing: -0.022em; font-variant-numeric: tabular-nums; }
.ui3 .u-cpd-volgrid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.ui3 .u-cpd-volbox { padding: 12px 14px; border-radius: var(--u-r-md); background: var(--u-surface-2); }
.ui3 .u-cpd-volbox__row { display: flex; justify-content: space-between; gap: 12px; margin-top: 6px; font-size: var(--u-t-xs); color: var(--u-ink-3); }
.ui3 .u-cpd-volbox__row strong { color: var(--u-ink); font-weight: 600; font-variant-numeric: tabular-nums; }
.ui3 .u-cpd-splithead { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 10px; margin: 18px 0 10px; }
.ui3 .u-cpd-ms { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 8px; margin-bottom: 12px; }
.ui3 .u-cpd-ms__card { text-align: center; padding: 10px 8px; border: 1px solid var(--u-line); border-radius: var(--u-r-md); background: var(--u-surface); }
.ui3 .u-cpd-msval { margin: 2px 0; font-size: var(--u-t-xl); font-weight: 600; font-variant-numeric: tabular-nums; }
.ui3 .u-cpd-tablewrap { overflow: auto; }
.ui3 .u-cpd-table { width: 100%; border-collapse: collapse; font-size: var(--u-t-xs); }
.ui3 .u-cpd-table th {
  text-align: start; font-weight: 500; color: var(--u-ink-3);
  padding: 8px 10px; border-bottom: 1px solid var(--u-line); white-space: nowrap;
}
.ui3 .u-cpd-table td { padding: 8px 10px; border-bottom: 1px solid var(--u-line); font-variant-numeric: tabular-nums; vertical-align: top; }
.ui3 .u-cpd-table .u-num, .ui3 .u-cpd-table [data-ms] { text-align: end; }
.ui3 .u-cpd-table tbody tr[data-timeline-row="total"] { font-weight: 600; background: var(--u-surface-2); }
.ui3 .u-cpd-table .ms-pct { color: var(--u-ink-4); margin-inline-start: 4px; }
.ui3 .u-cpd-table--countries thead th { position: sticky; top: 0; background: var(--u-surface); z-index: 1; }
.ui3 .u-cpd-table--countries th[data-sort-key], .ui3 .u-cpd-table--countries .sortable-header { cursor: pointer; }
.ui3 .u-cpd-table--countries th[data-sort-key]:hover, .ui3 .u-cpd-table--countries .sortable-header:hover { color: var(--u-ink); }
.ui3 .u-cpd-table--countries td:nth-child(n+4):not(:last-child) { text-align: end; }
.ui3 .u-cpd-table--countries td:last-child { text-align: center; }
.ui3 .u-cpd-table--countries tr.dimmed { opacity: 0.62; }
.ui3 .u-cpd-table--countries tr.selected { background: var(--u-accent-soft); }
.ui3 .u-cpd-table--countries tr.country-row:hover { background: var(--u-surface-2); }
.ui3 .u-cpd-th { display: inline-flex; align-items: center; gap: 4px; }
.ui3 .u-cpd-th--end { justify-content: flex-end; width: 100%; }
.ui3 .sort-indicator { display: inline-block; min-width: 1em; color: var(--u-ink-4); }
.ui3 .sort-indicator.active { color: var(--u-accent); }
.ui3 .u-cpd-trend { margin-bottom: 16px; }
.ui3 .u-cpd-trend__legend { display: flex; align-items: center; gap: 14px; }
.ui3 .u-cpd-swatch { display: inline-block; width: 16px; height: 2px; border-radius: var(--u-r-pill); background: var(--u-info); vertical-align: middle; }
.ui3 .u-cpd-swatch--cum { background: var(--u-accent); }
.ui3 .u-cpd-pills { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; margin-bottom: 12px; }
.ui3 .u-cpd-pill { padding: 10px 12px; border: 1px solid var(--u-line); border-radius: var(--u-r-md); background: var(--u-surface-2); }
.ui3 .u-cpd-chart { position: relative; }
.ui3 .roas-trend-svg { width: 100%; height: 280px; display: block; }
.ui3 .roas-trend-tooltip {
  position: absolute; pointer-events: none; z-index: 10;
  padding: 8px 10px; border-radius: var(--u-r-md);
  background: var(--u-ink); color: var(--u-on-ink);
  font-size: var(--u-t-2xs); line-height: 1.45; white-space: nowrap;
  box-shadow: var(--u-sh-md); transform: translate(-50%, -120%);
}
.ui3 .u-cpd-signals { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.ui3 .u-cpd-sig { padding: 12px; border-radius: var(--u-r-md); background: var(--u-surface-2); }
.ui3 .u-cpd-sig--scale { background: var(--u-accent-soft); }
.ui3 .u-cpd-sig--hold { background: var(--u-warn-soft); }
.ui3 .u-cpd-sig--cut { background: var(--u-danger-soft); }
.ui3 .u-cpd-sig__head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 8px; }
.ui3 .budget-signal-list { max-height: 22rem; overflow: auto; display: grid; gap: 8px; }
.ui3 .u-cpd-sigrow { display: flex; align-items: flex-start; justify-content: space-between; gap: 8px; }
.ui3 .u-cpd-sigrow__who { min-width: 0; }
.ui3 .u-cpd-sigrow__name { font-weight: 500; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.ui3 .budget-signal-badge {
  display: inline-flex; align-items: center; gap: 4px;
  height: 20px; padding: 0 7px; border-radius: var(--u-r-pill);
  font-size: var(--u-t-2xs); font-weight: 600;
  background: var(--u-surface-2); color: var(--u-ink-3);
}
.ui3 .budget-signal-badge.scale { background: var(--u-accent-soft); color: var(--u-accent-ink); }
.ui3 .budget-signal-badge.hold { background: var(--u-warn-soft); color: var(--u-warn); }
.ui3 .budget-signal-badge.cut { background: var(--u-danger-soft); color: var(--u-danger); }
.ui3 .u-cpd-cols { display: grid; grid-template-columns: 1fr 1.2fr 1fr; gap: 12px; margin: 16px 0; }
.ui3 .u-cpd-rank { display: grid; grid-template-columns: 22px minmax(0, 1fr) 72px 48px; align-items: center; gap: 8px; }
.ui3 .u-cpd-rank + .u-cpd-rank { margin-top: 10px; }
.ui3 .u-cpd-rank__n { color: var(--u-ink-4); font-size: var(--u-t-xs); }
.ui3 .u-cpd-rank__name { font-size: var(--u-t-sm); font-weight: 500; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.ui3 .u-cpd-rank__bar { height: 4px; }
.ui3 .u-cpd-rank__val { text-align: end; font-size: var(--u-t-sm); font-weight: 600; }
.ui3 .custom-chart-wrapper { position: relative; width: 100%; height: 280px; margin-top: 8px; }
.ui3 .custom-chart-y-axis-label {
  position: absolute; inset-inline-start: -8px; top: 50%;
  transform: rotate(-90deg) translateX(50%);
  font-size: var(--u-t-2xs); color: var(--u-ink-4);
}
.ui3 .custom-chart-container {
  display: flex; justify-content: space-between; align-items: flex-end;
  height: 100%; padding: 12px 0;
  border-inline-start: 1px solid var(--u-line);
  border-bottom: 1px solid var(--u-line);
}
.ui3 .chart-bar-wrapper {
  display: flex; flex-direction: column; align-items: center; justify-content: flex-end;
  flex: 1; align-self: stretch; height: 100%; min-width: 0; min-height: 0; margin-inline: 3px;
}
.ui3 .chart-value { font-size: var(--u-t-2xs); color: var(--u-ink-3); margin-bottom: 4px; font-variant-numeric: tabular-nums; }
.ui3 .chart-bar {
  width: 100%; max-width: 28px; flex: none; min-height: 3px;
  border-radius: var(--u-r-xs) var(--u-r-xs) 0 0; background: var(--u-info);
  transition: height var(--u-dur-3) var(--u-ease);
}
.ui3 .u-cpd-bar--ok { background: var(--u-accent); }
.ui3 .u-cpd-bar--warn { background: var(--u-warn); }
.ui3 .u-cpd-bar--poor { background: var(--u-danger); }
.ui3 .u-cpd-bar--none { background: var(--u-line-strong); }
.ui3 .chart-label { font-size: var(--u-t-xs); color: var(--u-ink-3); margin-top: 6px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 100%; }
.ui3 .u-cpd-scenario { margin-bottom: 16px; }
.ui3 .scenario-panel { position: sticky; top: 0; z-index: 8; }
.ui3 .scenario-comparison { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 10px; margin-top: 12px; }
.ui3 .scenario-metric { padding: 12px; border: 1px solid var(--u-line); border-radius: var(--u-r-md); background: var(--u-surface); }
.ui3 .scenario-metric.improved { border-color: var(--u-accent-line); background: var(--u-accent-soft); }
.ui3 .scenario-metric.worsened { border-color: transparent; background: var(--u-danger-soft); }
.ui3 .delta-indicator {
  display: inline-flex; align-items: center; gap: 4px;
  margin-top: 6px; padding: 2px 6px; border-radius: var(--u-r-xs);
  font-size: var(--u-t-2xs); font-weight: 600;
}
.ui3 .delta-indicator.positive { background: var(--u-accent-soft); color: var(--u-accent-ink); }
.ui3 .delta-indicator.negative { background: var(--u-danger-soft); color: var(--u-danger); }
.ui3 .u-cpd-bulk {
  display: flex; align-items: center; gap: 10px; flex-wrap: wrap;
  padding: 10px 16px; border-bottom: 1px solid var(--u-line); background: var(--u-surface-2);
}
.ui3 .u-cpd-adv { padding: 14px 16px; border-bottom: 1px solid var(--u-line); background: var(--u-surface-2); }
.ui3 .u-cpd-adv__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 10px; }
.ui3 .u-cpd-range { display: flex; align-items: center; gap: 6px; }
.ui3 .u-cpd-tablehead {
  display: grid; grid-template-columns: minmax(0, 1fr) auto;
  align-items: end; gap: 12px 16px; padding: 16px 18px;
  border-bottom: 1px solid var(--u-line);
}
.ui3 .u-cpd-tablehead .u-cpd-searchrow { grid-column: 1 / -1; }
.ui3 .country-checkbox { width: 16px; height: 16px; accent-color: var(--u-accent); cursor: pointer; }
.ui3 .percentage-of-total { font-size: var(--u-t-2xs); color: var(--u-ink-4); font-weight: 400; }
.ui3 .u-cpd-plat { display: inline-flex; gap: 4px; margin-top: 4px; }
.ui3 .u-cpd-plat span { font-size: var(--u-t-2xs); padding: 1px 6px; border-radius: var(--u-r-xs); background: var(--u-surface-2); color: var(--u-ink-3); }
.ui3 .u-cpd-top { position: fixed; inset-block-end: 24px; inset-inline-end: 24px; z-index: 30; }
.ui3 .u-cpd-input, .ui3 .u-cpd .assumption-input,
.ui3 .u-cpd .yearly-override-input, .ui3 .u-cpd .monthly-override-input,
.ui3 .u-cpd .mobile-yearly-override-input {
  width: 100%; height: 34px; padding: 0 8px;
  border: 1px solid var(--u-line); border-radius: var(--u-r-md);
  background: var(--u-surface); color: var(--u-ink);
  font: inherit; font-size: var(--u-t-sm); box-shadow: var(--u-sh-xs);
}
.ui3 .u-cpd .yearly-override-input, .ui3 .u-cpd .monthly-override-input,
.ui3 .u-cpd .mobile-yearly-override-input { width: 72px; height: 28px; text-align: end; }
.ui3 .u-cpd-input:focus, .ui3 .u-cpd .assumption-input:focus,
.ui3 .u-cpd .yearly-override-input:focus, .ui3 .u-cpd .monthly-override-input:focus,
.ui3 .u-cpd .mobile-yearly-override-input:focus { outline: none; border-color: var(--u-accent); box-shadow: var(--u-ring); }
.ui3 .u-cpd-ov table { width: 100%; border-collapse: collapse; font-size: var(--u-t-xs); }
.ui3 .u-cpd-ov th { text-align: end; font-weight: 500; color: var(--u-ink-3); padding: 4px 6px; position: sticky; top: 0; background: var(--u-surface-2); }
.ui3 .u-cpd-ov th:first-child { text-align: start; }
.ui3 .u-cpd-ov td { padding: 4px 6px; text-align: end; }
.ui3 .u-cpd-ov td:first-child { text-align: start; }
.ui3 .u-cpd-shortcut { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 8px 0; border-bottom: 1px solid var(--u-line); }
.ui3 .u-cpd-shortcut:last-child { border-bottom: 0; }
@media (max-width: 1100px) {
  .ui3 .u-cpd-cols, .ui3 .u-cpd-signals, .ui3 .u-cpd-volgrid, .ui3 .u-cpd-pills { grid-template-columns: 1fr; }
  .ui3 .u-cpd-ms { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 720px) {
  .ui3 .u-page.u-cpd { padding-inline: 16px; }
  .ui3 .u-cpd .u-pagehead { flex-direction: column; align-items: stretch; }
  .ui3 .u-cpd__status { text-align: start; }
  .ui3 .u-cpd-ms { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
