@layer legacy {@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Inter:wght@400;500;600;700&display=swap');

/* Shell + shared primitives, on clay (DESIGN.md). Tokens mirror app/clay.css:
 * cream canvas, near-black ink, warm hairlines, generous radius, Gabarito display. */
:root {
  --ink: #0a0a0a;
  --body: #3a3a3a;
  --muted: #6a6a6a;
  --faint: #9a9a9a;
  --line: #eae2d0;
  --line-soft: #f1ebdd;
  --canvas: #fffaf0;
  --card: #fffdf7;
  --sidebar: #faf5e8;
  --dark: #0a1a1a;
  --green: #2e6b5e;
  --green-soft: #e3f0eb;
  --amber: #c99a2e;
  --amber-soft: #faf0d7;
  --red: #e5543f;
  --red-soft: #ffe9e5;
  --blue: #547ba5;
  --blue-soft: #edf3f9;
  --violet: #8f76e0;
  --violet-soft: #efe9fb;
  --shadow-sm: 0 1px 2px rgba(26, 20, 5, .05);
  --shadow-md: 0 12px 32px rgba(26, 20, 5, .09);
  --radius-sm: 8px;
  --radius-md: 12px;
  --radius-lg: 16px;
  --radius-xl: 24px;
  --display: "Gabarito", "Inter", sans-serif;
  --sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --mono: "DM Mono", ui-monospace, monospace;
}

* { box-sizing: border-box; }
html, body { margin: 0; min-height: 100%; }
body { background: var(--canvas); color: var(--body); font-family: var(--sans); font-size: 14px; -webkit-font-smoothing: antialiased; overflow: hidden; }
button, input, textarea, select { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
button { color: inherit; }
a { color: inherit; text-decoration: none; }
p, h1, h2, h3, h4 { margin: 0; }
button { border: 0; background: none; cursor: pointer; }
button:focus-visible, a:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible { outline: 2px solid var(--ink); outline-offset: 2px; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.eyebrow { color: var(--muted); font-family: var(--mono); font-size: 10px; font-weight: 500; letter-spacing: .11em; text-transform: uppercase; }

.app-frame { display: grid; grid-template-columns: 232px minmax(0, 1fr) auto; height: 100vh; width: 100%; background: var(--canvas); }
.workspace { min-width: 0; height: 100vh; overflow-y: auto; overflow-x: hidden; scrollbar-color: #d8cfb8 transparent; scrollbar-width: thin; }

/* Sidebar */
.sidebar { display: flex; flex-direction: column; height: 100vh; background: var(--sidebar); border-right: 1px solid var(--line); padding: 16px 12px 12px; z-index: 30; }
.sidebar__brand-row { display: flex; align-items: center; justify-content: space-between; height: 36px; padding: 0 8px; }
.brand-mark { display: inline-flex; align-items: center; gap: 9px; color: var(--ink); font-family: var(--display); font-size: 16px; font-weight: 600; letter-spacing: -.02em; }
.brand-mark__icon { position: relative; display: grid; width: 24px; height: 24px; place-items: center; border-radius: 8px; background: var(--ink); }
.brand-mark__icon::before, .brand-mark__icon::after, .brand-mark__icon span { content: ""; position: absolute; width: 3px; border-radius: 2px; background: var(--canvas); transform-origin: bottom; }
.brand-mark__icon::before { height: 7px; left: 7px; bottom: 6px; transform: rotate(-18deg); }
.brand-mark__icon span { height: 12px; left: 11px; bottom: 6px; }
.brand-mark__icon::after { height: 9px; right: 6px; bottom: 6px; transform: rotate(18deg); }
.workspace-switcher { width: 100%; display: grid; grid-template-columns: 30px 1fr auto; align-items: center; gap: 9px; margin: 15px 0 20px; padding: 8px; text-align: left; border: 1px solid var(--line); border-radius: var(--radius-md); background: var(--card); box-shadow: var(--shadow-sm); }
.workspace-switcher:hover { border-color: #d3c8ab; }
.workspace-switcher__mark { display: grid; width: 29px; height: 29px; place-items: center; }
.workspace-switcher > span:nth-child(2) { overflow: hidden; color: var(--ink); font-size: 12px; font-weight: 600; line-height: 1.25; white-space: nowrap; }
.workspace-switcher small { display: block; color: var(--faint); font-size: 9px; font-weight: 500; letter-spacing: .05em; text-transform: uppercase; }
.sidebar__nav { flex: 1; min-height: 0; overflow-y: auto; }
.nav-label { margin: 0 9px 7px; color: var(--faint); font-family: var(--mono); font-size: 9px; font-weight: 500; letter-spacing: .1em; text-transform: uppercase; }
.nav-item { position: relative; display: flex; width: 100%; min-height: 36px; align-items: center; gap: 10px; padding: 7px 9px; margin: 2px 0; color: #4a4a4a; border-radius: 10px; font-size: 12.5px; text-align: left; transition: background .15s ease, color .15s ease; }
.nav-item:hover { color: var(--ink); background: #f5f0e0; }
.nav-item.is-active { color: var(--ink); background: #ebe6d6; font-weight: 600; }
.nav-item.is-active::before { content: ""; position: absolute; left: -12px; width: 3px; height: 18px; background: var(--ink); border-radius: 0 3px 3px 0; }
.nav-item > span:nth-child(2) { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.nav-badge { display: grid; min-width: 18px; height: 18px; place-items: center; padding: 0 5px; color: #d42f6d; background: #ffe6ef; border-radius: 999px; font-size: 10px; font-weight: 600; }
.nav-section-heading { display: flex; align-items: center; justify-content: space-between; margin-top: 21px; }
.nav-section-heading button { margin-right: 9px; color: var(--faint); }
.nav-company { min-height: 38px; }
.company-avatar { --company-color: #6a6a6a; display: inline-grid; flex: none; width: 24px; height: 24px; place-items: center; color: var(--company-color); background: color-mix(in srgb, var(--company-color) 12%, #fffaf0); border: 1px solid color-mix(in srgb, var(--company-color) 24%, #fffaf0); border-radius: 8px; font-family: var(--display); font-size: 8px; font-weight: 700; }
.health-dot { flex: none; width: 6px; height: 6px; border-radius: 50%; }
.health-dot--green { background: var(--green); }
.health-dot--amber { background: var(--amber); }
.health-dot--red { background: var(--red); }
.sidebar__footer { padding-top: 10px; border-top: 1px solid var(--line-soft); }
.user-card { display: grid; grid-template-columns: 30px 1fr auto; align-items: center; gap: 8px; margin-top: 8px; padding: 8px; border-radius: 10px; }
.user-card:hover { background: #f5f0e0; }
.user-card__avatar, .mini-avatar { display: grid; place-items: center; border-radius: 50%; background: #ebe6d6; color: #4a4a4a; font-size: 9px; font-weight: 700; }
.user-card__avatar { width: 30px; height: 30px; }
.user-card strong { display: block; color: var(--ink); font-size: 11px; }
.user-card small { color: var(--faint); font-size: 9.5px; }
.sidebar__close, .mobile-menu, .mobile-backdrop { display: none; }

/* Top bar and primitives */
.topbar { position: sticky; top: 0; z-index: 20; display: flex; height: 55px; align-items: center; justify-content: space-between; padding: 0 24px; background: rgba(255, 250, 240, .92); border-bottom: 1px solid var(--line); backdrop-filter: blur(12px); }
.topbar__left, .topbar__actions { display: flex; align-items: center; gap: 10px; }
.topbar__eyebrow { color: var(--faint); font-family: var(--mono); font-size: 9px; letter-spacing: .12em; }
.topbar__divider { width: 1px; height: 14px; background: var(--line); }
.topbar__context { color: var(--body); font-size: 11.5px; font-weight: 500; }
.global-search { display: flex; width: 205px; height: 31px; align-items: center; gap: 7px; padding: 0 8px 0 10px; color: var(--muted); background: var(--card); border: 1px solid var(--line); border-radius: 10px; font-size: 11px; text-align: left; }
.global-search:hover { border-color: #d3c8ab; box-shadow: var(--shadow-sm); }
.global-search > span { flex: 1; }
kbd, .key-hint { display: inline-flex; align-items: center; gap: 2px; padding: 2px 5px; color: var(--faint); background: var(--sidebar); border: 1px solid var(--line); border-radius: 5px; box-shadow: none; font-family: var(--sans); font-size: 9px; }
.icon-button { display: inline-grid; flex: none; width: 30px; height: 30px; place-items: center; color: var(--muted); border-radius: 8px; }
.sidebar .sidebar__close, .topbar .mobile-menu { display: none; }
.icon-button:hover { color: var(--ink); background: #f1ebdd; }
.icon-button--bordered { background: var(--card); border: 1px solid var(--line); }
.notification-button { position: relative; }
.notification-button span { position: absolute; top: 6px; right: 6px; width: 5px; height: 5px; background: var(--red); border: 1px solid var(--canvas); border-radius: 50%; }
.button { display: inline-flex; min-height: 32px; align-items: center; justify-content: center; gap: 7px; padding: 7px 11px; border: 1px solid transparent; border-radius: var(--radius-md); font-size: 11px; font-weight: 600; white-space: nowrap; }
.button--primary { color: #fff; background: #0a0a0a; border-color: #0a0a0a; box-shadow: 0 1px 2px rgba(26, 20, 5, .14); }
.button--primary:hover { background: #1f1f1f; }
.button--secondary { color: var(--body); background: var(--card); border-color: var(--line); box-shadow: var(--shadow-sm); }
.button--secondary:hover { color: var(--ink); border-color: #d3c8ab; }
.button--ghost { color: var(--muted); padding-left: 7px; padding-right: 7px; }
.button--ghost:hover { color: var(--ink); background: #f5f0e0; }
.main-content { min-width: 0; }
.page-shell { width: 100%; max-width: 1280px; margin: 0 auto; padding: 25px 26px 70px; }
.page-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: 21px; }
.page-heading h1, .company-heading h1 { margin-top: 5px; color: var(--ink); font-family: var(--display); font-size: 27px; font-weight: 600; letter-spacing: -.03em; line-height: 1.15; }
.page-heading p { margin-top: 6px; color: var(--muted); font-size: 12px; }
.page-heading__actions { display: flex; align-items: center; gap: 7px; }
.panel { background: var(--card); border: 1px solid var(--line); border-radius: var(--radius-lg); box-shadow: var(--shadow-sm); }
.panel__header { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; padding: 17px 18px 12px; }
.panel__header h2 { color: var(--ink); font-family: var(--display); font-size: 13.5px; font-weight: 600; letter-spacing: -.01em; }
.panel__header p { margin-top: 3px; color: var(--faint); font-size: 10.5px; line-height: 1.4; }
.metric-grid { display: grid; gap: 10px; }
.metric-grid--portfolio { grid-template-columns: repeat(4, minmax(0, 1fr)); margin-bottom: 11px; }
.metric-card { position: relative; min-width: 0; padding: 14px 15px 12px; overflow: hidden; background: var(--card); border: 1px solid var(--line); border-radius: var(--radius-md); box-shadow: var(--shadow-sm); }
.metric-card__label { display: flex; align-items: center; justify-content: space-between; color: var(--muted); font-size: 10.5px; }
.metric-card strong { display: block; margin-top: 10px; color: var(--ink); font-family: var(--display); font-size: 22px; font-weight: 600; line-height: 1; letter-spacing: -.03em; }
.metric-card p { display: flex; align-items: center; gap: 4px; margin-top: 7px; font-size: 9.5px; font-weight: 600; }
.metric-card p span { color: var(--faint); font-weight: 400; }
.positive, .positive-text { color: #2e6b5e !important; }
.negative, .negative-text { color: #d2412e !important; }
.neutral { color: var(--muted) !important; }
.red-text { color: var(--red) !important; }
.metric-spark { position: absolute; right: 14px; bottom: 15px; display: flex; height: 28px; align-items: flex-end; gap: 2px; opacity: .55; }
.metric-spark span { width: 3px; border-radius: 2px 2px 0 0; background: currentColor; }
.metric-spark span:nth-child(1) { height: 25%; }.metric-spark span:nth-child(2) { height: 42%; }.metric-spark span:nth-child(3) { height: 34%; }.metric-spark span:nth-child(4) { height: 61%; }.metric-spark span:nth-child(5) { height: 52%; }.metric-spark span:nth-child(6) { height: 76%; }.metric-spark span:nth-child(7) { height: 93%; }
.metric-spark--green { color: var(--green); }.metric-spark--violet { color: var(--violet); }.metric-spark--blue { color: var(--violet); }
.metric-card--attention { background: #fff8ec; }
.attention-breakdown { display: flex; gap: 9px; margin-top: 8px; color: var(--muted); font-size: 9px; }
.attention-breakdown span { display: flex; align-items: center; gap: 4px; }
.attention-breakdown i { width: 5px; height: 5px; border-radius: 50%; }.attention-breakdown .red { background: var(--red); }.attention-breakdown .amber { background: var(--amber); }
.status-pill { display: inline-flex; width: fit-content; align-items: center; gap: 5px; padding: 4px 8px; border-radius: 999px; font-size: 9.5px; font-weight: 600; }
.status-pill i { width: 5px; height: 5px; border-radius: 50%; }
.status-pill--green { color: #1e5347; background: var(--green-soft); }.status-pill--green i { background: var(--green); }
.status-pill--amber { color: #9a7420; background: var(--amber-soft); }.status-pill--amber i { background: var(--amber); }
.status-pill--red { color: #d2412e; background: var(--red-soft); }.status-pill--red i { background: var(--red); }
.dashboard-grid { display: grid; gap: 11px; }
.dashboard-grid--hero { grid-template-columns: minmax(0, 1.55fr) minmax(255px, .85fr); margin-bottom: 11px; }

/* Portfolio */
.graph-panel { min-width: 0; }
.portfolio-graph { height: 285px; margin: -3px 7px 0; overflow: hidden; }
.portfolio-graph svg { width: 100%; height: 100%; }
.graph-grid-lines line { stroke: #f1ebdd; stroke-width: 1; }
.graph-connector { stroke: #ddd3ba; stroke-width: 1.2; stroke-dasharray: 3 3; }
.fund-node__title { fill: #fffaf0; font-family: var(--display); font-size: 9px; font-weight: 700; letter-spacing: .08em; }
.fund-node__sub { fill: #a89f8a; font-family: var(--mono); font-size: 7px; letter-spacing: .12em; }
.company-node { cursor: pointer; outline: none; }
.company-node circle { transition: stroke-width .15s ease, r .15s ease; }
.company-node__initials { font-family: var(--display); font-size: 8px; font-weight: 700; }
.company-node__name { fill: #1a1a1a; font-size: 9.5px; font-weight: 600; }
.company-node__value { fill: #8a8a8a; font-size: 7.5px; }
.graph-legend { display: flex; align-items: center; gap: 14px; min-height: 38px; padding: 9px 17px; color: var(--muted); border-top: 1px solid var(--line-soft); font-size: 9px; }
.graph-legend span { display: flex; align-items: center; gap: 5px; }.graph-legend em { margin-left: auto; color: var(--faint); font-style: normal; }
.legend-dot, .graph-legend span > i { width: 6px; height: 6px; border-radius: 50%; }.legend-dot--green { background: var(--green); }.legend-dot--amber { background: var(--amber); }.legend-dot--red { background: var(--red); }
.briefing-card { display: flex; min-width: 0; flex-direction: column; background: var(--dark); border-color: var(--dark); color: #ece6d6; overflow: hidden; }
.briefing-card__header { align-items: center; padding-bottom: 9px; }
.briefing-card .panel__header h2 { margin-top: 5px; color: #fff; font-size: 15px; }
.briefing-card .icon-button { color: #a0a0a0; }.briefing-card .icon-button:hover { color: #fff; background: #1a2a2a; }
.live-kicker { display: inline-flex; align-items: center; gap: 5px; color: #8fb8a5; font-family: var(--mono); font-size: 8px; letter-spacing: .1em; }
.live-kicker > i { width: 5px; height: 5px; background: #a4d4c5; border-radius: 50%; box-shadow: 0 0 0 3px rgba(164, 212, 197, .14); }
.briefing-list { flex: 1; padding: 3px 17px 4px; }
.briefing-item { display: grid; grid-template-columns: 24px 1fr; gap: 10px; padding: 13px 0; border-bottom: 1px solid rgba(255,255,255,.075); }
.briefing-item:last-child { border: 0; }
.briefing-item__number { display: grid; width: 22px; height: 22px; place-items: center; border-radius: 50%; font-family: var(--mono); font-size: 8px; }
.briefing-item__number--risk { color: #ffb3a8; background: rgba(255,107,90,.22); }.briefing-item__number--progress { color: #a4d4c5; background: rgba(164,212,197,.18); }.briefing-item__number--market { color: #cfc0f3; background: rgba(184,164,237,.24); }
.briefing-item p { color: #ece6d6; font-size: 10.5px; line-height: 1.55; }
.briefing-item button { display: flex; align-items: center; gap: 2px; margin-top: 5px; color: #a0a0a0; font-family: var(--mono); font-size: 7.5px; }
.briefing-card__footer { display: flex; align-items: center; justify-content: space-between; padding: 10px 17px; background: rgba(255,255,255,.035); border-top: 1px solid rgba(255,255,255,.07); color: #a0a0a0; font-size: 8.5px; }
.briefing-card__footer span, .briefing-card__footer button { display: flex; align-items: center; gap: 5px; }.briefing-card__footer button { color: #ece6d6; font-weight: 600; }
.companies-panel { margin-bottom: 11px; overflow: hidden; }
.company-table-wrap { width: 100%; overflow-x: auto; }
.data-table { width: 100%; border-collapse: collapse; font-size: 10.5px; }
.data-table th { padding: 9px 12px; color: var(--muted); background: var(--sidebar); border-top: 1px solid var(--line-soft); border-bottom: 1px solid var(--line); font-family: var(--mono); font-size: 7.5px; font-weight: 500; letter-spacing: .05em; text-align: left; text-transform: uppercase; white-space: nowrap; }
.data-table td { padding: 10px 12px; color: #4a4a4a; border-bottom: 1px solid var(--line-soft); vertical-align: middle; }
.data-table tr:last-child td { border-bottom: 0; }
.data-table tbody tr:hover { background: var(--sidebar); }
.company-cell { display: flex; align-items: center; gap: 9px; min-width: 155px; }
.company-avatar--large { width: 30px; height: 30px; font-size: 9px; }
.company-cell strong, .deal-table td strong { display: block; color: var(--ink); font-size: 10.5px; font-weight: 600; }
.company-cell small, .deal-table td small { display: block; margin-top: 2px; color: var(--faint); font-size: 8px; }
.data-table .numeric { color: var(--body); font-family: var(--mono); font-size: 9.5px; }
.data-table .numeric strong { color: #1a1a1a; font-weight: 500; }.data-table .numeric small { display: inline; margin-left: 2px; color: var(--faint); font-family: var(--sans); font-size: 8px; }
.signal-cell { max-width: 195px; color: var(--muted) !important; font-size: 9.5px; line-height: 1.4; }
.row-link { display: grid; width: 25px; height: 25px; place-items: center; color: var(--faint); border-radius: 7px; }.row-link:hover { color: var(--ink); background: #f1ebdd; }
.dashboard-grid--charts { grid-template-columns: 1.15fr .85fr; }
.chart-panel { min-width: 0; }
.chart-wrap { height: 160px; padding: 0 12px 0 8px; }
.chart-wrap--large { height: 224px; }
.chart-badge { padding: 4px 7px; color: var(--muted); background: #f5f0e0; border: 1px solid var(--line); border-radius: 6px; font-family: var(--mono); font-size: 8px; }
.chart-legend { display: flex; align-items: center; gap: 12px; min-height: 35px; padding: 7px 17px; color: var(--muted); border-top: 1px solid var(--line-soft); font-size: 8.5px; }
.chart-legend span { display: flex; align-items: center; gap: 5px; }.chart-legend i { display: inline-block; width: 12px; height: 2px; }.chart-legend i.solid { background: var(--ink); }.chart-legend i.dashed { border-top: 1px dashed var(--faint); }.chart-legend strong { margin-left: auto; color: #c2652f; font-size: 8.5px; }
.chart-legend--footer strong { color: var(--muted); }.page-footer-note { display: flex; align-items: center; justify-content: center; gap: 6px; margin: 16px 0 0; color: var(--faint); font-size: 8.5px; }.page-footer-note button { color: var(--muted); text-decoration: underline; text-underline-offset: 2px; }

/* Search dialog */
.dialog-overlay { position: fixed; inset: 0; z-index: 100; background: rgba(26, 20, 5, .4); backdrop-filter: blur(3px); animation: fade-in .15s ease; }
.search-dialog { position: fixed; z-index: 101; top: 13vh; left: 50%; width: min(590px, calc(100vw - 28px)); max-height: 68vh; overflow: hidden; transform: translateX(-50%); background: var(--card); border: 1px solid var(--line); border-radius: var(--radius-lg); box-shadow: 0 22px 70px rgba(26, 20, 5, .24); animation: dialog-in .18s ease; }
.search-dialog__input { display: grid; grid-template-columns: auto 1fr auto; height: 56px; align-items: center; gap: 10px; padding: 0 16px; color: var(--muted); border-bottom: 1px solid var(--line); }
.search-dialog__input input { width: 100%; color: var(--ink); background: transparent; border: 0; outline: 0; font-size: 13px; }.search-dialog__input input::placeholder { color: var(--faint); }
.search-dialog__body { min-height: 160px; max-height: 430px; padding: 8px; overflow-y: auto; }
.search-empty { display: flex; align-items: flex-start; gap: 11px; margin: 20px 20px 14px; padding: 15px; color: var(--body); background: var(--sidebar); border-radius: var(--radius-md); }.search-empty strong { color: var(--ink); font-family: var(--display); font-size: 15px; font-weight: 600; letter-spacing: -.01em; line-height: 1.3; }.search-empty p { margin-top: 4px; color: var(--muted); font-size: 9.5px; }
.search-today { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin: 0 20px 20px; }
.search-today .clay-eyebrow { width: 100%; margin-bottom: 2px; }
.search-no-results { padding: 55px 20px; color: var(--muted); text-align: center; }
.search-result { display: grid; width: 100%; grid-template-columns: auto 1fr auto; align-items: center; gap: 10px; padding: 9px; border-radius: 10px; text-align: left; }.search-result:hover { background: #f5f0e0; }
.search-result__icon { display: flex; align-items: center; gap: 5px; min-width: 20px; }.search-result strong { display: block; color: var(--ink); font-size: 11px; }.search-result small { display: block; margin-top: 2px; color: var(--muted); font-size: 9px; }.search-result em { color: var(--faint); font-size: 8px; font-style: normal; }
.search-dialog__footer { display: flex; gap: 16px; padding: 8px 16px; color: var(--faint); background: var(--sidebar); border-top: 1px solid var(--line); font-size: 8px; }
@keyframes fade-in { from { opacity: 0; } }
@keyframes dialog-in { from { opacity: 0; transform: translate(-50%, -8px) scale(.985); } }

/* Company workspace */
.company-breadcrumb { display: flex; align-items: center; gap: 6px; margin-bottom: 14px; color: var(--faint); font-size: 9px; }.company-breadcrumb a { display: flex; align-items: center; gap: 4px; color: var(--muted); }.company-breadcrumb a:hover { color: var(--ink); }
.company-heading { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 18px; }
.company-heading__identity { display: flex; align-items: center; gap: 12px; }
.company-logo { --company-color: #6a6a6a; display: grid; width: 42px; height: 42px; place-items: center; color: var(--company-color); background: color-mix(in srgb, var(--company-color) 12%, #fffaf0); border: 1px solid color-mix(in srgb, var(--company-color) 25%, #fffaf0); border-radius: var(--radius-md); font-family: var(--display); font-size: 12px; font-weight: 700; }
.company-heading__title-row { display: flex; align-items: center; gap: 9px; }.company-heading h1 { margin: 0; font-size: 24px; }.company-heading__identity p { display: flex; align-items: center; gap: 7px; margin-top: 4px; color: var(--muted); font-size: 9.5px; }.company-heading__identity p i { width: 3px; height: 3px; background: #d8cfb8; border-radius: 50%; }
.tabs { display: flex; gap: 2px; margin: 0 -26px 17px; padding: 0 26px; border-bottom: 1px solid var(--line); overflow-x: auto; }
.tabs button { position: relative; display: flex; min-width: fit-content; align-items: center; gap: 5px; padding: 10px 11px 11px; color: var(--muted); font-size: 10px; }
.tabs button:hover { color: var(--ink); }.tabs button.is-active { color: var(--ink); font-weight: 600; }.tabs button.is-active::after { content: ""; position: absolute; right: 9px; bottom: -1px; left: 9px; height: 2px; background: var(--ink); border-radius: 2px 2px 0 0; }.tabs button span { display: grid; min-width: 15px; height: 15px; place-items: center; color: #9a7420; background: var(--amber-soft); border-radius: 999px; font-size: 8px; }.tabs button > i { width: 4px; height: 4px; background: var(--amber); border-radius: 50%; }
.company-metric-grid { grid-template-columns: repeat(4, 1fr); margin-bottom: 11px; }.company-metric { min-height: 94px; }.metric-card__plain-label { color: var(--muted); font-size: 9.5px; }.company-metric strong { font-size: 20px; }.company-metric p span { display: none; }
.company-overview-grid { grid-template-columns: 1.12fr .88fr; margin-bottom: 11px; }.company-overview-grid--bottom { grid-template-columns: 1.35fr .65fr; }
.company-performance .chart-wrap { height: 205px; }
.executive-brief { min-width: 0; overflow: hidden; }.executive-brief .panel__header { align-items: center; }.executive-brief .panel__header h2 { margin-top: 4px; }.updated-label { color: var(--faint); font-family: var(--mono); font-size: 7px; }.executive-brief__summary { margin: 0 18px 12px; padding: 10px 11px; color: var(--body); background: var(--green-soft); border-left: 2px solid var(--green); border-radius: 0 8px 8px 0; font-size: 9.5px; line-height: 1.55; }
.brief-columns { display: grid; grid-template-columns: 1fr 1fr; gap: 13px; padding: 0 18px 9px; }.brief-columns h4 { display: flex; align-items: center; gap: 5px; margin-bottom: 6px; color: var(--muted); font-size: 8.5px; font-weight: 600; text-transform: uppercase; }.brief-columns > div:first-child h4 { color: #9a7420; }.brief-columns > div:last-child h4 { color: #1e5347; }.brief-columns p { position: relative; padding: 5px 0 5px 9px; color: #4a4a4a; border-top: 1px solid var(--line-soft); font-size: 8.5px; line-height: 1.45; }.brief-columns p::before { content: ""; position: absolute; top: 10px; left: 0; width: 4px; height: 4px; background: #d8cfb8; border-radius: 50%; }
.inline-link { display: flex; align-items: center; gap: 4px; color: #1e5347; font-size: 8.5px; font-weight: 600; }.executive-brief > .inline-link { margin: 0 18px 13px; }
.milestone-panel { overflow: hidden; }.milestone-track { position: relative; display: flex; justify-content: space-between; padding: 27px 22px 26px; }.milestone-track::before { content: ""; position: absolute; top: 39px; right: 47px; left: 47px; height: 1px; background: var(--line); }.milestone { position: relative; z-index: 1; display: flex; min-width: 64px; flex-direction: column; align-items: center; text-align: center; }.milestone > span { display: grid; width: 24px; height: 24px; place-items: center; background: var(--card); border: 1px solid #ddd3ba; border-radius: 50%; }.milestone > span > span { width: 5px; height: 5px; background: #c9bfa4; border-radius: 50%; }.milestone strong { margin-top: 7px; color: #4a4a4a; font-size: 8.5px; font-weight: 600; }.milestone small { margin-top: 2px; color: var(--faint); font-size: 7.5px; }.milestone--done > span { color: white; background: var(--green); border-color: var(--green); }.milestone--risk > span { color: white; background: var(--amber); border-color: var(--amber); }.milestone--current > span { border: 2px solid var(--green); box-shadow: 0 0 0 4px var(--green-soft); }.milestone--risk strong { color: #9a7420; }
.source-panel { display: flex; flex-direction: column; }.source-stats { display: grid; grid-template-columns: repeat(3, 1fr); padding: 9px 17px 17px; }.source-stats div { border-right: 1px solid var(--line); }.source-stats div:last-child { border: 0; padding-left: 11px; }.source-stats div:nth-child(2) { padding-left: 11px; }.source-stats strong { display: block; color: var(--ink); font-family: var(--display); font-size: 18px; font-weight: 600; }.source-stats span { color: var(--faint); font-size: 7.5px; }.source-panel > .inline-link { margin: auto 17px 15px; }
.section-intro { display: flex; align-items: flex-end; justify-content: space-between; gap: 18px; margin: 5px 0 16px; }.section-intro h2 { margin-top: 5px; color: var(--ink); font-family: var(--display); font-size: 20px; font-weight: 600; letter-spacing: -.02em; }.section-intro p { margin-top: 4px; color: var(--muted); font-size: 10px; }.data-freshness { display: flex; align-items: center; gap: 5px; color: var(--muted); font-size: 8.5px; }.data-freshness i { width: 5px; height: 5px; background: var(--green); border-radius: 50%; }
.financial-grid, .operating-grid, .alignment-grid, .opportunity-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); margin-bottom: 11px; }.pnl-panel { overflow: hidden; }.pnl-table td { font-family: var(--mono); font-size: 9px; }.pnl-table td:first-child { color: var(--body); font-family: var(--sans); font-weight: 500; }.pnl-total td { color: var(--ink) !important; background: var(--sidebar); border-top: 1px solid #ddd3ba; font-weight: 600 !important; }
.signal-list-panel { overflow: hidden; }.ranked-signal { display: grid; grid-template-columns: 24px 1fr auto; align-items: center; gap: 9px; margin: 0 17px; padding: 12px 0; border-top: 1px solid var(--line-soft); }.ranked-signal > span { display: grid; width: 22px; height: 22px; place-items: center; border-radius: 7px; font-family: var(--mono); font-size: 8px; }.ranked-signal > span.critical { color: #d2412e; background: var(--red-soft); }.ranked-signal > span.watch { color: #9a7420; background: var(--amber-soft); }.ranked-signal strong { display: block; color: var(--body); font-size: 9.5px; line-height: 1.35; }.ranked-signal small { display: block; margin-top: 4px; color: var(--faint); font-size: 7.5px; }
.alignment-score { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 17px; margin-bottom: 11px; padding: 15px 17px; }.alignment-score__ring { position: relative; display: grid; width: 62px; height: 62px; place-items: center; border: 6px solid color-mix(in srgb, var(--score-color) 20%, #fffaf0); border-top-color: var(--score-color); border-right-color: var(--score-color); border-radius: 50%; transform: rotate(-28deg); }.alignment-score__ring strong, .alignment-score__ring span { transform: rotate(28deg); }.alignment-score__ring strong { position: absolute; top: 14px; color: var(--ink); font-family: var(--display); font-size: 18px; font-weight: 600; }.alignment-score__ring span { position: absolute; top: 35px; color: var(--faint); font-size: 7px; }.alignment-score h3 { margin-top: 4px; color: var(--ink); font-family: var(--display); font-size: 13px; font-weight: 600; }.alignment-score p { margin-top: 4px; color: var(--muted); font-size: 8.5px; }.alignment-score__meta { display: flex; flex-direction: column; gap: 6px; padding-left: 16px; border-left: 1px solid var(--line); color: var(--muted); font-size: 8.5px; }.alignment-score__meta span { display: flex; align-items: center; gap: 5px; }
.plan-table-panel, .bottleneck-panel { overflow: hidden; }.plan-row { display: grid; grid-template-columns: 25px 1fr auto; align-items: center; gap: 9px; margin: 0 17px; padding: 9px 0; border-top: 1px solid var(--line-soft); }.plan-state { display: grid; width: 22px; height: 22px; place-items: center; border-radius: 50%; }.plan-state--done { color: #fff; background: var(--green); }.plan-state--risk { color: #fff; background: var(--amber); }.plan-state--current, .plan-state--future { color: var(--muted); background: #ebe6d6; }.plan-row strong { display: block; color: var(--body); font-size: 9px; }.plan-row small { display: block; margin-top: 2px; color: var(--faint); font-size: 7.5px; }.plan-label { padding: 3px 6px; border-radius: 999px; font-size: 7.5px; }.plan-label--done { color: #1e5347; background: var(--green-soft); }.plan-label--risk { color: #9a7420; background: var(--amber-soft); }.plan-label--current { color: #6a4fc4; background: var(--violet-soft); }.plan-label--future { color: var(--muted); background: #ebe6d6; }
.live-kicker--warning { color: #b8892a; }.bottleneck-panel article { display: grid; grid-template-columns: 23px 1fr; gap: 9px; margin: 0 17px; padding: 11px 0; border-top: 1px solid var(--line-soft); }.bottleneck-panel article > span { display: grid; width: 21px; height: 21px; place-items: center; color: #d2412e; background: var(--red-soft); border-radius: 7px; font-family: var(--mono); font-size: 8px; }.bottleneck-panel article strong { color: var(--body); font-size: 9px; line-height: 1.4; }.bottleneck-panel article p { margin-top: 3px; color: var(--muted); font-size: 8px; line-height: 1.4; }.bottleneck-panel article button { display: flex; align-items: center; gap: 4px; margin-top: 5px; color: #1e5347; font-family: var(--mono); font-size: 7px; }
.call-digest { display: grid; grid-template-columns: 36px 1fr auto; align-items: center; gap: 12px; padding: 13px 16px; }.call-digest__icon { display: grid; width: 34px; height: 34px; place-items: center; color: var(--muted); background: #f5f0e0; border-radius: 9px; }.call-digest h3 { margin-top: 3px; color: var(--ink); font-size: 10px; }.call-digest p { margin-top: 3px; color: var(--muted); font-size: 8.5px; }.commitment-warning { display: flex; align-items: center; gap: 4px; margin-top: 5px; color: #9a7420; font-size: 7.5px; }
.competitor-panel { margin-bottom: 11px; overflow: hidden; }.competitor-table td:first-child { min-width: 150px; }.competitor-table td:first-child > * { display: inline-grid; vertical-align: middle; }.competitor-table td:first-child strong { margin-left: 7px; color: var(--ink); }.competitor-table td:first-child small { display: block; margin: 2px 0 0 33px; color: var(--faint); }.competitor-avatar { display: inline-grid !important; width: 25px; height: 25px; place-items: center; color: #4a4a4a; background: #ebe6d6; border-radius: 7px; font-size: 7px; font-weight: 700; }.our-company-row { background: #fdf8eb; }.signal-badge { display: inline-block; padding: 3px 6px; border-radius: 999px; font-size: 7.5px; font-weight: 600; }.signal-badge--threat { color: #d2412e; background: var(--red-soft); }.signal-badge--opening { color: #1e5347; background: var(--green-soft); }.signal-badge--neutral { color: #6a4fc4; background: var(--violet-soft); }.source-link { display: flex; align-items: center; gap: 4px; color: #1e5347; font-size: 8px; }.opportunity-grid > section { overflow: hidden; }.opportunity-row { display: grid; grid-template-columns: 26px 1fr auto; align-items: center; gap: 9px; margin: 0 17px; padding: 12px 0; border-top: 1px solid var(--line-soft); }.opportunity-row > span { display: grid; width: 25px; height: 25px; place-items: center; color: #1e5347; background: var(--green-soft); border-radius: 8px; }.opportunity-row p { color: #4a4a4a; font-size: 9px; }.market-signal { display: grid; grid-template-columns: 35px 1fr auto; align-items: center; gap: 9px; margin: 0 17px; padding: 10px 0; border-top: 1px solid var(--line-soft); }.market-signal > span { color: var(--faint); font-family: var(--mono); font-size: 7px; }.market-signal strong { color: var(--body); font-size: 9px; }.market-signal p { margin-top: 3px; color: var(--muted); font-size: 8px; }.market-signal > svg { color: var(--faint); }
.knowledge-layout { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(245px, .65fr); gap: 11px; }.knowledge-graph-panel, .reader-panel { min-width: 0; }.graph-counts { display: flex; gap: 6px; }.graph-counts span { padding: 4px 6px; color: var(--muted); background: #f5f0e0; border-radius: 6px; font-family: var(--mono); font-size: 7.5px; }.company-knowledge-graph { height: 410px; }.company-knowledge-graph svg { width: 100%; height: 100%; }.knowledge-node { cursor: pointer; outline: none; }.knowledge-node circle { transition: all .15s ease; filter: drop-shadow(0 3px 5px rgba(26,20,5,.08)); }.knowledge-node:hover circle { stroke-width: 3; }.knowledge-node text { font-size: 8px; font-weight: 600; }.knowledge-node__type { fill: var(--faint); font-family: var(--mono); font-size: 6.5px !important; font-weight: 400 !important; text-transform: uppercase; }.legend-outline { background: var(--card) !important; border: 1px solid var(--muted); }
.reader-panel { padding: 15px 16px; }.reader-panel__top { display: flex; align-items: center; justify-content: space-between; }.document-type { display: flex; align-items: center; gap: 4px; padding: 4px 6px; color: #1e5347; background: var(--green-soft); border-radius: 6px; font-family: var(--mono); font-size: 7px; text-transform: uppercase; }.reader-breadcrumb { margin-top: 18px; color: var(--faint); font-family: var(--mono); font-size: 7px; }.reader-panel > h2 { margin-top: 7px; color: var(--ink); font-family: var(--display); font-size: 19px; font-weight: 600; letter-spacing: -.02em; }.reader-lede { margin-top: 7px; color: var(--muted); font-size: 9px; line-height: 1.5; }.reader-meta { display: grid; grid-template-columns: 1fr 1fr; gap: 5px; margin: 14px 0; padding: 10px; background: var(--sidebar); border-radius: 8px; font-size: 7.5px; }.reader-meta span { color: var(--faint); }.reader-meta strong { color: var(--body); font-weight: 500; text-align: right; }.reader-panel > h3 { margin: 14px 0 5px; color: #4a4a4a; font-size: 9px; text-transform: uppercase; }.reader-panel > p:not(.reader-lede) { color: var(--muted); font-size: 8.5px; line-height: 1.55; }.reader-callout { display: grid; grid-template-columns: 18px 1fr; gap: 7px; margin-top: 12px; padding: 9px; color: #1e5347; background: var(--green-soft); border-radius: 8px; }.reader-callout p { font-size: 8px; line-height: 1.45; }.reader-callout strong { display: block; margin-bottom: 2px; color: #1e5347; }.linked-source { display: grid; width: 100%; grid-template-columns: 21px 1fr auto; align-items: center; gap: 6px; padding: 7px 0; color: var(--muted); border-top: 1px solid var(--line-soft); text-align: left; }.linked-source strong { display: block; color: var(--body); font-size: 8px; }.linked-source small { display: block; margin-top: 1px; color: var(--faint); font-family: var(--mono); font-size: 6.5px; }

/* Task board */
.tasks-board-wrap { min-width: 0; }.board-toolbar { display: flex; align-items: center; gap: 7px; margin-bottom: 13px; }.board-toolbar > span { margin-left: auto; color: var(--faint); font-size: 9px; }.board-toolbar > .button--primary { margin-left: 2px; }.select-control { position: relative; display: inline-flex; align-items: center; }.select-control select { min-height: 32px; padding: 0 29px 0 10px; color: var(--body); appearance: none; background: var(--card); border: 1px solid var(--line); border-radius: 10px; outline: none; font-size: 10px; }.select-control svg { position: absolute; right: 9px; pointer-events: none; }
.task-columns { display: grid; grid-template-columns: repeat(4, minmax(165px, 1fr)); gap: 10px; overflow-x: auto; }.task-column { min-height: 520px; padding: 9px; background: #f5f0e0; border: 1px solid var(--line); border-radius: var(--radius-lg); }.task-column__header { display: flex; align-items: center; justify-content: space-between; padding: 2px 3px 10px; }.task-column__header > div { display: flex; align-items: center; gap: 6px; color: #4a4a4a; font-size: 9px; font-weight: 600; text-transform: uppercase; }.task-column__header i { width: 6px; height: 6px; background: #c9bfa4; border-radius: 50%; }.task-column--in-progress .task-column__header i { background: var(--violet); }.task-column--blocked .task-column__header i { background: var(--red); }.task-column--done .task-column__header i { background: var(--green); }.task-column__header span { display: grid; min-width: 16px; height: 16px; place-items: center; color: var(--muted); background: #ebe6d6; border-radius: 999px; font-size: 7px; }.task-column__header button { color: var(--faint); }.task-column__list { display: grid; align-content: start; gap: 7px; }.task-card { padding: 10px; background: var(--card); border: 1px solid var(--line); border-radius: 10px; box-shadow: 0 1px 2px rgba(26,20,5,.05); }.task-card__top { display: flex; align-items: center; justify-content: space-between; }.task-card__top button { color: var(--faint); }.priority { padding: 3px 5px; border-radius: 5px; font-family: var(--mono); font-size: 6.5px; text-transform: uppercase; }.priority--high { color: #d2412e; background: var(--red-soft); }.priority--medium { color: #9a7420; background: var(--amber-soft); }.priority--low { color: var(--muted); background: #ebe6d6; }.task-card h3 { margin-top: 7px; color: var(--body); font-size: 9.5px; line-height: 1.45; }.task-company { margin-top: 3px; color: var(--faint); font-size: 7.5px; }.task-card__footer { display: flex; align-items: center; gap: 5px; margin-top: 10px; padding-top: 8px; color: var(--muted); border-top: 1px solid var(--line-soft); font-size: 7px; }.mini-avatar { width: 18px; height: 18px; font-size: 6px; }.task-card__footer em { display: flex; align-items: center; gap: 3px; margin-left: auto; font-style: normal; }.task-card__footer em.is-due { color: #d2412e; }.task-card__move { display: flex; align-items: center; gap: 4px; margin-top: 7px; opacity: 0; transition: opacity .15s ease; }.task-card:hover .task-card__move { opacity: 1; }.task-card__move span { margin-right: auto; color: var(--faint); font-size: 6.5px; }.task-card__move button { display: grid; width: 17px; height: 17px; place-items: center; color: var(--muted); background: #ebe6d6; border-radius: 5px; font-size: 7px; }.empty-column { padding: 28px 10px; color: var(--faint); border: 1px dashed #ddd3ba; border-radius: 8px; font-size: 8px; text-align: center; }.operations-summary { display: flex; align-items: center; gap: 22px; margin: -5px 0 15px; padding: 10px 13px; color: var(--muted); background: var(--card); border: 1px solid var(--line); border-radius: var(--radius-md); font-size: 8.5px; }.operations-summary strong { margin-right: 3px; color: var(--ink); font-family: var(--display); font-size: 15px; font-weight: 600; }.operations-summary p { margin-left: auto; color: var(--faint); }

/* Dealflow */
.dealflow-ask { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 13px; margin-bottom: 11px; padding: 15px 17px; color: #ece6d6; background: var(--dark); border-color: var(--dark); }.dealflow-ask h2 { margin-top: 3px; color: #fff; font-family: var(--display); font-size: 14px; font-weight: 600; }.dealflow-ask p { margin-top: 3px; color: #a0a0a0; font-size: 8.5px; }.dealflow-ask button { display: flex; align-items: center; gap: 6px; max-width: 250px; padding: 8px 10px; color: #ece6d6; background: #1a2a2a; border: 1px solid rgba(255,255,255,.16); border-radius: 10px; font-size: 8.5px; text-align: left; }.deal-metrics { display: grid; grid-template-columns: repeat(4, 1fr); margin-bottom: 11px; overflow: hidden; background: var(--card); border: 1px solid var(--line); border-radius: var(--radius-md); }.deal-metrics > div { padding: 11px 14px; border-right: 1px solid var(--line); }.deal-metrics > div:last-child { border: 0; }.deal-metrics span { color: var(--muted); font-size: 8px; }.deal-metrics strong { display: block; margin-top: 4px; color: var(--ink); font-family: var(--display); font-size: 18px; font-weight: 600; }.deal-metrics small { color: var(--faint); font-size: 7.5px; }.deal-table-panel { overflow: hidden; }.deal-toolbar { display: flex; align-items: center; gap: 7px; padding: 11px 13px; }.deal-toolbar > span { margin-left: auto; color: var(--faint); font-size: 8px; }.table-search { display: flex; width: 230px; height: 32px; align-items: center; gap: 7px; padding: 0 9px; color: var(--muted); border: 1px solid var(--line); border-radius: 10px; }.table-search input { width: 100%; color: var(--body); background: transparent; border: 0; outline: 0; font-size: 9px; }.table-search input::placeholder { color: var(--faint); }.deal-table tbody tr { cursor: pointer; }.deal-table td:first-child { display: flex; align-items: center; gap: 8px; min-width: 135px; }.deal-logo { display: grid; flex: none; width: 28px; height: 28px; place-items: center; color: #1e5347; background: var(--green-soft); border-radius: 8px; font-family: var(--display); font-size: 8px; font-weight: 700; }.deal-logo--large { width: 42px; height: 42px; font-size: 11px; border-radius: var(--radius-md); }.deal-status { display: inline-flex; align-items: center; gap: 4px; padding: 3px 6px; border-radius: 999px; font-size: 7.5px; font-weight: 600; }.deal-status i { width: 4px; height: 4px; border-radius: 50%; }.deal-status--blue { color: #6a4fc4; background: var(--violet-soft); }.deal-status--blue i { background: var(--violet); }.deal-status--gray { color: var(--muted); background: #ebe6d6; }.deal-status--gray i { background: var(--faint); }.deal-status--amber { color: #9a7420; background: var(--amber-soft); }.deal-status--amber i { background: var(--amber); }.deal-status--green { color: #1e5347; background: var(--green-soft); }.deal-status--green i { background: var(--green); }.deal-score { display: grid; width: 25px; height: 25px; place-items: center; border-radius: 50%; font-family: var(--mono); font-size: 7.5px; }.deal-score.high { color: #1e5347; background: var(--green-soft); border: 1px solid #c4ddd2; }.deal-score.medium { color: #9a7420; background: var(--amber-soft); border: 1px solid #ecd9a8; }.deal-score.low { color: #d2412e; background: var(--red-soft); border: 1px solid #f6cfc8; }.table-empty { padding: 45px 20px; color: var(--muted); text-align: center; }.table-empty svg { margin-bottom: 8px; }.table-empty strong { display: block; color: var(--body); font-size: 10px; }.table-empty p { margin-top: 3px; font-size: 8px; }@media (max-width: 1240px) {
  .app-frame { grid-template-columns: 220px minmax(0, 1fr) auto; }
  .page-shell { padding-right: 20px; padding-left: 20px; }
  .tabs { margin-right: -20px; margin-left: -20px; padding-right: 20px; padding-left: 20px; }
  .metric-card { padding-right: 11px; padding-left: 11px; }
  .metric-spark { display: none; }
  .signal-cell { max-width: 150px; }
}

@media (max-width: 1040px) {
  .app-frame { grid-template-columns: 210px minmax(0, 1fr); }
  .metric-grid--portfolio, .company-metric-grid { grid-template-columns: repeat(2, 1fr); }
  .dashboard-grid--hero, .company-overview-grid, .financial-grid, .operating-grid, .alignment-grid, .opportunity-grid, .knowledge-layout { grid-template-columns: 1fr; }
}

@media (max-width: 760px) {
  body { overflow: auto; }
  .app-frame { display: block; height: auto; min-height: 100vh; }
  .workspace { height: auto; min-height: 100vh; overflow: visible; }
  .sidebar { position: fixed; inset: 0 auto 0 0; width: 250px; transform: translateX(-102%); box-shadow: 15px 0 40px rgba(26, 20, 5, .18); transition: transform .2s ease; }
  .sidebar--open { transform: translateX(0); }
  .sidebar .sidebar__close, .topbar .mobile-menu { display: inline-grid; }
  .mobile-backdrop { position: fixed; inset: 0; z-index: 29; display: block; background: rgba(26, 20, 5, .35); }
  .topbar { padding: 0 13px; }
  .topbar__eyebrow, .topbar__divider, .global-search span { display: none; }
  .global-search { width: 35px; justify-content: center; padding: 0; }
  .global-search kbd { display: none; }
  .page-shell { padding: 20px 13px 80px; }
  .page-heading, .company-heading, .section-intro { align-items: flex-start; flex-direction: column; }
  .page-heading h1 { font-size: 24px; }
  .metric-grid--portfolio, .company-metric-grid, .dashboard-grid--charts, .task-columns, .deal-metrics { grid-template-columns: 1fr; }
  .task-columns { display: flex; padding-bottom: 10px; }.task-column { min-width: 245px; }
  .dashboard-grid--hero { grid-template-columns: 1fr; }
  .company-table { min-width: 760px; }.data-table { min-width: 650px; }
  .portfolio-graph { height: 250px; }.graph-legend em { display: none; }
  .milestone-track { min-width: 500px; }.milestone-panel { overflow-x: auto; }
  .brief-columns { grid-template-columns: 1fr; }
  .alignment-score { grid-template-columns: auto 1fr; }.alignment-score__meta { grid-column: 1 / -1; flex-direction: row; border: 0; padding: 0; }
  .call-digest { grid-template-columns: 36px 1fr; }.call-digest .button { grid-column: 1 / -1; }
  .dealflow-ask { grid-template-columns: auto 1fr; }.dealflow-ask button { grid-column: 1 / -1; max-width: none; }
  .deal-metrics { grid-template-columns: repeat(2, 1fr); }.deal-metrics > div:nth-child(2) { border-right: 0; }.deal-metrics > div:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .deal-toolbar { flex-wrap: wrap; }.table-search { width: 100%; }.deal-toolbar > span { margin-left: 0; }
  .operations-summary { align-items: flex-start; flex-wrap: wrap; }.operations-summary p { width: 100%; margin: 0; }
}

/* Live P&L tab */
.pnl-scroll { overflow-x: auto; }
.pnl-table { width: 100%; border-collapse: collapse; font-size: 13px; }
.pnl-table th { text-align: right; padding: 10px 14px; color: var(--muted); font-family: var(--mono); font-size: 10px; letter-spacing: .08em; text-transform: uppercase; border-bottom: 1px solid var(--line); }
.pnl-table th:first-child, .pnl-table td:first-child { text-align: left; }
.pnl-table td { text-align: right; padding: 9px 14px; border-bottom: 1px solid var(--line-soft); font-family: var(--mono); font-size: 12.5px; color: var(--body); white-space: nowrap; }
.pnl-table td:first-child { font-family: var(--sans); font-size: 13px; }
.pnl-row--revenue td, .pnl-row--gross td { color: var(--ink); font-weight: 500; }
.pnl-row--ebitda td { color: var(--ink); font-weight: 600; background: var(--sidebar); }
.pnl-row--margin td { color: var(--muted); }
.pnl-row--plan td { color: var(--faint); font-style: italic; }
.pnl-note { margin-top: 12px; color: var(--muted); font-size: 12px; max-width: 640px; }

/* Data room tab */
.room-panel { padding-bottom: 6px; }
.room-doc { border-top: 1px solid var(--line-soft); }
.room-doc:first-of-type { border-top: 0; }
.room-doc__row { display: flex; width: 100%; align-items: center; gap: 10px; padding: 10px 2px; text-align: left; color: var(--body); }
.room-doc--synced .room-doc__row { cursor: pointer; }
.room-doc--synced .room-doc__row:hover .room-doc__title { color: var(--ink); }
.room-doc__title { flex: 1; min-width: 0; font-size: 13px; font-weight: 500; color: var(--ink); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.room-doc__meta { color: var(--faint); font-family: var(--mono); font-size: 10.5px; white-space: nowrap; }
.room-doc__badge { flex: none; padding: 2px 8px; border-radius: 999px; background: var(--green-soft); color: #1e5347; font-family: var(--mono); font-size: 9.5px; letter-spacing: .04em; }
.room-doc__badge--static { background: var(--line-soft); color: var(--muted); }
.room-doc__excerpt { margin: 0 2px 12px 27px; padding: 10px 14px; border-left: 2px solid var(--green); background: var(--sidebar); border-radius: 0 8px 8px 0; }
.room-doc__excerpt p { margin: 6px 0 4px; font-size: 12.5px; color: var(--body); font-style: italic; }
.room-doc__excerpt small { color: var(--faint); font-size: 11px; }
@media (max-width: 720px) { .room-doc__meta { display: none; } }

/* Identity in the shell — generated marks and portraits replace letter tiles. */
.workspace-switcher__avatar { color: #fffaf0; background: var(--clay-teal); }
.search-result__identity { position: relative; display: inline-flex; align-items: center; }
.search-result__identity svg + svg { margin-left: -9px; box-shadow: 0 0 0 2px var(--card); border-radius: 9999px; }
.nav-company .company-avatar, .user-card__avatar:empty { display: none; }

/* Clay design system — token layer + shared utilities.
 * Source of truth: DESIGN.md (repo root). Cream canvas, near-black ink,
 * saturated single-color feature cards (pink / teal / lavender / peach /
 * ochre / mint / coral), generous radius, rounded display type.
 *
 * Loaded after globals.css: the :root block below OVERRIDES the legacy token
 * names, so every rule that reads var(--ink)/var(--canvas)/var(--radius-*)
 * is already on clay. Hardcoded hexes in older sheets are being retired
 * file by file — new work must use these tokens only.
 */

@import url('https://fonts.googleapis.com/css2?family=Gabarito:wght@500;600;700&display=swap');

:root {
  /* ---- clay palette ---- */
  --clay-ink: #0a0a0a;
  --clay-body: #3a3a3a;
  --clay-body-strong: #1a1a1a;
  --clay-muted: #6a6a6a;
  --clay-muted-soft: #9a9a9a;
  --clay-hairline: #eae2d0;
  --clay-hairline-soft: #f1ebdd;
  --clay-canvas: #fffaf0;
  --clay-surface-soft: #faf5e8;
  --clay-surface-card: #f5f0e0;
  --clay-surface-strong: #ebe6d6;
  --clay-dark: #0a1a1a;
  --clay-dark-elevated: #1a2a2a;
  --clay-on-dark: #ffffff;
  --clay-on-dark-soft: #a0a0a0;
  --clay-pink: #ff4d8b;
  --clay-teal: #1a3a3a;
  --clay-lavender: #b8a4ed;
  --clay-peach: #ffb084;
  --clay-ochre: #e8b94a;
  --clay-mint: #a4d4c5;
  --clay-coral: #ff6b5a;
  --clay-pink-soft: #ffe6ef;
  --clay-teal-soft: #e3f0eb;
  --clay-lavender-soft: #efe9fb;
  --clay-peach-soft: #ffefe3;
  --clay-ochre-soft: #faf0d7;
  --clay-mint-soft: #e7f4ef;
  --clay-coral-soft: #ffe9e5;
  --clay-success: #22c55e;
  --clay-warning: #f59e0b;
  --clay-error: #ef4444;

  /* ---- legacy token names, remapped to clay ---- */
  --ink: #0a0a0a;
  --body: #3a3a3a;
  --muted: #6a6a6a;
  --faint: #9a9a9a;
  --line: #eae2d0;
  --line-soft: #f1ebdd;
  --canvas: #fffaf0;
  --card: #fffdf7;
  --sidebar: #faf5e8;
  --dark: #0a1a1a;
  --green: #2e6b5e;
  --green-soft: #e3f0eb;
  --amber: #c99a2e;
  --amber-soft: #faf0d7;
  --red: #e5543f;
  --red-soft: #ffe9e5;
  --blue: #547ba5;
  --blue-soft: #edf3f9;
  --violet: #8f76e0;
  --violet-soft: #efe9fb;
  --shadow-sm: 0 1px 2px rgba(26, 20, 5, .05);
  --shadow-md: 0 12px 32px rgba(26, 20, 5, .09);
  --radius-sm: 8px;
  --radius-md: 12px;
  --radius-lg: 16px;
  --radius-xl: 24px;
  --display: "Gabarito", "Inter", sans-serif;
  --sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --mono: "DM Mono", ui-monospace, monospace;
}

/* ---------------------------------------------------------------- display */

.clay-display { font-family: var(--display); font-weight: 500; letter-spacing: -.02em; color: var(--clay-ink); }

/* A punch line: the one-sentence read of a page or band, set big and rounded. */
.clay-punch { font-family: var(--display); font-weight: 500; font-size: clamp(22px, 3vw, 32px); line-height: 1.15; letter-spacing: -.02em; color: var(--clay-ink); text-wrap: balance; }
.clay-punch--lg { font-size: clamp(28px, 4vw, 44px); line-height: 1.08; letter-spacing: -.025em; }
.clay-punch--sm { font-size: clamp(17px, 2vw, 21px); line-height: 1.25; }
.clay-punch .u-pink { color: var(--clay-pink); }
.clay-punch .u-teal { color: #2e6b5e; }
.clay-punch .u-coral { color: var(--clay-coral); }
.clay-punch .u-ochre { color: #b8892a; }
.clay-punch .u-lavender { color: #7a5fd0; }

/* Marked word inside a punch line — a rounded clay highlight behind the phrase. */
.clay-mark { padding: 0 .18em; border-radius: .3em; box-decoration-break: clone; -webkit-box-decoration-break: clone; }
.clay-mark--pink { background: var(--clay-pink-soft); color: #d42f6d; }
.clay-mark--teal { background: var(--clay-teal-soft); color: #1e5347; }
.clay-mark--lavender { background: var(--clay-lavender-soft); color: #6a4fc4; }
.clay-mark--peach { background: var(--clay-peach-soft); color: #c2652f; }
.clay-mark--ochre { background: var(--clay-ochre-soft); color: #9a7420; }
.clay-mark--coral { background: var(--clay-coral-soft); color: #d2412e; }

.clay-eyebrow { color: var(--clay-muted); font-family: var(--sans); font-size: 11px; font-weight: 600; letter-spacing: .13em; text-transform: uppercase; }

/* ------------------------------------------------------------ feature cards */

.clay-card { border-radius: var(--radius-xl); padding: 24px; }
.clay-card--pink { background: var(--clay-pink); color: #fff; }
.clay-card--teal { background: var(--clay-teal); color: #fff; }
.clay-card--lavender { background: var(--clay-lavender); color: var(--clay-ink); }
.clay-card--peach { background: var(--clay-peach); color: var(--clay-ink); }
.clay-card--ochre { background: var(--clay-ochre); color: var(--clay-ink); }
.clay-card--mint { background: var(--clay-mint); color: var(--clay-ink); }
.clay-card--coral { background: var(--clay-coral); color: #fff; }
.clay-card--cream { background: var(--clay-surface-card); color: var(--clay-ink); }
.clay-card--dark { background: var(--clay-dark); color: #fff; }
.clay-card--pink .clay-eyebrow, .clay-card--teal .clay-eyebrow, .clay-card--coral .clay-eyebrow, .clay-card--dark .clay-eyebrow { color: rgba(255, 255, 255, .75); }

/* ------------------------------------------------------------------- pills */

.clay-badge { display: inline-flex; align-items: center; gap: 6px; padding: 3px 11px; border-radius: 9999px; background: var(--clay-surface-card); color: var(--clay-ink); font-size: 12px; font-weight: 500; line-height: 1.5; white-space: nowrap; }
.clay-badge--pink { background: var(--clay-pink-soft); color: #d42f6d; }
.clay-badge--teal { background: var(--clay-teal-soft); color: #1e5347; }
.clay-badge--lavender { background: var(--clay-lavender-soft); color: #6a4fc4; }
.clay-badge--peach { background: var(--clay-peach-soft); color: #c2652f; }
.clay-badge--ochre { background: var(--clay-ochre-soft); color: #9a7420; }
.clay-badge--coral { background: var(--clay-coral-soft); color: #d2412e; }
.clay-badge--mint { background: var(--clay-mint-soft); color: #2e6b5e; }
.clay-badge--dark { background: var(--clay-dark); color: #fff; }

/* A deep-data reference: the pill that links a claim to the page it came from.
 * Use everywhere a figure or a quote has a source in the wiki / data room. */
.clay-ref { display: inline-flex; align-items: center; gap: 5px; max-width: 100%; padding: 2px 9px 2px 7px; border: 1px solid var(--clay-hairline); border-radius: 9999px; background: var(--clay-canvas); color: var(--clay-muted); font-family: var(--mono); font-size: 10.5px; line-height: 1.6; text-decoration: none; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; transition: border-color .15s ease, color .15s ease, background .15s ease; }
.clay-ref::before { content: "§"; color: var(--clay-muted-soft); font-family: var(--sans); font-size: 10px; }
.clay-ref:hover { border-color: var(--clay-ink); color: var(--clay-ink); background: #fff; }
.clay-ref--ondark { border-color: rgba(255, 255, 255, .25); background: transparent; color: rgba(255, 255, 255, .8); }
.clay-ref--ondark:hover { border-color: #fff; color: var(--clay-ink); background: var(--clay-canvas); }

/* ------------------------------------------------------------------- stats */

.clay-stat { display: grid; gap: 2px; }
.clay-stat b { font-family: var(--display); font-size: 26px; font-weight: 600; letter-spacing: -.02em; line-height: 1.1; color: inherit; }
.clay-stat span { font-size: 11.5px; opacity: .72; }
.clay-stat--lg b { font-size: 38px; }

/* Simple clay meter — a rounded track with a saturated fill. */
.clay-meter { position: relative; height: 8px; border-radius: 9999px; background: rgba(10, 10, 10, .1); overflow: hidden; }
.clay-meter > i { position: absolute; inset: 0 auto 0 0; border-radius: 9999px; background: var(--clay-ink); }
.clay-card--pink .clay-meter, .clay-card--teal .clay-meter, .clay-card--coral .clay-meter, .clay-card--dark .clay-meter { background: rgba(255, 255, 255, .22); }
.clay-card--pink .clay-meter > i, .clay-card--teal .clay-meter > i, .clay-card--coral .clay-meter > i, .clay-card--dark .clay-meter > i { background: #fff; }

/* ------------------------------------------------------------------ people */

.clay-person { display: inline-flex; align-items: center; gap: 9px; min-width: 0; }
.clay-person__meta { display: grid; gap: 0; min-width: 0; }
.clay-person__meta strong { color: inherit; font-size: 12.5px; font-weight: 600; line-height: 1.3; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.clay-person__meta small { font-size: 10.5px; opacity: .68; line-height: 1.35; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

/* Overlapping portrait row for participant lists */
.clay-facepile { display: flex; }
.clay-facepile > * + * { margin-left: -8px; }
.clay-facepile svg { border-radius: 9999px; box-shadow: 0 0 0 2px var(--clay-canvas); }

/* v2 experience — shared tokens + primitives.
   Owned by the foundation; area-specific styles live in each area's own CSS file.
   Everything is namespaced v2- to coexist with v1's globals. */


:root {
  /* Clay tokens (DESIGN.md) — the v2 palette is the clay palette. */
  --v2-ink: #0a0a0a;
  --v2-body: #3a3a3a;
  --v2-muted: #6a6a6a;
  --v2-faint: #9a9a9a;
  --v2-hairline: #eae2d0;
  --v2-hairline-soft: #f1ebdd;
  --v2-canvas: #fffaf0;
  --v2-soft: #faf5e8;
  --v2-card: #f5f0e0;
  --v2-dark: #0a1a1a;
  --v2-dark-2: #1a2a2a;
  --v2-on-dark: #ffffff;
  --v2-on-dark-soft: #a0a0a0;
  --v2-accent: #2e6b5e;
  --v2-green: #2e6b5e;
  --v2-green-bright: #4d9c85;
  --v2-amber: #b8892a;
  --v2-red: #c2402c;
  --v2-red-bright: #ff6b5a;
  --v2-pink: #ff4d8b;
  --v2-lavender: #b8a4ed;
  --v2-peach: #ffb084;
  --v2-ochre: #e8b94a;
  --v2-display: "Gabarito", "Inter", sans-serif;
  --v2-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --v2-mono: "DM Mono", ui-monospace, monospace;
  --v2-r-md: 12px;
  --v2-r-lg: 16px;
  --v2-r-xl: 24px;
}

/* Root container for the v2 experience — owns its own scroll (v1 sets body overflow:hidden). */
.v2-app {
  height: 100vh;
  height: 100dvh;
  overflow-y: auto;
  background: var(--v2-canvas);
  color: var(--v2-body);
  font-family: var(--v2-sans);
  font-size: 15px;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
}

.v2-kicker {
  font-family: var(--v2-mono);
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 1.4px;
  text-transform: uppercase;
  color: var(--v2-faint);
}

.v2-num { font-family: var(--v2-mono); font-size: 0.92em; color: var(--v2-ink); }
.v2-num--red { color: var(--v2-red); }
.v2-num--amber { color: var(--v2-amber); }
.v2-num--green { color: var(--v2-green); }

/* Citation pill — click opens the reader overlay (dispatches v2:open-source). */
.v2-cite {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 2px 8px;
  margin: 0 1px;
  border: 1px solid var(--v2-hairline);
  border-radius: 999px;
  background: var(--v2-soft);
  color: var(--v2-muted);
  font-family: var(--v2-mono);
  font-size: 10.5px;
  line-height: 1.5;
  white-space: nowrap;
  cursor: pointer;
  transition: border-color 0.15s ease, color 0.15s ease;
  vertical-align: baseline;
}
.v2-cite:hover { border-color: var(--v2-accent); color: var(--v2-accent); }
.v2-cite::before { content: "❐"; font-size: 9px; opacity: 0.7; }

.v2-btn {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 8px 14px;
  border-radius: var(--v2-r-md);
  border: 1px solid var(--v2-hairline);
  background: #fff;
  color: var(--v2-ink);
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
  transition: border-color 0.15s ease, background 0.15s ease;
}
.v2-btn:hover { border-color: #cbd5e1; background: var(--v2-soft); }
.v2-btn--primary { background: var(--v2-ink); border-color: var(--v2-ink); color: #fff; }
.v2-btn--primary:hover { background: #000; border-color: #000; }

/* Materialization: blocks assemble with a stagger. Set --v2-i per block. */
@keyframes v2-materialize {
  from { opacity: 0; transform: translateY(10px) scale(0.985); }
  to { opacity: 1; transform: none; }
}
.v2-materialize {
  opacity: 0;
  animation: v2-materialize 0.42s cubic-bezier(0.22, 1, 0.36, 1) forwards;
  animation-delay: calc(var(--v2-i, 0) * 120ms);
}
@media (prefers-reduced-motion: reduce) {
  .v2-materialize { animation-duration: 0.01s; animation-delay: 0s; }
}

.v2-toast {
  position: fixed;
  bottom: 92px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 90;
  padding: 10px 18px;
  border-radius: 999px;
  background: var(--v2-dark);
  color: #fff;
  font-size: 13px;
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.18);
  animation: v2-materialize 0.3s ease forwards;
}

/* v2 surfaces — shell, Today, Canvas, ribbon, thread rail, composer, seat switcher.
   Owned by the surface area. Only --v2-* tokens; every class is v2- prefixed. */

/* ---------- shell frame ---------- */

.v2-app.v2-shell {
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.v2-shell-scroll {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
}

/* ---------- top chrome (Today state): one bar, total ---------- */

.v2-topbar {
  flex: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 20px;
  border-bottom: 1px solid var(--v2-hairline-soft);
  background: var(--v2-canvas);
}

.v2-wordmark {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-size: 12.5px;
  font-weight: 600;
  color: var(--v2-ink);
  letter-spacing: 0.1px;
}

.v2-wordmark-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--v2-green-bright);
}

/* ---------- seat switcher ---------- */

.v2-seat {
  position: relative;
  margin-left: auto;
}

.v2-av {
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: var(--v2-card);
  border: 1px solid var(--v2-hairline);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 10px;
  font-weight: 600;
  color: var(--v2-ink);
  cursor: pointer;
  transition: border-color 0.15s ease;
}
.v2-av:hover { border-color: var(--v2-faint); }

.v2-seat-menu {
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  z-index: 80;
  min-width: 240px;
  background: var(--v2-canvas);
  border: 1px solid var(--v2-hairline);
  border-radius: var(--v2-r-lg);
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.12);
  padding: 6px;
  animation: v2-materialize 0.18s ease forwards;
}

.v2-seat-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 10px;
  border-radius: var(--v2-r-md);
  text-decoration: none;
  color: var(--v2-body);
}
.v2-seat-item:hover { background: var(--v2-soft); }
.v2-seat-item[data-on="true"] .v2-seat-name { color: var(--v2-ink); }
.v2-seat-item[data-on="true"]::after {
  content: "●";
  margin-left: auto;
  font-size: 7px;
  color: var(--v2-green-bright);
}

.v2-seat-name { font-size: 13px; font-weight: 600; color: var(--v2-body); }
.v2-seat-role { font-size: 11px; color: var(--v2-muted); margin-top: 1px; }

/* ---------- Today surface ---------- */

.v2-today {
  max-width: 720px;
  margin: 0 auto;
  padding: 30px 34px 40px;
}

.v2-today-kickrow {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 8px;
}

.v2-today-headline {
  font-family: var(--v2-display);
  font-size: clamp(28px, 3.4vw, 40px);
  font-weight: 500;
  letter-spacing: -0.028em;
  color: var(--v2-ink);
  line-height: 1.15;
  margin: 0 0 12px;
}

.v2-pulse {
  display: block;
  width: 100%;
  text-align: left;
  font-family: var(--v2-mono);
  font-size: 12px;
  color: var(--v2-muted);
  letter-spacing: 0.5px;
  border: none;
  border-bottom: 1px solid var(--v2-hairline-soft);
  background: none;
  padding: 0 0 14px;
  cursor: pointer;
  transition: color 0.15s ease;
}
.v2-pulse:hover { color: var(--v2-ink); }
.v2-pulse .v2-pulse-red { color: var(--v2-red); }
.v2-pulse .v2-pulse-amber { color: var(--v2-amber); }
.v2-pulse .v2-pulse-green { color: var(--v2-green); }

/* attention card */

/* Clay: each card in the stack is a feature card, toned by tier — capital at
   risk reads coral, this-week reads ochre, steady reads cream. */
.v2-acard {
  position: relative;
  margin-bottom: 12px;
  padding: 18px 20px 16px;
  border-radius: var(--v2-r-xl);
  background: var(--v2-tone-bg, var(--v2-card));
  border: 1px solid var(--v2-tone-line, transparent);
}
.v2-acard::before {
  content: "";
  position: absolute;
  left: 20px;
  right: 20px;
  top: 0;
  height: 4px;
  border-radius: 0 0 4px 4px;
  background: var(--v2-rail, var(--v2-hairline));
}
.v2-acard[data-tier="0"] {
  --v2-rail: #d2412e;
  --v2-tone-bg: #ffe9e5;
  --v2-tone-line: #f7cfc7;
}
.v2-acard[data-tier="1"] {
  --v2-rail: #c99a2e;
  --v2-tone-bg: #faf0d7;
  --v2-tone-line: #efdcac;
}
.v2-acard[data-tier="2"] {
  --v2-rail: var(--v2-hairline);
  --v2-tone-bg: var(--v2-card);
  --v2-tone-line: var(--v2-hairline);
}
.v2-acard-krow svg { margin-right: 2px; }

.v2-acard-krow {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  font-family: var(--v2-mono);
  font-size: 10.5px;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: var(--v2-faint);
  margin-bottom: 5px;
}
.v2-acard-krow-right {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-left: auto;
}

.v2-why-btn {
  border: none;
  background: none;
  padding: 0;
  width: 15px;
  height: 15px;
  border-radius: 50%;
  border: 1px solid var(--v2-hairline);
  color: var(--v2-faint);
  font-size: 9px;
  font-family: var(--v2-mono);
  line-height: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: color 0.15s ease, border-color 0.15s ease;
}
.v2-why-btn:hover,
.v2-why-btn[data-open="true"] { color: var(--v2-accent); border-color: var(--v2-accent); }

.v2-acard-hlrow {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  align-items: flex-start;
}

.v2-acard-hl {
  display: block;
  border: none;
  background: none;
  padding: 0;
  text-align: left;
  font-family: inherit;
  font-size: 15px;
  font-weight: 500;
  color: var(--v2-ink);
  line-height: 1.45;
  cursor: pointer;
}
.v2-acard-hl:hover { text-decoration: underline; text-underline-offset: 3px; text-decoration-color: var(--v2-hairline); }

.v2-acard-ev { font-size: 13px; color: var(--v2-muted); margin-top: 4px; }

.v2-acard-why {
  margin-top: 8px;
  padding: 8px 11px;
  border-left: 2px solid var(--v2-accent);
  background: var(--v2-soft);
  border-radius: 0 var(--v2-r-md) var(--v2-r-md) 0;
  font-size: 12.5px;
  color: var(--v2-body);
  animation: v2-materialize 0.22s ease forwards;
}
.v2-acard-why b {
  display: block;
  font-family: var(--v2-mono);
  font-size: 9.5px;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: var(--v2-faint);
  font-weight: 500;
  margin-bottom: 3px;
}

.v2-acard-cites { display: flex; gap: 6px; flex-wrap: wrap; margin-top: 8px; }

.v2-acard-status {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: 8px;
  font-family: var(--v2-mono);
  font-size: 11px;
  color: var(--v2-green);
}
.v2-acard-status::before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--v2-green-bright);
}

.v2-acard-acts { display: flex; gap: 8px; margin-top: 10px; }
.v2-act {
  font-size: 11.5px;
  font-weight: 600;
  color: var(--v2-body);
  border: 1px solid var(--v2-hairline);
  border-radius: 6px;
  padding: 3px 11px;
  background: var(--v2-canvas);
  cursor: pointer;
  transition: border-color 0.15s ease, background 0.15s ease;
}
.v2-act:hover { border-color: #cbd5e1; background: var(--v2-soft); }
.v2-act--pri { background: var(--v2-ink); color: #fff; border-color: var(--v2-ink); }
.v2-act--pri:hover { background: #000; border-color: #000; }

.v2-quietline {
  font-size: 13px;
  color: var(--v2-muted);
  font-style: italic;
  padding: 16px 2px 6px;
}

/* attention dial */

.v2-dial {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 18px;
  padding-top: 14px;
  border-top: 1px solid var(--v2-hairline-soft);
}
.v2-dial-label {
  font-family: var(--v2-mono);
  font-size: 9.5px;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: var(--v2-faint);
}
.v2-dial-seg {
  display: inline-flex;
  border: 1px solid var(--v2-hairline);
  border-radius: 999px;
  overflow: hidden;
}
.v2-dial-opt {
  border: none;
  background: none;
  padding: 4px 12px;
  font-family: var(--v2-mono);
  font-size: 10.5px;
  letter-spacing: 0.4px;
  color: var(--v2-muted);
  cursor: pointer;
  transition: background 0.15s ease, color 0.15s ease;
}
.v2-dial-opt + .v2-dial-opt { border-left: 1px solid var(--v2-hairline); }
.v2-dial-opt[data-on="true"] { background: var(--v2-ink); color: #fff; }
.v2-dial-hint {
  margin-left: auto;
  font-family: var(--v2-mono);
  font-size: 10.5px;
  color: var(--v2-faint);
}

/* ---------- ribbon (folded Today) ---------- */

.v2-ribbon {
  flex: none;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 9px 20px;
  border-bottom: 1px solid var(--v2-hairline-soft);
  background: var(--v2-canvas);
  font-size: 12px;
  color: var(--v2-muted);
  animation: v2-ribbon-in 0.28s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}
@keyframes v2-ribbon-in {
  from { opacity: 0; transform: translateY(-6px); }
  to { opacity: 1; transform: none; }
}

.v2-ribbon-fold {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  border: none;
  background: none;
  padding: 4px 6px;
  border-radius: var(--v2-r-md);
  cursor: pointer;
  color: var(--v2-faint);
  font-size: 11px;
  transition: background 0.15s ease;
}
.v2-ribbon-fold:hover { background: var(--v2-soft); }

.v2-ribbon-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  display: inline-block;
  background: var(--v2-hairline);
}
.v2-ribbon-dot[data-tier="0"] { background: var(--v2-red-bright); }
.v2-ribbon-dot[data-tier="1"] { background: var(--v2-accent); }

.v2-ribbon-date {
  font-family: var(--v2-mono);
  font-size: 11px;
  color: var(--v2-muted);
}

/* ---------- canvas body: thread rail + stage ---------- */

.v2-canvas-body {
  flex: 1;
  min-height: 0;
  display: flex;
}

.v2-threadrail {
  flex: none;
  width: 40px;
  border-right: 1px solid var(--v2-hairline-soft);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  padding-top: 22px;
}
.v2-threadrail-dot {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  border: none;
  padding: 0;
  background: var(--v2-hairline);
  cursor: pointer;
  transition: background 0.15s ease, transform 0.15s ease;
}
.v2-threadrail-dot:hover { background: var(--v2-faint); transform: scale(1.25); }
.v2-threadrail-dot[data-on="true"] { background: var(--v2-ink); }

.v2-stage-scroll {
  flex: 1;
  min-width: 0;
  overflow-y: auto;
}

.v2-stage {
  max-width: 860px;
  margin: 0 auto;
  padding: 24px 28px 40px;
}

.v2-ctitle {
  font-family: var(--v2-mono);
  font-size: 10.5px;
  letter-spacing: 1.2px;
  text-transform: uppercase;
  color: var(--v2-faint);
  margin-bottom: 10px;
}

.v2-narrative {
  font-size: 13.5px;
  color: var(--v2-body);
  line-height: 1.6;
  max-width: 640px;
  margin: 0 0 16px;
}

.v2-stage-blocks {
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  gap: 12px;
  align-items: start;
}
.v2-stage-blk { min-width: 0; }
.v2-stage-blk[data-wide="true"] { grid-column: 1 / -1; }

.v2-astrip { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 16px; }

.v2-prov {
  font-family: var(--v2-mono);
  font-size: 10.5px;
  color: var(--v2-faint);
  margin-top: 12px;
}

.v2-followups { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 14px; }
.v2-followup {
  border: 1px dashed var(--v2-hairline);
  background: var(--v2-canvas);
  border-radius: 999px;
  padding: 4px 13px;
  font-size: 12px;
  color: var(--v2-muted);
  cursor: pointer;
  transition: border-color 0.15s ease, color 0.15s ease;
}
.v2-followup:hover { border-color: var(--v2-accent); color: var(--v2-accent); }
.v2-followup::before { content: "↳ "; color: var(--v2-faint); }

/* ---------- composer (docked bottom in every state) ---------- */

.v2-composer {
  flex: none;
  display: flex;
  align-items: center;
  justify-content: center; /* cap + center: align with the content column, not full-bleed */
  gap: 12px;
  padding: 12px 20px;
  padding-bottom: calc(12px + env(safe-area-inset-bottom, 0px));
  border-top: 1px solid var(--v2-hairline);
  background: var(--v2-canvas);
}

.v2-composer-field {
  flex: 1;
  max-width: 660px;
  display: flex;
  align-items: center;
  gap: 10px;
  border: 1px solid var(--v2-hairline);
  border-radius: 10px;
  padding: 8px 14px;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.v2-composer-field:focus-within {
  border-color: var(--v2-faint);
  box-shadow: 0 0 0 3px rgba(17, 17, 17, 0.04);
}

.v2-composer-input {
  flex: 1;
  min-width: 0;
  border: none;
  outline: none;
  background: none;
  font-family: var(--v2-sans);
  font-size: 13.5px;
  color: var(--v2-ink);
}
.v2-composer-input::placeholder { color: var(--v2-faint); }

.v2-cmdk {
  font-family: var(--v2-mono);
  font-size: 10.5px;
  background: var(--v2-card);
  border: 1px solid var(--v2-hairline);
  border-radius: 5px;
  padding: 1px 6px;
  color: var(--v2-muted);
  white-space: nowrap;
}

.v2-composer-send {
  border: none;
  background: none;
  padding: 2px;
  display: inline-flex;
  align-items: center;
  color: var(--v2-faint);
  cursor: pointer;
  transition: color 0.15s ease;
}
.v2-composer-send:hover { color: var(--v2-ink); }

/* ---------- mobile ≥390px ---------- */

@media (max-width: 720px) {
  .v2-today { padding: 22px 18px 32px; }
  .v2-today-headline { font-size: 23px; }
  .v2-threadrail { display: none; }
  .v2-stage { padding: 18px 16px 32px; }
  .v2-stage-blocks { grid-template-columns: 1fr; }
  .v2-composer { padding: 10px 14px calc(10px + env(safe-area-inset-bottom, 0px)); }
  .v2-cmdk { display: none; }
  .v2-ribbon { gap: 8px; padding: 9px 14px; flex-wrap: wrap; }
  .v2-dial { flex-wrap: wrap; }
  .v2-dial-hint { display: none; }
  .v2-acard-hlrow { flex-direction: column; gap: 8px; }
}

/* ---------- embedded: the Personal cabinet tab inside the v1 AppShell ---------- */

/* The host column provides identity chrome and a 55px sticky topbar; the
   cabinet fills the rest and keeps its own internal scroll + docked composer. */
.v2-app--embedded {
  height: calc(100vh - 55px);
  height: calc(100dvh - 55px);
}
.v2-app--embedded .v2-ribbon .v2-wordmark { display: none; }
@media (max-width: 1080px) {
  .v2-app--embedded { height: calc(100vh - 55px); }
}

/* v2 reader overlay + proposal inbox — owned by the reader area.
   Namespaced v2-, tokens --v2-* only. The reader sheet stacks ABOVE the inbox
   drawer (a cite chip inside a proposal opens the reader on top). */

/* ---------- shared sheet chrome ---------- */

.v2-sheet-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(16, 16, 16, 0.26);
  background: color-mix(in srgb, var(--v2-dark) 26%, transparent);
  animation: v2-backdrop-in 0.24s ease forwards;
}
.v2-inbox-backdrop { z-index: 70; }
.v2-reader-backdrop { z-index: 80; }

@keyframes v2-backdrop-in {
  from { opacity: 0; }
  to { opacity: 1; }
}

.v2-sheet-close {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  flex: none;
  margin-left: auto;
  border: 1px solid var(--v2-hairline);
  border-radius: var(--v2-r-md);
  background: var(--v2-canvas);
  color: var(--v2-muted);
  cursor: pointer;
  transition: border-color 0.15s ease, color 0.15s ease;
}
.v2-sheet-close:hover { border-color: var(--v2-faint); color: var(--v2-ink); }
.v2-sheet-close:focus-visible { outline: 2px solid var(--v2-accent); outline-offset: 2px; }

@keyframes v2-sheet-in {
  from { transform: translateX(100%); }
  to { transform: translateX(0); }
}

/* ---------- reader sheet ---------- */

.v2-reader {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  z-index: 81;
  width: min(440px, calc(100vw - 24px));
  display: flex;
  flex-direction: column;
  background: var(--v2-canvas);
  border-left: 1px solid var(--v2-hairline);
  box-shadow: -28px 0 64px rgba(16, 16, 16, 0.12);
  box-shadow: -28px 0 64px color-mix(in srgb, var(--v2-dark) 12%, transparent);
  animation: v2-sheet-in 0.32s cubic-bezier(0.22, 1, 0.36, 1);
}

.v2-reader-head {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 16px 20px;
  border-bottom: 1px solid var(--v2-hairline-soft);
}

.v2-reader-kind {
  font-family: var(--v2-mono);
  font-size: 10px;
  font-weight: 500;
  letter-spacing: 1.2px;
  text-transform: uppercase;
  padding: 3px 9px;
  border-radius: 999px;
  border: 1px solid;
  border-color: color-mix(in srgb, currentColor 30%, transparent);
  background: color-mix(in srgb, currentColor 7%, transparent);
  white-space: nowrap;
}
.v2-reader-kind--dataset { color: var(--v2-accent); }
.v2-reader-kind--doc { color: var(--v2-amber); }
.v2-reader-kind--meeting { color: var(--v2-green); }
.v2-reader-kind--email { color: var(--v2-red); }
.v2-reader-kind--wiki { color: var(--v2-ink); }
.v2-reader-kind--web { color: var(--v2-muted); }

.v2-reader-date {
  font-family: var(--v2-mono);
  font-size: 11px;
  color: var(--v2-faint);
  white-space: nowrap;
}

.v2-reader-body {
  flex: 1;
  overflow-y: auto;
  padding: 22px 22px 26px;
}

.v2-reader-title {
  font-family: var(--v2-display);
  font-size: 21px;
  font-weight: 400;
  letter-spacing: -0.4px;
  line-height: 1.2;
  color: var(--v2-ink);
  margin: 0 0 6px;
}

.v2-reader-path {
  font-family: var(--v2-mono);
  font-size: 11.5px;
  color: var(--v2-muted);
  word-break: break-all;
  padding-bottom: 16px;
  margin-bottom: 18px;
  border-bottom: 1px solid var(--v2-hairline-soft);
}

.v2-reader-excerpt {
  margin: 0;
  padding: 2px 0 2px 14px;
  border-left: 2px solid var(--v2-hairline);
  font-size: 14px;
  font-style: italic;
  line-height: 1.65;
  color: var(--v2-body);
}
.v2-reader-excerpt::before { content: "“"; color: var(--v2-faint); }
.v2-reader-excerpt::after { content: "”"; color: var(--v2-faint); }

.v2-reader-note {
  margin-top: 16px;
  font-family: var(--v2-mono);
  font-size: 11px;
  color: var(--v2-faint);
}

.v2-reader-foot {
  padding: 13px 22px;
  border-top: 1px solid var(--v2-hairline-soft);
  background: var(--v2-soft);
  font-size: 12px;
  line-height: 1.5;
  color: var(--v2-muted);
}

/* ---------- proposal inbox drawer ---------- */

.v2-inbox {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  z-index: 71;
  width: min(480px, calc(100vw - 24px));
  display: flex;
  flex-direction: column;
  background: var(--v2-canvas);
  border-left: 1px solid var(--v2-hairline);
  box-shadow: -28px 0 64px rgba(16, 16, 16, 0.12);
  box-shadow: -28px 0 64px color-mix(in srgb, var(--v2-dark) 12%, transparent);
  animation: v2-sheet-in 0.32s cubic-bezier(0.22, 1, 0.36, 1);
}

.v2-inbox-head {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 16px 20px;
  border-bottom: 1px solid var(--v2-hairline-soft);
  outline: none;
}

.v2-inbox-heading {
  display: flex;
  align-items: baseline;
  gap: 6px;
  min-width: 0;
}

.v2-inbox-title {
  font-family: var(--v2-display);
  font-size: 18px;
  font-weight: 400;
  letter-spacing: -0.3px;
  color: var(--v2-ink);
  margin: 0;
  white-space: nowrap;
}

.v2-inbox-sub {
  font-size: 12.5px;
  font-style: italic;
  color: var(--v2-muted);
  white-space: nowrap;
}

.v2-inbox-count {
  font-family: var(--v2-mono);
  font-size: 10.5px;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: var(--v2-faint);
  white-space: nowrap;
}

.v2-inbox-body {
  flex: 1;
  overflow-y: auto;
  padding: 18px 20px 24px;
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.v2-inbox-empty {
  margin: auto 0;
  padding: 24px 8px;
  text-align: center;
  font-size: 13.5px;
  font-style: italic;
  line-height: 1.6;
  color: var(--v2-muted);
}

.v2-inbox-foot {
  padding: 13px 22px;
  border-top: 1px solid var(--v2-hairline-soft);
  background: var(--v2-soft);
  font-size: 12px;
  line-height: 1.5;
  color: var(--v2-muted);
}

/* ---------- proposal card ---------- */

.v2-proposal {
  border: 1px solid var(--v2-hairline);
  border-radius: var(--v2-r-lg);
  padding: 14px 16px 15px;
  background: var(--v2-canvas);
}
.v2-proposal--approved,
.v2-proposal--dismissed { background: var(--v2-soft); }
.v2-proposal--dismissed .v2-proposal-title { color: var(--v2-muted); }

.v2-proposal-meta {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
  font-family: var(--v2-mono);
  font-size: 10.5px;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: var(--v2-faint);
  margin-bottom: 6px;
}

.v2-proposal-stamp { font-weight: 500; }
.v2-proposal-stamp--approved { color: var(--v2-green); }
.v2-proposal-stamp--dismissed { color: var(--v2-faint); }

.v2-proposal-title {
  font-size: 14.5px;
  font-weight: 600;
  line-height: 1.4;
  color: var(--v2-ink);
  margin: 0 0 10px;
}

.v2-diff {
  border: 1px solid var(--v2-hairline-soft);
  border-radius: var(--v2-r-md);
  overflow: hidden;
  font-family: var(--v2-mono);
  font-size: 12px;
  line-height: 1.55;
}
.v2-diff-line {
  padding: 5px 11px;
  white-space: pre-wrap;
  word-break: break-word;
  color: var(--v2-body);
}
.v2-diff-line + .v2-diff-line { border-top: 1px solid var(--v2-hairline-soft); }
.v2-diff-line--add {
  color: var(--v2-green);
  background: rgba(16, 185, 129, 0.07);
  background: color-mix(in srgb, var(--v2-green-bright) 7%, transparent);
}
.v2-diff-line--del {
  color: var(--v2-red);
  background: rgba(239, 68, 68, 0.06);
  background: color-mix(in srgb, var(--v2-red-bright) 6%, transparent);
  text-decoration: line-through;
  text-decoration-color: color-mix(in srgb, var(--v2-red) 45%, transparent);
}

.v2-proposal-cites {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 10px;
}

.v2-proposal-actions {
  display: flex;
  gap: 8px;
  margin-top: 12px;
}
.v2-proposal-actions .v2-btn {
  padding: 6px 13px;
  font-size: 12.5px;
}

/* ---------- motion restraint ---------- */

@media (prefers-reduced-motion: reduce) {
  .v2-reader,
  .v2-inbox,
  .v2-sheet-backdrop {
    animation-duration: 0.01s;
  }
}

/* v2 voice — mic dock, live transcript chip, unsupported tooltip, brief readout.
   Honest-state styling: nothing animates unless the engine is genuinely
   listening or speaking. Tokens: --v2-* only. */

.v2-voice-dock {
  position: relative;
  display: flex;
  align-items: center;
  flex: none;
}

/* --- The mic (plan mockup: dark 38–40px circle, white glyph) ------------- */

.v2-voice-mic {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  border: 1px solid var(--v2-ink);
  background: var(--v2-ink);
  color: var(--v2-on-dark);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  position: relative;
  flex: none;
  cursor: pointer;
  transition: background 0.15s ease, transform 0.12s ease;
}
.v2-voice-mic:hover { background: var(--v2-dark); }
.v2-voice-mic:active { transform: scale(0.94); }
.v2-voice-mic:focus-visible {
  outline: 2px solid var(--v2-accent);
  outline-offset: 2px;
}

/* Genuinely listening — the ONLY state that pulses. */
.v2-voice-mic--live {
  background: var(--v2-dark-2);
  border-color: var(--v2-dark-2);
  animation: v2-voice-ring 1.6s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}
@keyframes v2-voice-ring {
  0% { box-shadow: 0 0 0 0 color-mix(in srgb, var(--v2-green-bright) 45%, transparent); }
  70% { box-shadow: 0 0 0 12px color-mix(in srgb, var(--v2-green-bright) 0%, transparent); }
  100% { box-shadow: 0 0 0 0 color-mix(in srgb, var(--v2-green-bright) 0%, transparent); }
}

.v2-voice-mic-dot {
  position: absolute;
  top: 2px;
  right: 2px;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--v2-green-bright);
  animation: v2-voice-blink 1.6s infinite;
}
@keyframes v2-voice-blink {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.25; }
}

/* Unsupported browser — muted, honest, explains itself on hover/press. */
.v2-voice-mic--muted {
  background: var(--v2-soft);
  border-color: var(--v2-hairline);
  color: var(--v2-faint);
  cursor: help;
}
.v2-voice-mic--muted:hover { background: var(--v2-soft); }

/* --- Live interim transcript chip ---------------------------------------- */

.v2-voice-chip {
  position: absolute;
  bottom: calc(100% + 12px);
  right: 0;
  z-index: 60;
  display: flex;
  align-items: flex-start;
  gap: 8px;
  max-width: min(340px, 78vw);
  padding: 9px 14px;
  border-radius: 14px;
  background: var(--v2-dark);
  color: var(--v2-on-dark);
  font-size: 13px;
  line-height: 1.45;
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.18);
  animation: v2-materialize 0.22s ease forwards;
}
.v2-voice-chip-dot {
  flex: none;
  width: 7px;
  height: 7px;
  margin-top: 5px;
  border-radius: 50%;
  background: var(--v2-red-bright);
  animation: v2-voice-blink 1.1s infinite;
}
.v2-voice-chip-text { min-width: 0; overflow-wrap: anywhere; }

/* --- Unsupported tooltip -------------------------------------------------- */

.v2-voice-tip {
  position: absolute;
  bottom: calc(100% + 12px);
  right: 0;
  z-index: 60;
  width: 252px;
  padding: 9px 12px;
  border-radius: var(--v2-r-md);
  background: var(--v2-dark);
  color: var(--v2-on-dark-soft);
  font-size: 12px;
  line-height: 1.5;
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.18);
  opacity: 0;
  visibility: hidden;
  transform: translateY(4px);
  transition: opacity 0.15s ease, transform 0.15s ease, visibility 0.15s;
  pointer-events: none;
}
.v2-voice-dock:hover .v2-voice-tip,
.v2-voice-mic--muted:focus-visible ~ .v2-voice-tip,
.v2-voice-tip--open {
  opacity: 1;
  visibility: visible;
  transform: none;
}

/* --- Reduced motion: keep the honest state visible, drop the movement ----- */

@media (prefers-reduced-motion: reduce) {
  .v2-voice-mic--live {
    animation: none;
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--v2-green-bright) 40%, transparent);
  }
  .v2-voice-mic-dot,
  .v2-voice-chip-dot { animation: none; }
}

/* v2 voice mode — the conversational dock, the launch pill, and the spotlight.
   Owned by the voice area. Only --v2-* tokens; every class is v2- prefixed, so
   the dock looks identical on the v1 workspace routes and the v2 cabinet.
   Honest-state styling (the rule from voice.css): the orb only moves when real
   audio is moving it, and its resting state still says which state it is in. */

/* ---------- launch pill ---------- */

/* The way in is loud on purpose: a dark, high-contrast pill that reads as THE
   primary action of the chrome, not one control among many. */
.v2-vm-launch {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  height: 36px;
  padding: 0 18px;
  border: 1px solid transparent;
  border-radius: 999px;
  background: var(--v2-dark, #222421);
  color: var(--v2-on-dark, #f2f3f0);
  font-family: var(--v2-sans);
  font-size: 13px;
  font-weight: 600;
  line-height: 1;
  white-space: nowrap;
  cursor: pointer;
  box-shadow: 0 2px 10px rgba(20, 24, 20, 0.22);
  transition: transform 0.15s ease, box-shadow 0.15s ease, background 0.15s ease;
}
.v2-vm-launch:hover {
  background: #101210;
  transform: translateY(-1px);
  box-shadow: 0 6px 18px rgba(20, 24, 20, 0.28);
}
.v2-vm-launch:focus-visible {
  outline: 2px solid var(--v2-accent);
  outline-offset: 2px;
}
.v2-vm-launch--v2 {
  height: 40px;
  border-radius: 999px;
  padding: 0 18px;
}

/* ---------- talk hero — the big front-door on the cabinet ---------- */

.v2-talk-hero {
  display: flex;
  width: 100%;
  align-items: center;
  gap: 18px;
  margin: 16px 0 8px;
  padding: 20px 24px;
  border: 1px solid transparent;
  border-radius: 20px;
  background: var(--v2-dark, #222421);
  color: var(--v2-on-dark, #f2f3f0);
  font-family: var(--v2-sans);
  text-align: left;
  cursor: pointer;
  box-shadow: 0 16px 44px rgba(20, 24, 20, 0.18);
  transition: transform 0.18s ease, box-shadow 0.18s ease;
}
.v2-talk-hero:hover {
  transform: translateY(-2px);
  box-shadow: 0 22px 56px rgba(20, 24, 20, 0.26);
}
.v2-talk-hero:focus-visible {
  outline: 2px solid var(--v2-accent);
  outline-offset: 3px;
}
.v2-talk-hero-orb {
  position: relative;
  display: grid;
  flex: none;
  width: 54px;
  height: 54px;
  place-items: center;
  color: #eaf3ee;
  background: radial-gradient(circle at 32% 30%, #5d8273, #2a352f 72%);
  border-radius: 50%;
  box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.14) inset;
}
.v2-talk-hero-orb::after {
  content: "";
  position: absolute;
  inset: -6px;
  border: 1.5px solid rgba(133, 173, 155, 0.4);
  border-radius: 50%;
  animation: v2-talk-breathe 3.2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}
@keyframes v2-talk-breathe {
  0%, 100% { transform: scale(0.94); opacity: 0.35; }
  50% { transform: scale(1.04); opacity: 0.9; }
}
.v2-talk-hero-text {
  display: flex;
  min-width: 0;
  flex: 1;
  flex-direction: column;
  gap: 3px;
}
.v2-talk-hero-text strong {
  font-family: var(--v2-display);
  font-size: 19px;
  font-weight: 650;
  letter-spacing: -0.02em;
}
.v2-talk-hero-text small {
  color: var(--v2-on-dark-soft, #b9bdb6);
  font-size: 12.5px;
  line-height: 1.45;
}
.v2-talk-hero kbd {
  flex: none;
  padding: 5px 9px;
  color: var(--v2-on-dark-soft, #b9bdb6);
  background: rgba(255, 255, 255, 0.07);
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 7px;
  font-family: var(--v2-mono);
  font-size: 10.5px;
  letter-spacing: 0.04em;
}
@media (max-width: 640px) {
  .v2-talk-hero kbd { display: none; }
}

/* The same hero on the v1 workspace pages (portfolio, watchtower) — panel
   rhythm instead of the cabinet's headline rhythm. */
.v2-talk-hero--page {
  margin: 0 0 12px;
  padding: 17px 20px;
  border-radius: 14px;
}

/* The CEO seat's own topbar groups the launch pill with the seat switcher. */
.v2-topbar-right {
  display: inline-flex;
  align-items: center;
  gap: 10px;
}

/* ---------- the dock ---------- */

/* Floats top-right by default so it never covers the content the agent is
   presenting; the user can drag it anywhere by its header (inline left/top
   from the component override the default corner). */
.v2-vm {
  position: fixed;
  z-index: 50;
  top: calc(66px + env(safe-area-inset-top, 0px));
  right: 16px;
  width: min(340px, calc(100vw - 24px));
  display: flex;
  flex-direction: column;
  gap: 9px;
  padding: 11px 13px 12px;
  border-radius: var(--v2-r-xl);
  background: var(--v2-dark);
  color: var(--v2-on-dark);
  font-family: var(--v2-sans);
  box-shadow: 0 18px 48px rgba(0, 0, 0, 0.32);
  animation: v2-vm-in 0.28s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}
@keyframes v2-vm-in {
  from { opacity: 0; transform: translateY(-10px) scale(0.985); }
  to { opacity: 1; transform: none; }
}

/* ---------- head: grip, orb, identity, controls ---------- */

.v2-vm-head {
  display: flex;
  align-items: center;
  gap: 9px;
  cursor: grab;
  touch-action: none;
  user-select: none;
}
.v2-vm-head:active { cursor: grabbing; }
.v2-vm-grip {
  display: grid;
  flex: none;
  place-items: center;
  margin-left: -4px;
  color: rgba(255, 255, 255, 0.34);
}

/* ---------- the pill: collapsed voice mode — just talk ---------- */

/* Same live session, minimum glass: orb, status, controls. Tap to expand. */
.v2-vm--mini {
  width: auto;
  min-width: 0;
  max-width: calc(100vw - 24px);
  gap: 0;
  padding: 7px 10px 7px 12px;
  border-radius: 999px;
  /* The whole pill is the drag/tap handle, padding ring included. */
  cursor: grab;
  touch-action: none;
  user-select: none;
}
.v2-vm--mini:active { cursor: grabbing; }
.v2-vm--mini .v2-vm-grip { display: none; }
.v2-vm--mini .v2-vm-head { gap: 8px; }
.v2-vm--mini .v2-vm-orb,
.v2-vm--mini .v2-vm-orb-ring {
  width: 26px;
  height: 26px;
}
.v2-vm--mini .v2-vm-orb-core {
  width: 10px;
  height: 10px;
}
.v2-vm--mini .v2-vm-id strong { display: none; }
.v2-vm--mini .v2-vm-status {
  max-width: 118px;
  overflow: hidden;
  font-size: 10px;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.v2-vm--mini .v2-vm-btn {
  width: 27px;
  height: 27px;
}

/* ---------- user-sized panel ---------- */

/* Inline width/height from the resize handle; the transcript absorbs the room. */
.v2-vm--sized { overflow: hidden; }
.v2-vm--sized .v2-vm-log {
  flex: 1 1 auto;
  min-height: 0;
  max-height: none;
}

.v2-vm-resize {
  position: absolute;
  bottom: 0;
  left: 0;
  display: grid;
  width: 26px;
  height: 26px;
  place-items: center;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: rgba(255, 255, 255, 0.32);
  cursor: nesw-resize;
  touch-action: none;
}
.v2-vm-resize:hover { color: rgba(255, 255, 255, 0.75); }
/* Inset ring: the sized panel clips overflow, so an outline would lose its
   left/bottom arcs at the panel edge — an inner ring never does. */
.v2-vm-resize:focus-visible {
  outline: none;
  box-shadow: inset 0 0 0 2px var(--v2-accent);
  color: rgba(255, 255, 255, 0.75);
}

/* ---------- small screens ---------- */

/* Phones open voice mode as the pill (component logic); when expanded by hand,
   keep the panel shallow so the data stays reachable underneath. */
@media (max-width: 700px) {
  .v2-vm {
    top: calc(60px + env(safe-area-inset-top, 0px));
    right: 10px;
  }
  .v2-vm:not(.v2-vm--sized) .v2-vm-log { max-height: 26vh; }
}

.v2-vm-orb {
  position: relative;
  flex: none;
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
}
.v2-vm-orb-ring,
.v2-vm-orb-core {
  position: absolute;
  border-radius: 50%;
}
.v2-vm-orb-core {
  width: 13px;
  height: 13px;
  background: var(--v2-vm-accent, var(--v2-on-dark-soft));
  /* Genuine amplitude: --v2-vm-level is written from an AnalyserNode each frame. */
  transform: scale(calc(1 + (var(--v2-vm-level, 0) * 0.85)));
  transition: transform 0.08s linear, background 0.2s ease;
}
.v2-vm-orb-ring {
  width: 34px;
  height: 34px;
  border: 1.5px solid color-mix(in srgb, var(--v2-vm-accent, var(--v2-on-dark-soft)) 45%, transparent);
  opacity: calc(0.35 + (var(--v2-vm-level, 0) * 0.65));
  transform: scale(calc(0.82 + (var(--v2-vm-level, 0) * 0.18)));
  transition: transform 0.12s linear, opacity 0.12s linear, border-color 0.2s ease;
}

.v2-vm[data-state="listening"] { --v2-vm-accent: var(--v2-accent); }
.v2-vm[data-state="speaking"] { --v2-vm-accent: var(--v2-green-bright); }
.v2-vm[data-state="thinking"] { --v2-vm-accent: #f59e0b; }
.v2-vm[data-state="connecting"] { --v2-vm-accent: var(--v2-on-dark-soft); }
.v2-vm[data-state="error"] { --v2-vm-accent: var(--v2-red-bright); }

/* Thinking has no audio to key off, so it gets the one honest loop: a slow breath. */
.v2-vm[data-state="thinking"] .v2-vm-orb-ring {
  animation: v2-vm-breathe 1.8s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}
@keyframes v2-vm-breathe {
  0%, 100% { transform: scale(0.82); opacity: 0.35; }
  50% { transform: scale(1); opacity: 0.9; }
}

.v2-vm-id {
  display: flex;
  min-width: 0;
  flex: 1;
  flex-direction: column;
  gap: 1px;
}
.v2-vm-id strong {
  font-family: var(--v2-display);
  font-size: 14px;
  font-weight: 600;
  letter-spacing: -0.01em;
}
.v2-vm-status {
  font-family: var(--v2-mono);
  font-size: 10.5px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--v2-vm-accent, var(--v2-on-dark-soft));
}

.v2-vm-actions {
  display: flex;
  flex: none;
  align-items: center;
  gap: 6px;
}
.v2-vm-btn {
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.06);
  color: var(--v2-on-dark);
  cursor: pointer;
  transition: background 0.15s ease, border-color 0.15s ease;
}
.v2-vm-btn:hover { background: rgba(255, 255, 255, 0.14); }
.v2-vm-btn:focus-visible {
  outline: 2px solid var(--v2-accent);
  outline-offset: 2px;
}
.v2-vm-btn[aria-pressed="true"] {
  background: rgba(255, 255, 255, 0.16);
  border-color: rgba(255, 255, 255, 0.32);
}
.v2-vm-btn--end {
  border-color: color-mix(in srgb, var(--v2-red-bright) 45%, transparent);
  background: color-mix(in srgb, var(--v2-red-bright) 18%, transparent);
}
.v2-vm-btn--end:hover { background: color-mix(in srgb, var(--v2-red-bright) 32%, transparent); }

/* ---------- transcript ---------- */

.v2-vm-log {
  max-height: 136px;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  gap: 7px;
  padding-top: 2px;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  padding-block-start: 10px;
  scrollbar-width: thin;
  scrollbar-color: rgba(255, 255, 255, 0.24) transparent;
}
.v2-vm-turn {
  margin: 0;
  font-size: 13px;
  line-height: 1.5;
  overflow-wrap: anywhere;
}
.v2-vm-turn--user { color: var(--v2-on-dark-soft); }
.v2-vm-turn--agent { color: var(--v2-on-dark); }
.v2-vm-who {
  display: inline-block;
  margin-right: 7px;
  font-family: var(--v2-mono);
  font-size: 9.5px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--v2-faint);
  vertical-align: 1px;
}
.v2-vm-hint {
  margin: 0;
  font-size: 12.5px;
  line-height: 1.5;
  color: var(--v2-on-dark-soft);
}

/* ---------- "showing" chips ---------- */

.v2-vm-chips {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  padding-top: 9px;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
}
.v2-vm-chips-label {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-family: var(--v2-mono);
  font-size: 9.5px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--v2-faint);
}
.v2-vm-chip {
  max-width: 220px;
  padding: 4px 10px;
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 999px;
  background: transparent;
  color: var(--v2-on-dark);
  font-family: var(--v2-sans);
  font-size: 11.5px;
  line-height: 1.4;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  cursor: pointer;
  transition: border-color 0.15s ease, background 0.15s ease;
}
.v2-vm-chip:hover { border-color: rgba(255, 255, 255, 0.42); background: rgba(255, 255, 255, 0.08); }
.v2-vm-chip:focus-visible { outline: 2px solid var(--v2-accent); outline-offset: 2px; }
.v2-vm-chip--static { cursor: default; color: var(--v2-on-dark-soft); }
.v2-vm-chip--static:hover { border-color: rgba(255, 255, 255, 0.18); background: transparent; }

/* ---------- honest failure ---------- */

.v2-vm-error {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 9px;
  padding-top: 10px;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
}
.v2-vm-error p {
  margin: 0;
  font-size: 12.5px;
  line-height: 1.55;
  color: var(--v2-on-dark-soft);
}
.v2-vm-retry {
  padding: 6px 13px;
  border: 1px solid rgba(255, 255, 255, 0.24);
  border-radius: 999px;
  background: transparent;
  color: var(--v2-on-dark);
  font-family: var(--v2-sans);
  font-size: 12px;
  cursor: pointer;
  transition: background 0.15s ease;
}
.v2-vm-retry:hover { background: rgba(255, 255, 255, 0.1); }
.v2-vm-retry:focus-visible { outline: 2px solid var(--v2-accent); outline-offset: 2px; }

.v2-vm-connecting {
  display: grid;
  place-items: center;
  color: var(--v2-on-dark-soft);
}
.v2-vm-connecting svg { animation: v2-vm-spin 0.9s linear infinite; }
@keyframes v2-vm-spin {
  to { transform: rotate(360deg); }
}

/* ---------- the spotlight the agent points with ---------- */

.v2-voice-spot {
  position: relative;
  border-radius: var(--v2-r-md);
  box-shadow: 0 0 0 2px var(--v2-accent), 0 0 0 8px color-mix(in srgb, var(--v2-accent) 16%, transparent);
  animation: v2-voice-spot-in 0.32s cubic-bezier(0.22, 1, 0.36, 1);
  transition: box-shadow 0.3s ease;
}
@keyframes v2-voice-spot-in {
  from { box-shadow: 0 0 0 2px color-mix(in srgb, var(--v2-accent) 0%, transparent), 0 0 0 18px color-mix(in srgb, var(--v2-accent) 0%, transparent); }
}
/* Table rows cannot take a box-shadow reliably — tint them instead. */
tr.v2-voice-spot {
  box-shadow: none;
  background: color-mix(in srgb, var(--v2-accent) 12%, transparent);
}

/* ---------- motion restraint ---------- */

@media (prefers-reduced-motion: reduce) {
  .v2-vm { animation-duration: 0.01s; }
  .v2-talk-hero { transition: none; }
  .v2-talk-hero-orb::after { animation: none; opacity: 0.5; }
  .v2-vm-orb-core,
  .v2-vm-orb-ring {
    /* Drop the amplitude movement, keep the state legible as a steady ring. */
    transform: none;
    transition: background 0.2s ease, border-color 0.2s ease;
    animation: none;
    opacity: 1;
  }
  .v2-vm[data-state="thinking"] .v2-vm-orb-ring { animation: none; }
  .v2-vm-connecting svg { animation: none; }
  .v2-voice-spot { animation: none; }
}

/* A tactile, thumb-friendly invitation, centered in the workspace. */
.v2-vm-launch--primary { min-height: 80px; height: auto; min-width: 274px; max-width: 100%; gap: 15px; padding: 13px 25px 13px 15px; border: 1px solid #587769; border-radius: 28px; background: linear-gradient(145deg, #315e4e, #102f28); color: #fffaf0; box-shadow: 0 12px 30px #173c2933, 0 3px 0 #09281f, inset 0 1px 0 #ffffff2e; text-align: left; }
.v2-vm-launch--primary:hover { background: linear-gradient(145deg, #3b6a58, #173d31); transform: translateY(-2px); box-shadow: 0 16px 34px #173c293d, 0 3px 0 #09281f, inset 0 1px 0 #ffffff2e; }
.v2-vm-launch--primary:active { transform: translateY(2px); box-shadow: 0 5px 12px #173c2926, 0 1px 0 #09281f; }
.v2-vm-launch__orb { display: grid; place-items: center; flex: none; width: 50px; height: 50px; border-radius: 50%; background: linear-gradient(145deg, #f4dfad, #dabb76); color: #264c3e; box-shadow: inset 0 1px 1px #fff8e6, 0 0 0 5px #edcf9010; }
.v2-vm-launch__copy { display: flex; flex-direction: column; gap: 7px; }
.v2-vm-launch__copy strong { font-size: 18px; font-weight: 650; letter-spacing: -.025em; }
.v2-vm-launch__copy small { font-size: 11px; font-weight: 400; color: #d1dbcc; }
.v2-vm-launch--primary[aria-pressed="true"] .v2-vm-launch__orb { background: #d6e7d5; }
@media (prefers-reduced-motion: reduce) { .v2-vm-launch--primary { transition: none; } }

/* LiveCEO Mail & Calendar — product styles on clay. Every class is mc- prefixed;
   the shell primitives (.sidebar, .topbar, .panel, .button…) come from
   globals.css, the Today/voice primitives (.v2-*) from v2.css / surfaces.css. */

/* ---------- shell additions ---------- */

.mc-brand-sub { display: block; margin-top: 1px; color: var(--faint); font-family: var(--sans); font-size: 9px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.mc-footer-status { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 8px; padding: 8px; border-radius: 10px; }
.mc-footer-owner { min-width: 0; }
.mc-footer-owner strong { display: block; color: var(--ink); font-size: 11px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.mc-footer-owner small { display: block; margin-top: 2px; color: var(--faint); font-size: 9.5px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.mc-footer-running { display: flex; align-items: center; gap: 6px; padding: 4px 8px 2px; color: #9a7420; font-family: var(--mono); font-size: 9.5px; letter-spacing: .06em; text-transform: uppercase; }
.mc-pending-pill { display: inline-flex; align-items: center; gap: 6px; height: 31px; padding: 0 11px; border: 1px solid var(--line); border-radius: 999px; background: var(--card); color: var(--muted); font-size: 11px; font-weight: 600; white-space: nowrap; transition: border-color .15s ease, color .15s ease; }
.mc-pending-pill:hover { border-color: #d3c8ab; color: var(--ink); }
.mc-pending-pill--live { background: var(--clay-ochre-soft); border-color: #efdcac; color: #9a7420; }
.mc-spin { animation: mc-spin .9s linear infinite; }
@keyframes mc-spin { to { transform: rotate(360deg); } }
.icon-button:disabled { opacity: .5; cursor: default; }
.button:disabled, .v2-act:disabled, .v2-btn:disabled { opacity: .55; cursor: default; }
.button svg { flex: none; }
.mc-link { color: #1e5347; font-weight: 600; text-decoration: underline; text-underline-offset: 2px; text-decoration-color: #c4ddd2; }
.mc-link:hover { color: var(--ink); }
.mc-link-btn { display: inline-flex; align-items: center; gap: 4px; color: var(--muted); font-size: 12px; font-weight: 600; }
.mc-link-btn:hover { color: var(--ink); }
.mc-error { margin: 8px 0; padding: 8px 11px; color: #d2412e; background: var(--red-soft); border-left: 2px solid var(--red); border-radius: 0 8px 8px 0; font-size: 12.5px; line-height: 1.5; }
.mc-loading { padding: 18px 2px; color: var(--faint); font-size: 12.5px; font-style: italic; }
.mc-hint { display: flex; align-items: center; gap: 6px; margin: 6px 0; color: var(--muted); font-size: 12.5px; line-height: 1.5; }
.mc-meta-line { color: var(--faint); font-size: 11.5px; line-height: 1.45; }

/* ---------- pages ---------- */

.mc-page { padding-bottom: 40px; }
.mc-page--with-composer { padding-bottom: 0; }
.mc-page .page-heading h1 { max-width: 760px; text-wrap: balance; }
.mc-page .page-heading p { max-width: 640px; line-height: 1.5; }
.mc-search { width: 260px; }
.mc-tabs { margin-top: 4px; }
.mc-tabs button { font-size: 12px; }
.mc-section { margin-top: 26px; }
.mc-section > .eyebrow { margin-bottom: 10px; }
.mc-panel .panel__header h2 { display: inline-flex; align-items: center; gap: 6px; }
.mc-panel .panel__header p { font-size: 11.5px; line-height: 1.5; max-width: 420px; }
.mc-panel-body { padding: 0 18px 16px; font-size: 13px; line-height: 1.55; color: var(--body); }
.mc-panel-body .mc-acts { margin-top: 6px; }
.mc-acts { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 10px; }
.mc-act-link { display: inline-flex; align-items: center; }

/* rows (inbox, people, rules, shared threads) */
.mc-rows { display: flex; flex-direction: column; gap: 8px; margin-top: 8px; }
.mc-row { display: flex; width: 100%; align-items: flex-start; gap: 12px; padding: 13px 15px; text-align: left; background: var(--card); border: 1px solid var(--line); border-radius: var(--radius-md); box-shadow: var(--shadow-sm); transition: border-color .15s ease, transform .15s ease; color: var(--body); }
.mc-row:hover { border-color: #d3c8ab; }
.mc-row--unread { background: #fff; border-left: 3px solid var(--clay-pink); }
.mc-row-main { flex: 1; min-width: 0; display: grid; gap: 4px; }
.mc-row-top { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; }
.mc-row-subject { color: var(--ink); font-size: 13.5px; font-weight: 600; line-height: 1.35; overflow: hidden; text-overflow: ellipsis; }
.mc-row-time { flex: none; color: var(--faint); font-family: var(--mono); font-size: 10.5px; white-space: nowrap; }
.mc-row-people { color: var(--muted); font-size: 12px; display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.mc-row-count { color: var(--faint); }
.mc-row-snippet { color: var(--muted); font-size: 12.5px; line-height: 1.45; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.mc-badges { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 4px; }
.mc-row--person { align-items: center; }
.mc-row--rule { align-items: center; }
.mc-row--rule .mc-row-subject { font-weight: 500; }
.mc-row-side { display: flex; flex: none; align-items: center; gap: 8px; }
.mc-rule--off { opacity: .6; }
.mc-switch { display: inline-flex; align-items: center; gap: 6px; color: var(--muted); font-size: 11px; font-weight: 600; cursor: pointer; }
.mc-switch input { accent-color: var(--ink); }
.mc-rule-list { margin: 10px 0 8px; padding: 0; list-style: none; display: grid; gap: 6px; font-size: 12.5px; }

/* avatars + chips */
.mc-avatar { display: inline-grid; flex: none; place-items: center; border-radius: 50%; background: var(--clay-surface-strong); color: #4a4a4a; font-family: var(--display); font-weight: 700; letter-spacing: .02em; }
.mc-chip { display: inline-flex; align-items: center; gap: 6px; max-width: 220px; padding: 2px 8px 2px 2px; border-radius: 999px; background: var(--clay-surface-soft); color: var(--body); font-size: 11.5px; font-weight: 500; }
.mc-chip-label { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mc-chip--link:hover { background: var(--clay-surface-strong); color: var(--ink); }

/* ---------- empty states ---------- */

.mc-empty { display: grid; justify-items: center; gap: 8px; margin: 22px 0; padding: 34px 24px; text-align: center; background: var(--clay-surface-soft); border: 1px dashed #ddd3ba; border-radius: var(--radius-xl); }
.mc-empty-icon { display: grid; width: 44px; height: 44px; place-items: center; color: var(--muted); background: var(--card); border: 1px solid var(--line); border-radius: 14px; }
.mc-empty-title { color: var(--ink); font-family: var(--display); font-size: 18px; font-weight: 600; letter-spacing: -.01em; }
.mc-empty-body { max-width: 480px; color: var(--muted); font-size: 13px; line-height: 1.55; }
.mc-empty-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin-top: 8px; }

/* ---------- runs ---------- */

.mc-run { margin: 10px 0; padding: 12px 14px; border: 1px solid var(--line); border-radius: var(--radius-md); background: var(--card); font-size: 12.5px; }
.mc-run--running { border-color: #efdcac; background: #fffaf0; }
.mc-run--done { border-color: #c4ddd2; }
.mc-run--failed { border-color: #f6cfc8; }
.mc-run-head { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; color: var(--ink); }
.mc-run--running .mc-run-head { color: #9a7420; }
.mc-run--done .mc-run-head { color: #1e5347; }
.mc-run--failed .mc-run-head { color: #d2412e; }
.mc-run-stats { display: inline-flex; flex-wrap: wrap; gap: 8px; margin-left: auto; color: var(--faint); font-family: var(--mono); font-size: 10.5px; }
.mc-run-log { margin: 8px 0 0; padding: 8px 10px; list-style: none; color: var(--muted); background: var(--sidebar); border-radius: 8px; font-family: var(--mono); font-size: 11px; line-height: 1.6; max-height: 160px; overflow-y: auto; }
.mc-run--compact .mc-run-log { max-height: 60px; }

/* ---------- Today ---------- */

.mc-today-app { height: calc(100vh - 55px); height: calc(100dvh - 55px); }
.mc-today { max-width: 780px; }
.mc-today .v2-today-kickrow { gap: 10px; }
.mc-today-run { margin: 10px 0 6px; }
.mc-stack { display: flex; flex-direction: column; gap: 12px; margin-top: 14px; }
.mc-strip { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; margin: 10px 0 14px; padding: 12px 0 14px; border-bottom: 1px solid var(--v2-hairline-soft); }
.mc-strip--empty { color: var(--muted); font-size: 13px; }
.mc-strip-row { display: flex; flex-wrap: wrap; gap: 6px; width: 100%; }
.mc-event-pill { display: inline-flex; align-items: center; gap: 7px; max-width: 100%; padding: 5px 11px; border: 1px solid var(--v2-hairline); border-radius: 999px; background: var(--v2-canvas); color: var(--v2-body); font-size: 12px; transition: border-color .15s ease; }
.mc-event-pill:hover { border-color: var(--v2-faint); color: var(--v2-ink); }
.mc-event-pill b { font-family: var(--v2-mono); font-size: 10.5px; color: var(--v2-ink); }
.mc-event-pill span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 260px; }

/* ---------- proposal card ---------- */

.mc-card { transition: box-shadow .2s ease; }
.mc-card--open { box-shadow: 0 14px 34px rgba(26, 20, 5, .08); }
.mc-card--executed, .mc-card--skipped, .mc-card--failed, .mc-card--approved { --v2-tone-bg: var(--v2-soft); --v2-rail: var(--v2-hairline); }
.mc-card--skipped .mc-card-title { color: var(--v2-muted); }
.mc-card--failed { --v2-rail: var(--v2-red-bright); }
.mc-card--executed { --v2-rail: var(--v2-green-bright); }
.mc-card--compact { padding: 13px 16px 12px; }
.mc-card--compact .mc-card-title { font-size: 14px; }
.mc-kind { font-size: 10.5px; letter-spacing: .04em; text-transform: none; }
.mc-krow-text { color: var(--v2-muted); text-transform: none; letter-spacing: 0; font-family: var(--v2-sans); font-size: 12px; }
.mc-tier { color: var(--v2-muted); }
.mc-card[data-tier="0"] .mc-tier { color: #d2412e; }
.mc-card[data-tier="1"] .mc-tier { color: #9a7420; }
.mc-card-title { flex: 1; }
.mc-card-toggle { display: grid; flex: none; width: 26px; height: 26px; place-items: center; color: var(--v2-faint); border: 1px solid transparent; border-radius: 50%; }
.mc-card-toggle:hover { color: var(--v2-ink); border-color: var(--v2-hairline); }
.v2-acard-krow .mc-chip { text-transform: none; letter-spacing: 0; font-family: var(--v2-sans); }
.mc-execution { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; margin-top: 10px; padding: 8px 11px; border-radius: var(--v2-r-md); font-size: 12.5px; }
.mc-execution--ok { background: var(--clay-teal-soft); color: #1e5347; }
.mc-execution--failed { background: var(--clay-coral-soft); color: #d2412e; }
.mc-execution-link { display: inline-flex; align-items: center; gap: 4px; font-weight: 600; text-decoration: underline; text-underline-offset: 2px; }
.mc-card-body { margin-top: 14px; padding-top: 14px; border-top: 1px solid rgba(10, 10, 10, .08); animation: v2-materialize .22s ease forwards; }
.mc-draft-head { display: flex; flex-wrap: wrap; gap: 4px 18px; margin-bottom: 8px; color: var(--v2-muted); font-size: 12px; }
.mc-draft-head b { margin-right: 4px; color: var(--v2-faint); font-family: var(--v2-mono); font-size: 10px; letter-spacing: .08em; text-transform: uppercase; font-weight: 500; }
.mc-draft { padding: 14px 16px; background: #fff; border: 1px solid var(--v2-hairline); border-radius: var(--v2-r-md); color: var(--v2-ink); font-size: 14px; line-height: 1.6; white-space: pre-wrap; overflow-wrap: anywhere; }
.mc-draft--note { background: var(--v2-canvas); }
.mc-meeting { display: grid; gap: 8px; }
.mc-meeting-when { display: flex; flex-wrap: wrap; align-items: baseline; gap: 10px; }
.mc-meeting-when strong { color: var(--v2-ink); font-family: var(--v2-display); font-size: 18px; font-weight: 600; letter-spacing: -.01em; }
.mc-meeting-when span { color: var(--v2-muted); font-size: 12px; }
.mc-meeting-title { color: var(--v2-ink); font-size: 14px; font-weight: 600; }
.mc-meeting-attendees { display: flex; flex-wrap: wrap; gap: 6px; }
.mc-invite { display: grid; gap: 8px; margin-top: 8px; padding-top: 10px; border-top: 1px dashed var(--v2-hairline); }
.mc-alts { margin-top: 12px; display: grid; gap: 6px; }
.mc-alts-row { display: flex; flex-wrap: wrap; gap: 6px; }
.mc-slot { padding: 5px 12px; border: 1px solid var(--v2-hairline); border-radius: 999px; background: var(--v2-canvas); color: var(--v2-body); font-size: 12px; transition: border-color .15s ease, background .15s ease; }
.mc-slot:hover { border-color: var(--v2-accent); color: var(--v2-accent); }
.mc-slot--on { background: var(--v2-ink); border-color: var(--v2-ink); color: #fff; }
.mc-versions { margin-top: 10px; }
.mc-version-list { margin: 8px 0 0; padding: 0; list-style: none; display: grid; gap: 4px; font-size: 12px; color: var(--v2-body); }
.mc-version-list li { display: flex; flex-wrap: wrap; gap: 8px; align-items: baseline; }
.mc-version-n { font-family: var(--v2-mono); font-size: 10.5px; color: var(--v2-faint); }
.mc-version-meta { margin-left: auto; color: var(--v2-faint); font-family: var(--v2-mono); font-size: 10.5px; }
.mc-instruct { margin-top: 14px; display: grid; gap: 6px; }
.mc-instruct-row { display: flex; align-items: center; gap: 8px; padding: 6px 8px 6px 12px; background: #fff; border: 1px solid var(--v2-hairline); border-radius: 12px; transition: border-color .15s ease, box-shadow .15s ease; }
.mc-instruct-row:focus-within { border-color: var(--v2-faint); box-shadow: 0 0 0 3px rgba(17, 17, 17, .04); }
.mc-instruct-icon { flex: none; color: var(--v2-accent); }
.mc-instruct-input { flex: 1; min-width: 0; border: 0; outline: 0; background: none; color: var(--v2-ink); font-size: 13px; }
.mc-instruct-input::placeholder { color: var(--v2-faint); }
.mc-remember { display: inline-flex; align-items: center; gap: 6px; color: var(--v2-muted); font-size: 11.5px; cursor: pointer; }
.mc-remember input { accent-color: var(--v2-ink); }
.mc-confirm { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 12px; padding: 10px 12px; background: #fff; border: 1px solid var(--v2-hairline); border-radius: 12px; font-size: 13px; color: var(--v2-ink); }
.mc-confirm span { flex: 1 1 200px; }
.mc-confirm .mc-instruct-input { flex: 1 1 200px; padding: 4px 0; }
.mc-acts .v2-act { display: inline-flex; align-items: center; gap: 5px; min-height: 30px; padding: 4px 13px; font-size: 12px; }

/* editing */
.mc-edit-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.mc-field { display: grid; gap: 4px; min-width: 0; }
.mc-field > span { color: var(--v2-faint); font-family: var(--v2-mono); font-size: 10px; letter-spacing: .08em; text-transform: uppercase; }
.mc-field input, .mc-field textarea, .mc-field select { width: 100%; padding: 8px 11px; color: var(--v2-ink); background: #fff; border: 1px solid var(--v2-hairline); border-radius: 10px; font-size: 13px; line-height: 1.5; outline: none; transition: border-color .15s ease, box-shadow .15s ease; }
.mc-field textarea { resize: vertical; font-family: var(--v2-sans); }
.mc-field input:focus, .mc-field textarea:focus, .mc-field select:focus { border-color: var(--v2-faint); box-shadow: 0 0 0 3px rgba(17, 17, 17, .04); }
.mc-field--wide { grid-column: 1 / -1; }
.mc-field--check { display: flex; align-items: center; gap: 8px; align-self: end; color: var(--v2-body); font-size: 12.5px; }
.mc-field--check input { width: auto; accent-color: var(--v2-ink); }
.mc-ask-panel { margin: 12px 0 16px; padding: 16px 18px; }
.mc-ask-panel .mc-acts { margin-top: 12px; }

/* ---------- composer + transcript ---------- */

.mc-composer-wrap { flex: none; }
.mc-page--with-composer .mc-composer-wrap { position: sticky; bottom: 0; z-index: 15; margin: 28px -26px 0; }
.mc-composer { background: rgba(255, 250, 240, .94); backdrop-filter: blur(10px); }
.mc-transcript { max-width: 760px; margin: 0 auto; padding: 0 20px; }
.mc-transcript-head { display: flex; align-items: center; justify-content: space-between; padding: 8px 0 4px; }
.mc-transcript-log { display: grid; gap: 10px; max-height: 38vh; overflow-y: auto; padding: 10px 14px 12px; background: var(--card); border: 1px solid var(--line); border-radius: var(--radius-lg) var(--radius-lg) 0 0; border-bottom: 0; box-shadow: var(--shadow-md); }
.mc-turn { font-size: 13.5px; line-height: 1.55; color: var(--body); }
.mc-turn--user { color: var(--muted); }
.mc-turn--assistant { color: var(--ink); }
.mc-turn--busy { color: var(--faint); font-style: italic; }
.mc-turn-who { display: inline-block; margin-right: 8px; color: var(--faint); font-family: var(--mono); font-size: 9.5px; letter-spacing: .08em; text-transform: uppercase; vertical-align: 1px; }
.mc-turn-text { display: inline; white-space: pre-wrap; }

/* ---------- thread ---------- */

.mc-thread-head h1 { font-size: 24px; }
.mc-thread-people { display: flex; flex-wrap: wrap; gap: 6px; margin: 10px 0 8px; }
.mc-messages { display: grid; gap: 10px; }
.mc-message { padding: 14px 16px; background: var(--card); border: 1px solid var(--line); border-radius: var(--radius-lg); }
.mc-message--me { background: var(--clay-teal-soft); border-color: #c4ddd2; }
.mc-message-head { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; margin-bottom: 8px; }
.mc-message-to { color: var(--muted); font-size: 12px; }
.mc-message-time { margin-left: auto; color: var(--faint); font-family: var(--mono); font-size: 10.5px; }
.mc-message-body { color: var(--ink); font-size: 13.5px; line-height: 1.6; white-space: pre-wrap; overflow-wrap: anywhere; }

/* ---------- calendar ---------- */

.mc-cal-grid { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(280px, .8fr); gap: 14px; margin-top: 4px; }
.mc-day { margin-bottom: 18px; }
.mc-day-title { margin: 0 0 8px; color: var(--ink); font-family: var(--display); font-size: 15px; font-weight: 600; letter-spacing: -.01em; }
.mc-day-events { display: grid; gap: 8px; }
.mc-event { display: grid; grid-template-columns: 74px 1fr auto; align-items: center; gap: 12px; padding: 12px 14px; background: var(--card); border: 1px solid var(--line); border-radius: var(--radius-md); box-shadow: var(--shadow-sm); }
.mc-event-time { display: grid; gap: 2px; font-family: var(--mono); }
.mc-event-time b { color: var(--ink); font-size: 12.5px; font-weight: 500; }
.mc-event-time span { color: var(--faint); font-size: 10.5px; }
.mc-event-main { min-width: 0; display: grid; gap: 5px; }
.mc-event-title { color: var(--ink); font-size: 13.5px; font-weight: 600; }
.mc-event-attendees { display: flex; flex-wrap: wrap; gap: 5px; }
.mc-event-attendees .clay-badge { font-size: 11px; padding: 2px 9px; }
.mc-declined { text-decoration: line-through; opacity: .6; }
.mc-event-side { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.mc-cal-side { display: grid; gap: 12px; align-content: start; }
.mc-slot-list { display: flex; flex-wrap: wrap; gap: 6px; padding: 0 18px 16px; }
.mc-book-form { display: grid; gap: 10px; padding: 0 18px 16px; }
.mc-book-form .button { justify-self: start; }

/* ---------- people ---------- */

.mc-person-grid { grid-template-columns: 1fr 1fr; margin-bottom: 6px; }
.mc-person-grid .mc-panel-body { padding-top: 2px; }
.company-heading__identity p i { display: inline-block; }

/* ---------- knowledge ---------- */

.mc-kb-layout { display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: 14px; align-items: start; margin-top: 6px; }
.mc-kb-tree { max-height: calc(100vh - 220px); overflow-y: auto; padding: 8px 6px; background: var(--sidebar); border: 1px solid var(--line); border-radius: var(--radius-lg); }
.mc-kb-section { margin-bottom: 10px; }
.mc-kb-section .nav-label { margin-top: 8px; }
.mc-kb-item { display: flex; width: 100%; align-items: center; gap: 6px; padding: 6px 9px; color: var(--body); border-radius: 8px; font-size: 12.5px; text-align: left; transition: background .15s ease, color .15s ease; }
.mc-kb-item span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mc-kb-item:hover { color: var(--ink); background: #f5f0e0; }
.mc-kb-item.is-active { color: var(--ink); background: #ebe6d6; font-weight: 600; }
.mc-kb-reader { min-height: 420px; padding: 22px 26px 30px; }
.mc-kb-reader .mc-empty { margin: 40px auto; max-width: 440px; }
.mc-kb-reader-head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 8px; margin-bottom: 14px; padding-bottom: 10px; border-bottom: 1px solid var(--line-soft); }
.mc-kb-reader-head .reader-breadcrumb { margin: 0; font-size: 10.5px; }
.mc-hits { margin-bottom: 14px; }
.mc-hit-list { display: grid; gap: 4px; padding: 0 12px 12px; }
.mc-hit { display: grid; gap: 3px; padding: 9px 10px; border-radius: 10px; text-align: left; transition: background .15s ease; }
.mc-hit:hover { background: #f5f0e0; }
.mc-hit strong { color: var(--ink); font-size: 13px; }
.mc-hit-path { color: var(--faint); font-family: var(--mono); font-size: 10.5px; }
.mc-hit-excerpt { color: var(--muted); font-size: 12.5px; line-height: 1.45; }

/* markdown */
.mc-md { color: var(--body); font-size: 14px; line-height: 1.65; }
.mc-md > :first-child { margin-top: 0; }
.mc-md h1, .mc-md h2, .mc-md h3, .mc-md h4 { margin: 20px 0 8px; color: var(--ink); font-family: var(--display); font-weight: 600; letter-spacing: -.015em; line-height: 1.25; }
.mc-md h1 { font-size: 24px; } .mc-md h2 { font-size: 18px; } .mc-md h3 { font-size: 15px; } .mc-md h4 { font-size: 13.5px; }
.mc-md p { margin: 0 0 10px; }
.mc-md ul, .mc-md ol { margin: 0 0 10px; padding-left: 22px; }
.mc-md li { margin: 3px 0; }
.mc-md a { color: #1e5347; text-decoration: underline; text-underline-offset: 2px; text-decoration-color: #c4ddd2; }
.mc-md a:hover { color: var(--ink); }
.mc-md blockquote { margin: 10px 0; padding: 8px 14px; color: var(--muted); background: var(--sidebar); border-left: 2px solid var(--green); border-radius: 0 8px 8px 0; }
.mc-md code { padding: 1px 5px; background: var(--clay-surface-card); border-radius: 5px; font-family: var(--mono); font-size: .9em; }
.mc-md pre { padding: 12px 14px; overflow-x: auto; background: var(--clay-surface-card); border-radius: 10px; }
.mc-md pre code { padding: 0; background: none; }
.mc-md table { width: 100%; margin: 10px 0; border-collapse: collapse; font-size: 13px; }
.mc-md th, .mc-md td { padding: 6px 10px; border-bottom: 1px solid var(--line-soft); text-align: left; vertical-align: top; }
.mc-md th { color: var(--muted); font-family: var(--mono); font-size: 10.5px; letter-spacing: .06em; text-transform: uppercase; }
.mc-md hr { border: 0; border-top: 1px solid var(--line); margin: 16px 0; }

/* ---------- connect ---------- */

.mc-connect-grid { grid-template-columns: 1fr 1fr; margin-bottom: 12px; }
.mc-source .panel__header { align-items: center; }
.mc-source-head { display: flex; align-items: flex-start; gap: 12px; }
.mc-source-icon { display: grid; flex: none; width: 36px; height: 36px; place-items: center; color: var(--muted); background: var(--clay-surface-card); border-radius: 10px; }
.mc-source--on .mc-source-icon { color: #1e5347; background: var(--green-soft); }
.mc-runs { margin-top: 12px; font-size: 12px; }
.mc-runs summary { cursor: pointer; color: var(--muted); font-weight: 600; }
.mc-runs ul { margin: 8px 0 0; padding: 0; list-style: none; display: grid; gap: 6px; color: var(--muted); }
.mc-caps { margin: 0 0 12px; padding: 0; list-style: none; display: grid; gap: 8px; }
.mc-cap { display: flex; align-items: flex-start; gap: 8px; color: var(--faint); }
.mc-cap svg { flex: none; margin-top: 3px; }
.mc-cap--on { color: #1e5347; }
.mc-cap strong { display: block; color: var(--ink); font-size: 12.5px; font-weight: 600; }
.mc-cap small { display: block; color: var(--muted); font-size: 11.5px; line-height: 1.45; }
.mc-code { display: inline-block; margin: 4px 0 8px; padding: 8px 12px; color: var(--ink); background: var(--clay-surface-card); border-radius: 8px; font-family: var(--mono); font-size: 13px; }

/* ---------- login ---------- */

.mc-login { display: grid; min-height: 100vh; min-height: 100dvh; place-items: center; padding: 24px; background: var(--canvas); }
.mc-login-card { display: grid; gap: 16px; width: min(420px, 100%); padding: 32px 30px; background: var(--card); border: 1px solid var(--line); border-radius: var(--radius-xl); box-shadow: var(--shadow-md); }
.mc-login-card h1 { font-size: 24px; }
.mc-login-card .button { justify-self: start; }

/* ---------- responsive ---------- */

@media (max-width: 1040px) {
  .mc-cal-grid, .mc-person-grid, .mc-connect-grid { grid-template-columns: 1fr; }
  .mc-kb-layout { grid-template-columns: 220px minmax(0, 1fr); }
}
@media (max-width: 760px) {
  body { overflow: auto; }
  .mc-today-app { height: auto; min-height: calc(100vh - 55px); }
  .mc-page--with-composer .mc-composer-wrap { margin-left: -13px; margin-right: -13px; }
  .mc-search { width: 100%; }
  .mc-edit-grid { grid-template-columns: 1fr; }
  .mc-event { grid-template-columns: 60px 1fr; }
  .mc-event-side { grid-column: 1 / -1; }
  .mc-kb-layout { grid-template-columns: 1fr; }
  .mc-kb-tree { max-height: 240px; }
  .mc-row-top { flex-direction: column; gap: 2px; }
  .mc-confirm span { flex-basis: 100%; }
  .mc-pending-pill span { display: none; }
}

/* Persistent conversation and the visual day overview. */
.app-frame { grid-template-columns: 194px minmax(0, 1fr); }
.app-frame:has(.mc-chat:not([hidden])) { grid-template-columns: 194px minmax(0, 1fr) 364px; }
.mc-chat { display: flex; flex-direction: column; min-width: 0; height: 100dvh; background: #fcf9f2; border-left: 1px solid var(--line); overflow: hidden; }
.mc-chat__header { display: flex; align-items: center; justify-content: space-between; gap: 8px; flex-shrink: 0; min-height: 73px; padding: 14px 17px; border-bottom: 1px solid var(--line); }
.mc-chat__identity { display: flex; align-items: center; gap: 10px; min-width: 0; text-align: left; }
.mc-chat__identity strong { display: block; font-family: var(--display); font-size: 18px; line-height: 1.2; }
.mc-chat__identity small { display: block; color: var(--muted); font-size: 10px; margin-top: 3px; }
.mc-chat__avatar { display: grid; place-items: center; width: 36px; height: 36px; flex-shrink: 0; border-radius: 12px; color: #fff; background: #285b50; }
.mc-chat__controls { display: flex; flex-shrink: 0; }
.mc-chat__controls .icon-button { width: 26px; height: 28px; }
.mc-chat__body { display: flex; flex: 1; min-height: 0; flex-direction: column; }
.mc-chat__tools { display: flex; gap: 7px; padding: 12px 18px; }
.mc-tool-pill { display: inline-flex; align-items: center; gap: 6px; font-size: 10px; padding: 5px 8px; border: 1px solid #e8dcc1; border-radius: 7px; color: #8a641c; }
.mc-tool-pill[data-ready="true"] { color: #285b50; border-color: #cbded2; background: #f0f6f0; }
.mc-tool-pill span { font-size: 9px; }
.mc-chat__log { flex: 1; min-height: 0; overflow-y: auto; overscroll-behavior: contain; padding: 8px 17px 20px; scrollbar-width: thin; }
.mc-chat__welcome { padding: 24px 3px 12px; }
.mc-chat__welcome-icon { display: grid; place-items: center; width: 56px; height: 56px; margin-bottom: 20px; border-radius: 18px; background: #e7ecdd; color: #285b50; transform: rotate(-7deg); }
.mc-chat__welcome h2 { font-family: var(--display); font-size: 28px; line-height: 1.12; letter-spacing: -.035em; max-width: 250px; }
.mc-chat__welcome p { margin: 12px 0 24px; font-size: 13px; line-height: 1.6; color: var(--muted); }
.mc-chat__welcome > small { display: block; margin-top: 20px; color: var(--muted); font-size: 10px; }
.mc-chat__starters { display: grid; gap: 9px; }
.mc-chat__starters button { display: flex; align-items: center; gap: 10px; border: 1px solid #e7dfcf; padding: 12px; border-radius: 10px; background: #fffdf8; text-align: left; font-size: 12px; }
.mc-chat__starters button span { flex: 1; }
.mc-chat__starters button:hover { border-color: #719788; background: #f1f5eb; }
.mc-chat-turn { padding-top: 18px; overflow-wrap: anywhere; }
.mc-chat-turn__who { display: block; font-size: 10px; font-weight: 700; color: var(--muted); margin-bottom: 7px; }
.mc-chat-turn--user { padding: 13px 14px; margin-top: 16px; border-radius: 14px 14px 4px 14px; background: #e8ecdf; }
.mc-chat-turn__text { font-size: 13px; line-height: 1.6; white-space: pre-wrap; }
.mc-chat-markdown { font-size: 13px; line-height: 1.65; color: var(--body); }
.mc-chat-markdown p { margin: 0 0 9px; font-size: 13px; }
.mc-chat-markdown pre { white-space: pre-wrap; overflow-wrap: anywhere; font-size: 12px; padding: 12px; border-radius: 10px; background: #fff; border: 1px solid var(--line); }
.mc-chat-markdown ul, .mc-chat-markdown ol { padding-left: 18px; }
.mc-chat-markdown table { display: block; overflow-x: auto; font-size: 11px; }
.mc-chat__showing { display: inline-flex; align-items: center; gap: 5px; max-width: 100%; margin: 5px 0 8px; color: #285b50; font-size: 11px; text-decoration: underline; text-underline-offset: 3px; }
.mc-next-action { margin-top: 12px; padding: 15px; border: 1px solid #ccdbcc; border-radius: 14px; background: #f1f5ec; }
.mc-next-action[data-availability="connect"], .mc-next-action[data-availability="unknown"], .mc-next-action[data-availability="unsupported"] { background: #faf2df; border-color: #e8d7ac; }
.mc-next-action__eyebrow { display: flex; align-items: center; gap: 7px; color: #356450; font-size: 9px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.mc-next-action h3 { margin-top: 10px; font-family: var(--display); font-size: 18px; line-height: 1.2; letter-spacing: -.02em; }
.mc-next-action p { margin: 8px 0 0; font-size: 12px; line-height: 1.55; color: var(--muted); }
.mc-next-action__state { display: flex; align-items: center; gap: 6px; margin-top: 13px; font-size: 10px; color: #356450; }
.mc-state-dot { flex-shrink: 0; width: 5px; height: 5px; border-radius: 50%; background: currentColor; }
.mc-next-action[data-availability="connect"] .mc-next-action__state, .mc-next-action[data-availability="unknown"] .mc-next-action__state, .mc-next-action[data-availability="unsupported"] .mc-next-action__state { color: #88661f; }
.mc-next-action p.mc-next-action__detail { font-size: 11px; }
.mc-next-action__buttons { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-top: 14px; }
.mc-chat-cta { display: inline-flex; align-items: center; justify-content: center; gap: 9px; padding: 9px 12px; color: white; background: #285b50; border-radius: 8px; font-size: 11px; font-weight: 600; }
.mc-chat-connect { font-size: 11px; text-decoration: underline; text-underline-offset: 3px; }
.mc-chat__thinking { display: flex; align-items: center; gap: 4px; padding: 20px 0; color: var(--muted); }
.mc-chat__thinking > span { width: 5px; height: 5px; border-radius: 50%; background: #719788; animation: mc-think 1.2s ease-in-out infinite; }
.mc-chat__thinking > span:nth-child(2) { animation-delay: .15s; }
.mc-chat__thinking > span:nth-child(3) { animation-delay: .3s; }
.mc-chat__thinking small { font-size: 11px; margin-left: 7px; }
@keyframes mc-think { 50% { opacity: .3; transform: translateY(-3px); } }
.mc-chat__error { margin: 14px 0; padding: 12px; border: 1px solid #e8c4b6; background: #fff0e9; border-radius: 10px; font-size: 12px; }
.mc-chat__error button { margin-top: 7px; text-decoration: underline; }
.mc-chat__form { margin: 0 14px; padding: 12px; border: 1px solid #d5d6c5; border-radius: 14px; background: #fffefb; flex-shrink: 0; box-shadow: 0 4px 12px #1d352309; }
.mc-chat__form:focus-within { border-color: #719788; box-shadow: 0 0 0 2px #71978820; }
.mc-chat__form textarea { display: block; width: 100%; resize: none; border: 0; outline: 0; background: transparent; font: inherit; font-size: 13px; line-height: 1.55; color: var(--ink); min-height: 48px; max-height: 140px; }
.mc-chat__form textarea::placeholder { color: #8b8c80; }
.mc-chat__form-actions { display: flex; gap: 8px; align-items: center; margin-top: 9px; }
.mc-chat__form-actions > small { flex: 1; font-size: 9px; color: var(--faint); }
.mc-chat__mic { display: inline-flex; align-items: center; gap: 4px; font-size: 11px; color: #4d6f5c; }
.mc-chat__send { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 9px; background: #285b50; color: white; }
.mc-chat button:disabled { opacity: .45; cursor: default; }
.mc-chat__footnote { padding: 10px 12px 13px; font-size: 9px; text-align: center; color: var(--muted); }
.mc-chat--collapsed .mc-chat__body, .mc-chat--collapsed .mc-chat__identity > span:nth-child(2), .mc-chat--collapsed .mc-chat__controls { display: none; }
.mc-chat--collapsed .mc-chat__header { padding: 18px 15px; }
.mc-today { max-width: 870px; padding: 28px 28px 40px; }
.mc-today .v2-today-headline { font-size: clamp(28px, 2.8vw, 38px); line-height: 1.1; margin-bottom: 10px; }
.mc-today-lede { font-size: 12px; color: var(--muted); margin-bottom: 22px; }
.mc-day-overview { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin-bottom: 20px; }
.mc-day-stat { display: grid; grid-template-columns: 1fr auto; gap: 8px; padding: 15px; border: 1px solid #e7dcc0; border-radius: 15px; background: #f3ecda; color: #766223; }
.mc-day-stat strong { font-family: var(--display); font-size: 32px; line-height: 1; color: var(--ink); }
.mc-day-stat span { grid-column: 1 / -1; font-size: 11px; color: var(--body); }
.mc-day-stat--urgent { background: #ffebe2; border-color: #f5d5c5; color: #bb5739; }
.mc-day-stat--calendar { background: #ebe8f2; border-color: #dcd6e9; color: #796398; }
.mc-move-prompt { display: flex; width: 100%; align-items: center; gap: 13px; padding: 17px; text-align: left; background: #102d28; color: white; border-radius: 15px; margin-bottom: 20px; }
.mc-move-prompt > span { flex: 1; }
.mc-move-prompt strong { display: block; font-size: 13px; }
.mc-move-prompt small { display: block; margin-top: 5px; font-size: 10px; color: #b8c9bd; }
.mc-stack-heading { display: flex; align-items: center; justify-content: space-between; margin: 22px 0 12px; }
.mc-stack-heading h2 { font-family: var(--display); font-size: 21px; }
.mc-stack-heading a { display: inline-flex; align-items: center; gap: 5px; font-size: 11px; color: var(--muted); }
.mc-kind { display: inline-flex; align-items: center; gap: 5px; }
.mc-card-quick { display: flex; align-items: center; gap: 16px; margin-top: 14px; }
.mc-card-quick button { display: inline-flex; align-items: center; gap: 6px; font-size: 11px; color: #345e4d; font-weight: 600; }
.mc-card-quick button:first-child { padding: 7px 10px; border: 1px solid #00000013; border-radius: 7px; background: #ffffff60; color: var(--ink); }
.mc-today .v2-acard { padding: 17px 18px; border-radius: 17px; }
.mc-today .v2-acard-ev { font-size: 12px; line-height: 1.5; }
.mc-today .v2-acard-hl { font-size: 16px; line-height: 1.3; }
.mc-today .v2-acard-krow-right > span:first-child { display: none; }
.mc-today .v2-acard-krow { flex-wrap: wrap; row-gap: 7px; }
.mc-today .v2-acard-krow-right { margin-left: auto; }
.mc-today .mc-strip { margin-bottom: 10px; }
/* The page scrolls independently; the conversation never gets pushed below it. */
.mc-today-app { height: auto; overflow: visible; }
.mc-today-app .v2-shell-scroll { overflow: visible; }
@media (max-width: 1180px) and (min-width: 901px) {
  .app-frame { grid-template-columns: 162px minmax(0, 1fr); }
  .app-frame:has(.mc-chat:not([hidden])) { grid-template-columns: 162px minmax(0, 1fr) 330px; }
  .mc-today { padding: 24px 18px; }
  .mc-day-stat { padding: 12px; }
  .topbar__eyebrow, .topbar__divider { display: none; }
  .mc-chat__identity small { font-size: 9px; }
  .mc-chat__form-actions > small { display: none; }
}
@media (max-width: 900px) {
  body { overflow: hidden; }
  .app-frame, .app-frame:has(.mc-chat--collapsed) { display: flex; flex-direction: column; height: 100dvh; min-height: 0; }
  .workspace { flex: 1; height: auto; min-height: 0; overflow-y: auto; }
  .sidebar { position: fixed; inset: 0 auto 0 0; width: 250px; transform: translateX(-102%); box-shadow: 15px 0 40px #1a14052e; }
  .sidebar--open { transform: translateX(0); }
  .sidebar .sidebar__close, .topbar .mobile-menu { display: inline-grid; }
  .mobile-backdrop { position: fixed; inset: 0; z-index: 29; display: block; background: #1a140559; }
  .mc-chat { height: 48dvh; flex-shrink: 0; border-left: 0; border-top: 1px solid #d8d7c4; box-shadow: 0 -5px 25px #102d280a; padding-bottom: env(safe-area-inset-bottom); }
  .mc-chat__header { min-height: 48px; padding: 7px 14px; }
  .mc-chat__avatar { width: 28px; height: 28px; border-radius: 9px; }
  .mc-chat__identity strong { font-size: 15px; }
  .mc-chat__identity small { display: none; }
  .mc-chat__tools { position: absolute; right: 90px; padding: 12px 0; transform: translateY(-48px); gap: 4px; }
  .mc-tool-pill { font-size: 9px; padding: 4px; }
  .mc-tool-pill span { font-size: 8px; }
  .mc-chat__form { margin: 0 10px; padding: 8px 10px; }
  .mc-chat__form textarea { min-height: 24px; height: 26px; font-size: 16px; }
  .mc-chat__form-actions { margin-top: 5px; }
  .mc-chat__footnote { padding: 4px; font-size: 8px; }
  .mc-chat__welcome { padding: 4px 0 12px; }
  .mc-chat__welcome-icon, .mc-chat__welcome > p, .mc-chat__welcome > small { display: none; }
  .mc-chat__welcome h2 { font-size: 20px; max-width: none; margin: 0 0 12px; }
  .mc-chat__starters { gap: 6px; }
  .mc-chat__starters button { padding: 9px 10px; }
  .mc-chat--collapsed { height: 52px; }
  .mc-chat--collapsed .mc-chat__header { padding: 8px 14px; }
  .mc-chat--collapsed .mc-chat__identity > span:nth-child(2), .mc-chat--collapsed .mc-chat__controls { display: flex; }
  .mc-chat--collapsed .mc-chat__controls > button:not(:last-child) { display: none; }
  .mc-chat--collapsed .mc-chat__controls svg { transform: rotate(180deg); }
  .mc-today { padding: 20px 16px 28px; }
  .mc-today-lede { font-size: 11px; }
  .mc-day-overview { gap: 7px; }
  .mc-day-stat { padding: 11px; }
  .mc-day-stat strong { font-size: 28px; }
  .mc-day-stat span { font-size: 10px; }
  .mc-today .v2-acard { padding: 14px; }
  .mc-today-app, .v2-app--embedded { height: auto; }
  .page-shell { padding-bottom: 30px; }
}
@media (prefers-reduced-motion: reduce) { .mc-chat__thinking > span { animation: none; } }
.mc-chat__details summary { cursor: pointer; font-size: 11px; color: #356450; margin: 10px 0; }
/* The default voice dock sits over the workspace, keeping the chat rail readable. */
@media (min-width: 1181px) { body:has(.mc-chat:not(.mc-chat--collapsed)) .v2-vm { right: 380px; } }
@media (min-width: 901px) and (max-width: 1180px) { body:has(.mc-chat:not(.mc-chat--collapsed)) .v2-vm { right: 346px; } }

/* A small mobile composer leaves the answer's page in view. History can expand. */
.mc-chat__expand { display: none; }
.mc-chat__preview { display: block; font-size: 13px; line-height: 1.5; color: #243e34; }
.mc-chat__read-more { display: block; margin-top: 5px; }
.mc-chat__details[open] .mc-chat__preview { display: none; }
.mc-calendar-ranges { display: flex; gap: 8px; flex-wrap: wrap; margin: 0 0 20px; }
@media (max-width: 900px) {
  .mc-chat { height: min(200px, 28dvh); }
  .mc-chat--expanded { height: 65dvh; }
  .mc-chat--collapsed { height: 52px; }
  .mc-chat__expand { display: inline-grid; }
  .mc-chat--collapsed .mc-chat__expand { display: none; }
  .mc-chat__header { min-height: 40px; padding: 3px 12px; }
  .mc-chat__tools, .mc-chat__footnote { display: none; }
  .mc-chat__log { padding: 3px 12px 8px; }
  .mc-chat-turn { margin-bottom: 10px; }
  .mc-chat-turn__who { display: none; }
  .mc-chat-turn__text, .mc-chat-markdown { font-size: 12px; line-height: 1.45; }
  .mc-chat__form { display: flex; align-items: flex-end; gap: 6px; margin: 0 8px 8px; padding: 5px 8px; flex-shrink: 0; }
  .mc-chat__form textarea { flex: 1; min-width: 0; min-height: 32px; height: 32px; padding-top: 5px; }
  .mc-chat__form:focus-within textarea { height: 50px; }
  .mc-chat__form-actions { margin: 0; gap: 6px; }
  .mc-chat .mc-chat__form-actions > small { display: none; }
  .mc-chat__mic { font-size: 0; gap: 0; padding: 8px; }
  .mc-chat__welcome h2 { display: none; }
  .mc-chat__starters { display: flex; overflow-x: auto; }
  .mc-chat__starters button { flex-shrink: 0; font-size: 11px; }
  .mc-chat__starters button > svg:last-child { display: none; }
  .mc-next-action { padding: 9px; }
  .mc-next-action__eyebrow { display: none; }
  .mc-next-action h3 { font-size: 13px; }
}

/* Voice is the front door; text opens only when requested. */
.mc-chat[hidden] { display: none; }
.app-frame:has(.mc-assistant-launcher) .main-content { padding-bottom: calc(164px + env(safe-area-inset-bottom, 0px)); }
.mc-assistant-launcher { position: fixed; z-index: 25; left: calc(50% + 97px); bottom: calc(20px + env(safe-area-inset-bottom, 0px)); transform: translateX(-50%); display: flex; flex-direction: column; align-items: center; gap: 7px; max-width: calc(100vw - 32px); }
.mc-assistant-launcher__type { display: inline-flex; align-items: center; justify-content: center; gap: 7px; min-height: 44px; padding: 0 17px; border: 1px solid #e5dfd0; border-radius: 999px; background: #fcf9f2; color: #456155; font-size: 12px; box-shadow: 0 3px 12px #102d2809; }
.mc-assistant-launcher__type:hover { background: #f0f3e9; }
.mc-assistant-launcher__type:focus-visible { outline: 2px solid #356450; outline-offset: 3px; }
@media (min-width: 901px) and (max-width: 1180px) { .mc-assistant-launcher { left: calc(50% + 81px); } }
@media (max-width: 900px) { .mc-assistant-launcher { left: 50%; bottom: calc(16px + env(safe-area-inset-bottom, 0px)); } }

.loresis-welcome { min-height: 100dvh; background: #f6f5ef; color: #26372f; padding: 32px max(24px, calc((100vw - 1120px) / 2)); }
.loresis-welcome__nav { display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.loresis-welcome__nav .brand-mark { font-size: 24px; }
.loresis-welcome__hero { max-width: 790px; padding: 72px 0 56px; }
.loresis-welcome h1 { font-family: Georgia, serif; font-size: clamp(42px, 5.3vw, 68px); line-height: 1.08; font-weight: 400; letter-spacing: -.04em; margin: 20px 0; }
.loresis-welcome__hero p { max-width: 650px; font-size: 17px; line-height: 1.7; color: #58655b; margin-bottom: 26px; }
.loresis-welcome .button--primary { background: #314a36; border-color: #314a36; color: #fff; padding: 14px 20px; }
.loresis-welcome__steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 30px; border-top: 1px solid #d6dfd2; padding: 32px 0; }
.loresis-welcome__steps h2 { font-family: Georgia, serif; font-size: 25px; line-height: 1.25; font-weight: 400; margin: 14px 0; }
.loresis-welcome__steps p, .loresis-welcome__footer { font-size: 14px; line-height: 1.7; color: #58655b; }
.loresis-welcome__footer { border-top: 1px solid #d6dfd2; padding: 20px 0; display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 16px; }
.loresis-welcome__footer p { margin: 0; }
.loresis-welcome__footer nav { display: flex; flex-wrap: wrap; gap: 22px; }
.loresis-welcome__footer a { text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 760px) { .loresis-welcome__hero { padding: 44px 0; }.loresis-welcome__steps { grid-template-columns: 1fr; gap: 24px; } }
.loresis-login { min-height: 100dvh; display: grid; grid-template-columns: 1.15fr 1fr; background: #f6f5ef; color: #26372f; }
.loresis-login__story { padding: 42px 64px 32px; display: flex; flex-direction: column; background: #e7eee3; }
.loresis-login__story .brand-mark { font-size: 24px; }
.loresis-login__intro { max-width: 530px; margin: auto 0; padding: 70px 0 48px; }
.loresis-kicker { font-size: 11px; letter-spacing: .16em; font-weight: 700; color: #587060; }
.loresis-login h1 { font-family: Georgia, serif; font-weight: 400; font-size: clamp(52px, 5.4vw, 78px); line-height: 1.02; letter-spacing: -.045em; margin: 22px 0; }
.loresis-login__intro > p { max-width: 390px; font-size: 16px; line-height: 1.7; color: #58655b; }
.loresis-preview { margin-top: 34px; background: #f9fbf5; padding: 25px 28px; border: 1px solid #d2ddce; border-radius: 18px; box-shadow: 0 12px 30px #384a3310; }
.loresis-preview__label { color: #82907e; font-size: 9px; font-weight: 700; letter-spacing: .16em; }
.loresis-preview > div { display: grid; grid-template-columns: 34px 1fr; column-gap: 8px; margin-top: 23px; }
.loresis-preview > div > span { grid-row: span 2; font-family: Georgia, serif; font-size: 20px; color: #829377; }
.loresis-preview strong { font-size: 14px; }.loresis-preview small { color: #738071; font-size: 12px; margin-top: 5px; }
.loresis-login__credit { font-size: 9px; letter-spacing: .16em; color: #758370; }
.loresis-login__entry { display: flex; align-items: center; justify-content: center; padding: 48px; }
.loresis-login__card { width: 100%; max-width: 360px; }
.loresis-login h2 { font-family: Georgia, serif; font-size: 36px; font-weight: 400; letter-spacing: -.035em; margin: 20px 0 14px; }
.loresis-login__card > p { font-size: 14px; color: #778075; line-height: 1.7; margin-bottom: 30px; }
.loresis-login__card .button { width: 100%; justify-content: center; padding: 15px; margin-bottom: 12px; font-size: 13px; border-radius: 10px; }
.loresis-login__card .button--primary { background: #314a36; border-color: #314a36; color: #fff; }
.loresis-login__card .loresis-login__trust { font-size: 11px; line-height: 1.8; margin: 18px 0 12px; }
.loresis-login__privacy { font-size: 11px; text-decoration: underline; text-underline-offset: 3px; color: #65745f; }
.loresis-login__notice, .loresis-login__card > .loresis-login__notice { font-size: 12.5px; line-height: 1.6; color: #3d5140; background: #eef3ea; border: 1px solid #dbe6d6; border-radius: 10px; padding: 11px 13px; margin: 0 0 18px; }
.mc-login-card .loresis-login__notice { margin-bottom: 16px; }
.loresis-account { display: flex; flex-direction: column; gap: 10px; padding: 0 0 16px; margin-bottom: 16px; border-bottom: 1px solid var(--line, #e3e5db); }
.loresis-account__who { display: flex; gap: 9px; align-items: center; min-width: 0; }
.loresis-account__avatar { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; background: #e7eee3; color: #445d3e; flex-shrink: 0; font-size: 13px; }
.loresis-account__signout { display: flex; align-items: center; gap: 6px; align-self: flex-start; padding: 0; font-size: 11px; color: #65745f; }
.loresis-account__signout:hover { color: #314a36; }
.loresis-account__escape { display: inline-block; font-size: 11px; color: #65745f; text-decoration: underline; text-underline-offset: 3px; padding: 0 0 16px; margin-bottom: 16px; border-bottom: 1px solid var(--line, #e3e5db); }
.loresis-account__who > div { min-width: 0; flex: 1; }.loresis-account strong, .loresis-account small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.loresis-account strong { font-size: 12px; }.loresis-account small { font-size: 10px; color: #7d8876; margin-top: 3px; }.loresis-account button { background: none; border: 0; cursor: pointer; padding: 8px; }
.loresis-data-page { max-width: 740px; margin: 60px auto; padding: 24px; line-height: 1.8; }.loresis-data-page h1 { margin-top: 48px; }.loresis-data-page h2 { margin-top: 28px; font-size: 20px; }
.mc-timezone-form { display: grid; gap: 16px; }
.mc-timezone-form select { width: 100%; min-width: 0; padding: 10px 12px; border: 1px solid var(--line, #e3e5db); border-radius: 8px; background: var(--surface, #fff); color: inherit; font: inherit; }
.mc-timezone-actions { display: flex; flex-wrap: wrap; gap: 10px; }
@media (max-width: 760px) { .loresis-login { grid-template-columns: 1fr; }.loresis-login__story { padding: 28px; }.loresis-login__intro { padding: 40px 0 25px; }.loresis-login h1 { font-size: 58px; }.loresis-preview, .loresis-login__credit { display: none; }.loresis-login__entry { padding: 40px 28px; }.loresis-login__card { max-width: none; }.loresis-login h2 { font-size: 32px; } }

/* Call notes use the same quiet panels as mail and calendar. */
.mc-notetaker { margin: 20px 0; scroll-margin-top: 24px; }
.mc-calls .page-heading { gap: 18px; flex-wrap: wrap; }
.mc-call-list { display: grid; gap: 16px; margin-bottom: 20px; }
.mc-call-row { display: flex; justify-content: space-between; align-items: start; gap: 22px; padding: 24px; color: inherit; text-decoration: none; }
.mc-call-row > div { min-width: 0; }
.mc-call-row h2 { font-size: 20px; margin: 4px 0 10px; }
.mc-call-row p { line-height: 1.6; overflow-wrap: anywhere; }
.mc-call-row .status-pill { flex-shrink: 0; }
.mc-call-summary { line-height: 1.7; font-size: 16px; }
.mc-call-summary h3 { margin: 22px 0 8px; font-size: 16px; }
.mc-call-summary ul { padding-left: 22px; }
.mc-call-share { margin: 28px 0; }
.mc-call-share > h2 { font-size: 20px; }
.mc-call-transcript { padding: 22px; margin-top: 24px; line-height: 1.7; overflow-wrap: anywhere; }
.mc-call-transcript summary { cursor: pointer; font-weight: 600; }
.mc-call-transcript time { font-size: 12px; opacity: .65; }
.mc-recent-calls { margin-bottom: 26px; }
.mc-recent-calls h2 { font-size: 18px; margin: 0; }
.mc-recent-call { display: block; color: inherit; text-decoration: none; padding: 18px 22px; margin-top: 12px; line-height: 1.6; }
.mc-recent-call p { margin: 8px 0; }
.mc-call-notice { position: fixed; top: 18px; right: 24px; z-index: 100; max-width: min(480px, calc(100vw - 32px)); display: flex; gap: 16px; padding: 16px 20px; border-radius: 16px; color: #262320; background: #edf2df; box-shadow: 0 5px 24px #0002; }
.mc-call-notice a { color: inherit; }
.mc-call-notice button { border: 0; background: transparent; cursor: pointer; font-size: 22px; }
@media (max-width: 650px) { .mc-call-row { flex-direction: column-reverse; padding: 18px; gap: 8px; } .mc-calls h1 { font-size: 30px; overflow-wrap: anywhere; } .mc-notetaker .mc-acts { align-items: stretch; } }
.mc-call-tabs { margin: 0 0 22px; }
.mc-call-announcer { position: fixed; width: 0; height: 0; z-index: 100; }
}
@font-face {
  font-family: "Space Grotesk";
  src: url("./fonts/space-grotesk.ttf") format("truetype");
  font-weight: 300 700;
  font-display: swap;
}
:root {
  --font: "Space Grotesk", sans-serif;
  --display: "Space Grotesk", sans-serif;
  --label: "Space Grotesk", sans-serif;
  --sidebar: 176px;
  --radius: 12px;
  --gap: 24px;
  --review: 44px;
  --toolbar: 60px;
}
* {
  box-sizing: border-box;
}
html {
  scroll-padding-top: 120px;
}
body {
  margin: 0;
  background: var(--bg);
  color: var(--ink);
  font: 15px/1.5 var(--font);
  -webkit-font-smoothing: antialiased;
}
button,
input,
textarea,
select {
  font: inherit;
  color: inherit;
}
button,
a,
select {
  -webkit-tap-highlight-color: transparent;
}
button {
  cursor: pointer;
}
a {
  color: inherit;
  text-decoration: none;
}
button:disabled {
  cursor: default;
  opacity: 0.65;
}
button,
a,
input,
textarea,
select,
[tabindex] {
  outline-offset: 4px;
}
:focus-visible {
  outline: 2px solid var(--accent);
}
[hidden] {
  display: none !important;
}
h1,
h2,
h3,
p {
  margin: 0;
}
h1 {
  font: 500 40px/1.15 var(--display);
  letter-spacing: -1.5px;
}
h2 {
  font-size: 21px;
  line-height: 1.3;
  font-weight: 550;
  letter-spacing: -0.5px;
}
h3 {
  font-size: 16px;
  font-weight: 600;
}
p {
  line-height: 1.7;
}
small {
  font-size: 12px;
  color: var(--muted);
}
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.skip-link {
  position: fixed;
  top: -80px;
  left: 12px;
  z-index: 100;
  background: var(--surface);
  padding: 10px;
}
.skip-link:focus {
  top: 5px;
}
.label-button {
  background: transparent;
  border: 0;
  border-radius: 8px;
  min-width: 44px;
  height: 44px;
  padding: 0 8px;
  display: grid;
  place-items: center;
  font-size: 12px;
}
.label-button:hover {
  background: var(--raised);
}
.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 44px;
  padding: 10px 16px;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  font-size: 14px;
  line-height: 1.3;
  font-weight: 500;
}
.button.primary {
  background: var(--accent);
  border-color: var(--accent);
  color: var(--accent-ink);
}
.button:hover {
  filter: brightness(1.08);
}
.button.text {
  border: 0;
  background: none;
  color: var(--accent);
  padding-inline: 0;
}
.eyebrow {
  font: 500 10px/1.5 var(--label);
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: var(--muted);
}
.small-label {
  color: var(--muted);
  font-size: 11px;
}
.status-dot {
  display: inline-block;
  height: 5px;
  width: 5px;
  background: var(--accent);
  border-radius: 50%;
}
/* The review selector is separate from the three product destinations. */
.design-review {
  height: var(--review);
  position: sticky;
  top: 0;
  z-index: 60;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 0 24px;
  background: var(--surface);
  color: var(--ink);
  border-bottom: 1px solid var(--line);
  font-family: var(--font);
}
.preview-label {
  font-size: 9px;
  letter-spacing: 1.4px;
  white-space: nowrap;
}
.preview-label span {
  letter-spacing: 0;
  color: var(--muted);
}
.design-notes-link {
  font-size: 10px;
  white-space: nowrap;
  color: var(--muted);
}
.sidebar {
  position: fixed;
  top: var(--review);
  bottom: 0;
  left: 0;
  width: var(--sidebar);
  border-right: 1px solid var(--line);
  padding: 30px 16px;
  background: var(--bg);
  z-index: 40;
}
.brand {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0 10px 44px;
  font: 600 23px var(--font);
  letter-spacing: -1px;
}
#main-nav {
  display: grid;
  gap: 8px;
}
.nav-link {
  min-height: 48px;
  padding: 12px;
  display: flex;
  align-items: center;
  gap: 10px;
  border-radius: var(--radius);
  font-size: 14px;
  color: var(--muted);
}
.nav-link:hover,
.nav-link.active {
  background: var(--raised);
  color: var(--ink);
}
.workspace {
  margin-left: var(--sidebar);
  width: calc(100% - var(--sidebar));
  min-width: 0;
}
.toolbar {
  height: var(--toolbar);
  position: sticky;
  top: var(--review);
  z-index: 30;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 0 32px;
  background: var(--bg);
  border-bottom: 1px solid var(--line);
}
.project-control {
  display: flex;
  align-items: center;
  gap: 9px;
  color: var(--muted);
}
.project-control select {
  background: transparent;
  border: 0;
  max-width: 180px;
  font-size: 13px;
  padding: 8px 24px 8px 0;
  cursor: pointer;
}
.project-control option {
  background: var(--bg);
  color: var(--ink);
}
.toolbar-actions {
  margin-left: auto;
  display: flex;
  align-items: center;
  gap: 10px;
}
.toolbar-voice {
  border-radius: 25px;
  min-height: 38px;
  padding: 8px 15px;
  color: var(--accent);
}
.account-button {
  border: 1px solid var(--line);
  border-radius: 50%;
  background: var(--raised);
  height: 31px;
  width: 31px;
  font-size: 11px;
}
.sharing-toggle[aria-pressed="true"] {
  color: var(--accent);
}
.mobile-menu,
.mobile-close {
  display: none;
}
main {
  min-height: calc(100dvh - 104px);
}
.page {
  padding: 40px 40px 56px;
  max-width: 1320px;
  margin: auto;
}
.page-heading {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  margin-bottom: 30px;
}
.page-heading h1 {
  font-size: 36px;
}
.panel {
  padding: 24px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
}
.panel-heading {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  margin-bottom: 19px;
}
.panel-heading h2 {
  font-size: 18px;
}
.panel-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-top: 18px;
}
.panel-actions .button {
  font-size: 13px;
}
.panel-actions .button.text {
  font-size: 12px;
}
/* The home screens have separate compositions, not one interchangeable hero. */
.chat-page {
  max-width: 1240px;
  margin: auto;
  padding: 32px 40px;
  min-height: calc(100dvh - 104px);
}
.greeting .eyebrow {
  display: block;
  margin-bottom: 14px;
}
.greeting h1 {
  font-size: 46px;
  line-height: 1.1;
  letter-spacing: -2px;
}
.voice-invitation {
  text-align: center;
}
.voice-primary {
  border: 0;
  background: none;
  border-radius: var(--radius);
  padding: 8px 14px;
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  color: var(--accent);
}
.voice-primary:hover {
  background: var(--glow);
}
.voice-label {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 16px;
  font-weight: 550;
}
.voice-invitation > small {
  display: block;
  font-size: 10px;
  margin-top: 5px;
}
.voice-art {
  width: 150px;
  height: 150px;
  display: grid;
  place-items: center;
  position: relative;
}
.ring {
  position: absolute;
  border: 1px solid var(--accent);
  border-radius: 50%;
}
.ring.one {
  inset: 0;
  border-style: dashed;
  opacity: 0.35;
}
.ring.two {
  inset: 10px;
  border-width: 2px;
  border-bottom-color: transparent;
  transform: rotate(-25deg);
}
.ring.three {
  inset: 24px;
  border-color: var(--line);
}
.core {
  position: absolute;
  inset: 34px;
  border: 1px solid var(--accent);
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: radial-gradient(at 30% 20%, var(--raised), var(--surface));
  box-shadow: 0 0 38px var(--glow);
}
.composer {
  display: flex;
  align-items: flex-end;
  gap: 12px;
  padding: 15px 16px;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  width: 100%;
  box-shadow: 0 12px 35px var(--shadow-soft);
}
.composer:focus-within {
  border-color: var(--accent);
}
.composer textarea {
  border: 0;
  background: none;
  resize: none;
  outline: 0;
  width: 100%;
  min-height: 48px;
  max-height: 160px;
  padding: 8px 0;
  font-size: 16px;
  line-height: 1.6;
}
.composer textarea::placeholder {
  color: var(--muted);
}
.input-actions {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-shrink: 0;
}
.input-hint {
  font-size: 11px;
  color: var(--muted);
  white-space: nowrap;
}
.send-button {
  height: 44px;
  min-width: 64px;
  padding: 0 16px;
  display: grid;
  place-items: center;
  border: 0;
  border-radius: 9px;
  background: var(--accent);
  color: var(--accent-ink);
}
.quick-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.button.quick {
  background: none;
  border-color: transparent;
  color: var(--muted);
  font-size: 12px;
  min-height: 40px;
  padding: 9px 12px;
}
.button.quick:hover {
  background: var(--raised);
  color: var(--ink);
}
.entry {
  width: 100%;
  max-width: 660px;
}
.entry .quick-actions {
  justify-content: center;
  margin-top: 12px;
}
.next-step {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 16px 0;
  border-top: 1px solid var(--line);
  font-size: 13px;
}
.next-step > span {
  display: flex;
  align-items: center;
  gap: 10px;
}
.next-step .button {
  font-size: 12px;
}
.orbit-home {
  max-width: 940px;
  display: flex;
  flex-direction: column;
  padding-top: 26px;
  padding-bottom: 16px;
}
.orbit-center {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 20px;
  text-align: center;
  padding-bottom: 24px;
}
.orbit-center .greeting h1 {
  font-size: 44px;
}
.orbit-home .entry {
  max-width: 650px;
}
.orbit-home .voice-art {
  background: radial-gradient(var(--glow), transparent 68%);
}
.conversation-welcome {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-width: 0;
}
.speaker {
  display: block;
  font-size: 11px;
  font-weight: 650;
  color: var(--accent);
  margin-bottom: 10px;
}
.simple .voice-primary {
  flex-direction: row;
  border: 1px solid var(--line);
  padding: 12px 17px;
  background: var(--raised);
  border-radius: 30px;
  gap: 12px;
}
.simple .voice-art {
  width: 24px;
  height: 24px;
}
.simple .ring {
  display: none;
}
.simple .core {
  inset: 0;
  border: 0;
  box-shadow: none;
  background: none;
}
.simple .voice-label {
  font-size: 15px;
}
.simple > small {
  display: inline-block;
  margin-left: 12px;
  font-size: 10px;
}
.with-history {
  display: flex;
  flex-direction: column;
  max-width: 900px;
  padding: 30px 40px 20px;
}
.chat-heading {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 24px;
}
.chat-heading h1 {
  font-size: 28px;
}
.chat-heading .button {
  font-size: 13px;
}
.conversation-body {
  flex: 1;
}
.message {
  margin-bottom: 24px;
  max-width: 100%;
  min-width: 0;
  overflow-wrap: anywhere;
}
.message.user {
  background: var(--raised);
  border-radius: var(--radius);
  padding: 12px 18px;
  margin-left: auto;
  width: fit-content;
  max-width: 85%;
}
.message > p {
  font-size: 16px;
  margin-bottom: 15px;
}
.message .panel,
.message .result-card {
  max-width: 660px;
}
.conversation-input {
  position: sticky;
  bottom: 12px;
  background: var(--bg);
  padding-top: 14px;
  z-index: 15;
}
.conversation-input .composer {
  min-height: 86px;
}
.result-card {
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
  padding: 24px;
}
.result-card h2 {
  margin: 12px 0;
}
.result-card ul {
  padding-left: 20px;
  line-height: 1.9;
  margin-bottom: 10px;
}
.brief-result > p {
  margin-bottom: 16px;
}
/* Dashboard: each system prioritizes and arranges the same usable content differently. */
.dashboard-orbit {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(270px, 1fr);
  gap: 24px;
  align-items: start;
}
.dashboard-views {
  grid-column: 1/-1;
}
.dashboard-orbit .view-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
}
.dashboard-orbit .saved-views {
  background: transparent;
}
.draft-panel h2 {
  margin-bottom: 8px;
}
.draft-recipient {
  font-size: 12px;
  color: var(--muted);
}
.draft-text {
  width: 100%;
  min-height: 194px;
  resize: vertical;
  border: 1px solid var(--line);
  border-radius: 6px;
  padding: 16px;
  background: var(--bg);
  font-size: 14px;
  line-height: 1.7;
  margin-top: 20px;
}
.draft-text:focus {
  border-color: var(--accent);
  outline: none;
}
.action-note {
  display: block;
  font-size: 10px;
  margin-top: 10px;
  text-align: right;
}
.event-row {
  display: flex;
  align-items: center;
  gap: 18px;
  text-align: left;
  background: none;
  border: 0;
  border-bottom: 1px solid var(--line);
  padding: 20px 0;
  width: 100%;
}
.event-row:last-child {
  border-bottom: 0;
}
.event-time {
  font-size: 19px;
  font-weight: 500;
  color: var(--accent);
}
.event-row strong {
  font-size: 13px;
  display: block;
  font-weight: 500;
}
.event-row small {
  display: block;
  font-size: 11px;
  margin-top: 5px;
}
.event-row > span:last-child {
  margin-left: auto;
  color: var(--muted);
}
.view-card {
  display: flex;
  width: 100%;
  align-items: center;
  gap: 14px;
  text-align: left;
  border: 0;
  border-bottom: 1px solid var(--line);
  background: none;
  padding: 18px 0;
}
.view-card:last-child {
  border-bottom: 0;
}
.view-card strong {
  display: block;
  font-size: 14px;
  font-weight: 500;
  overflow-wrap: anywhere;
}
.view-card small {
  display: block;
  font-size: 12px;
  margin-top: 5px;
  overflow-wrap: anywhere;
}
.notice-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  grid-column: 1/-1;
  font-size: 13px;
  padding: 6px 0;
  color: var(--muted);
}
.notice-row > span {
  display: flex;
  align-items: center;
  gap: 10px;
}
.notice-row > div {
  display: flex;
  gap: 20px;
}
.notice-row .button {
  font-size: 12px;
}
.health-panel h2 {
  margin: 12px 0;
}
.health-chart {
  display: flex;
  align-items: end;
  gap: 15px;
  height: 160px;
  margin: 30px 0;
}
.health-chart > div {
  flex: 1;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: end;
  text-align: center;
  gap: 8px;
}
.health-chart i {
  background: var(--accent);
  opacity: 0.65;
  border-radius: 5px 5px 0 0;
  min-height: 10px;
}
.health-chart span {
  font-size: 11px;
  color: var(--muted);
}
.personal-panel h2 {
  margin: 12px 0 20px;
}
.personal-panel p {
  font-size: 14px;
  color: var(--muted);
}
.empty-line {
  font-size: 14px;
  color: var(--muted);
  padding: 16px 0;
}
/* Instructions: large cards, reading list, aligned table, or plain checklist. */
.instructions-page {
  max-width: 1180px;
}
.instruction-intro {
  margin-bottom: 24px;
}
.instruction-intro h2 {
  font-size: 22px;
  margin-bottom: 8px;
}
.instruction-intro p {
  color: var(--muted);
  font-size: 14px;
}
.instruction-form {
  border: 1px solid var(--line);
  background: var(--surface);
  padding: 16px;
  border-radius: var(--radius);
  margin-bottom: 28px;
}
.instruction-form > input {
  border: 0;
  background: none;
  width: 100%;
  padding: 10px 0 17px;
  font-size: 16px;
  outline: none;
}
.instruction-form:focus-within {
  border-color: var(--accent);
}
.instruction-form-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.instruction-form select {
  background: var(--raised);
  border: 1px solid var(--line);
  padding: 8px 10px;
  border-radius: 6px;
  font-size: 12px;
  max-width: 190px;
}
.instruction-form .button {
  font-size: 13px;
}
.instruction-list {
  display: grid;
  gap: 0;
}
.instruction-row {
  display: flex;
  align-items: center;
  gap: 16px;
  border-bottom: 1px solid var(--line);
  padding: 23px 0;
  min-width: 0;
}
.instruction-index {
  font: 11px var(--label);
  color: var(--muted);
}
.instruction-copy {
  flex: 1;
  min-width: 0;
}
.instruction-copy strong {
  display: block;
  font-size: 15px;
  font-weight: 500;
  overflow-wrap: anywhere;
}
.instruction-copy small {
  display: block;
  font-size: 11px;
  margin-top: 6px;
}
.instruction-schedule {
  font: 11px var(--label);
  color: var(--muted);
  white-space: nowrap;
}
.switch {
  position: relative;
  display: block;
  flex-shrink: 0;
  width: 40px;
  height: 24px;
  cursor: pointer;
}
.switch input {
  position: absolute;
  inset: 0;
  margin: 0;
  opacity: 0;
  cursor: pointer;
  z-index: 1;
  width: 100%;
  height: 100%;
}
.switch span {
  position: absolute;
  inset: 0;
  background: var(--raised);
  border: 1px solid var(--line);
  border-radius: 20px;
  pointer-events: none;
}
.switch span::after {
  content: "";
  position: absolute;
  left: 3px;
  top: 3px;
  width: 16px;
  height: 16px;
  background: var(--muted);
  border-radius: 50%;
}
.switch input:checked + span {
  background: var(--accent);
  border-color: var(--accent);
}
.switch input:checked + span::after {
  left: 19px;
  background: var(--accent-ink);
}
.switch input:focus-visible + span {
  outline: 2px solid var(--accent);
  outline-offset: 4px;
}
.instruction-row.paused .instruction-copy {
  color: var(--muted);
}
body[data-design="orbit"] .instruction-list {
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
body[data-design="orbit"] .instruction-row {
  border: 1px solid var(--line);
  background: var(--surface);
  border-radius: 12px;
  padding: 20px;
  flex-wrap: wrap;
  gap: 12px;
}
body[data-design="orbit"] .instruction-index {
  display: none;
}
body[data-design="orbit"] .instruction-copy {
  flex: 1 1 calc(100% - 60px);
  min-width: 180px;
}
body[data-design="orbit"] .instruction-schedule {
  flex: 1;
  order: 3;
}
body[data-design="orbit"] .edit-instruction {
  order: 4;
}
body[data-design="orbit"] .switch {
  order: 2;
}
/* Context opens where needed, without another navigation level. */
dialog {
  width: min(600px, calc(100% - 28px));
  max-height: calc(100dvh - 40px);
  padding: 32px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
  color: var(--ink);
  box-shadow: 0 28px 100px var(--shadow-deep);
}
dialog::backdrop {
  background: var(--backdrop);
  backdrop-filter: blur(4px);
}
.dialog-close {
  position: absolute;
  top: 10px;
  right: 10px;
}
#detail-title {
  font: 500 28px var(--display);
  margin: 4px 52px 24px 0;
}
#detail-content > p {
  margin-bottom: 20px;
  font-size: 15px;
  color: var(--muted);
}
#detail-content > small {
  display: block;
  margin-top: 20px;
  font-size: 11px;
}
dialog label:not(.sr-only) {
  display: block;
  font-size: 12px;
  color: var(--muted);
  margin: 18px 0 8px;
}
dialog input:not([type="checkbox"]),
dialog textarea {
  display: block;
  width: 100%;
  background: var(--bg);
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 14px;
  margin: 14px 0;
  font-size: 14px;
}
dialog textarea {
  min-height: 120px;
  resize: vertical;
}
dialog form > .button {
  margin-top: 8px;
}
dialog .panel {
  padding: 0;
  background: none;
  border: 0;
}
dialog .result-card {
  padding: 0;
  border: 0;
  background: none;
}
.contact-card {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  padding: 22px 0;
  border-bottom: 1px solid var(--line);
}
.contact-card:last-child {
  border: 0;
}
.contact-avatar {
  width: 42px;
  height: 42px;
  flex-shrink: 0;
  background: var(--raised);
  color: var(--accent);
  border-radius: 50%;
  display: grid;
  place-items: center;
  font-size: 12px;
}
.contact-card p {
  font-size: 13px;
  color: var(--muted);
  margin: 9px 0;
}
.contact-card .button {
  font-size: 12px;
}
.source-evidence h3 {
  margin: 10px 0;
}
.source-evidence p {
  font-size: 14px;
  margin: 10px 0 24px;
}
.connection-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 20px 0;
  border-bottom: 1px solid var(--line);
  font-size: 14px;
}
.connection-row span {
  font-size: 12px;
  color: var(--muted);
}
#toast {
  position: fixed;
  bottom: 22px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 90;
  width: max-content;
  max-width: calc(100% - 32px);
  padding: 13px 20px;
  background: var(--raised);
  color: var(--ink);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  font-size: 12px;
  box-shadow: 0 8px 30px var(--shadow);
}
/* Floating voice always has an explicit typing exit and never starts capture. */
.voice-dock {
  position: fixed;
  right: 18px;
  top: 120px;
  width: 292px;
  z-index: 50;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 16px;
  box-shadow: 0 15px 60px var(--shadow-deep);
}
.voice-handle {
  padding: 12px 14px;
  display: flex;
  align-items: center;
  gap: 10px;
  border-bottom: 1px solid var(--line);
  font-size: 12px;
  color: var(--muted);
  cursor: grab;
  touch-action: none;
  user-select: none;
}
.voice-handle small {
  font-size: 8px;
  letter-spacing: 1px;
  margin-left: auto;
}
.voice-status {
  display: flex;
  gap: 15px;
  align-items: center;
  padding: 21px 18px;
}
.voice-dot {
  width: 39px;
  height: 39px;
  border-radius: 50%;
  background: radial-gradient(circle at 30% 25%, var(--accent), var(--raised));
  box-shadow: 0 0 0 6px var(--glow);
  flex-shrink: 0;
}
.voice-status strong {
  font-size: 14px;
  font-weight: 500;
}
.voice-status small {
  display: block;
  font-size: 9px;
  margin-top: 5px;
}
.voice-type {
  width: calc(100% - 24px);
  margin: 0 12px 12px;
  min-height: 36px;
  padding: 8px 12px;
  justify-content: space-between;
  font-size: 12px;
}
.voice-controls {
  display: flex;
  gap: 4px;
  padding: 8px;
  border-top: 1px solid var(--line);
}
.voice-controls button {
  border: 0;
  background: none;
  padding: 6px 9px;
  color: var(--muted);
  font-size: 14px;
}
.voice-controls button:first-child {
  margin-right: auto;
  font-size: 10px;
}
.voice-controls button:hover {
  background: var(--raised);
}
.voice-pill {
  position: fixed;
  right: 18px;
  top: 118px;
  z-index: 50;
  border: 1px solid var(--line);
  background: var(--raised);
  color: var(--accent);
  border-radius: 24px;
  padding: 11px 16px;
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  box-shadow: 0 6px 30px var(--shadow);
}
.sharing-bar {
  position: fixed;
  bottom: 12px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 10px 14px;
  max-width: calc(100% - 24px);
  width: max-content;
  z-index: 45;
  background: #292c30;
  color: #fff;
  border: 1px solid #494d54;
  border-radius: 12px;
  font: 11px var(--font);
}
.sharing-bar small {
  display: block;
  font-size: 9px;
  color: #bdc1ca;
  margin-top: 4px;
}
.sharing-bar button {
  border: 0;
  background: #f0f1f4;
  color: #333b46;
  padding: 7px 12px;
  border-radius: 6px;
  font: 11px var(--font);
}
.sharing main {
  padding-bottom: 85px;
}
.sharing .conversation-input {
  bottom: 86px;
}
.sharing #toast {
  bottom: 85px;
}
.sharing .orbit-center {
  gap: 12px;
  padding-bottom: 8px;
}
.sharing .orbit-home .greeting h1 {
  font-size: 32px;
}
.sharing .orbit-home .voice-art {
  width: 90px;
  height: 90px;
}
.sharing .orbit-home .core {
  inset: 22px;
}
.sharing .orbit-home .ring.three {
  display: none;
}
.sharing .chat-page .quick-actions {
  display: none;
}
.sharing .orbit-home {
  min-height: calc(100dvh - 189px);
}
/* Review-only information is optional, not copied into the product flow. */
.review-page {
  max-width: 1140px;
  padding-bottom: 70px;
}
.review-page .page-heading {
  margin-bottom: 20px;
}
.review-page h1 {
  font-size: 42px;
}
.review-intro {
  max-width: 650px;
  color: var(--muted);
  font-size: 16px;
  margin-bottom: 35px;
}
.review-section {
  margin-top: 48px;
}
.review-section > h2 {
  font-size: 26px;
  margin-bottom: 20px;
}
.review-section > p {
  font-size: 15px;
  color: var(--muted);
  margin-bottom: 22px;
}
.step-comparison {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
.step-comparison > div {
  border-top: 1px solid var(--line);
  padding-top: 20px;
}
.step-comparison strong,
.step-comparison span,
.step-comparison small {
  display: block;
}
.step-comparison strong {
  font-size: 15px;
}
.step-comparison span {
  font-size: 13px;
  color: var(--accent);
  margin: 12px 0;
}
.step-comparison small {
  font-size: 11px;
  line-height: 1.7;
}
.research-details {
  padding: 20px 0;
  border-top: 1px solid var(--line);
  margin-top: 36px;
}
.research-details summary {
  cursor: pointer;
  font-size: 14px;
  color: var(--accent);
}
.research-details p {
  font-size: 13px;
  color: var(--muted);
  margin-top: 20px;
}
.research-details a {
  text-decoration: underline;
  text-underline-offset: 3px;
}
.concept-map {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  margin: 35px 0;
}
.concept-map > section {
  padding-top: 20px;
  border-top: 1px solid var(--line);
}
.concept-map span {
  font: 11px var(--label);
  color: var(--accent);
}
.concept-map h2 {
  margin: 12px 0;
}
.concept-map p {
  font-size: 13px;
  color: var(--muted);
}
.story {
  padding: 24px 0;
  border-bottom: 1px solid var(--line);
  display: flex;
  align-items: center;
  gap: 24px;
  justify-content: space-between;
}
.story p {
  font-size: 13px;
  color: var(--muted);
  margin-top: 8px;
  max-width: 550px;
}
.story .button {
  flex-shrink: 0;
  font-size: 12px;
}
@media (min-width: 1500px) {
  .orbit-center {
    gap: 28px;
  }
  .orbit-center .greeting h1 {
    font-size: 54px;
  }
  .orbit-home .voice-art {
    width: 185px;
    height: 185px;
  }
  .page {
    padding-top: 48px;
  }
}
@media (max-width: 1100px) {
  :root {
    --sidebar: 160px;
  }
  .nav-link {
    font-size: 13px;
    padding-inline: 8px;
  }
  .chat-page {
    padding-inline: 28px;
  }
  .page {
    padding-inline: 28px;
  }
  .dashboard-orbit .view-list {
    grid-template-columns: 1fr;
  }
  .instruction-schedule {
    font-size: 10px;
  }
  .instruction-row {
    gap: 10px;
  }
}
@media (max-width: 850px) and (min-width: 701px) {
  .preview-label span {
    display: none;
  }
  .dashboard-orbit {
    grid-template-columns: 1fr;
  }
  body[data-design="orbit"] .instruction-list {
    grid-template-columns: 1fr;
  }
  .instruction-schedule {
    white-space: normal;
    max-width: 100px;
  }
}
@media (max-width: 700px) {
  body {
    --sidebar: 0px;
    font-size: 15px;
  }
  body[data-design] {
    --sidebar: 0px;
  }
  .design-review {
    padding: 0 12px;
    gap: 10px;
  }
  .preview-label {
    display: none;
  }
  .design-notes-link {
    font-size: 9px;
  }
  .sidebar {
    width: 230px;
    transform: translateX(-100%);
    transition: transform 0.18s;
    padding: 30px 20px;
    box-shadow: 15px 0 40px var(--shadow);
    z-index: 45;
  }
  .sidebar.open {
    transform: translateX(0);
  }
  .sidebar .brand {
    margin-bottom: 35px;
  }
  .sidebar .nav-link {
    font-size: 16px;
    min-height: 54px;
    padding: 12px 15px;
  }
  .mobile-menu {
    display: grid;
  }
  .mobile-close {
    display: grid;
    position: absolute;
    top: 20px;
    right: 14px;
  }
  .mobile-shade {
    position: fixed;
    inset: var(--review) 0 0;
    z-index: 40;
    background: var(--shadow-deep);
    border: 0;
  }
  .toolbar {
    padding: 0 14px;
    gap: 5px;
  }
  .toolbar-actions {
    gap: 2px;
  }
  .account-button {
    flex-shrink: 0;
  }
  .project-control {
    gap: 0;
  }
  .project-control select {
    max-width: 120px;
    padding-right: 12px;
    font-size: 12px;
  }
  .toolbar-voice {
    font-size: 12px;
    padding: 8px 11px;
    min-height: 38px;
  }
  .toolbar-actions .label-button {
    width: 40px;
  }
  .toolbar-actions .button {
    gap: 5px;
  }
  .page {
    padding: 28px 22px 40px;
  }
  .page-heading {
    margin-bottom: 24px;
  }
  .page-heading h1 {
    font-size: 31px;
  }
  .chat-page {
    padding: 24px 22px;
    min-height: calc(100dvh - 104px);
  }
  .greeting .eyebrow {
    font-size: 9px;
    margin-bottom: 10px;
  }
  .greeting h1 {
    font-size: 37px;
  }
  .orbit-home {
    padding: 22px 22px 12px;
  }
  .orbit-center {
    justify-content: center;
    gap: 16px;
    padding-bottom: 15px;
  }
  .orbit-center .greeting h1 {
    font-size: 38px;
  }
  .orbit-home .voice-art {
    width: 124px;
    height: 124px;
  }
  .orbit-home .core {
    inset: 27px;
  }
  .orbit-home .ring.three {
    inset: 20px;
  }
  .voice-label {
    font-size: 16px;
  }
  .voice-invitation > small {
    font-size: 9px;
  }
  .voice-primary {
    gap: 8px;
  }
  .composer {
    padding: 11px 12px;
    gap: 8px;
  }
  .composer textarea {
    font-size: 14px;
    min-height: 45px;
  }
  .input-hint {
    display: none;
  }
  .send-button {
    height: 38px;
    width: 38px;
  }
  .entry .quick-actions {
    gap: 2px;
    margin-top: 9px;
    justify-content: center;
  }
  .button.quick {
    font-size: 11px;
    padding: 8px;
    min-height: 35px;
    gap: 6px;
  }
  .next-step {
    gap: 10px;
    font-size: 12px;
    padding: 10px 0;
  }
  .next-step .button {
    font-size: 11px;
  }
  .simple > small {
    display: block;
    margin: 8px 0 0 14px;
  }
  .with-history {
    padding: 22px 20px 14px;
  }
  .chat-heading {
    margin-bottom: 20px;
  }
  .chat-heading h1 {
    font-size: 25px;
  }
  .message > p {
    font-size: 14px;
  }
  .conversation-input {
    bottom: 8px;
    padding-top: 10px;
  }
  .conversation-input .composer {
    min-height: 75px;
  }
  .conversation-input .composer .button {
    font-size: 12px;
  }
  .conversation-input .composer {
    flex-wrap: wrap;
    gap: 0;
  }
  .conversation-input .input-actions {
    width: 100%;
    justify-content: space-between;
  }
  .conversation-input textarea {
    min-height: 36px;
  }
  .panel {
    padding: 20px;
  }
  .panel-actions {
    gap: 12px;
  }
  .panel-actions .button {
    font-size: 12px;
    padding-inline: 12px;
  }
  .panel-actions .button.text {
    font-size: 11px;
    padding-inline: 0;
  }
  .draft-panel h2 {
    font-size: 21px;
  }
  .draft-text {
    font-size: 14px;
    min-height: 207px;
    padding: 13px;
    margin-top: 17px;
  }
  .action-note {
    font-size: 9px;
  }
  .dashboard-orbit {
    grid-template-columns: 1fr;
    gap: 22px;
  }
  .dashboard-orbit .view-list {
    grid-template-columns: 1fr;
  }
  .notice-row {
    font-size: 12px;
    gap: 10px;
    flex-wrap: wrap;
  }
  .notice-row > div {
    margin-left: auto;
    gap: 20px;
  }
  .notice-row .button {
    font-size: 11px;
  }
  .instruction-intro h2 {
    font-size: 23px;
  }
  .instruction-intro p {
    font-size: 13px;
  }
  .instruction-form {
    padding: 14px;
  }
  .instruction-form > input {
    font-size: 14px;
  }
  .instruction-form-actions {
    gap: 8px;
  }
  .instruction-form select {
    font-size: 10px;
    padding: 8px;
    max-width: 150px;
  }
  .instruction-form .button {
    font-size: 11px;
    padding: 9px;
    gap: 5px;
  }
  .instruction-copy strong {
    font-size: 14px;
  }
  .instruction-row {
    gap: 10px;
    flex-wrap: wrap;
    padding: 20px 0;
  }
  .instruction-copy {
    flex: 1 1 calc(100% - 100px);
  }
  .instruction-schedule {
    order: 3;
    flex: 1;
    margin-left: 24px;
    font-size: 10px;
  }
  .edit-instruction {
    order: 4;
    width: 36px;
    height: 36px;
  }
  .switch {
    order: 2;
  }
  .instruction-index {
    font-size: 10px;
  }
  body[data-design="orbit"] .instruction-list {
    grid-template-columns: 1fr;
  }
  body[data-design="orbit"] .instruction-row {
    padding: 18px;
  }
  body[data-design="orbit"] .instruction-schedule {
    margin-left: 0;
  }
  dialog {
    padding: 28px 22px;
  }
  #detail-title {
    font-size: 25px;
  }
  #detail-content > p {
    font-size: 14px;
  }
  .contact-card {
    gap: 12px;
  }
  .contact-card p {
    font-size: 12px;
  }
  .voice-dock {
    width: 270px;
    right: 12px;
  }
  .voice-status {
    padding: 19px 16px;
  }
  .voice-status strong {
    font-size: 13px;
  }
  .voice-pill {
    right: 12px;
    top: 116px;
    font-size: 11px;
  }
  .sharing-bar {
    font-size: 10px;
    gap: 10px;
  }
  .sharing .orbit-center {
    gap: 10px;
  }
  .sharing .orbit-home {
    padding-top: 20px;
  }
  .sharing .orbit-home .greeting h1 {
    font-size: 30px;
  }
  .sharing .orbit-home .voice-art {
    width: 82px;
    height: 82px;
  }
  .sharing .orbit-home .core {
    inset: 19px;
  }
  .sharing .orbit-home .ring.two {
    inset: 7px;
  }
  .review-page h1 {
    font-size: 34px;
  }
  .review-intro {
    font-size: 14px;
  }
  .step-comparison,
  .concept-map {
    grid-template-columns: 1fr;
    gap: 24px;
  }
  .step-comparison > div {
    padding-top: 17px;
  }
  .concept-map {
    gap: 18px;
  }
  .concept-map > section {
    display: grid;
    grid-template-columns: 26px 1fr;
    column-gap: 12px;
    padding-top: 18px;
  }
  .concept-map span {
    grid-row: span 2;
    padding-top: 5px;
  }
  .concept-map h2 {
    margin: 0 0 9px;
  }
  .concept-map p {
    grid-column: 2;
  }
  .review-section {
    margin-top: 36px;
  }
  .review-section > h2 {
    font-size: 25px;
  }
  .story {
    display: block;
    padding: 22px 0;
  }
  .story .button {
    margin-top: 15px;
  }
  .story p {
    font-size: 13px;
  }
}
@media (max-width: 360px) {
  .design-review {
    padding-inline: 10px;
    gap: 5px;
  }
  .design-notes-link {
    font-size: 8px;
  }
  .project-control select {
    max-width: 132px;
  }
  .toolbar {
    padding-inline: 9px;
  }
  .toolbar-voice {
    padding-inline: 9px;
  }
  .chat-page {
    padding-inline: 18px;
  }
  .button.quick {
    padding-inline: 6px;
    font-size: 10px;
  }
  .next-step {
    font-size: 11px;
  }
  .simple .voice-label {
    font-size: 14px;
  }
  .instruction-form-actions {
    flex-wrap: wrap;
  }
  .instruction-form-actions .button {
    margin-left: auto;
  }
  .voice-pill {
    padding: 10px 13px;
  }
  .sharing-bar {
    font-size: 9px;
  }
  .sharing-bar small {
    font-size: 8px;
  }
  .page {
    padding-inline: 18px;
  }
}
@media (prefers-reduced-motion: reduce) {
  * {
    transition: none !important;
    scroll-behavior: auto !important;
  }
}

/* Orbit collections extend the accepted type, spacing and surface system. */
.section-tabs {
  display: flex;
  gap: 28px;
  border-bottom: 1px solid var(--line);
  margin: 0 0 28px;
  overflow-x: auto;
  scrollbar-width: thin;
}
.section-tabs [role="tab"] {
  flex-shrink: 0;
  min-height: 48px;
  border: 0;
  border-bottom: 2px solid transparent;
  padding: 8px 1px 14px;
  background: transparent;
  color: var(--muted);
  font-size: 14px;
}
.section-tabs [aria-selected="true"] {
  color: var(--accent);
  border-bottom-color: var(--accent);
}
.collection-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 24px;
}
.collection-heading > p {
  color: var(--muted);
  font-size: 14px;
}
.collection-heading > div {
  display: flex;
  gap: 12px;
  align-items: center;
}
.project-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
}
.project-card {
  text-align: left;
  padding: 26px;
  min-width: 0;
}
.project-card:hover,
.artifact-grid .view-card:hover {
  border-color: var(--accent);
  background: var(--raised);
}
.project-card h2 {
  overflow-wrap: anywhere;
}
.project-card p {
  color: var(--muted);
  font-size: 14px;
  min-height: 48px;
  margin: 12px 0 24px;
  overflow-wrap: anywhere;
}
.project-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  color: var(--muted);
  font-size: 11px;
  padding-top: 20px;
  border-top: 1px solid var(--line);
}
.collection-filters {
  display: flex;
  gap: 16px;
  margin-bottom: 24px;
}
.search-field {
  display: flex;
  align-items: center;
  gap: 12px;
  border: 1px solid var(--line);
  padding: 0 16px;
  border-radius: 10px;
  background: var(--surface);
  color: var(--muted);
  flex: 1;
  min-width: 0;
}
.search-field:focus-within {
  outline: 2px solid var(--accent);
  outline-offset: 2px;
}
.search-field input {
  width: 100%;
  min-width: 0;
  background: transparent;
  border: 0;
  padding: 15px 0;
  font-size: 14px;
  outline: 0;
}
.collection-filters select,
dialog select {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 12px;
  font-size: 13px;
  color: var(--ink);
}
.artifact-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}
.artifact-grid .view-card {
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--surface);
  padding: 24px;
}
.artifact-grid .view-copy {
  flex: 1;
  min-width: 0;
  overflow-wrap: anywhere;
}
.artifact-grid .empty-line {
  grid-column: 1/-1;
  padding: 28px 0;
}
.overview-side {
  display: grid;
  gap: 20px;
  align-content: start;
}
.task-row {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  border-top: 1px solid var(--line);
  padding-top: 14px;
  margin-top: 14px;
  font-size: 13px;
}
.task-row > div {
  flex: 1;
}
.task-row strong {
  display: block;
  font-weight: 500;
}
.task-row > div .button {
  padding: 4px 0;
  font-size: 10px;
  text-align: left;
  min-height: 28px;
}
.task-row > .button {
  font-size: 11px;
  white-space: nowrap;
  padding: 4px;
  min-height: 32px;
}
.calendar-layout {
  display: grid;
  grid-template-columns: 1.5fr 1fr;
  gap: 24px;
  align-items: start;
}
.week-strip {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 28px;
  padding-bottom: 24px;
  border-bottom: 1px solid var(--line);
}
.week-strip span {
  text-align: center;
  font-size: 10px;
  color: var(--muted);
  padding: 12px;
  border-radius: 10px;
}
.week-strip strong {
  display: block;
  font-size: 24px;
  font-weight: 500;
  margin-top: 4px;
  color: var(--ink);
}
.week-strip .today {
  color: var(--accent);
  background: var(--raised);
}
.week-panel .agenda {
  border: 0;
  padding: 0;
  background: transparent;
}
#people-results .contact-card {
  max-width: 760px;
}
.instruction-schedule .button {
  display: block;
  font-size: 10px;
  padding: 0;
  min-height: 28px;
}
.connection-row > div small {
  display: block;
  margin-top: 6px;
  font-size: 11px;
}
.connection-row input[type="checkbox"] {
  accent-color: var(--accent);
  width: 20px;
  height: 20px;
}
.connection-row label {
  margin: 0;
  color: var(--ink);
  font-size: 14px;
}
.chat-choice {
  width: 100%;
  justify-content: flex-start;
  text-align: left;
  padding: 18px 0;
  border-bottom: 1px solid var(--line);
  border-radius: 0;
}
.chat-choice > span {
  flex: 1;
}
.chat-choice small {
  display: block;
}
.recent-chats {
  font-size: 12px;
}
@media (max-width: 1000px) {
  .project-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .calendar-layout {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 700px) {
  .section-tabs {
    gap: 20px;
    margin-bottom: 24px;
  }
  .section-tabs [role="tab"] {
    font-size: 13px;
  }
  .collection-heading {
    align-items: flex-start;
    gap: 16px;
    flex-direction: column;
  }
  .collection-heading > p {
    font-size: 13px;
  }
  .collection-heading .button {
    font-size: 12px;
  }
  .project-grid,
  .artifact-grid {
    grid-template-columns: 1fr;
  }
  .project-card {
    padding: 22px;
  }
  .project-card p {
    min-height: 0;
  }
  .collection-filters {
    gap: 10px;
  }
  .collection-filters select {
    max-width: 120px;
    font-size: 12px;
    padding: 8px;
  }
  .search-field {
    padding: 0 12px;
    gap: 8px;
  }
  .search-field input {
    font-size: 12px;
  }
  .artifact-grid .view-card {
    padding: 20px;
  }
  .week-strip {
    gap: 2px;
  }
  .week-strip span {
    padding: 8px;
  }
  .week-strip strong {
    font-size: 20px;
  }
  .recent-chats {
    padding: 8px;
  }
  .task-panel {
    padding: 20px;
  }
}

@media (max-width: 700px) {
  .design-review .preview-label {
    display: inline;
  }
  .section-tabs {
    gap: 16px;
  }
  .section-tabs [role="tab"] {
    font-size: 12px;
  }
}
.call-url {
  overflow-wrap: anywhere;
}

/* The shader fills the existing responsive voice footprint. */
loresis-voice-orb,
.voice-shader-mount {
  display: block;
  width: 100%;
  height: 100%;
}
loresis-voice-orb {
  pointer-events: none;
}
.orbkit-error {
  display: grid;
  place-items: center;
  width: 100%;
  height: 100%;
  padding: 8px;
  font-size: 11px;
  line-height: 1.35;
  overflow-wrap: anywhere;
  color: var(--ink);
  background: var(--surface);
  border: 1px solid var(--accent);
  border-radius: var(--radius);
}
.version-control { display: flex; align-items: center; gap: 10px; }
#visual-select {
  min-height: 30px;
  padding: 3px 6px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: var(--surface);
  font-size: 11px;
}
/* One composition: the exact sphere behind the interactive Shdr13 orb. */
.shader-frame { width: 100%; height: 100%; }
.shader-loading { display: grid; place-items: center; height: 100%; color: #dcd4e9; }
.combined-home {
  position: relative;
  isolation: isolate;
  max-width: none;
  overflow: hidden;
  padding-inline: 56px;
  background: #030304;
}
.orbit-background { position: absolute; inset: 0; z-index: -1; pointer-events: none; }
.combined-home .orbit-center { width: min(540px, 52%); align-items: center; gap: 16px; }
.combined-home .greeting { color: #f5f0ff; }
.combined-home .eyebrow, .combined-home .voice-invitation > small { color: #bdb3d0; }
.combined-home .greeting h1 { font-size: 40px; }
.combined-home .voice-primary { color: #dec5ff; }
.combined-home .voice-art { width: 158px; height: 158px; background: radial-gradient(#030304 30%, transparent 72%); }
.combined-home .quick-actions .button { color: #cfc5e4; font-size: 11px; }
.combined-home .next-step { position: relative; width: 100%; color: #e4dced; border-color: #3f354e; }
.combined-home .next-step .button { color: #d5b8ff; }
.orbit-background .orbkit-error { max-width: 260px; height: auto; min-height: 90px; position: absolute; right: 18px; bottom: 86px; }
@media (max-width: 1199px) {
  .combined-home { padding-inline: 30px; }
  .combined-home .orbit-center { width: 100%; }
  .orbit-background { height: 660px; }
  .combined-home .orbit-center::before {
    content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
    background: linear-gradient(#030304bb, #03030433 45%, #030304bb 88%);
  }
}
@media (max-width: 700px) {
  .version-control .preview-label { display: none; }
  .version-control { gap: 0; }
  .combined-home { padding: 26px 22px 16px; }
  .combined-home .greeting h1 { font-size: 36px; }
  .combined-home .voice-art { width: 142px; height: 142px; }
  .combined-home .quick-actions .button { padding-inline: 3px; font-size: 10px; }
  .sharing .combined-home .greeting h1 { font-size: 30px; }
  .sharing .combined-home .voice-art { width: 90px; height: 90px; }
  .sharing .orbit-background { height: 540px; }
  .orbit-background .orbkit-error { right: 12px; bottom: 8px; min-height: 50px; }
}
@media (max-width: 360px) {
  #visual-select { font-size: 10px; max-width: 68px; padding-inline: 3px; }
}

/* Orbit geometry and typography live in style.css. These are color roles only.
   Default: Glacier / System; appearance.js resolves the device's current mode. */
:root {
  color-scheme: light;
  --bg: #f5f8fa;
  --surface: #ffffff;
  --raised: #e6f0f4;
  --ink: #152c3b;
  --muted: #4f6573;
  --line: #ccdae2;
  --accent: #08677e;
  --accent-ink: #ffffff;
  --glow: #2085a018;
  --shadow-soft: #102a3808;
  --shadow: #102a381a;
  --shadow-deep: #102a3833;
  --backdrop: #102a3866;
}
:root[data-palette="iris"][data-mode="light"] {
  --bg: #f7f6fc;
  --surface: #ffffff;
  --raised: #eeebf9;
  --ink: #302440;
  --muted: #685976;
  --line: #dcd4e9;
  --accent: #6542b4;
  --accent-ink: #ffffff;
  --glow: #825ccb18;
}
:root[data-palette="grove"][data-mode="light"] {
  --bg: #f5f8f3;
  --surface: #fefffc;
  --raised: #e6efe5;
  --ink: #20362b;
  --muted: #55675b;
  --line: #cfdece;
  --accent: #2c6b45;
  --accent-ink: #ffffff;
  --glow: #41925a18;
}
:root[data-palette="ember"][data-mode="light"] {
  --bg: #fbf8f4;
  --surface: #fffdf9;
  --raised: #f4eade;
  --ink: #3b2b21;
  --muted: #765d4b;
  --line: #e4d6c7;
  --accent: #a34d1b;
  --accent-ink: #ffffff;
  --glow: #c27b3e18;
}
:root[data-mode="dark"] {
  color-scheme: dark;
  --shadow-soft: #00000008;
  --shadow: #00000022;
  --shadow-deep: #00000044;
  --backdrop: #060b1477;
}
/* The owner's originally selected midnight / cyan Orbit colors. */
:root[data-palette="glacier"][data-mode="dark"] {
  --bg: #09121c;
  --surface: #10202d;
  --raised: #172e3e;
  --ink: #edf6fb;
  --muted: #a5b7c5;
  --line: #294251;
  --accent: #76dcf2;
  --accent-ink: #071e28;
  --glow: #54c2e922;
}
:root[data-palette="iris"][data-mode="dark"] {
  --bg: #13101e;
  --surface: #1d182b;
  --raised: #2a2340;
  --ink: #f2edfc;
  --muted: #beb2d1;
  --line: #453754;
  --accent: #bea4ff;
  --accent-ink: #241a3b;
  --glow: #aa83ff22;
}
:root[data-palette="grove"][data-mode="dark"] {
  --bg: #0e1814;
  --surface: #16251d;
  --raised: #213529;
  --ink: #eaf4e9;
  --muted: #aabfaf;
  --line: #354e3e;
  --accent: #94d6a3;
  --accent-ink: #173020;
  --glow: #83d39922;
}
:root[data-palette="ember"][data-mode="dark"] {
  --bg: #1b1410;
  --surface: #291e17;
  --raised: #392b21;
  --ink: #faeee2;
  --muted: #c9b19a;
  --line: #59412d;
  --accent: #edb27e;
  --accent-ink: #37200e;
  --glow: #efab6d22;
}
input::placeholder,
textarea::placeholder {
  color: var(--muted);
  opacity: 1;
}
::selection {
  background: var(--accent);
  color: var(--accent-ink);
}

/* Comparison controls use the existing 44px review bar, outside product nav. */
.appearance-controls,
.palette-options,
.mode-options {
  display: flex;
  align-items: center;
}
.appearance-controls {
  gap: 16px;
}
.palette-options {
  gap: 4px;
}
.appearance-controls button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-height: 30px;
  padding: 4px 9px;
  background: transparent;
  border: 1px solid transparent;
  border-radius: 6px;
  color: var(--muted);
  font-size: 11px;
  line-height: 18px;
}
.appearance-controls button:hover {
  background: var(--raised);
  color: var(--ink);
}
.appearance-controls button[aria-pressed="true"] {
  background: var(--raised);
  border-color: var(--accent);
  color: var(--ink);
}
.palette-options i {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--swatch);
}
[data-palette-option="glacier"] {
  --swatch: #269ab4;
}
[data-palette-option="iris"] {
  --swatch: #9c79dc;
}
[data-palette-option="grove"] {
  --swatch: #64a477;
}
[data-palette-option="ember"] {
  --swatch: #cf8a51;
}
.mode-options {
  border-left: 1px solid var(--line);
  padding-left: 12px;
  gap: 3px;
}
#palette-select, #mode-select {
  display: none;
  background: var(--raised);
  border: 1px solid var(--line);
  border-radius: 6px;
  min-height: 30px;
  font-size: 11px;
  padding: 3px 6px;
}
#appearance-error {
  position: fixed;
  top: 48px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 100;
  width: min(480px, calc(100vw - 24px));
  padding: 20px;
  background: var(--surface);
  color: var(--ink);
  border: 2px solid var(--accent);
  border-radius: var(--radius);
  box-shadow: 0 16px 60px var(--shadow-deep);
}
#appearance-error p {
  margin-bottom: 12px;
}
@media (max-width: 1000px) {
  .preview-label span {
    display: none;
  }
}
@media (max-width: 700px) {
  .appearance-controls {
    gap: 8px;
  }
  .palette-options {
    display: none;
  }
  #palette-select, #mode-select {
    display: block;
    min-height: 36px;
    font-size: 12px;
  }
  .mode-options {
    display: none;
  }
  .appearance-controls button {
    padding-inline: 8px;
  }
  .design-notes-link {
    font-size: 17px;
  }
}

.threeui-mount,.terrain-plume-component,.text-path-study,.article-headings-component,.animated-top-dock-component,.typography-vortex-component,.mechanical-keyboard,.retro-metallic,.landscape-scene,.japanese-tower-landscape,.sakura-branch-scene,.isometric-motion-grid,.isometric-illustration,.tetrahedron-365,.liquid-metal-button,.iso-mail-lightshafts,.spark-badge,.hypnotic-loops,.at-the-horizon,.scalability-bricks,.threeui-background{position:relative;width:100%;height:100%;min-width:0;min-height:0;overflow:hidden}.mechanical-keyboard{isolation:isolate;background:#090a0c}.mechanical-keyboard__frame{position:absolute;inset:0;display:block;width:100%;height:100%;border:0;background:#090a0c;opacity:0;transition:opacity .18s ease-out;touch-action:none}.mechanical-keyboard__frame.is-ready{opacity:1}.retro-metallic{isolation:isolate;background:#08090a}.retro-metallic__frame{position:absolute;inset:0;display:block;width:100%;height:100%;border:0;background:#08090a;opacity:0;transition:opacity .18s ease-out;touch-action:none}.retro-metallic__frame.is-ready{opacity:1}.japanese-tower-landscape{isolation:isolate;background:#ecdcbc}.japanese-tower-landscape__frame{position:absolute;inset:0;display:block;width:100%;height:100%;border:0;background:#ecdcbc;opacity:0;transition:opacity .18s ease-out}.japanese-tower-landscape__frame.is-ready{opacity:1}.landscape-scene{isolation:isolate;background:#ecdcbc}.landscape-scene__frame{position:absolute;inset:0;display:block;width:100%;height:100%;border:0;background:#ecdcbc;opacity:0;transition:opacity .18s ease-out;touch-action:none}.landscape-scene__frame.is-ready{opacity:1}.sakura-branch-scene{isolation:isolate;background:#d4738a}.sakura-branch-scene__frame{position:absolute;inset:0;display:block;width:100%;height:100%;border:0;background:#d4738a;opacity:0;transition:opacity .18s ease-out}.sakura-branch-scene__frame.is-ready{opacity:1}@media(prefers-reduced-motion:reduce){.sakura-branch-scene__frame{transition:none}}.isometric-motion-grid{isolation:isolate;background:#08090a}.isometric-motion-grid__stage{position:absolute;top:50%;left:50%;width:1200px;height:675px;transform-origin:50% 50%}.isometric-motion-grid__frame{display:block;width:100%;height:100%;border:0;background:#08090a;opacity:0;transition:opacity .18s ease-out}.isometric-motion-grid__frame.is-ready{opacity:1}.isometric-illustration{isolation:isolate;background:#111}.isometric-illustration__frame{position:absolute;inset:0;display:block;width:100%;height:100%;border:0;background:#111;opacity:0;transition:opacity .18s ease-out}.isometric-illustration__frame.is-ready{opacity:1}.tetrahedron-365{isolation:isolate;background:#000}.tetrahedron-365__frame{position:absolute;inset:0;display:block;width:100%;height:100%;border:0;background:#000;opacity:0;transition:opacity .18s ease-out}.tetrahedron-365__frame.is-ready{opacity:1}@media(prefers-reduced-motion:reduce){.tetrahedron-365__frame{transition:none}}.liquid-metal-button{isolation:isolate;background:#070708}.liquid-metal-button__frame{position:absolute;inset:0;display:block;width:100%;height:100%;border:0;background:#070708;opacity:0;transition:opacity .18s ease-out}.liquid-metal-button__frame.is-ready{opacity:1}@media(prefers-reduced-motion:reduce){.liquid-metal-button__frame{transition:none}}.iso-mail-lightshafts{isolation:isolate;background:#140f0b}.iso-mail-lightshafts__frame{position:absolute;inset:0;display:block;width:100%;height:100%;border:0;background:#140f0b;opacity:0;transition:opacity .18s ease-out}.iso-mail-lightshafts__frame.is-ready{opacity:1}.spark-badge{isolation:isolate;background:#000}.spark-badge__frame{position:absolute;inset:0;display:block;width:100%;height:100%;border:0;background:#000;opacity:0;transition:opacity .18s ease-out}.spark-badge__frame.is-ready{opacity:1}.hypnotic-loops{isolation:isolate;background:#f15a24}.hypnotic-loops__frame{position:absolute;inset:0;display:block;width:100%;height:100%;border:0;background:#f15a24;opacity:0}.hypnotic-loops__frame.is-ready{opacity:1}.at-the-horizon{isolation:isolate;background:#000}.at-the-horizon__frame{position:absolute;inset:0;display:block;width:100%;height:100%;border:0;background:#000;opacity:0;transition:opacity .18s ease-out}.at-the-horizon__frame.is-ready{opacity:1}.scalability-bricks{isolation:isolate;background:#0b0b0c}.scalability-bricks__frame{position:absolute;inset:0;display:block;width:100%;height:100%;border:0;background:#0b0b0c;opacity:0;transition:opacity .18s ease-out}.scalability-bricks__frame.is-ready{opacity:1}.text-path-study{isolation:isolate;background:#08090a}.text-path-study--light{background:#f3f5f8}.text-path-study-frame{position:absolute;inset:0;display:block;width:100%;height:100%;border:0;background:transparent;transform-origin:50% 50%}.threeui-background{position:relative;isolation:isolate;background:#030304}.threeui-background.condensation{background:transparent}.threeui-background.predictive-arc--light,.threeui-background.data-pixel-arc--light{background:#f3f6f1}.typography-vortex-component.typography-vortex-component--light{background:#eef1f6}.typography-vortex-component--light .typography-vortex-component__hint{color:#1c1e268c}.threeui-background>canvas{position:absolute;inset:0;display:block;width:100%;height:100%}.cross-beam-canvas,.terrain-plume-canvas{position:absolute;inset:0;display:block;width:100%;height:100%}.terrain-plume-component{pointer-events:none}.terrain-plume-component{--fe-bg: #030304;--fe-band: clamp(260px, 52cqw, 820px);isolation:isolate;container-type:inline-size;background:linear-gradient(180deg,#050505,#020202 44%,#000)}.terrain-plume-component[data-terrain-scene=river]{--fe-bg: #03070a;background:linear-gradient(180deg,#05090d,#020507 44%,#000)}.terrain-plume-component[data-terrain-scene=desert]{--fe-bg: #0a0603;background:linear-gradient(180deg,#0d0805,#060302 44%,#000)}.terrain-plume-component[data-terrain-scene=bridge-city]{--fe-bg: #03050b;background:linear-gradient(180deg,#050810,#020407 44%,#000)}.terrain-plume-component[data-terrain-scene=river] .terrain-plume-canvas,.terrain-plume-component[data-terrain-scene=desert] .terrain-plume-canvas,.terrain-plume-component[data-terrain-scene=bridge-city] .terrain-plume-canvas{top:auto;bottom:calc(var(--fe-band) * .33)}.terrain-plume-component[data-terrain-scene=river]:after,.terrain-plume-component[data-terrain-scene=desert]:after,.terrain-plume-component[data-terrain-scene=bridge-city]:after{background:radial-gradient(circle at 50% 100%,rgba(255,255,255,.07),transparent 34%),linear-gradient(180deg,#0000000f,#0000004d 72%,#0000009e)}.terrain-plume-component:before,.terrain-plume-component:after{position:absolute;inset:0;z-index:0;pointer-events:none;content:""}.terrain-plume-component:before{background:linear-gradient(90deg,transparent calc(50% - .5px),rgba(255,255,255,.05) calc(50% - .5px) calc(50% + .5px),transparent calc(50% + .5px)),repeating-linear-gradient(90deg,rgba(255,255,255,.022) 0 1px,transparent 1px 11.5vw),repeating-linear-gradient(180deg,rgba(255,255,255,.018) 0 1px,transparent 1px 5.8rem);opacity:.74}.terrain-plume-component:after{background:radial-gradient(circle at 50% 100%,rgba(255,255,255,.09),transparent 34%),linear-gradient(180deg,#0000001a,#0000009e 72%,#000000e6)}.terrain-plume-canvas{z-index:0}.footer-engraved-terrain{position:absolute;right:0;bottom:0;left:0;z-index:1;display:block;width:100%;height:var(--fe-band);pointer-events:none}.footer-engraved-reveal{position:absolute;inset:0;z-index:5;display:block;width:100%;height:100%;pointer-events:none}.footer-engraved-grain{position:absolute;inset:0;z-index:6;pointer-events:none;opacity:.05;mix-blend-mode:overlay;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/></filter><rect width='160' height='160' filter='url(%23n)'/></svg>");background-size:160px 160px}.sunset-valley-scene,.sunset-valley-canvas{display:block;width:100%;height:100%}.sunset-valley-scene{position:relative;overflow:hidden;background:#090d16}.sunset-valley-canvas{position:relative;z-index:1;opacity:0;touch-action:none}.sunset-valley-canvas.is-ready{opacity:1}img.sunset-valley-fallback{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:center}.temple-night-scene,.temple-night-canvas{display:block;width:100%;height:100%}.temple-night-scene{position:relative;overflow:hidden;background:#05070a}.temple-night-canvas{position:relative;z-index:1;opacity:0;touch-action:none}.temple-night-canvas.is-ready{opacity:1}.temple-night-unavailable{position:absolute;inset:0;display:grid;place-items:center;margin:0;color:#a9b2b7;background:#05070a}.yosemite-sunset-scene,.yosemite-sunset-canvas{display:block;width:100%;height:100%}.yosemite-sunset-scene{position:relative;overflow:hidden;background:#241a26}.yosemite-sunset-canvas{position:relative;z-index:1;opacity:0;touch-action:none}.yosemite-sunset-canvas.is-ready{opacity:1}.yosemite-sunset-unavailable{position:absolute;inset:0;display:grid;place-items:center;margin:0;color:#e0c3ab;background:#241a26}.presidio-sunset-scene,.presidio-sunset-canvas{display:block;width:100%;height:100%}.presidio-sunset-scene{position:relative;overflow:hidden;background:#2a1c22}.presidio-sunset-canvas{position:relative;z-index:1;opacity:0;touch-action:none}.presidio-sunset-canvas.is-ready{opacity:1}.presidio-sunset-unavailable{position:absolute;inset:0;display:grid;place-items:center;margin:0;color:#e6c1ad;background:#2a1c22}.lake-louise-scene,.lake-louise-canvas{display:block;width:100%;height:100%}.lake-louise-scene{position:relative;overflow:hidden;background:#171d2c}.lake-louise-canvas{position:relative;z-index:1;opacity:0;touch-action:none}.lake-louise-canvas.is-ready{opacity:1}.lake-louise-unavailable{position:absolute;inset:0;display:grid;place-items:center;margin:0;color:#b9c8d6;background:#171d2c}.bookshelf,.bookshelf__canvas,.sketchbook,.sketchbook__frame{display:block;width:100%;height:100%}.bookshelf{position:relative;container-type:inline-size;overflow:hidden;background:#171a24;outline:none}.bookshelf__canvas{position:absolute;inset:0;opacity:0;touch-action:none}.bookshelf__canvas.is-ready{opacity:1}.bookshelf__source-controls{display:none}.bookshelf__unavailable{position:absolute;inset:0;display:grid;place-items:center;margin:0;padding:24px;color:#f4eee6;text-align:center}.sketchbook{position:relative;overflow:hidden;background:#ece7dc}.sketchbook__frame{border:0;opacity:0;background:#ece7dc}.sketchbook__frame.is-ready{opacity:1}@font-face{font-family:ThreeUI Fragment Mono;font-style:normal;font-weight:400;font-display:swap;src:url("./fonts/fragment-mono.woff2") format("woff2")}.article-headings-component,.animated-top-dock-component,.typography-vortex-component{container-type:inline-size;color:#ecece8;background:#0b0b0b;font-family:Geist,Helvetica Neue,Helvetica,Arial,sans-serif}.article-headings-component{display:grid;grid-template-rows:auto 1fr 1fr;padding:clamp(20px,5.4cqw,74px) clamp(20px,6.2cqw,86px);isolation:isolate}.article-headings-component:after,.animated-top-dock-component:after,.typography-vortex-component:after{position:absolute;inset:0;z-index:5;pointer-events:none;content:"";opacity:.12;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.16'/%3E%3C/svg%3E");mix-blend-mode:soft-light}.article-headings-component__header{display:flex;justify-content:space-between;padding-bottom:clamp(14px,2.6cqw,30px);color:#62625e;font:400 clamp(8px,.85cqw,10px) / 1 "ThreeUI Fragment Mono",ui-monospace,monospace;letter-spacing:.12em}.article-headings-component__entry{display:grid;grid-template-columns:clamp(28px,4cqw,56px) minmax(0,1fr) auto;align-items:center;gap:clamp(10px,2.2cqw,30px);border-top:1px solid #2a2a28}.article-headings-component__entry h2{margin:0;color:#e9e9e5;font-size:clamp(18px,3.2cqw,44px);font-weight:600;line-height:1.08;letter-spacing:-.02em}.article-headings-component__index,.article-headings-component__meta{color:#60605c;font:400 clamp(8px,.85cqw,10px) / 1.3 "ThreeUI Fragment Mono",ui-monospace,monospace;letter-spacing:.06em}.article-headings-component__meta{text-align:right}.article-headings-component--light{color:#202128;background:#f3f5f8}.article-headings-component--light .article-headings-component__header,.article-headings-component--light .article-headings-component__index,.article-headings-component--light .article-headings-component__meta{color:#71737b}.article-headings-component--light .article-headings-component__entry{border-color:#d9dce3}.article-headings-component--light .article-headings-component__entry h2{color:#1d1f26}.typography-vortex-component{position:relative;isolation:isolate;touch-action:none;cursor:crosshair}.typography-vortex-component canvas{position:absolute;inset:0;display:block;width:100%;height:100%}.typography-vortex-component__hint,.animated-top-dock-component__caption{position:absolute;z-index:6;color:#62625e;font:400 9px/1 ThreeUI Fragment Mono,ui-monospace,monospace;letter-spacing:.1em}.typography-vortex-component__hint{right:18px;bottom:16px}.animated-top-dock-component{position:relative;display:grid;place-items:center;isolation:isolate;background:radial-gradient(circle at 50% 20%,rgba(255,255,255,.035),transparent 34%),#080808}.animated-top-dock__nav{position:absolute;top:clamp(24px,5cqw,46px);left:50%;z-index:10;display:flex;align-items:flex-start;gap:3px;height:38px;padding:4px;overflow:visible;border:1px solid #292929;border-radius:11px;background:#0e0e0edb;box-shadow:0 12px 34px #0000007a,inset 0 1px #ffffff09;backdrop-filter:blur(18px) saturate(75%);transform:translate(-50%);isolation:isolate}.animated-top-dock__item{position:relative;z-index:6;display:inline-flex;flex:none;align-items:center;justify-content:center;height:28px;min-width:0;padding:0;border:1px solid transparent;border-radius:7px;outline:none;color:#858580;background:#151514e6;font:400 10px/1 ThreeUI Fragment Mono,ui-monospace,monospace;letter-spacing:.1em;white-space:nowrap;backdrop-filter:blur(14px) saturate(70%);transform-origin:50% 0;transition:color .15s,border-color .18s,background .18s,box-shadow .18s;will-change:width,height,transform;cursor:pointer}.animated-top-dock__item[data-dock-near=true],.animated-top-dock__item:focus-visible{z-index:7;color:#ecece8;border-color:#41413e;background:#1b1b1af0;box-shadow:0 7px 16px #00000042}.animated-top-dock__logo{width:28px;height:28px;overflow:hidden;background:#e8e8e3}.animated-top-dock__logo svg{display:block;width:100%;height:100%}.animated-top-dock__link{gap:6px;width:94px;padding:0 9px}.animated-top-dock__link[aria-pressed=true]{color:#111;border-color:#e8e8e3;background:#e8e8e3;box-shadow:0 7px 18px #00000047}.animated-top-dock__icon{display:inline-flex;flex:none;align-items:center;justify-content:center;width:13px;height:13px;opacity:.62;transition:opacity .16s}.animated-top-dock__icon svg{display:block;width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.2;stroke-linecap:round;stroke-linejoin:round}.animated-top-dock__item[data-dock-near=true] .animated-top-dock__icon,.animated-top-dock__item:focus-visible .animated-top-dock__icon{opacity:1}.animated-top-dock-component__caption{right:18px;bottom:16px}@media(max-width:600px){.article-headings-component{padding:18px}.article-headings-component__entry{grid-template-columns:24px minmax(0,1fr)}.article-headings-component__entry h2{font-size:clamp(17px,5.5vw,26px)}.article-headings-component__meta{display:none}.animated-top-dock__nav{top:24px;gap:2px;height:36px}.animated-top-dock__item{height:26px!important;transform:none!important}.animated-top-dock__logo{width:26px!important;height:26px!important}.animated-top-dock__link{width:auto!important;padding:0 7px;font-size:8px;letter-spacing:.07em}.animated-top-dock__icon{display:none}}@media(prefers-reduced-motion:reduce){.animated-top-dock__item{transform:none!important}}.animated-top-dock-component.atd-modern,.animated-top-dock-component.atd-retro,.animated-top-dock-component.atd-glass{--atd-top: clamp(16px, 2.6cqw, 46px);--atd-bar-width: min(1460px, calc(100% - clamp(24px, 4.2cqw, 96px)) );--atd-bar-height: clamp(48px, 3.4cqw, 68px);--atd-bar-pad: clamp(5px, .42cqw, 9px);--atd-bar-lead: clamp(14px, 1.15cqw, 25px);--atd-item-height: clamp(30px, 2.2cqw, 44px);--atd-item-pad: clamp(10px, .86cqw, 18px);--atd-label: clamp(12px, .78cqw, 17px);--atd-icon: clamp(13px, .92cqw, 19px);--atd-gap: clamp(5px, .44cqw, 9px);--atd-brand: clamp(13px, .94cqw, 20px);--atd-mark: clamp(22px, 1.55cqw, 33px);--atd-action-height: clamp(34px, 2.5cqw, 50px);display:block;overflow:hidden}.atd-modern__bar,.atd-retro__bar{position:absolute;top:var(--atd-top);left:50%;z-index:10;display:flex;align-items:center;justify-content:space-between;width:var(--atd-bar-width);height:var(--atd-bar-height);transform:translate(-50%)}.atd-modern__bar{width:max-content;max-width:var(--atd-bar-width);padding:var(--atd-bar-pad) var(--atd-bar-pad) var(--atd-bar-pad) var(--atd-bar-lead)}.atd-modern__dock{display:flex;flex:none;gap:clamp(2px,.2cqw,5px);align-items:flex-start;justify-content:center;height:var(--atd-item-height)}.atd-modern__item,.atd-retro__item,.atd-glass__item{display:inline-flex;flex:none;gap:var(--atd-gap);align-items:center;justify-content:center;height:var(--atd-item-height);padding:0 var(--atd-item-pad);outline:none;white-space:nowrap;transform-origin:50% 0;will-change:width,height,transform;cursor:pointer}.atd-modern__brand,.atd-glass__brand,.atd-retro__brand{display:inline-flex;flex:none;gap:clamp(7px,.6cqw,13px);align-items:center;text-decoration:none}.atd-modern__mark,.atd-glass__mark{display:block;width:var(--atd-mark);height:var(--atd-mark);overflow:hidden}.atd-modern__mark svg,.atd-glass__mark svg{display:block;width:100%;height:100%}.atd-modern__word,.atd-glass__word{font-size:var(--atd-brand);font-weight:600;letter-spacing:-.018em}.atd-modern__actions{display:inline-flex;flex:none;gap:clamp(4px,.34cqw,8px);align-items:center}.atd-modern__ghost{height:var(--atd-action-height);padding:0 clamp(12px,.95cqw,20px);border:0;border-radius:999px;background:transparent;font:500 var(--atd-label) / 1 inherit;transition:color .16s,background .16s;cursor:pointer}.atd-modern__cta,.atd-glass__cta{height:var(--atd-action-height);border-radius:999px;font:600 var(--atd-label) / 1 inherit;letter-spacing:-.01em;white-space:nowrap;transition:transform .18s cubic-bezier(.22,1,.36,1),box-shadow .18s;cursor:pointer}.animated-top-dock-component.atd-modern{--atd-bar-width: min(1240px, calc(100% - clamp(24px, 5cqw, 120px)) );background:#07080c}.atd-modern__aurora{position:absolute;inset:-24% -12% auto;z-index:1;height:82%;pointer-events:none;background:radial-gradient(58% 62% at 22% 36%,rgba(78,116,255,.4),transparent 68%),radial-gradient(46% 56% at 78% 20%,rgba(186,96,255,.3),transparent 70%),radial-gradient(40% 48% at 52% 6%,rgba(56,220,214,.2),transparent 72%),radial-gradient(34% 40% at 50% 14%,rgba(255,255,255,.07),transparent 76%);filter:blur(8px)}.atd-modern__bar{gap:clamp(14px,2.4cqw,40px);border:1px solid rgba(255,255,255,.045);border-radius:999px;background:linear-gradient(180deg,#191b24db,#0c0d12d1);box-shadow:0 22px 52px -24px #000000eb,inset 0 1px #ffffff0b;backdrop-filter:blur(22px) saturate(150%);-webkit-backdrop-filter:blur(22px) saturate(150%)}.atd-modern__brand{color:#f2f3f7}.atd-modern__mark{border-radius:50%;box-shadow:0 2px 8px #0000006b}.atd-modern__item{border:1px solid transparent;border-radius:999px;color:#9b9fae;background:transparent;font:500 var(--atd-label) / 1 inherit;letter-spacing:-.005em;transition:color .16s,border-color .18s,background .18s,box-shadow .18s,backdrop-filter .18s}.atd-modern__item[data-dock-near=true],.atd-modern__item:hover,.atd-modern__item:focus-visible{color:#f4f5f9;border-color:#ffffff0e;background:#ffffff0e;box-shadow:0 8px 20px -14px #000000e6,inset 0 1px #ffffff0d;backdrop-filter:blur(18px) saturate(170%);-webkit-backdrop-filter:blur(18px) saturate(170%)}.atd-modern__item[aria-pressed=true]{color:#0a0b10;border-color:transparent;background:linear-gradient(180deg,#fff,#dfe3ef);box-shadow:0 10px 24px -12px #7896ffbf,inset 0 -1px #00000024}.atd-modern__icon,.atd-glass__icon{display:inline-flex;flex:none;align-items:center;justify-content:center;width:var(--atd-icon);height:var(--atd-icon);opacity:.72;transition:opacity .16s}.atd-modern__icon svg,.atd-glass__icon svg{display:block;width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.25;stroke-linecap:round;stroke-linejoin:round}.atd-modern__item[data-dock-near=true] .atd-modern__icon,.atd-modern__item[aria-pressed=true] .atd-modern__icon,.atd-glass__item[data-dock-near=true] .atd-glass__icon,.atd-glass__item[aria-pressed=true] .atd-glass__icon{opacity:1}.atd-modern__ghost{color:#a7abba}.atd-modern__ghost:hover{color:#f0f1f6;background:#ffffff0f}.atd-modern__cta{display:inline-flex;gap:var(--atd-gap);align-items:center;padding:0 var(--atd-bar-pad) 0 clamp(14px,1.1cqw,24px);border:0;color:#0a0b10;background:linear-gradient(180deg,#fff,#d8ddec);box-shadow:0 10px 26px -14px #96affff2,inset 0 -1px #00000029}.atd-modern__cta svg{box-sizing:border-box;width:calc(var(--atd-action-height) - clamp(12px,.9cqw,20px));height:calc(var(--atd-action-height) - clamp(12px,.9cqw,20px));padding:clamp(4px,.3cqw,7px);border-radius:999px;background:#0a0b101a;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}.atd-modern__cta:hover{box-shadow:0 16px 32px -14px #96afff,inset 0 -1px #00000029;transform:translateY(-1px)}.atd-modern__stage{position:absolute;top:58%;left:50%;z-index:4;width:min(88cqw,1120px);text-align:center;pointer-events:none;transform:translate(-50%,-50%)}.atd-modern__eyebrow{margin:0 0 clamp(8px,.9cqw,18px);color:#7d84a0;font:400 clamp(8px,.62cqw,13px) / 1 "ThreeUI Fragment Mono",ui-monospace,monospace;letter-spacing:.22em;text-transform:uppercase}.atd-modern__headline{margin:0;padding:.08em 0 .14em;color:transparent;background:linear-gradient(180deg,#fff 16%,#ffffff4d);background-clip:text;-webkit-background-clip:text;font-size:clamp(30px,7.6cqw,150px);font-weight:400;line-height:1.04;letter-spacing:-.03em;text-wrap:balance}.animated-top-dock-component.atd-retro{--atd-label: clamp(9px, .68cqw, 15px);--atd-icon: clamp(10px, .78cqw, 17px);--atd-brand: clamp(11px, .8cqw, 18px);background:#0b0819}.atd-retro__field{position:absolute;inset:0;z-index:0;display:block;width:100%;height:100%;image-rendering:pixelated}.atd-retro__vignette{position:absolute;inset:0;z-index:1;pointer-events:none;background:radial-gradient(124% 90% at 50% 34%,transparent 28%,rgba(6,4,16,.62) 100%),linear-gradient(180deg,rgba(6,4,16,.6) 0%,transparent 24%,transparent 62%,rgba(6,4,16,.58) 100%)}.atd-retro:before{position:absolute;inset:0;z-index:11;pointer-events:none;content:"";opacity:calc(var(--atd-retro-scan, .32) * 1.5);background:repeating-linear-gradient(180deg,rgba(0,0,0,.42) 0 1px,transparent 1px 3px)}.atd-retro__bar{gap:0;padding:0;overflow:hidden;border:2px solid #f4e6c8;background:#1a1030;box-shadow:6px 6px #0604109e}.atd-retro__brand{height:100%;padding:0 clamp(12px,1.1cqw,26px);border-right:2px solid #4b2f7e;color:#f9c74f;background:#150c28;font:400 var(--atd-brand) / 1 "ThreeUI Fragment Mono",ui-monospace,monospace;letter-spacing:.12em}.atd-retro__dock{display:flex;flex:1 1 0;gap:0;align-items:stretch;min-width:0;height:100%}.atd-retro__badge{display:inline-flex;width:var(--atd-icon);height:var(--atd-icon)}.atd-retro__badge svg,.atd-retro__icon svg{display:block;width:100%;height:100%;fill:currentColor;shape-rendering:crispEdges}.atd-retro__item{height:100%;min-width:0;padding:0 clamp(6px,.5cqw,12px);overflow:hidden;border:0;border-right:2px solid #4b2f7e;color:#b9a7e8;background:#241548;font:400 var(--atd-label) / 1 "ThreeUI Fragment Mono",ui-monospace,monospace;letter-spacing:.14em;transition:color .1s steps(2),background .1s steps(2)}.atd-retro__item[data-dock-near=true],.atd-retro__item:focus-visible{color:#fff4d6;background:#3a2170}.atd-retro__item[aria-pressed=true]{color:#1a1030;background:#f9c74f}.atd-retro__icon{display:inline-flex;flex:none;width:var(--atd-icon);height:var(--atd-icon)}.atd-retro__cta{display:inline-flex;flex:none;gap:var(--atd-gap);align-items:center;height:100%;padding:0 clamp(14px,1.2cqw,28px);border:0;border-left:2px solid #f4e6c8;color:#1a1030;background:#f47b5c;font:400 var(--atd-label) / 1 "ThreeUI Fragment Mono",ui-monospace,monospace;letter-spacing:.16em;transition:background .1s steps(2),color .1s steps(2);cursor:pointer}.atd-retro__cta:hover{color:#1a1030;background:#f9c74f}.atd-retro__readout{position:absolute;bottom:clamp(30px,4.2cqw,74px);left:50%;z-index:8;display:flex;gap:clamp(12px,2.4cqw,42px);margin:0;color:#a08fd4;font:400 clamp(9px,.62cqw,13px) / 1 "ThreeUI Fragment Mono",ui-monospace,monospace;letter-spacing:.2em;transform:translate(-50%)}.animated-top-dock-component.atd-glass{--atd-rail-width: clamp(158px, 12.5cqw, 250px);background:#08090d}.atd-glass__field{position:absolute;inset:0;z-index:0;display:block;width:100%;height:100%}.atd-glass:before{position:absolute;inset:0 auto 0 0;z-index:5;width:42%;pointer-events:none;content:"";background:linear-gradient(90deg,#06070ba8,#06070b00)}.atd-glass__rail{position:absolute;top:50%;left:clamp(20px,3.4cqw,68px);z-index:10;display:flex;flex-direction:column;gap:clamp(6px,.5cqw,11px);align-items:stretch;width:var(--atd-rail-width);padding:var(--atd-bar-pad);border-radius:clamp(20px,1.7cqw,34px);background:linear-gradient(160deg,#ffffff26,#ffffff0d);box-shadow:0 30px 64px -26px #000000eb,inset 0 1px #ffffff70,inset 0 -1px #ffffff1f,inset 0 0 0 1px #ffffff24;backdrop-filter:blur(26px) saturate(190%);-webkit-backdrop-filter:blur(26px) saturate(190%);transform:translateY(-50%)}.atd-glass__rail:before{position:absolute;inset:0;pointer-events:none;content:"";border-radius:inherit;background:linear-gradient(168deg,#ffffff38,#fff0 30% 76%,#ffffff24)}.atd-glass__brand{position:relative;padding:clamp(6px,.5cqw,12px) clamp(8px,.7cqw,15px);color:#fbfbfe}.atd-glass__mark{border-radius:clamp(7px,.5cqw,11px);box-shadow:0 3px 10px #0000006b,inset 0 0 0 1px #ffffff4d}.atd-glass__hairline{height:1px;margin:clamp(2px,.2cqw,5px) clamp(6px,.5cqw,12px);background:linear-gradient(90deg,#ffffff0a,#ffffff42,#ffffff0a)}.atd-glass__dock{position:relative;display:flex;flex-direction:column;gap:clamp(2px,.2cqw,5px);align-items:stretch}.atd-glass__item{justify-content:flex-start;width:100%;border:1px solid transparent;border-radius:clamp(12px,1cqw,22px);color:#ffffffa8;background:transparent;font:500 var(--atd-label) / 1 inherit;letter-spacing:-.005em;transform-origin:0 50%;transition:color .18s,border-color .2s,background .2s,box-shadow .2s}.atd-glass__item[data-dock-near=true],.atd-glass__item:focus-visible{color:#fff;border-color:#ffffff3d;background:linear-gradient(180deg,#ffffff38,#ffffff12);box-shadow:inset 0 1px #ffffff75,0 8px 18px -10px #000c}.atd-glass__item[aria-pressed=true]{color:#0d0f16;border-color:#fff9;background:linear-gradient(180deg,#fff,#e6e9f4);box-shadow:0 10px 24px -12px #ffffff80,inset 0 -1px #00000024}.atd-glass__cta{display:inline-flex;gap:var(--atd-gap);align-items:center;justify-content:space-between;width:100%;padding:0 clamp(12px,1cqw,22px);border:1px solid rgba(255,255,255,.55);color:#0d0f16;background:linear-gradient(180deg,#fff,#dfe3f0);box-shadow:0 12px 30px -14px #fff9,inset 0 -1px #00000029}.atd-glass__cta svg{width:var(--atd-icon);height:var(--atd-icon);fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.atd-glass__cta:hover{box-shadow:0 16px 34px -14px #ffffffbf,inset 0 -1px #00000029;transform:translateY(-1px)}.atd-modern .animated-top-dock-component__caption,.atd-glass .animated-top-dock-component__caption{color:#ffffff57}.atd-retro .animated-top-dock-component__caption{z-index:12;color:#7b6ab0}@container (max-width: 900px){.atd-modern__ghost{display:none}.atd-modern__item span:last-child,.atd-retro__item span:last-child{display:none}.atd-modern__cta span{display:none}.atd-modern__cta{padding:0 var(--atd-bar-pad)}.animated-top-dock-component.atd-glass{--atd-rail-width: auto}.atd-glass__item{justify-content:center}.atd-glass__item span:last-child,.atd-glass__word,.atd-glass__cta span{display:none}.atd-glass__cta{justify-content:center}}@media(max-width:600px){.atd-modern__word{display:none}.atd-modern__item{height:28px!important;transform:none!important}.atd-glass__item{height:auto!important;transform:none!important}.atd-retro__item{height:100%!important;transform:none!important}.atd-modern__stage{top:62%}.atd-retro__readout{display:none}}@media(prefers-reduced-motion:reduce){.atd-modern__item,.atd-retro__item,.atd-glass__item{transform:none!important}}

/* All new styling is confined to supporting views and their details. */
.a-overview {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(260px, 1fr);
  gap: 32px;
  align-items: start;
}
.a-main-column,
.a-side-column {
  display: flex;
  flex-direction: column;
  gap: 30px;
  min-width: 0;
}
.a-section-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 14px;
}
.a-section-heading h2 {
  font-size: 17px;
  margin: 0;
}
.a-section-heading .button {
  font-size: 12px;
  white-space: nowrap;
}
.a-list {
  display: flex;
  flex-direction: column;
  min-width: 0;
}
.a-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 18px;
  padding: 18px 0;
  border-bottom: 1px solid var(--line);
  min-width: 0;
}
.a-row:last-child {
  border-bottom: 0;
}
.a-row > div {
  min-width: 0;
}
.a-row h3 {
  font-size: 14px;
  margin: 0 0 6px;
  overflow-wrap: anywhere;
}
.a-row p {
  font-size: 12px;
  color: var(--muted);
  margin: 0;
  line-height: 1.6;
  overflow-wrap: anywhere;
}
.a-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}
.a-actions .button {
  font-size: 12px;
  min-height: 40px;
}
.a-row > .a-actions {
  flex-shrink: 0;
}
.a-library-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.a-artifact-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}
.a-artifact {
  display: flex;
  flex-direction: column;
  min-height: 205px;
  gap: 12px;
  min-width: 0;
}
.a-artifact h2 {
  font-size: 20px;
  line-height: 1.3;
  margin: 0;
  overflow-wrap: anywhere;
}
.a-artifact p {
  color: var(--muted);
  font-size: 13px;
  line-height: 1.6;
  margin: 0;
  overflow-wrap: anywhere;
}
.a-artifact-footer {
  margin-top: auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}
.a-artifact-footer small {
  color: var(--muted);
  font-size: 11px;
  overflow-wrap: anywhere;
}
.a-library-tools {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin: 0 0 22px;
}
.a-library-tools .button {
  font-size: 12px;
}
.a-pending-calls {
  margin-top: 32px;
}
.a-pending-calls h2 {
  font-size: 20px;
}
.a-hint,
.a-meta {
  font-size: 12px !important;
  line-height: 1.7 !important;
  color: var(--muted);
  margin: 12px 0;
  overflow-wrap: anywhere;
}
.a-details p {
  line-height: 1.7;
  overflow-wrap: anywhere;
}
.a-details h3 {
  font-size: 16px;
  margin: 22px 0 10px;
}
.a-details .a-actions {
  margin-top: 14px;
}
.a-details .a-row .a-actions {
  margin: 0;
}
.a-details .a-row h3 {
  margin: 0 0 5px;
  font-size: 14px;
}
.a-details details {
  padding: 18px 0;
  border-bottom: 1px solid var(--line);
}
.a-details summary {
  cursor: pointer;
  font-weight: 600;
}
.a-details input,
.a-details textarea,
.a-details select {
  max-width: 100%;
  font-size: 16px;
}
.a-details .a-status-note {
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: 16px;
  margin: 20px 0;
}
.a-details .a-status-note p {
  margin: 6px 0 0;
}
.a-switch {
  display: flex;
  gap: 8px;
  margin-bottom: 20px;
}
.a-graph {
  display: flex;
  flex-direction: column;
  gap: 18px;
  margin: 18px 0;
}
.a-graph-group {
  border: 1px solid var(--line);
  border-radius: 10px;
  overflow: hidden;
}
.a-graph-source {
  padding: 13px;
  background: var(--raised);
  border-bottom: 1px solid var(--line);
}
.a-graph-links {
  display: flex;
  flex-direction: column;
  align-items: start;
  gap: 8px;
  padding: 15px;
}
.a-graph-links span {
  font-size: 12px;
  color: var(--muted);
}
.a-graph .button {
  max-width: 100%;
  text-align: left;
  white-space: normal;
  font-size: 12px;
}
.a-save-result {
  padding-top: 12px;
}
.a-save-result .button {
  font-size: 12px;
}
.a-notes .a-row {
  gap: 30px;
}
.a-coverage {
  margin-top: 22px;
}
.a-notes .concept-map {
  margin-bottom: 28px;
}
@media (max-width: 1100px) {
  .a-overview {
    grid-template-columns: minmax(0, 1fr);
    gap: 28px;
  }
  .a-side-column {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px;
  }
  .a-artifact-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 700px) {
  .a-overview {
    gap: 26px;
  }
  .a-main-column,
  .a-side-column {
    display: flex;
    flex-direction: column;
    gap: 25px;
  }
  .a-artifact-grid {
    grid-template-columns: 1fr;
  }
  .a-row {
    gap: 12px;
    align-items: start;
  }
  .a-row > .a-actions {
    max-width: 115px;
  }
  .a-row .button {
    padding: 9px 10px;
    font-size: 12px;
    min-height: 44px;
  }
  .a-section-heading {
    gap: 8px;
    flex-wrap: wrap;
  }
  .a-section-heading h2 {
    font-size: 17px;
  }
  .a-section-heading .button {
    font-size: 12px;
    padding: 8px 0;
  }
  .a-details .a-row {
    flex-wrap: wrap;
  }
  .a-details .a-row > .a-actions {
    max-width: none;
  }
  .a-notes .a-row {
    gap: 14px;
  }
  .a-artifact {
    min-height: 175px;
  }
  .a-artifact h2 {
    font-size: 21px;
  }
  .a-library-tools {
    gap: 8px;
  }
  .a-library-tools .button {
    min-height: 44px;
  }
  .a-save-result .button {
    min-height: 44px;
  }
}

/* The chosen design has only an appearance preference, no design/palette picker. */
.design-review .mode-options {
  border-left: 0;
  padding-left: 0;
}

/* Project scope is a working control, visually distinct from navigation. */
.toolbar .project-control { min-width: 0; }
#project-switcher {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 44px;
  width: 220px;
  max-width: 100%;
  padding: 6px 12px 6px 8px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface);
  color: var(--ink);
  text-align: left;
  cursor: pointer;
}
#project-switcher:hover, #project-switcher[aria-expanded="true"] { border-color: var(--ink); }
#project-switcher > svg { flex-shrink: 0; margin-left: auto; }
.project-symbol {
  display: grid;
  place-items: center;
  flex-shrink: 0;
  width: 30px;
  height: 30px;
  background: var(--raised);
  border: 1px solid var(--line);
  border-radius: 6px;
  color: var(--ink);
  font-size: 14px;
  font-weight: 600;
}
.project-trigger-copy { display: flex; flex-direction: column; min-width: 0; gap: 1px; }
.project-trigger-copy small { color: var(--muted); font-size: 10px; line-height: 12px; }
.project-trigger-copy strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 13px; line-height: 17px; font-weight: 600; }
#project-picker {
  position: fixed;
  inset: var(--picker-top) auto auto var(--picker-left);
  margin: 0;
  width: min(360px, calc(100vw - 24px));
  max-height: calc(100dvh - var(--picker-top) - 16px);
  padding: 16px;
  border-radius: 12px;
  box-shadow: 0 12px 32px var(--shadow-deep);
  overflow-y: auto;
  overscroll-behavior: contain;
  scroll-padding: 16px;
}
#project-picker::backdrop { background: transparent; backdrop-filter: none; }
.project-picker-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
#project-picker h2 { font-size: 16px; margin: 0; text-wrap: balance; }
#project-picker .button { min-height: 44px; }
.project-picker-context { font-size: 12px; line-height: 1.6; color: var(--muted); margin: 0 0 12px; text-wrap: pretty; }
#project-search { width: 100%; min-height: 44px; margin-bottom: 10px; font-size: 16px; }
.project-matches { display: grid; gap: 4px; }
.project-choice {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  min-height: 64px;
  padding: 10px 8px;
  border: 1px solid transparent;
  border-radius: 7px;
  color: var(--ink);
  background: transparent;
  text-align: left;
  cursor: pointer;
}
.project-choice > span:nth-child(2) { flex: 1; min-width: 0; }
.project-choice strong { display: block; font-size: 13px; font-weight: 600; overflow-wrap: anywhere; }
.project-choice small { display: block; font-size: 12px; color: var(--muted); line-height: 1.5; margin-top: 2px; text-wrap: pretty; overflow-wrap: anywhere; }
.project-choice:hover, .project-choice[aria-pressed="true"] { background: var(--raised); }
.project-choice[aria-pressed="true"] { border-color: var(--line); }
.project-check { width: 16px; flex-shrink: 0; font-size: 15px; }
.project-picker-footer { display: flex; justify-content: space-between; align-items: center; gap: 12px; border-top: 1px solid var(--line); margin-top: 12px; padding-top: 12px; }
.project-empty { padding: 24px 8px; text-align: center; font-size: 13px; }
#project-switcher:focus-visible, #project-picker button:focus-visible, #project-search:focus-visible { outline: 2px solid var(--ink); outline-offset: 3px; }
@media (prefers-reduced-motion: no-preference) {
  #project-picker[open] { animation: project-picker-in 140ms ease-out; }
  @keyframes project-picker-in { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: translateY(0); } }
}
@media (max-width: 700px) {
  #project-switcher { width: 100%; gap: 6px; padding: 5px 8px; }
  #project-switcher .project-symbol { display: none; }
  #project-switcher .project-trigger-copy strong { font-size: 12px; }
  #project-picker { padding-bottom: max(16px, env(safe-area-inset-bottom)); }
}

/* Qronos primitives, now organized around five workspace destinations. */
.w-icon { width: 20px; height: 20px; flex: 0 0 auto; }
#main-nav .nav-link { display: flex; align-items: center; gap: 11px; padding-inline: 14px; }
#main-nav .nav-link span { white-space: nowrap; }
.toolbar .toolbar-voice { display: grid; place-items: center; flex: 0 0 42px; width: 42px; height: 42px; min-height: 42px; padding: 0; border: 1px solid var(--line); border-radius: 50%; background: var(--raised); cursor: pointer; overflow: hidden; }
.toolbar-voice loresis-voice-orb { display: block; width: 36px; height: 36px; pointer-events: none; filter: grayscale(1); }
.toolbar .folder-trigger { font-size: 12px; white-space: nowrap; margin-right: auto; }
.toolbar .project-control { flex: 0 1 220px; }
.w-intro { color: var(--muted); font-size: 15px; line-height: 1.7; margin: 0 0 26px; }
.w-breadcrumb { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; color: var(--muted); font-size: 12px; margin: 0 0 22px; min-height: 24px; }
.w-breadcrumb a, .w-breadcrumb .button { color: var(--ink); font-size: 12px; text-decoration: none; padding: 4px 0; }
.w-breadcrumb a:hover { text-decoration: underline; }
.w-breadcrumb strong { font-weight: 500; overflow-wrap: anywhere; }
.w-folder-section { margin-bottom: 36px; }
.w-folder-section h2, .w-section-label h2, .w-conversations h2 { font-size: 15px; font-weight: 600; }
.w-folders { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.w-folder { display: flex; align-items: start; gap: 12px; min-width: 0; padding: 18px 14px; border: 1px solid var(--line); border-radius: 8px; text-decoration: none; color: var(--ink); background: var(--surface); }
.w-folder > span:first-of-type { min-width: 0; flex: 1; }
.w-folder strong { display: block; font-size: 14px; font-weight: 600; overflow-wrap: anywhere; }
.w-folder small { display: block; font-size: 11px; line-height: 1.6; color: var(--muted); margin-top: 6px; overflow-wrap: anywhere; }
.w-folder > span:last-child { color: var(--muted); font-size: 12px; }
.w-folder:hover, .w-dashboard-card:hover { border-color: var(--ink); background: var(--raised); }
.w-folder-links { display: flex; gap: 10px; flex-wrap: wrap; margin-bottom: 36px; }
.w-folder-links .button { display: inline-flex; align-items: center; gap: 8px; text-decoration: none; }
.w-project-page .w-folders { margin: 28px 0; }
.w-conversations { border-top: 1px solid var(--line); padding-top: 16px; }
.w-conversation { display: flex; align-items: center; justify-content: space-between; gap: 20px; width: 100%; background: transparent; border: 0; border-bottom: 1px solid var(--line); padding: 22px 0; text-decoration: none; color: var(--ink); text-align: left; cursor: pointer; }
.w-conversation strong { font-size: 15px; font-weight: 500; }
.w-conversation span { color: var(--muted); font-size: 12px; }
.w-section-label { display: flex; gap: 12px; justify-content: space-between; align-items: center; margin-bottom: 12px; }
.w-section-label > span { color: var(--muted); font-size: 12px; }
.w-project-description { color: var(--muted); font-size: 14px; margin: -8px 0 32px; }
.w-dashboard-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.w-dashboard-card { display: flex; flex-direction: column; align-items: start; border: 1px solid var(--line); background: var(--surface); border-radius: 10px; padding: 24px; min-width: 0; text-decoration: none; color: var(--ink); }
.w-dashboard-card > .w-icon { width: 28px; height: 28px; margin-bottom: 22px; }
.w-dashboard-name { font-size: 22px; font-weight: 500; letter-spacing: -.6px; overflow-wrap: anywhere; }
.w-dashboard-card p { color: var(--muted); font-size: 13px; line-height: 1.7; margin: 12px 0 28px; overflow-wrap: anywhere; }
.w-dashboard-footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; width: 100%; margin-top: auto; font-size: 12px; }
.w-dashboard-footer small { color: var(--muted); font-size: 12px; }
.w-work-page .section-tabs, .knowledge-page .section-tabs, .w-settings-page .section-tabs { margin-bottom: 26px; }
.w-work-heading { margin: 0 0 22px; }
.w-work-heading h2 { font-size: 22px; font-weight: 500; margin: 0 0 10px; }
.w-work-heading p { font-size: 13px; line-height: 1.7; color: var(--muted); margin: 0; }
.w-job { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 16px; padding: 24px 0; border-bottom: 1px solid var(--line); }
.w-job h3 { font-size: 17px; font-weight: 550; margin: 0 0 10px; overflow-wrap: anywhere; }
.w-job p { color: var(--muted); font-size: 12px; line-height: 1.7; margin: 4px 0; }
.w-job .a-actions { justify-content: end; align-content: center; }
.w-job-status { display: inline-block; border: 1px solid var(--line); border-radius: 5px; padding: 4px 8px; font-size: 11px; margin-right: 8px; color: var(--ink); background: var(--raised); }
.w-provenance { font-size: 12px; line-height: 1.7; color: var(--muted); padding: 12px 0; }
.w-status-filter { display: flex; align-items: center; gap: 12px; margin-bottom: 18px; font-size: 12px; }
.w-status-filter select { max-width: 200px; text-transform: capitalize; }
.w-status-filter select, .knowledge-page #a-knowledge-search, .w-settings-page #quiet-hours {
  min-height: 44px; padding: 10px 12px; color: var(--ink); background: var(--surface);
  border: 1px solid var(--line); border-radius: 8px; font: 14px var(--font);
}
.knowledge-page label[for="a-knowledge-search"], .w-settings-page label[for="quiet-hours"] { display: block; font-size: 13px; margin-bottom: 10px; }
.knowledge-page #a-knowledge-search { display: block; width: 100%; max-width: 560px; margin-bottom: 24px; }
.w-settings-page #quiet-hours { width: 100%; max-width: 320px; }
.w-settings-page #section-content { max-width: 850px; }
.w-settings-page .connection-row { padding: 20px 0; }
.w-settings-page .connection-row small { display: block; color: var(--muted); margin-top: 6px; font-size: 12px; }
.w-provider-label { border-top: 1px solid var(--line); margin-top: 28px; padding-top: 24px; font-size: 16px; font-weight: 550; }
.w-job-form { display: grid; gap: 12px; }
.w-job-form label { font-size: 13px; }
.w-job-form input, .w-job-form select, .w-job-form textarea { width: 100%; }
.w-job-form .button { justify-self: start; margin-top: 10px; }
.w-settings-page .instruction-row { grid-template-columns: 30px 1fr auto auto; }
.w-settings-page .instruction-schedule { display: none; }
.w-work-page .a-row > div:first-child { max-width: 75%; }
.w-dashboard-detail .a-details { max-width: 900px; }
.w-folders a:focus-visible, .w-dashboard-card:focus-visible, .w-conversation:focus-visible, .toolbar-voice:focus-visible { outline: 2px solid var(--ink); outline-offset: 4px; }
@media (max-width: 1100px) {
  .w-folders { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .w-dashboard-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 700px) {
  .toolbar .project-control { flex: 1 1 auto; }
  .toolbar .folder-trigger { padding-inline: 5px; font-size: 11px; }
  .toolbar .recent-chats { display: none; }
  .toolbar .toolbar-voice { flex-basis: 44px; width: 44px; height: 44px; min-height: 44px; }
  .toolbar-voice loresis-voice-orb { width: 32px; height: 32px; }
  .toolbar .toolbar-actions { gap: 8px; }
  .w-folders, .w-dashboard-grid { grid-template-columns: 1fr; }
  .w-dashboard-card { padding: 20px; }
  .w-dashboard-card > .w-icon { margin-bottom: 16px; }
  .w-dashboard-card p { margin-bottom: 20px; }
  .w-job { grid-template-columns: 1fr; gap: 10px; }
  .w-job .a-actions { justify-content: start; }
  .w-conversation { align-items: start; flex-direction: column; gap: 10px; }
  .w-work-page .page-heading { flex-wrap: wrap; }
  .w-work-page .a-row { flex-wrap: wrap; }
  .w-work-page .a-row > div:first-child { max-width: 100%; }
  .w-work-page .a-row > .a-actions { max-width: none; }
  .w-settings-page .instruction-row { grid-template-columns: 24px minmax(0, 1fr) auto; }
  .w-settings-page .instruction-row .switch { grid-column: 3; }
}
@media (max-width: 360px) {
  .toolbar .account-button { display: none; }
}

loresis-knowledge-graph { display: block; }
.kg-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 18px; }
.kg-heading p { font-size: 15px; color: var(--muted); margin: 0; }
.kg-heading > span { font-size: 11px; color: var(--muted); white-space: nowrap; }
.kg-layout { display: grid; grid-template-columns: minmax(0, 1fr) 270px; border: 1px solid var(--line); border-radius: 12px; overflow: hidden; background: var(--surface); }
.kg-map { position: relative; min-width: 0; background: radial-gradient(ellipse at 40% 40%, var(--raised), transparent 75%); }
.kg-stage { width: 100%; height: clamp(420px, 58vh, 600px); position: relative; overflow: hidden; background-image: radial-gradient(var(--line) 0.7px, transparent 0.7px); background-size: 20px 20px; outline-offset: -3px; }
.kg-stage > canvas, .kg-labels { position: absolute; inset: 0; width: 100%; height: 100%; }
.kg-stage > canvas { display: block; }
.kg-labels { pointer-events: none; }
.kg-node { position: absolute; transform: translate(-50%, -50%); width: 32px; height: 32px; padding: 0; border: 0; border-radius: 50%; cursor: pointer; pointer-events: auto; background: transparent; color: var(--ink); }
.kg-hit { display: block; width: 100%; height: 100%; border-radius: 50%; }
.kg-node-label { position: absolute; left: 50%; top: calc(100% + 2px); transform: translateX(-50%); max-width: 155px; width: max-content; padding: 5px 8px; border: 1px solid var(--line); border-radius: 5px; background: var(--surface); font: 11px var(--font); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; opacity: 0; pointer-events: none; }
.kg-hub { width: 40px; height: 40px; z-index: 2; }
.kg-hub .kg-node-label { opacity: 1; font-weight: 600; font-size: 12px; }
.kg-selected, .kg-node:hover, .kg-node:focus-visible { z-index: 4; outline: 1px solid var(--node-color); outline-offset: 1px; }
.kg-selected .kg-node-label, .kg-node:hover .kg-node-label, .kg-node:focus-visible .kg-node-label, .kg-match .kg-node-label { opacity: 1; }
.kg-muted { opacity: .35; }
.kg-controls { position: absolute; z-index: 5; right: 16px; top: 16px; display: flex; align-items: center; border: 1px solid var(--line); border-radius: 8px; background: var(--surface); overflow: hidden; }
.kg-controls button { min-width: 40px; min-height: 40px; padding: 10px 12px; color: var(--ink); font: 12px var(--font); background: transparent; border: 0; cursor: pointer; }
.kg-controls button + button { border-left: 1px solid var(--line); }
.kg-controls button:hover { background: var(--raised); }
.kg-map-footer { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 14px 16px; border-top: 1px solid var(--line); color: var(--muted); background: var(--surface); }
.kg-map-footer p, .kg-map-footer span { font-size: 10px; margin: 0; }
.kg-inspector { min-width: 0; border-left: 1px solid var(--line); padding: 22px; max-height: 646px; overflow-y: auto; }
.kg-inspector > label { font-size: 12px; display: block; margin-bottom: 10px; }
.kg-inspector > input { width: 100%; min-height: 44px; padding: 10px 12px; color: var(--ink); background: var(--surface); border: 1px solid var(--line); border-radius: 7px; font: 13px var(--font); }
.kg-detail { margin-top: 28px; }
.kg-kind { display: inline-flex; gap: 7px; align-items: center; font-size: 10px; color: var(--muted); }
.kg-kind::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--node-color); }
.kg-detail h2 { font-size: 21px; line-height: 1.35; font-weight: 500; letter-spacing: -.5px; margin: 12px 0; overflow-wrap: anywhere; }
.kg-detail > p { font-size: 12px; line-height: 1.7; color: var(--muted); margin: 0 0 18px; overflow-wrap: anywhere; }
.kg-detail > .button { font-size: 12px; min-height: 40px; }
.kg-related-heading { display: flex; justify-content: space-between; gap: 16px; align-items: center; margin: 28px 0 8px; }
.kg-related-heading h3 { font-size: 12px; margin: 0; font-weight: 600; }
.kg-related-heading > span { font-size: 11px; color: var(--muted); }
.kg-related button, .kg-search-results button { display: flex; flex-direction: column; gap: 6px; text-align: left; width: 100%; border: 0; border-bottom: 1px solid var(--line); background: transparent; color: var(--ink); padding: 14px 0; cursor: pointer; }
.kg-related button:hover, .kg-search-results button:hover { background: var(--raised); }
.kg-related small, .kg-related button > span, .kg-search-results small { color: var(--muted); font-size: 10px; }
.kg-related strong, .kg-search-results button > span { font-size: 12px; line-height: 1.5; font-weight: 500; overflow-wrap: anywhere; }
.kg-search-results { max-height: 250px; overflow-y: auto; border-bottom: 1px solid var(--line); }
.kg-search-results > p, .kg-empty { font-size: 11px; color: var(--muted); line-height: 1.7; }
.kg-legend { display: flex; align-items: center; gap: 18px; flex-wrap: wrap; padding-top: 16px; }
.kg-legend > span { display: inline-flex; align-items: center; gap: 7px; color: var(--muted); font-size: 11px; }
.kg-legend i { width: 7px; height: 7px; border-radius: 50%; background: var(--node-color); }
.kg-legend small { margin-left: auto; font-size: 10px; color: var(--muted); }
.kg-fallback { padding: 30px; line-height: 1.7; font-size: 14px; color: var(--muted); }
.kg-node[hidden], .kg-search-results[hidden], .kg-controls[hidden], .kg-map-footer[hidden] { display: none; }
.voice-dock-art { display: block; flex: 0 0 52px; width: 52px; height: 52px; }
.voice-dock-art loresis-voice-orb { display: block; width: 100%; height: 100%; }
.voice-dock-art .voice-shader-mount { filter: grayscale(1) invert(1); }
:root[data-mode="dark"] .voice-dock-art .voice-shader-mount { filter: grayscale(1); }
@media (max-width: 1100px) {
  .kg-layout { grid-template-columns: minmax(0, 1fr) 235px; }
  .kg-inspector { padding: 18px; }
}
@media (max-width: 700px) {
  .kg-heading { flex-wrap: wrap; gap: 8px; }
  .kg-layout { grid-template-columns: 1fr; }
  .kg-stage { height: 360px; }
  .kg-inspector { border-left: 0; border-top: 1px solid var(--line); max-height: none; }
  .kg-related { max-height: 300px; overflow-y: auto; }
  .kg-node { width: 36px; height: 36px; }
  .kg-hub { width: 40px; height: 40px; }
  .kg-node-label { max-width: 105px; font-size: 10px; padding: 4px 6px; }
  .kg-hub .kg-node-label { font-size: 10px; }
  .kg-controls button { min-height: 44px; }
  .kg-map-footer { padding: 12px; }
  .kg-map-footer p { max-width: 230px; line-height: 1.6; }
  .kg-controls { top: 12px; right: 12px; }
  .kg-legend { gap: 12px; }
  .kg-legend small { width: 100%; margin-left: 0; }
}

@font-face { font-family: "Aurora Sans"; src: url("./fonts/manrope.ttf") format("truetype"); font-weight: 200 800; font-display: swap; }

/* Independent interpretation of the owner's Aurora Glass reference. */
:root[data-skin="aurora"] body {
  --font: "Aurora Sans", "Helvetica Neue", sans-serif; --display: var(--font); --label: var(--font);
  --sidebar: 214px; --review: 42px; --toolbar: 66px; --workspace-top: 14px; --chat-reserve: 0px; --radius: 24px;
  --bg: #080c22; --surface: rgba(29, 38, 72, .62); --raised: rgba(191, 205, 255, .1);
  --ink: #eef0ff; --muted: #b9c2d9; --line: rgba(213, 224, 255, .18);
  --accent: #83ecdd; --accent-strong: #a9f8e8; --glow: rgba(70, 221, 204, .12);
  --shadow: rgba(0, 3, 20, .28); --shadow-soft: rgba(0, 3, 20, .2); --shadow-deep: rgba(0, 3, 20, .72);
  --glass: rgba(29, 38, 72, .72); --glass-user: rgba(66, 63, 113, .76); --glass-edge: rgba(222, 229, 255, .22); --glass-shade: rgba(0, 3, 20, .2);
  --aurora-plate: linear-gradient(135deg, rgba(205, 217, 255, .1), rgba(123, 143, 214, .035) 58%, rgba(221, 209, 255, .08));
  --aurora-solid: #151d3a; --aurora-edge: rgba(239, 245, 255, .26); --aurora-shadow: 0 24px 65px -34px rgba(0, 0, 18, .75);
  --aurora-bright: linear-gradient(110deg, #d1fff4, #e4deff 60%, #ffdeee); --aurora-bright-ink: #132139;
  font: 400 14px/1.6 var(--font); background: var(--bg); color: var(--ink);
}
:root[data-skin="aurora"][data-mode="light"] body {
  --bg: #e8eef5; --surface: rgba(255, 255, 255, .62); --raised: rgba(255, 255, 255, .46);
  --ink: #172640; --muted: #50617b; --line: rgba(53, 76, 110, .19); --accent: #157365; --accent-strong: #16685b;
  --glass: rgba(245, 249, 255, .83); --glass-user: rgba(226, 226, 253, .86); --glass-edge: rgba(255, 255, 255, .9);
  --aurora-plate: linear-gradient(135deg, rgba(255, 255, 255, .68), rgba(250, 250, 255, .34) 60%, rgba(255, 244, 250, .58));
  --aurora-solid: #edf2fa; --aurora-edge: rgba(255, 255, 255, .95); --aurora-shadow: 0 24px 65px -34px rgba(30, 60, 94, .24);
  --aurora-bright: linear-gradient(110deg, #ccfff0, #e1d8ff 60%, #ffd5e9); --glow: rgba(22, 130, 115, .08);
}
body::selection { background: #7b5cff; color: white; }
button, input, select, textarea { font-family: var(--font); }
:focus-visible { outline: 2px solid var(--accent); outline-offset: 4px; }
.aurora-sky { position: fixed; inset: 0; overflow: hidden; pointer-events: none; z-index: -1; background: radial-gradient(ellipse at 75% 110%, #263057 0, transparent 60%), #080c22; }
.aurora-sky::before { content: ""; position: absolute; inset: 0; opacity: .45; background: radial-gradient(circle at 19px 33px, #c4d6ff 0 .7px, transparent 1.2px) 0 0/181px 137px, radial-gradient(circle at 74px 45px, #c4d6ff 0 .5px, transparent 1px) 0 0/257px 231px; }
.aurora-sky::after { content: ""; position: absolute; inset: 0; background: url("aurora-grain.svg"); opacity: .13; mix-blend-mode: soft-light; }
.aurora-sky i { position: absolute; display: block; width: 135vw; height: 38vh; left: -8%; top: 17%; border-radius: 50%; transform: rotate(-18deg); filter: blur(43px); background: radial-gradient(ellipse at 64% 50%, rgba(37, 197, 203, .55), rgba(26, 131, 169, .18) 43%, transparent 66%); }
.aurora-sky i:nth-child(2) { top: 45%; left: -19%; transform: rotate(13deg); background: radial-gradient(ellipse, rgba(121, 82, 226, .51), rgba(60, 64, 164, .14) 49%, transparent 70%); }
.aurora-sky i:nth-child(3) { top: 59%; left: -52%; height: 23vh; transform: rotate(-8deg); background: radial-gradient(ellipse, rgba(249, 125, 190, .3), transparent 65%); }
:root[data-mode="light"] .aurora-sky { background: #e8eef5; }
:root[data-mode="light"] .aurora-sky i { opacity: .58; }
:root[data-mode="light"] .aurora-sky::before { opacity: .25; }
.design-review { background: transparent; border: 0; padding-inline: 28px; height: var(--review); position: relative; z-index: 41; }
.appearance-controls { margin-left: auto; }
.mode-options { gap: 3px; }
.mode-options button { border-radius: 99px; min-height: 28px; padding: 4px 10px; font: 10px var(--font); }
.mode-options button[aria-pressed="true"] { background: var(--raised); color: var(--ink); border-color: var(--line); }
.sidebar, .toolbar, .aurora-hero, .panel, .w-folder, .w-dashboard-card, .w-job, .a-artifact, .person-card, .kg-layout, .instruction-form, .instruction-list {
  background: var(--aurora-plate); border: 1px solid var(--line); box-shadow: inset 0 1px 0 var(--aurora-edge), var(--aurora-shadow); backdrop-filter: blur(22px) saturate(145%); -webkit-backdrop-filter: blur(22px) saturate(145%);
}
.sidebar { left: 16px; top: 56px; bottom: 18px; width: 198px; border-radius: 30px; padding: 30px 12px 18px; display: flex; flex-direction: column; }
.brand { font-size: 22px; font-weight: 400; letter-spacing: -.6px; margin: 0 10px 42px; gap: 10px; }
.aurora-brand-mark { width: 36px; height: 36px; flex: 0 0 auto; overflow: visible; }
.aurora-brand-stem { fill: #8ae5d4; }
.aurora-brand-fold { fill: #a799e2; }
.aurora-brand-edge { stroke: #e5fff5; stroke-width: .8; stroke-linejoin: round; opacity: .7; }
:root[data-mode="light"] .aurora-brand-stem { fill: #348c81; }
:root[data-mode="light"] .aurora-brand-fold { fill: #7b64ae; }
:root[data-mode="light"] .aurora-brand-edge { stroke: #f3fff9; }
#main-nav { gap: 6px; }
#main-nav .nav-link { min-height: 48px; border-radius: 99px; font-size: 12px; gap: 12px; border: 1px solid transparent; padding: 12px; }
#main-nav .nav-link.active { color: var(--ink); background: linear-gradient(100deg, rgba(97, 229, 211, .17), rgba(175, 151, 255, .12)); border-color: var(--line); box-shadow: inset 0 1px 0 var(--aurora-edge); }
#main-nav .nav-link.active .w-icon { color: var(--accent); }
.workspace { margin-left: 230px; width: calc(100% - 230px); padding: var(--workspace-top) 20px 0 0; }
.toolbar { height: 66px; top: 12px; padding: 8px 14px; border-radius: 99px; gap: 14px; }
.toolbar .project-control { flex-basis: 220px; }
.toolbar .folder-trigger, .toolbar .button, .label-button { font-size: 12px; }
.toolbar .toolbar-voice { background: rgba(152, 167, 222, .07); border-color: var(--line); overflow: visible; }
.toolbar-voice loresis-voice-orb { filter: none; width: 31px; height: 31px; }
.toolbar .account-button { color: var(--ink); background: var(--raised); border-color: var(--line); width: 36px; height: 36px; }
.toolbar #project-switcher { background: transparent; border: 0; box-shadow: none; border-radius: 99px; padding: 5px 10px; }
.toolbar #project-switcher:hover { background: var(--raised); }
.project-symbol { background: var(--raised); color: var(--accent); border-color: var(--line); border-radius: 50%; }
.page, .chat-page { max-width: 1480px; padding: 32px 12px 48px; }
main { min-height: calc(100dvh - 134px); }
.page-heading { margin-bottom: 20px; }
.page-heading h1 { font-size: clamp(34px, 3.8vw, 52px); font-weight: 250; letter-spacing: -1.8px; }
h2 { font-weight: 400; letter-spacing: -.45px; }
.w-intro { font-size: 14px; }
.eyebrow { font-size: 9px; font-weight: 400; letter-spacing: .2em; color: var(--muted); }
.button, .send-button, .pill-btn { min-height: 42px; border: 1px solid var(--line); background: var(--raised); border-radius: 99px; color: var(--ink); padding: 10px 18px; font-size: 12px; font-weight: 400; box-shadow: inset 0 1px 0 rgba(255, 255, 255, .07); }
.button:hover { background: rgba(167, 185, 244, .17); }
.button.text { background: transparent; border-color: transparent; box-shadow: none; }
.button.primary, .send-button { background: var(--aurora-bright); color: var(--aurora-bright-ink); border-color: transparent; box-shadow: inset 0 1px 0 white, 0 8px 24px -14px #66e8d9; }
.button.primary:hover, .send-button:hover { filter: brightness(1.07); }
.button.primary span { margin-left: 14px; }
.aurora-home { display: flex; padding: 18px 0 max(18px, env(safe-area-inset-bottom)); min-height: calc(100dvh - var(--review) - var(--workspace-top) - var(--toolbar) - var(--chat-reserve)); max-width: none; }
:root[data-skin="aurora"] body.sharing { --chat-reserve: 85px; }
.aurora-hero { display: flex; flex: 1; flex-direction: column; min-width: 0; border-radius: 38px; padding: clamp(24px, 3vw, 46px); position: relative; overflow: hidden; }
.aurora-welcome { display: flex; justify-content: center; }
.aurora-welcome > span:last-child { font-size: 11px; color: var(--muted); }
.aurora-hero-body { display: flex; flex: 1; align-items: center; justify-content: center; margin: 20px 0; }
.aurora-voice-stage { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; min-width: 0; width: min(100%, 360px); padding-block: 12px; }
.aurora-voice-stage .voice-art { width: clamp(110px, 21dvh, 185px); height: clamp(110px, 21dvh, 185px); }
.aurora-voice-stage .voice-primary { color: var(--ink); padding: 0; gap: 20px; border-radius: 50%; }
.aurora-voice-stage .voice-primary:hover { background: transparent; }
.aurora-voice-stage .voice-label { font-size: 13px; font-weight: 400; margin-top: 0; }
.aurora-voice-stage .voice-invitation > small { color: var(--muted); font-size: 10px; margin-top: 7px; }
loresis-voice-orb:not([visual]) { display: block; width: 100%; height: 100%; position: relative; border-radius: 50%; overflow: hidden; background: radial-gradient(ellipse at 32% 22%, rgba(255, 255, 255, .95), rgba(243, 248, 255, .45) 7%, transparent 22%), radial-gradient(circle at 77% 83%, #e784bba6, transparent 55%), radial-gradient(circle at 18% 75%, #1cbdb2, transparent 61%), radial-gradient(circle at 56% 30%, #9b83ec, #5842b6 60%, #24234e); box-shadow: inset 1px 3px 12px rgba(220, 241, 255, .32), inset -10px -20px 34px #0b163c66, 0 0 55px #8770e733; }
loresis-voice-orb .voice-shader-mount { filter: none; opacity: .17; mix-blend-mode: screen; border-radius: 50%; }
.voice-dock-art .voice-shader-mount, :root[data-mode="dark"] .voice-dock-art .voice-shader-mount { filter: none; }
.aurora-entry { width: 100%; max-width: 660px; margin: 0 auto; }
.composer { background: var(--glass); border: 1px solid var(--glass-edge); border-radius: 99px; padding: 12px 14px 12px 24px; min-height: 74px; align-items: center; box-shadow: inset 0 1px 0 var(--aurora-edge), 0 20px 45px -28px rgba(0, 0, 0, .7); backdrop-filter: blur(22px); }
.composer textarea { min-height: 44px; min-width: 0; font-size: 15px; }
.input-hint { display: none; }
.send-button { width: auto; height: 44px; min-width: 68px; }
.quick-actions { justify-content: center; gap: 10px; margin-top: 13px; flex-wrap: wrap; }
.quick-actions .button { font-size: 10px; min-height: 32px; padding: 6px 12px; background: transparent; border-color: var(--line); color: var(--muted); }
.section-tabs { display: inline-flex; gap: 4px; padding: 5px; border: 1px solid var(--line); background: var(--raised); border-radius: 99px; max-width: 100%; overflow-x: auto; }
.section-tabs [role="tab"] { border: 1px solid transparent; padding: 9px 19px; min-height: 40px; border-radius: 99px; font-size: 12px; white-space: nowrap; }
.section-tabs [aria-selected="true"] { background: var(--aurora-bright); color: var(--aurora-bright-ink); border-color: transparent; box-shadow: 0 3px 18px #14162a22; }
.panel { border-radius: 26px; padding: 26px; }
.w-folder { border-radius: 22px; padding: 20px 17px; }
.w-folder strong { font-weight: 500; }
.w-folder .w-icon { color: var(--accent); }
.w-dashboard-grid { gap: 20px; }
.w-dashboard-card { border-radius: 28px; min-height: 255px; padding: 28px; overflow: hidden; position: relative; }
.w-dashboard-card::before { content: ""; width: 180px; height: 120px; position: absolute; right: -20px; top: -30px; border-radius: 50%; pointer-events: none; background: radial-gradient(ellipse, rgba(74, 222, 199, .13), transparent 70%); }
.w-dashboard-card:nth-child(3n+2)::before { background: radial-gradient(ellipse, rgba(149, 110, 254, .2), transparent 70%); }
.w-dashboard-card:nth-child(3n)::before { background: radial-gradient(ellipse, rgba(237, 147, 192, .13), transparent 70%); }
.w-dashboard-card .w-icon { color: var(--accent); padding: 10px; width: 52px; height: 52px; border-radius: 18px; background: var(--raised); border: 1px solid var(--line); }
.w-dashboard-name { font-weight: 300; font-size: 25px; }
.w-dashboard-card p { font-size: 12px; }
.w-folder:hover, .w-dashboard-card:hover { background: var(--raised); border-color: var(--aurora-edge); }
.w-job { padding: 24px; border-radius: 24px; margin-bottom: 14px; }
.w-job h3 { font-weight: 450; font-size: 16px; }
.w-job-status { border-radius: 99px; background: var(--glow); border-color: var(--line); color: var(--accent); }
.a-row, .w-conversation { border-color: var(--line); }
.a-overview { gap: 26px; }
.a-section-heading h2 { font-weight: 400; }
.a-main-column > section, .a-side-column > section { min-width: 0; }
.a-artifact-grid { gap: 18px; }
.a-artifact { border-radius: 24px; padding: 24px; }
.a-artifact h2 { font-size: 21px; font-weight: 400; }
.a-artifact .eyebrow { color: var(--accent); }
.person-card { border-radius: 24px; }
.kg-layout { border-radius: 28px; overflow: hidden; }
.kg-map { background: transparent; }
.kg-stage { background-image: radial-gradient(var(--line) .6px, transparent .8px); }
.kg-inspector { background: rgba(117, 132, 194, .045); padding: 24px; }
.kg-controls { border-radius: 99px; background: var(--aurora-solid); }
.kg-map-footer { background: transparent; }
.kg-node-label { border-radius: 99px; background: var(--aurora-solid); }
.kg-legend { gap: 14px; }
.kg-related button:hover, .kg-search-results button:hover { border-radius: 8px; }
.w-settings-page #section-content { max-width: none; }
.w-settings-page .connection-row { background: var(--aurora-plate); padding: 20px 22px; border: 1px solid var(--line); border-radius: 22px; margin-bottom: 12px; gap: 18px; }
.instruction-form, .instruction-list { border-radius: 24px; }
.instruction-row { border-color: var(--line); }
.switch input:checked + span { background: #72d8c1; }
.switch input:checked + span::after { background: #10263b; }
input:not([type="checkbox"]), textarea, select { color: var(--ink); background: var(--surface); border-color: var(--line); border-radius: 15px; }
select option { color: var(--ink); background: var(--aurora-solid); }
input::placeholder, textarea::placeholder { color: var(--muted); opacity: 1; }
.search-field { border-radius: 99px; background: var(--surface); }
.search-field input { background: transparent; }
.composer textarea { background: transparent; border-radius: 0; }
dialog, #project-picker { color: var(--ink); background: var(--aurora-solid); border: 1px solid var(--aurora-edge); border-radius: 30px; box-shadow: inset 0 1px 0 var(--aurora-edge), 0 32px 120px rgba(0, 0, 15, .55); }
dialog::backdrop { background: rgba(5, 9, 30, .6); backdrop-filter: blur(8px); }
#project-picker .project-choice { border-radius: 18px; }
#project-picker .project-choice[aria-pressed="true"] { background: var(--glow); }
#project-picker .project-picker-search { border-radius: 99px; }
#project-picker .aurora-folder-open { width: 100%; margin-top: 8px; border-top: 1px solid var(--line); border-radius: 0; color: var(--accent); }
.voice-dock { border-radius: 26px; background: var(--aurora-solid); border-color: var(--aurora-edge); box-shadow: 0 22px 80px rgba(0, 0, 20, .4), inset 0 1px 0 var(--aurora-edge); }
.voice-handle, .voice-controls { border-color: var(--line); }
.voice-dock-art { width: 52px; height: 52px; }
.voice-pill { background: var(--aurora-bright); color: var(--aurora-bright-ink); border-radius: 99px; }
.sharing-bar { background: var(--aurora-solid); border-color: var(--line); }
.qronos-conversation { padding: 30px 20px; max-width: 960px; }
.qronos-conversation .chat-heading { padding: 12px 24px; border: 1px solid var(--line); border-radius: 99px; background: var(--glass); backdrop-filter: blur(20px); }
.qronos-conversation .chat-heading h1 { font-size: 22px; font-weight: 300; }
.qronos-conversation .message { padding: 26px; margin-bottom: 20px; background: var(--glass); border: 1px solid var(--glass-edge); border-radius: 28px; box-shadow: var(--aurora-shadow); backdrop-filter: blur(22px); }
.qronos-conversation .message.user { background: var(--glass-user); border-radius: 26px 26px 6px 26px; }
.qronos-conversation .message .panel, .qronos-conversation .message .result-card { border: 0; background: transparent; box-shadow: none; padding: 0; max-width: none; backdrop-filter: none; }
.qronos-conversation .conversation-input { background: transparent; padding-top: 12px; }
.qronos-conversation .speaker { color: var(--accent); }
#toast { background: var(--aurora-solid); color: var(--ink); border: 1px solid var(--aurora-edge); border-radius: 16px; }
@media (max-width: 1150px) and (min-width: 701px) {
  :root[data-skin="aurora"] body { --sidebar: 184px; }
  .sidebar { width: 176px; left: 12px; padding-inline: 8px; }
  .workspace { margin-left: 200px; width: calc(100% - 200px); padding-right: 14px; }
  .aurora-hero { padding: 28px; }
  .toolbar { gap: 6px; }
  .toolbar .recent-chats { display: none; }
  .toolbar .project-control { flex-basis: 190px; }
  .w-folders { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .w-dashboard-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .a-overview { grid-template-columns: 1fr; }
}
@media (min-width: 701px) and (max-height: 900px) {
  .aurora-hero { padding: 26px 32px; }
}
@media (max-width: 700px) {
  :root[data-skin="aurora"] body { --sidebar: 0px; --review: 42px; --toolbar: 64px; --workspace-top: 4px; }
  .design-review { padding: 0 16px; gap: 12px; }
  .mode-options { display: none; }
  #mode-select { border-radius: 99px; min-height: 30px; font-size: 11px; background: var(--raised); }
  .sidebar { width: 260px; left: 0; top: 0; bottom: 0; border-radius: 0 30px 30px 0; padding: 32px 16px; z-index: 65; }
  .sidebar .brand { margin-bottom: 36px; }
  .sidebar .mobile-close { top: 38px; right: 18px; }
  .mobile-shade { z-index: 64; inset: 0; background: rgba(5, 9, 30, .6); backdrop-filter: blur(7px); }
  .workspace { margin-left: 0; width: 100%; padding: var(--workspace-top) 10px 0; }
  .toolbar { border-radius: 24px; padding: 8px; height: 64px; top: 7px; gap: 4px; }
  .toolbar .mobile-menu { font-size: 10px; padding: 6px; min-height: 44px; }
  .toolbar .project-control { flex: 1; min-width: 0; }
  .toolbar #project-switcher { padding: 4px 5px; }
  .toolbar .toolbar-actions { gap: 5px; }
  .toolbar .folder-trigger { display: none; }
  .toolbar .sharing-toggle { font-size: 10px; padding-inline: 0; }
  .toolbar .account-button { display: none; }
  .toolbar .toolbar-voice { flex-basis: 40px; width: 40px; min-height: 40px; height: 40px; }
  .toolbar-voice loresis-voice-orb { width: 28px; height: 28px; }
  .page, .chat-page { padding: 26px 6px 40px; }
  .page-heading h1 { font-size: 34px; }
  .page-heading { flex-wrap: wrap; gap: 16px; }
  .aurora-home { padding: 12px 0 max(12px, env(safe-area-inset-bottom)); }
  .aurora-hero { border-radius: 28px; padding: 25px 19px 22px; }
  .aurora-welcome > span:last-child { font-size: 10px; }
  .composer { padding: 10px 10px 10px 17px; border-radius: 25px; gap: 8px; min-height: 66px; }
  .composer textarea { font-size: 16px; min-height: 44px; }
  .send-button { min-width: 56px; padding-inline: 12px; height: 44px; }
  .quick-actions { gap: 6px; margin-top: 12px; }
  .quick-actions .button { min-height: 40px; padding: 7px 10px; font-size: 9px; }
  .section-tabs { gap: 2px; padding: 4px; }
  .section-tabs [role="tab"] { min-height: 44px; padding: 9px 15px; font-size: 11px; }
  .w-folders, .w-dashboard-grid { grid-template-columns: 1fr; }
  .w-folder { border-radius: 20px; }
  .w-dashboard-card { min-height: 230px; padding: 24px; }
  .w-job { padding: 20px; }
  .panel { padding: 21px; }
  .w-settings-page .connection-row { padding: 20px 16px; }
  .kg-layout { border-radius: 23px; }
  .kg-inspector { padding: 20px; }
  .kg-controls { right: 10px; top: 10px; }
  .qronos-conversation { padding: 20px 4px; }
  .qronos-conversation .message { padding: 21px; }
  .qronos-conversation .conversation-input { bottom: max(8px, env(safe-area-inset-bottom)); }
  body.sharing .qronos-conversation .conversation-input { bottom: max(86px, calc(env(safe-area-inset-bottom) + 74px)); }
  .conversation-input .composer .button { padding: 5px; font-size: 11px; }
  input:not([type="checkbox"]), textarea, select { font-size: 16px; }
  dialog, #project-picker { border-radius: 24px; }
}
@media (max-width: 360px) {
  .aurora-hero { padding-inline: 15px; }
  .toolbar #project-switcher .project-symbol { display: none; }
  .section-tabs [role="tab"] { padding-inline: 11px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
}
@media (prefers-reduced-transparency: reduce) {
  .sidebar, .toolbar, .aurora-hero, .panel, .w-folder, .w-dashboard-card, .w-job, .a-artifact, .person-card, .kg-layout { background: var(--aurora-solid); backdrop-filter: none; }
}

/* Same custom geometry in both versions; Qronos stays monochrome. */
.loresis-icon { color: inherit; overflow: visible; flex: 0 0 auto; }
.loresis-icon .li-soft { opacity: .44; }
.loresis-icon .li-wash { fill: currentColor; stroke: none; opacity: .07; }
.loresis-icon .li-point { fill: var(--icon-accent, currentColor); stroke: none; }
#main-nav .loresis-icon { width: 23px; height: 23px; }
#main-nav .nav-link.active .li-soft { opacity: .65; }
.w-dashboard-card > .loresis-icon { width: 42px; height: 42px; padding: 0; border: 0; border-radius: 0; background: none; box-shadow: none; margin-bottom: 24px; }
.w-folder > .loresis-icon { width: 26px; height: 26px; margin-top: 1px; }
.w-folder-links .loresis-icon { width: 22px; height: 22px; }
.project-symbol .loresis-icon { width: 22px; height: 22px; }
.project-check .loresis-icon { width: 18px; height: 18px; }
#project-switcher > .loresis-icon { width: 18px; height: 18px; }
/* Aurora's two tones belong to the glyph itself, without an app-icon tile. */
:root[data-skin="aurora"] .loresis-icon { --icon-accent: #d5fff4; color: #88cfc8; }
:root[data-skin="aurora"] .loresis-icon:is([data-icon="people"], [data-icon="personal"], [data-icon="jobs"]) { color: #b9a6ed; --icon-accent: #ece2ff; }
:root[data-skin="aurora"] .loresis-icon:is([data-icon="calendar"], [data-icon="updates"], [data-icon="knowledge"]) { color: #d7aac5; --icon-accent: #ffe2f2; }
:root[data-skin="aurora"] .loresis-icon .li-wash { opacity: .12; }
:root[data-skin="aurora"] .loresis-icon .li-soft { opacity: .55; }
:root[data-skin="aurora"] .w-dashboard-card > .loresis-icon { width: 46px; height: 46px; }
:root[data-skin="aurora"][data-mode="light"] .loresis-icon { color: #386e6c; --icon-accent: #195e58; }
:root[data-skin="aurora"][data-mode="light"] .loresis-icon:is([data-icon="people"], [data-icon="personal"], [data-icon="jobs"]) { color: #786597; --icon-accent: #523d7f; }
:root[data-skin="aurora"][data-mode="light"] .loresis-icon:is([data-icon="calendar"], [data-icon="updates"], [data-icon="knowledge"]) { color: #946a83; --icon-accent: #7e3b64; }
@media (max-width: 700px) {
  .w-dashboard-card > .loresis-icon { margin-bottom: 20px; }
}
@media (forced-colors: active) {
  .loresis-icon { color: ButtonText !important; --icon-accent: ButtonText !important; }
  .loresis-icon .li-soft { opacity: 1; }
}

/* Functional surfaces use the approved glass tokens. The canonical preview CSS
   above this file is copied verbatim; these rules only adapt existing components. */
[hidden] {
  display: none !important;
}
.aurora-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
}
.aurora-icon .w-icon {
  width: 24px;
  height: 24px;
}
.project-trigger-copy + .aurora-icon {
  margin-left: auto;
}
.project-trigger-copy + .aurora-icon svg {
  width: 16px;
}
.aurora-error {
  padding: 15px 20px;
  color: var(--ink);
  background: var(--surface);
  border: 1px solid #c87289;
  border-radius: 18px;
  margin: 15px 0;
}
.aurora-account {
  min-width: min(360px, 90vw);
  padding: 28px;
}
.aurora-account .button {
  margin: 8px 8px 0 0;
}
.live-surface {
  --text: var(--ink);
  --text-primary: var(--ink);
  --text-secondary: var(--muted);
  --border: var(--line);
  --card-bg: var(--surface);
  --bg-primary: var(--bg);
}
.live-surface .page-shell {
  max-width: 1480px;
  padding: 32px 12px 48px;
  margin: 0 auto;
}
.live-surface .page-heading h1 {
  color: var(--ink);
}
.live-surface .panel,
.live-surface .mc-panel,
.live-surface .proposal-card,
.live-surface .v2-card {
  background: var(--aurora-plate);
  color: var(--ink);
  border: 1px solid var(--line);
  box-shadow: var(--aurora-shadow);
  border-radius: 26px;
}
.live-surface .mc-panel-body {
  padding: 18px 0 0;
}
.live-surface .panel__header {
  background: transparent;
  border-color: var(--line);
  padding: 0;
}
.live-surface .button--primary {
  background: var(--aurora-bright);
  color: var(--aurora-bright-ink);
  border: 0;
}
.live-surface .button--secondary {
  background: var(--raised);
  color: var(--ink);
}
.live-surface .mc-hint,
.live-surface .page-heading p,
.live-surface .mc-panel p {
  color: var(--muted);
}
.live-surface .mc-acts {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.live-surface .page-heading > div > .eyebrow {
  display: none;
}
.live-surface .dashboard-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}
.live-surface .mc-connect .page-heading {
  display: none;
}
.live-surface .mc-connect {
  padding: 0;
}
.live-surface .mc-connect-grid {
  margin-block: 18px;
}
.live-surface .mc-source {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 18px;
  padding: 20px 22px;
  border-radius: 22px;
}
.live-surface .mc-source .panel__header {
  border: 0;
}
.live-surface .mc-source .status-pill,
.live-surface .mc-source-icon {
  display: none;
}
.live-surface .mc-source .mc-panel-body {
  padding: 0;
}
.live-surface .mc-source h2 {
  font-size: 14px;
  font-weight: 600;
}
.live-surface .mc-source p {
  font-size: 12px;
}
.live-surface .mc-source .button {
  background: transparent;
  color: var(--accent);
  border: 0;
  box-shadow: none;
}
.live-surface .mc-connect > .mc-connect-grid:first-of-type {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.live-surface .mc-connect > section {
  margin-block: 18px;
}
.qronos-conversation .chat-heading {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 20px;
}
.qronos-conversation .mc-chat-markdown {
  color: var(--ink);
  font-size: 14px;
}
.qronos-conversation .mc-next-action {
  background: var(--raised);
  border: 1px solid var(--line);
  border-radius: 22px;
  padding: 20px;
  margin-top: 20px;
}
.qronos-conversation .conversation-input {
  position: sticky;
  bottom: 18px;
}
.aurora-entry .composer textarea {
  height: 44px;
  padding-block: 10px;
}
.aurora-home .aurora-entry {
  max-width: 660px;
}
.live-surface .section-tabs {
  margin-bottom: 24px;
}
.live-surface .section-tabs a {
  padding: 9px 19px;
  border-radius: 99px;
  font-size: 12px;
  white-space: nowrap;
}
.live-surface .section-tabs a[aria-selected="true"] {
  background: var(--aurora-bright);
  color: var(--aurora-bright-ink);
}
.live-surface .embedded-view > .page-shell {
  padding: 0;
}
.live-surface .embedded-view > .page-shell > .page-heading h1 {
  font-size: 28px;
}
.aurora-login {
  min-height: calc(100dvh - 42px);
  display: grid;
  place-items: center;
  padding: 30px;
}
.aurora-login .panel {
  width: min(470px, 100%);
  padding: 40px;
}
.aurora-login .brand {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 28px;
}
.aurora-login h1 {
  font-size: 36px;
  font-weight: 300;
  letter-spacing: -1.4px;
}
.aurora-login p {
  color: var(--muted);
  margin-block: 20px;
}
.aurora-login .button {
  display: flex;
  justify-content: center;
  margin-block: 12px;
  width: 100%;
}
.aurora-login label {
  display: grid;
  gap: 8px;
}
.aurora-login input {
  min-height: 48px;
  padding: 12px;
  border: 1px solid var(--line);
}
@media (max-width: 700px) {
  .sidebar.open {
    transform: translateX(0);
  }
  .live-surface .page-shell {
    padding: 26px 6px 40px;
  }
  .live-surface .dashboard-grid {
    grid-template-columns: 1fr;
  }
  .aurora-login {
    padding: 20px;
  }
  .aurora-login .panel {
    padding: 26px;
  }
}
body {
  overflow-y: auto;
}
.workspace {
  height: auto;
  min-height: calc(100dvh - var(--review));
  overflow: visible;
}
.live-surface .aurora-sources {
  display: flex;
  flex-direction: column;
  gap: 0;
}
.live-surface .aurora-sources .connection-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
}
.live-surface .connection-row p {
  font-size: 12px;
  color: var(--muted);
  margin-top: 8px;
}
.project-trigger-copy + .aurora-icon {
  width: 16px;
}
.w-dashboard-card > .aurora-icon {
  width: 38px;
  height: 38px;
}
.live-surface .panel,
.live-surface .dashboard-grid > *,
.live-surface .mc-field {
  min-width: 0;
  max-width: 100%;
}
.live-surface .mc-panel h2 {
  flex-wrap: wrap;
}
.live-surface .mc-panel p,
.live-surface .mc-hint,
.live-surface .mc-caps {
  overflow-wrap: anywhere;
}
.live-surface .bu-install-step,
.live-surface .bu-stuck,
.live-surface .bu-domain {
  background: var(--raised);
  color: var(--ink);
  border-color: var(--line);
  border-radius: 18px;
}
.live-surface .bu-install-required,
.live-surface .bu-note,
.live-surface .bu-install-ready {
  color: var(--ink);
}
.live-surface .bu-table-wrap {
  min-width: 0;
  width: 100%;
}
dialog form {
  display: grid;
  gap: 18px;
}
dialog form label {
  display: grid;
  gap: 6px;
}
dialog form input,
dialog form select {
  min-height: 44px;
  padding: 10px;
  border: 1px solid var(--line);
  width: 100%;
}
dialog .w-conversation {
  width: 100%;
}
.live-surface .mc-connect-grid > .panel {
  width: 100%;
}
.live-surface .mc-caps {
  padding-left: 0;
}
.live-surface .mc-cap > span {
  min-width: 0;
}
.aurora-connector-dialog {
  width: min(900px, calc(100vw - 28px));
  max-height: calc(100dvh - 40px);
  overflow: auto;
  padding: 26px;
}
.aurora-connector-dialog > .project-picker-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 22px;
}
.aurora-connector-dialog > .panel {
  margin-bottom: 0;
}
.live-surface .a-details .a-row p {
  color: var(--muted);
  font-size: 12px;
}
.live-surface .connection-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
@media (max-width: 700px) {
  .aurora-connector-dialog {
    padding: 18px;
  }
}
