/* Varon Kessel & Partners — Firm assistant. Concept by Libra Intelligence.
   Neutral, authoritative: white, cool greys, near-black; one deep ink-blue used for citations only. */
:root {
  --bg: #ffffff;
  --bg2: #f5f6f7;
  --bg3: #eceef1;
  --line: #e4e6ea;
  --line2: #d2d6dc;
  --ink: #0d0f13;
  --ink2: #363b44;
  --mute: #6a707a;
  --mute2: #979ca5;
  --accent: #1d2f55;
  --accent-soft: #e7ecf5;
  --hl: rgba(29, 47, 85, .045);
  --hl-on: rgba(29, 47, 85, .11);
  --serif: 'Newsreader', 'Frank Ruhl Libre', Georgia, serif;
  --sans: 'Inter', 'Heebo', -apple-system, BlinkMacSystemFont, 'Segoe UI', Arial, sans-serif;
  --mono: 'JetBrains Mono', ui-monospace, Menlo, monospace;
  --ease: cubic-bezier(.22, .61, .36, 1);
  --r: 10px;
}
:root[lang=he] {
  --serif: 'Frank Ruhl Libre', 'Newsreader', Georgia, serif;
  --sans: 'Heebo', 'Inter', -apple-system, Arial, sans-serif;
}
[lang=he] { --serif: 'Frank Ruhl Libre', 'Newsreader', Georgia, serif; --sans: 'Heebo', 'Inter', -apple-system, Arial, sans-serif; }
[lang=en] { --serif: 'Newsreader', 'Frank Ruhl Libre', Georgia, serif; --sans: 'Inter', 'Heebo', -apple-system, Arial, sans-serif; }

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-padding-top: 72px; }
html.motion { scroll-behavior: smooth; }
body { margin: 0; background: var(--bg); color: var(--ink); font-family: var(--sans); font-size: 15px; line-height: 1.55; -webkit-font-smoothing: antialiased; overflow-x: hidden; }
img, svg { display: block; }
button { font: inherit; color: inherit; }
a { color: inherit; }
h1, h2, h3, h4, p, ul, ol, dl, dd { margin: 0; }
ul, ol { padding: 0; list-style: none; }
:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; border-radius: 4px; }
.sprite { position: absolute; width: 0; height: 0; overflow: hidden; }
.skip { position: absolute; inset-inline-start: 12px; top: -60px; z-index: 100; padding: 10px 14px; background: var(--ink); color: #fff; border-radius: 6px; text-decoration: none; font-size: 13px; }
.skip:focus { top: 12px; }
.mono { font-family: var(--mono); font-size: .86em; letter-spacing: -.01em; }
.num { font-variant-numeric: tabular-nums; }
.muted { color: var(--mute); }
.flip { }
[dir=rtl] .flip { transform: scaleX(-1); }

.wrap { width: 100%; max-width: 1200px; margin-inline: auto; padding-inline: 32px; }
.wrap--app { max-width: 1320px; }

/* ------------------------------------------------------------ top bar */
.bar { position: sticky; top: 0; z-index: 30; background: rgba(255, 255, 255, .9); -webkit-backdrop-filter: saturate(1.4) blur(14px); backdrop-filter: saturate(1.4) blur(14px); border-bottom: 1px solid var(--line); }
.bar__in { display: flex; align-items: center; gap: 16px; height: 56px; }
.bar__logo { display: flex; align-items: center; gap: 10px; text-decoration: none; color: var(--ink); direction: ltr; }
.bar__mono { width: 20px; height: 22px; }
.bar__name { font-family: 'Newsreader', Georgia, serif; font-size: 15px; letter-spacing: .2em; font-weight: 400; }
.bar__sep { width: 1px; height: 18px; background: var(--line2); }
.bar__product { font-size: 13px; color: var(--mute); white-space: nowrap; }
.snav { margin-inline-start: auto; }
.snav ul { display: flex; gap: 4px; }
.snav a { display: block; padding: 6px 10px; border-radius: 6px; font-size: 13px; color: var(--ink2); text-decoration: none; transition: background .25s var(--ease), color .25s var(--ease); }
.snav a:hover { background: var(--bg2); }
.snav a.is-on { color: var(--ink); background: var(--bg2); }
.bar__end { display: flex; align-items: center; gap: 14px; }
.bar__demo { display: flex; align-items: center; gap: 7px; font-size: 12px; color: var(--mute); white-space: nowrap; }
.bar__demo i { width: 6px; height: 6px; border-radius: 50%; background: var(--mute2); }
.lang { display: flex; padding: 2px; border: 1px solid var(--line); border-radius: 8px; background: var(--bg); }
.lang button { min-width: 36px; height: 28px; padding: 0 8px; border: 0; border-radius: 6px; background: none; font-size: 12px; font-weight: 500; color: var(--mute); cursor: pointer; transition: background .25s var(--ease), color .25s var(--ease); }
.lang button[aria-pressed=true] { background: var(--ink); color: #fff; }

/* ------------------------------------------------------------ intro */
.hero { padding: 88px 0 56px; border-bottom: 1px solid var(--line); }
.hero__in { display: flex; flex-direction: column; align-items: center; text-align: center; }
.wm { width: 318px; max-width: 100%; height: auto; color: var(--ink); direction: ltr; margin-bottom: 40px; overflow: visible; }
.wm__name { font-family: 'Newsreader', Georgia, serif; font-size: 25px; font-weight: 400; letter-spacing: 5.4px; fill: currentColor; }
.wm__sub { font-family: 'Inter', Arial, sans-serif; font-size: 7.6px; font-weight: 500; letter-spacing: 2.6px; fill: var(--mute); }
.eyebrow { font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: var(--mute); margin-bottom: 18px; }
[lang=he] .eyebrow, [lang=he] .kicker { letter-spacing: .02em; }
.hero__title { max-width: 820px; font-family: var(--serif); font-weight: 300; font-size: clamp(34px, 5vw, 58px); line-height: 1.06; letter-spacing: -.02em; }
[lang=he] .hero__title { font-weight: 400; letter-spacing: 0; line-height: 1.15; }
.hero__line { max-width: 640px; margin-top: 22px; font-size: 17px; line-height: 1.6; color: var(--ink2); }
.facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; margin-top: 44px; width: 100%; max-width: 760px; border-top: 1px solid var(--line); }
.facts > div { padding: 18px 16px 0; border-inline-start: 1px solid var(--line); }
.facts > div:first-child { border-inline-start: 0; }
.facts dt { font-family: var(--serif); font-size: 26px; font-weight: 400; line-height: 1.1; }
.facts dd { margin-top: 6px; font-size: 13px; color: var(--mute); }

/* ------------------------------------------------------------ sections */
.sec { padding: 96px 0; }
.sec--app { padding-top: 72px; padding-bottom: 88px; background: var(--bg2); border-bottom: 1px solid var(--line); }
.sec--tint { background: var(--bg2); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.sec__head { max-width: 720px; margin-bottom: 40px; }
.kicker { font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: var(--mute); margin-bottom: 14px; }
.sec__title { font-family: var(--serif); font-weight: 300; font-size: clamp(28px, 3.4vw, 40px); line-height: 1.12; letter-spacing: -.015em; }
[lang=he] .sec__title { font-weight: 400; letter-spacing: 0; line-height: 1.2; }
.sec__line { margin-top: 14px; font-size: 16px; color: var(--ink2); max-width: 620px; }

/* ------------------------------------------------------------ browser frame */
.browser { border: 1px solid var(--line2); border-radius: 14px; background: var(--bg); overflow: hidden; box-shadow: 0 1px 0 rgba(13, 15, 19, .03), 0 30px 70px -30px rgba(13, 15, 19, .22); }
.browser__bar { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; height: 42px; padding: 0 14px; border-bottom: 1px solid var(--line); background: #fbfbfc; direction: ltr; }
.browser__dots { display: flex; gap: 7px; }
.browser__dots i { width: 11px; height: 11px; border-radius: 50%; background: var(--bg3); border: 1px solid var(--line2); }
.browser__url { display: flex; align-items: center; gap: 7px; height: 26px; padding: 0 14px; border-radius: 7px; background: var(--bg2); color: var(--mute); font-size: 12px; font-family: var(--mono); }

/* ------------------------------------------------------------ app shell */
.app { position: relative; display: grid; grid-template-columns: 216px minmax(0, 1fr) 392px; height: 760px; overflow: hidden; }
.rail { display: flex; flex-direction: column; min-height: 0; border-inline-end: 1px solid var(--line); background: #fafafb; }
.rail__brand { display: flex; align-items: center; gap: 10px; height: 56px; padding: 0 18px; border-bottom: 1px solid var(--line); direction: ltr; }
[dir=rtl] .rail__brand { justify-content: flex-end; }
.rail__brand span { font-family: 'Newsreader', Georgia, serif; font-size: 13px; letter-spacing: .18em; text-transform: uppercase; }
.rail__nav { display: flex; flex-direction: column; gap: 2px; padding: 12px 10px; flex: 1; }
.rnav { position: relative; display: flex; align-items: center; gap: 11px; width: 100%; height: 36px; padding: 0 10px; border: 0; border-radius: 7px; background: none; color: var(--ink2); font-size: 13.5px; text-align: start; cursor: pointer; transition: background .2s var(--ease), color .2s var(--ease); }
.rnav svg { flex: none; color: var(--mute); }
.rnav:hover { background: var(--bg3); }
.rnav.is-on { background: var(--bg); color: var(--ink); box-shadow: 0 0 0 1px var(--line), 0 1px 2px rgba(13, 15, 19, .04); font-weight: 500; }
.rnav.is-on svg { color: var(--ink); }
.rnav__dot { width: 6px; height: 6px; border-radius: 50%; background: var(--accent); margin-inline-start: auto; }
.rail__user { position: relative; padding: 10px; border-top: 1px solid var(--line); }
.ubtn { display: flex; align-items: center; gap: 10px; width: 100%; padding: 8px; border: 0; border-radius: 8px; background: none; text-align: start; cursor: pointer; transition: background .2s var(--ease); }
.ubtn:hover { background: var(--bg3); }
.ubtn__av { flex: none; display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; background: var(--ink); color: #fff; font-size: 11px; font-weight: 600; letter-spacing: .04em; font-family: 'Inter', sans-serif; }
.ubtn__txt { display: flex; flex-direction: column; min-width: 0; flex: 1; }
.ubtn__txt b { font-size: 13px; font-weight: 500; }
.ubtn__txt small { font-size: 11.5px; color: var(--mute); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ubtn__chev { color: var(--mute); flex: none; }
.umenu { position: absolute; z-index: 20; width: 260px; padding: 6px; border: 1px solid var(--line); border-radius: 10px; background: var(--bg); box-shadow: 0 18px 44px -12px rgba(13, 15, 19, .24); }
.umenu__h { padding: 8px 10px 6px; font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: var(--mute); }
[lang=he] .umenu__h { letter-spacing: 0; }
.umenu button { display: flex; align-items: center; gap: 10px; width: 100%; padding: 8px 10px; border: 0; border-radius: 7px; background: none; text-align: start; cursor: pointer; }
.umenu button:hover, .umenu button:focus-visible { background: var(--bg2); }
.umenu button svg { color: var(--accent); flex: none; }
.umenu button[aria-checked=false] .ubtn__av { background: var(--bg3); color: var(--ink2); }

/* pane */
.pane { display: flex; flex-direction: column; min-width: 0; min-height: 0; }
.pane__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; height: 56px; padding: 0 20px; border-bottom: 1px solid var(--line); flex: none; }
.pane__title { display: flex; align-items: center; gap: 12px; min-width: 0; font-size: 14px; font-weight: 500; }
.scope { display: inline-flex; align-items: center; gap: 7px; height: 26px; padding: 0 10px; border: 1px solid var(--line); border-radius: 999px; font-size: 12px; font-weight: 400; color: var(--mute); white-space: nowrap; }
.scope i { width: 6px; height: 6px; border-radius: 50%; background: #2f7d57; }
.scope[hidden] { display: none; }
.pane__tools { display: flex; align-items: center; gap: 8px; }
.tbtn { display: inline-flex; align-items: center; gap: 7px; height: 32px; padding: 0 12px; border: 1px solid var(--line); border-radius: 8px; background: var(--bg); font-size: 12.5px; color: var(--ink2); cursor: pointer; white-space: nowrap; transition: background .2s var(--ease), border-color .2s var(--ease); }
.tbtn:hover { background: var(--bg2); border-color: var(--line2); }
.tbtn b { display: inline-grid; place-items: center; min-width: 18px; height: 18px; padding: 0 5px; border-radius: 5px; background: var(--accent-soft); color: var(--accent); font-size: 11px; font-weight: 600; }
.tbtn[hidden] { display: none; }
.mav { display: none; width: 32px; height: 32px; border: 0; border-radius: 50%; background: var(--ink); color: #fff; font-size: 11px; font-weight: 600; cursor: pointer; font-family: 'Inter', sans-serif; }

.view { flex: 1; min-height: 0; display: flex; flex-direction: column; }
.view[hidden] { display: none; }
.chat { flex: 1; min-height: 0; overflow-y: auto; overscroll-behavior: contain; padding: 28px 28px 12px; scrollbar-width: thin; }
.chat > * { max-width: 720px; margin-inline: auto; }

/* empty state */
.empty { padding-top: 36px; }
.empty[hidden] { display: none; }
.empty__hi { font-family: var(--serif); font-weight: 300; font-size: 34px; line-height: 1.15; letter-spacing: -.015em; }
[lang=he] .empty__hi { font-weight: 400; letter-spacing: 0; }
.empty__sub { margin-top: 8px; color: var(--mute); font-size: 15px; }
.empty__label { margin: 34px 0 12px; font-size: 11.5px; letter-spacing: .12em; text-transform: uppercase; color: var(--mute); }
[lang=he] .empty__label { letter-spacing: .02em; }
.sugs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.sug { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; min-height: 96px; padding: 14px 16px; border: 1px solid var(--line); border-radius: var(--r); background: var(--bg); text-align: start; cursor: pointer; transition: border-color .25s var(--ease), box-shadow .25s var(--ease), transform .25s var(--ease); }
.sug:hover { border-color: var(--line2); box-shadow: 0 6px 18px -10px rgba(13, 15, 19, .18); transform: translateY(-1px); }
.sug__tag { font-size: 11px; letter-spacing: .06em; text-transform: uppercase; color: var(--mute); }
[lang=he] .sug__tag { letter-spacing: 0; }
.sug__q { font-size: 14px; line-height: 1.45; color: var(--ink); }
.sug__q[lang=he] { font-family: 'Heebo', sans-serif; align-self: stretch; text-align: right; }
.more { margin-top: 26px; padding-top: 4px; }
.more .empty__label { margin-top: 0; }
.more__list { display: flex; flex-wrap: wrap; gap: 8px; }
.sug--chip { min-height: 0; padding: 8px 12px; border-radius: 999px; }
.sug--chip .sug__q { font-size: 13px; color: var(--ink2); }
.sug--chip .sug__q[lang=he] { align-self: auto; }

/* turns */
.turn { margin-top: 26px; }
.turn--q { display: flex; justify-content: flex-end; }
.qbub { max-width: 82%; padding: 10px 15px; border-radius: 14px; border-end-end-radius: 4px; background: var(--bg3); font-size: 14.5px; line-height: 1.5; }
.turn--a { display: grid; grid-template-columns: 30px minmax(0, 1fr); gap: 14px; }
.turn__av { display: grid; place-items: center; width: 30px; height: 30px; border: 1px solid var(--line); border-radius: 8px; color: var(--ink); direction: ltr; }
.turn__body { min-width: 0; }
.trace { display: flex; align-items: center; min-height: 30px; font-size: 12.5px; color: var(--mute); }
.trace__run { display: none; align-items: center; gap: 4px; }
.trace__run i { width: 4px; height: 4px; border-radius: 50%; background: var(--mute2); animation: vk-dot 1.2s var(--ease) infinite; }
.trace__run i:nth-child(2) { animation-delay: .15s; }
.trace__run i:nth-child(3) { animation-delay: .3s; margin-inline-end: 6px; }
.trace__done { display: inline-flex; align-items: center; gap: 7px; }
.trace__done svg { color: #2f7d57; }
.is-thinking .trace__run { display: inline-flex; }
.is-thinking .trace__done { display: none; }
.is-thinking .ans, .is-thinking .b, .is-thinking .nf { display: none; }
@keyframes vk-dot { 0%, 100% { opacity: .25; } 40% { opacity: 1; } }

.ans { margin-top: 4px; font-size: 15px; line-height: 1.7; color: var(--ink); }
.ans[lang=he] { font-family: 'Heebo', sans-serif; }
.ans p + p, .ans ul + p, .ans p + ul { margin-top: 10px; }
.ans ul { display: flex; flex-direction: column; gap: 6px; }
.ans li { position: relative; padding-inline-start: 18px; }
.ans li::before { content: ''; position: absolute; inset-inline-start: 3px; top: .8em; width: 5px; height: 1px; background: var(--ink2); }
.ans strong { font-weight: 600; }
.streaming .ans .w:not(.on) { display: none; }
.streaming .ans .b:not(.on), .streaming .ans ul:not(.on) { display: none; }
.streaming > .turn__body > .b:not(.on) { display: none; }
.motion .streaming .b.on:not(.ans *) { animation: vk-in .5s var(--ease) both; }
@keyframes vk-in { from { opacity: 0; transform: translateY(4px); } to { opacity: 1; transform: none; } }
.cite { display: inline-grid; place-items: center; min-width: 18px; height: 18px; margin: 0 1px; padding: 0 4px; border: 0; border-radius: 5px; background: var(--accent-soft); color: var(--accent); font-family: 'Inter', sans-serif; font-size: 10.5px; font-weight: 600; line-height: 1; vertical-align: 2px; cursor: pointer; transition: background .2s var(--ease), color .2s var(--ease); }
.cite:hover, .cite.is-on { background: var(--accent); color: #fff; }
.nf { display: inline-flex; align-items: center; gap: 7px; margin: 2px 0 6px; padding: 4px 10px; border: 1px solid var(--line2); border-radius: 999px; font-size: 12px; color: var(--ink2); }

.turn__foot { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin-top: 14px; }
.schip { display: inline-flex; align-items: center; gap: 8px; max-width: 100%; height: 30px; padding: 0 10px 0 5px; border: 1px solid var(--line); border-radius: 8px; background: var(--bg); font-size: 12.5px; color: var(--ink2); cursor: pointer; transition: border-color .2s var(--ease), background .2s var(--ease); }
[dir=rtl] .schip { padding: 0 5px 0 10px; }
.schip b { display: grid; place-items: center; min-width: 20px; height: 20px; border-radius: 5px; background: var(--accent-soft); color: var(--accent); font-size: 11px; font-weight: 600; font-family: 'Inter', sans-serif; }
.schip span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 260px; }
.schip:hover, .schip.is-on { border-color: var(--line2); background: var(--bg2); }
.ico { display: grid; place-items: center; width: 30px; height: 30px; margin-inline-start: auto; border: 0; border-radius: 7px; background: none; color: var(--mute); cursor: pointer; }
.ico:hover { background: var(--bg2); color: var(--ink); }
.ico.is-done { color: #2f7d57; }

.btn { display: inline-flex; align-items: center; gap: 8px; height: 34px; padding: 0 14px; border: 1px solid var(--line2); border-radius: 8px; background: var(--bg); font-size: 13px; font-weight: 500; color: var(--ink); cursor: pointer; white-space: nowrap; transition: background .2s var(--ease), opacity .2s var(--ease); }
.btn:hover { background: var(--bg2); }
.btn--dark { background: var(--ink); border-color: var(--ink); color: #fff; }
.btn--dark:hover { background: #262a31; }

/* permission card */
.deny { display: grid; grid-template-columns: 34px minmax(0, 1fr); gap: 14px; margin-top: 6px; padding: 18px; border: 1px solid var(--line2); border-radius: var(--r); background: var(--bg2); }
.deny__ic { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 8px; background: var(--bg); border: 1px solid var(--line); }
.deny__t { font-weight: 600; font-size: 15px; }
.deny__b { margin: 4px 0 14px; color: var(--ink2); font-size: 14px; line-height: 1.6; }
.deny__sent { display: flex; align-items: flex-start; gap: 8px; font-size: 13px; color: var(--ink2); }
.deny__sent svg { flex: none; margin-top: 4px; color: #2f7d57; }

/* draft card */
.draft { margin-top: 16px; border: 1px solid var(--line2); border-radius: var(--r); overflow: hidden; background: var(--bg2); }
.draft__bar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; padding: 10px 12px 10px 16px; border-bottom: 1px solid var(--line); background: var(--bg); }
[dir=rtl] .draft__bar { padding: 10px 16px 10px 12px; }
.draft__lab { display: inline-flex; align-items: center; gap: 8px; font-size: 12.5px; color: var(--mute); }
.draft__acts { display: flex; gap: 8px; }
.draft__page { margin: 18px; padding: 34px 38px; background: var(--bg); border: 1px solid var(--line); box-shadow: 0 10px 30px -18px rgba(13, 15, 19, .25); font-family: var(--serif); font-size: 14.5px; line-height: 1.6; color: #16181d; max-height: 440px; overflow-y: auto; scrollbar-width: thin; }
.lt + .lt { margin-top: 10px; }
.lt--firm { font-family: 'Newsreader', 'Frank Ruhl Libre', serif; letter-spacing: .22em; font-size: 14px; }
[lang=he] .lt--firm { letter-spacing: .04em; font-size: 17px; }
.lt--addr { margin-top: 2px !important; padding-bottom: 14px; margin-bottom: 22px; border-bottom: 1px solid var(--line); font-family: var(--sans); font-size: 11px; color: var(--mute); }
.lt--re { font-weight: 600; text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; margin: 14px 0 !important; }
.lt--sig { margin-top: 26px !important; }

/* lists inside the app (matters, knowledge, drafts, audit) */
.vlist { flex: 1; min-height: 0; overflow-y: auto; padding: 22px 24px; }
.vlist__sub { margin-bottom: 16px; font-size: 13.5px; color: var(--mute); }
.vlist__sub b { color: var(--ink); font-weight: 500; }
.vt-scroll { overflow-x: auto; }
.vt, .atable { width: 100%; border-collapse: collapse; font-size: 13px; }
.vt th, .atable th { padding: 9px 10px; border-bottom: 1px solid var(--line2); text-align: start; font-size: 11.5px; font-weight: 500; letter-spacing: .04em; color: var(--mute); white-space: nowrap; }
[lang=he] .vt th, [lang=he] .atable th { letter-spacing: 0; }
.vt td, .atable td { padding: 12px 10px; border-bottom: 1px solid var(--line); vertical-align: middle; }
.vt td b { font-weight: 500; }
.vt tr.is-locked td { color: var(--mute); }
.vt th.num, .atable th.num { text-align: end; }
.atable td.num { text-align: end; }
.atable tr.is-new td { animation: vk-row 2.4s var(--ease); }
@keyframes vk-row { 0%, 30% { background: var(--accent-soft); } 100% { background: transparent; } }
.dlist { display: flex; flex-direction: column; border-top: 1px solid var(--line); }
.dlist li { display: grid; grid-template-columns: 16px minmax(0, 1fr) auto; align-items: center; gap: 14px; padding: 14px 4px; border-bottom: 1px solid var(--line); }
.dlist li svg { color: var(--mute); }
.dlist b { display: block; font-weight: 500; font-size: 14px; }
.dlist small { color: var(--mute); font-size: 12.5px; }
.dlist li.is-new { animation: vk-row 2.4s var(--ease); }

.stag { display: inline-flex; align-items: center; gap: 6px; height: 24px; padding: 0 9px; border-radius: 999px; background: var(--bg2); border: 1px solid var(--line); font-size: 12px; color: var(--ink2); white-space: nowrap; }
.stag .dot { width: 6px; height: 6px; border-radius: 50%; background: #2f7d57; }
.stag--lock { color: var(--mute); }
.stag--lock svg { width: 12px; height: 12px; }
.spin { width: 10px; height: 10px; border-radius: 50%; border: 1.5px solid var(--line2); border-top-color: var(--accent); }
.motion .spin { animation: vk-spin 1s linear infinite; }
@keyframes vk-spin { to { transform: rotate(360deg); } }
.sys { display: inline-flex; align-items: center; height: 20px; padding: 0 7px; border-radius: 5px; background: var(--bg3); font-family: var(--mono); font-size: 10.5px; letter-spacing: -.01em; color: var(--ink2); white-space: nowrap; direction: ltr; }
.res { font-size: 12.5px; white-space: nowrap; }
.res::before { content: ''; display: inline-block; width: 6px; height: 6px; margin-inline-end: 7px; border-radius: 50%; background: #2f7d57; vertical-align: 1px; }
.res--denied::before, .res--none::before { background: var(--mute2); }
.res--sent::before, .res--export::before, .res--draft::before { background: var(--accent); }

/* composer */
.composer { flex: none; padding: 10px 28px 16px; }
.composer__box { position: relative; display: flex; align-items: flex-end; gap: 8px; max-width: 720px; margin-inline: auto; padding: 8px 8px 8px 16px; border: 1px solid var(--line2); border-radius: 14px; background: var(--bg); box-shadow: 0 8px 24px -16px rgba(13, 15, 19, .25); transition: border-color .2s var(--ease), box-shadow .2s var(--ease); }
[dir=rtl] .composer__box { padding: 8px 16px 8px 8px; }
.composer__box:focus-within { border-color: var(--ink2); }
.composer textarea { flex: 1; min-width: 0; height: 36px; max-height: 140px; padding: 8px 0; border: 0; outline: 0; resize: none; background: none; font: inherit; font-size: 14.5px; line-height: 1.4; color: var(--ink); }
.composer textarea::placeholder { color: var(--mute2); }
.composer__send { flex: none; display: grid; place-items: center; width: 36px; height: 36px; border: 0; border-radius: 10px; background: var(--ink); color: #fff; cursor: pointer; transition: opacity .2s var(--ease); }
.composer.is-busy .composer__send { opacity: .35; cursor: default; }
.composer__note { max-width: 720px; margin: 8px auto 0; font-size: 11.5px; color: var(--mute2); text-align: center; }

/* ------------------------------------------------------------ sources panel */
.src { display: flex; flex-direction: column; min-width: 0; min-height: 0; border-inline-start: 1px solid var(--line); background: #fafafb; }
.src__grab { display: none; }
.src__head { display: flex; align-items: center; gap: 10px; height: 56px; padding: 0 16px 0 20px; border-bottom: 1px solid var(--line); background: var(--bg); flex: none; }
[dir=rtl] .src__head { padding: 0 20px 0 16px; }
.src__title { font-size: 14px; font-weight: 500; display: flex; align-items: center; gap: 8px; }
.src__title b { font-weight: 500; color: var(--mute); }
.is-doc .src__title { display: none; }
.src__doc { display: none; min-width: 0; flex: 1; font-size: 13px; font-weight: 500; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.is-doc .src__doc { display: block; }
.is-doc .src__back span { display: none; }
.is-doc .src__back { padding: 0 6px; }
.src__back { display: inline-flex; align-items: center; gap: 6px; height: 30px; padding: 0 10px 0 6px; margin-inline-start: -8px; border: 0; border-radius: 7px; background: none; font-size: 13px; color: var(--ink2); cursor: pointer; }
.src__back:hover { background: var(--bg2); }
.src__back[hidden] { display: none; }
.src__x { display: none; place-items: center; width: 34px; height: 34px; margin-inline-start: auto; border: 0; border-radius: 8px; background: none; cursor: pointer; color: var(--ink2); }
.src__x:hover { background: var(--bg2); }
.src__body { flex: 1; min-height: 0; overflow-y: auto; overscroll-behavior: contain; padding: 16px; scrollbar-width: thin; }
.src__empty { margin-top: 24px; padding: 0 8px; font-size: 13.5px; line-height: 1.6; color: var(--mute); text-align: center; }
.src__empty--lock { display: flex; flex-direction: column; align-items: center; gap: 10px; }
.slist { display: flex; flex-direction: column; gap: 8px; }
.scard { display: grid; grid-template-columns: 24px minmax(0, 1fr); gap: 12px; width: 100%; padding: 14px; border: 1px solid var(--line); border-radius: var(--r); background: var(--bg); text-align: start; cursor: pointer; transition: border-color .2s var(--ease), box-shadow .2s var(--ease); }
.scard:hover { border-color: var(--line2); box-shadow: 0 6px 16px -10px rgba(13, 15, 19, .18); }
.scard__n { display: grid; place-items: center; width: 24px; height: 24px; border-radius: 6px; background: var(--accent-soft); color: var(--accent); font-size: 12px; font-weight: 600; font-family: 'Inter', sans-serif; }
.scard__main { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.scard__main b, .dhead b { font-weight: 500; font-size: 13.5px; line-height: 1.4; }
.scard__main small, .dhead small { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; font-size: 12px; color: var(--mute); }
.scard__cite { display: flex; flex-wrap: wrap; align-items: center; gap: 4px; font-size: 11.5px; color: var(--mute); }
.scard__cite i { font-style: normal; padding: 1px 6px; border-radius: 4px; background: var(--hl); color: var(--accent); font-family: var(--mono); font-size: 10.5px; }
[lang=he] .scard__cite i { font-family: var(--sans); font-size: 11px; }
.dhead { display: grid; grid-template-columns: 24px minmax(0, 1fr); gap: 12px; padding: 2px 2px 12px; }
.dhead > div { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.dnote { display: flex; align-items: center; gap: 8px; margin: 0 2px 12px; font-size: 11.5px; color: var(--mute); }
.dnote::before { content: ''; width: 14px; height: 8px; border-radius: 2px; background: var(--hl-on); box-shadow: inset 2px 0 0 var(--accent); }
[dir=rtl] .dnote::before { box-shadow: inset -2px 0 0 var(--accent); }

/* rendered document pages */
.dview { display: flex; flex-direction: column; gap: 14px; }
.pg { position: relative; padding: 30px 28px 26px; background: var(--bg); border: 1px solid var(--line); box-shadow: 0 10px 24px -18px rgba(13, 15, 19, .3); font-family: var(--serif); font-size: 13.5px; line-height: 1.62; color: #16181d; }
.dview[lang=he] .pg { font-family: 'Frank Ruhl Libre', serif; font-size: 14.5px; }
.dview[lang=en] .pg { font-family: 'Newsreader', serif; }
.pg h4 { margin: 4px 0 10px; font-size: 14px; font-weight: 500; letter-spacing: .01em; }
.pg p + p { margin-top: 8px; }
.pg [data-p] { position: relative; margin-inline: -8px; padding: 3px 8px; border-radius: 3px; transition: background .5s var(--ease), box-shadow .5s var(--ease); }
.pg b { font-weight: 500; }
.pg__no { margin-bottom: 14px !important; font-family: var(--sans); font-size: 10.5px; letter-spacing: .06em; color: var(--mute2); text-align: end; }
.pg__init { margin-top: 18px !important; font-family: var(--sans); font-size: 10.5px; color: var(--mute2); }
.pg__firm { font-family: 'Newsreader', 'Frank Ruhl Libre', serif; font-size: 12.5px; letter-spacing: .22em; }
.dview[lang=he] .pg__firm { letter-spacing: .04em; font-size: 15px; }
.pg__kind, .pg__addr { margin-top: 2px !important; padding-bottom: 12px; margin-bottom: 14px; border-bottom: 1px solid var(--line); font-family: var(--sans); font-size: 11px; color: var(--mute); }
.pg__dl { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 3px 14px; margin: 0 0 16px; padding-bottom: 14px; border-bottom: 1px solid var(--line); font-size: 12.5px; }
.pg__dl dt { font-family: var(--sans); font-size: 10.5px; letter-spacing: .06em; text-transform: uppercase; color: var(--mute); padding-top: 3px; }
.dview[lang=he] .pg__dl dt { letter-spacing: 0; font-size: 11.5px; padding-top: 2px; }
.pg__sum { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 12px !important; font-family: var(--sans); font-size: 12px; }
.pg__sum span { padding: 3px 8px; border: 1px solid var(--line); border-radius: 5px; }
.pg__note { margin-top: 16px !important; padding: 10px 12px; background: var(--bg2); font-family: var(--sans); font-size: 12px; color: var(--ink2); }
.pg__foot { margin-top: 10px !important; font-family: var(--sans); font-size: 11px; color: var(--mute2); }
.ltr__re { font-weight: 500; text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }
.ddt { overflow-x: auto; margin: 0 -8px; }
.ddt table { width: 100%; border-collapse: collapse; font-family: var(--sans); font-size: 11.5px; line-height: 1.45; }
.ddt th { padding: 6px 8px; border-bottom: 1px solid var(--line2); text-align: start; font-weight: 500; font-size: 10.5px; color: var(--mute); }
.ddt td { padding: 8px; border-bottom: 1px solid var(--line); vertical-align: top; }
.ddt td:first-child { font-family: var(--mono); font-size: 10.5px; color: var(--mute); }
.ddt small { display: block; margin-top: 2px; color: var(--mute); font-size: 11px; }
.ddt tr[data-p] { margin: 0; }
.st { font-style: normal; display: inline-block; padding: 1px 7px; border-radius: 4px; background: var(--bg2); font-size: 10.5px; color: var(--mute); white-space: nowrap; }
.st--open { background: var(--ink); color: #fff; }
.pg .hl { background: var(--hl); }
.pg .hl--on { background: var(--hl-on); box-shadow: inset 2px 0 0 var(--accent); }
[dir=rtl] .pg .hl--on, .dview[dir=rtl] .hl--on { box-shadow: inset -2px 0 0 var(--accent); }
.pg tr.hl td { background: var(--hl); }
.pg tr.hl--on td { background: var(--hl-on); }
.pg tr.hl--on td:first-child { box-shadow: inset 2px 0 0 var(--accent); }
.dview[dir=rtl] tr.hl--on td:first-child { box-shadow: inset -2px 0 0 var(--accent); }
.motion .hl--flash { animation: vk-flash 1.4s var(--ease); }
@keyframes vk-flash { 0% { background: rgba(29, 47, 85, .28); } 100% { background: var(--hl-on); } }

.scrim { position: absolute; inset: 0; z-index: 14; background: rgba(13, 15, 19, .22); opacity: 0; transition: opacity .35s var(--ease); }
.scrim.is-on { opacity: 1; }
.scrim[hidden] { display: none; }

/* ------------------------------------------------------------ knowledge table (page) */
.kgrid { border-top: 1px solid var(--ink); }
.krow { display: grid; grid-template-columns: minmax(0, 2.2fr) 1fr .8fr 1.2fr 1.3fr; gap: 16px; align-items: center; padding: 18px 4px; border-bottom: 1px solid var(--line); font-size: 14px; }
.krow--h { padding: 12px 4px; font-size: 11.5px; letter-spacing: .06em; text-transform: uppercase; color: var(--mute); }
[lang=he] .krow--h { letter-spacing: 0; font-size: 12.5px; }
.krow__name b { font-weight: 500; }
.krow .num { text-align: end; font-family: var(--serif); font-size: 18px; }
.krow--h .num { font-family: inherit; font-size: inherit; }
.krow > div:nth-child(4) { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; }
.krow small { font-size: 12.5px; color: var(--mute); }
.bar2 { display: block; height: 2px; margin-top: 8px; max-width: 220px; background: var(--line); border-radius: 2px; overflow: hidden; }
.bar2 i { display: block; height: 100%; width: var(--p); background: var(--accent); }
.kgrid--app { border-top: 0; }
.kgrid--app .krow { grid-template-columns: minmax(0, 1.8fr) auto auto; padding: 14px 4px; font-size: 13px; }
.kgrid--app .krow > div:nth-child(4), .kgrid--app .krow > div:nth-child(5) { display: none; }
.kgrid--app .krow .num { font-size: 15px; }

/* ------------------------------------------------------------ security */
.stmts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1px solid var(--ink); }
.stmts li { padding-block: 22px 26px; padding-inline: 0 22px; border-inline-end: 1px solid var(--line); }
.stmts li + li { padding-inline-start: 22px; }
.stmts li:last-child { border-inline-end: 0; }
.stmts__n { display: block; margin-bottom: 22px; font-family: var(--mono); font-size: 11px; color: var(--mute2); }
.stmts h3 { font-family: var(--serif); font-weight: 400; font-size: 20px; line-height: 1.25; }
.stmts p { margin-top: 10px; font-size: 14px; line-height: 1.6; color: var(--ink2); }
.audit { margin-top: 56px; border: 1px solid var(--line); border-radius: 12px; background: var(--bg); overflow: hidden; }
.audit__head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 6px 16px; padding: 18px 20px; border-bottom: 1px solid var(--line); }
.audit__head h3 { font-size: 15px; font-weight: 500; }
.audit__head p { font-size: 13px; color: var(--mute); }
.audit__scroll { overflow-x: auto; }
.audit .atable th:first-child, .audit .atable td:first-child { padding-inline-start: 20px; }
.audit .atable th:last-child, .audit .atable td:last-child { padding-inline-end: 20px; }
.audit .atable tr:last-child td { border-bottom: 0; }

/* ------------------------------------------------------------ included */
.incl { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1px solid var(--ink); }
.incl li { position: relative; min-height: 96px; padding-block: 18px 20px; padding-inline: 0 20px; border-bottom: 1px solid var(--line); font-size: 15px; line-height: 1.45; }
.incl li:not(:nth-child(4n+1)) { padding-inline-start: 20px; border-inline-start: 1px solid var(--line); }
.incl li::before { content: ''; display: block; width: 14px; height: 1px; margin-bottom: 14px; background: var(--ink); }

/* ------------------------------------------------------------ footer */
.foot { padding: 40px 0 96px; border-top: 1px solid var(--line); }
.foot__in { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 20px; font-size: 13px; color: var(--mute); }
.foot__mono { color: var(--ink); }
.foot__by { margin-inline-start: auto; }

/* ------------------------------------------------------------ motion start states */
.motion .hero__in > * { animation: vk-in .9s var(--ease) both; }
.motion .hero__in > :nth-child(2) { animation-delay: .06s; }
.motion .hero__in > :nth-child(3) { animation-delay: .12s; }
.motion .hero__in > :nth-child(4) { animation-delay: .18s; }
.motion .hero__in > :nth-child(5) { animation-delay: .24s; }

/* ------------------------------------------------------------ tablet: icon rail, sources as a drawer */
@media (max-width: 1099px) {
  .app { grid-template-columns: 64px minmax(0, 1fr); }
  .rail__brand { justify-content: center !important; padding: 0; }
  .rail__brand span, .rnav span, .rail .ubtn__txt, .rail .ubtn__chev { display: none; }
  .rnav { justify-content: center; padding: 0; }
  .rnav__dot { position: absolute; top: 7px; inset-inline-end: 9px; }
  .rail .ubtn { justify-content: center; }
  .src { position: absolute; z-index: 15; top: 0; bottom: 0; inset-inline-end: 0; width: min(420px, 88%); box-shadow: -24px 0 60px -20px rgba(13, 15, 19, .25); transform: translateX(104%); transition: transform .42s var(--ease); visibility: hidden; }
  [dir=rtl] .src { transform: translateX(-104%); }
  .src.is-open { transform: none; visibility: visible; }
  .src__x { display: grid; }
  .snav { display: none; }
  .bar__product { margin-inline-end: auto; }
  .stmts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .stmts li:nth-child(2) { border-inline-end: 0; }
  .stmts li:nth-child(n+3) { border-top: 1px solid var(--line); }
  .stmts li:nth-child(3) { padding-inline-start: 0; }
  .incl { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .incl li:not(:nth-child(4n+1)) { padding-inline-start: 0; border-inline-start: 0; }
  .incl li:nth-child(2n) { padding-inline-start: 20px; border-inline-start: 1px solid var(--line); }
  .krow { grid-template-columns: minmax(0, 1.8fr) 1fr .7fr 1.3fr; }
  .krow > div:nth-child(5) { display: none; }
}
@media (min-width: 1100px) {
  .scrim { display: none !important; }
}

/* ------------------------------------------------------------ phone: full-height chat, tabs, bottom sheet */
@media (max-width: 699px) {
  .wrap { padding-inline: 16px; }
  .bar__in { height: 52px; gap: 10px; }
  .bar__sep, .bar__product, .bar__demo { display: none; }
  .bar__logo { margin-inline-end: auto; }
  html[dir="rtl"] .bar__logo { margin-right: 0; margin-left: auto; }
  .hero { padding: 56px 0 44px; }
  .wm { width: 270px; margin-bottom: 30px; }
  .hero__line { font-size: 16px; }
  .facts { grid-template-columns: 1fr; margin-top: 32px; }
  .facts > div { display: flex; align-items: baseline; gap: 14px; padding: 14px 0; border-inline-start: 0; border-bottom: 1px solid var(--line); text-align: start; }
  .facts dt { font-size: 22px; min-width: 92px; }
  .facts dd { margin: 0; }
  .sec { padding: 64px 0; }
  .sec--app { padding: 48px 0 40px; }
  .sec__head { margin-bottom: 28px; }
  .wrap--app { padding-inline: 8px; }
  .browser { border-radius: 12px; }
  .browser__bar { height: 34px; grid-template-columns: auto 1fr; gap: 10px; }
  .browser__sp { display: none; }
  .browser__url { justify-content: center; font-size: 11px; height: 22px; }
  .browser__dots i { width: 8px; height: 8px; }
  .app { display: flex; flex-direction: column; height: calc(100svh - 150px); min-height: 540px; max-height: 820px; }
  .rail { order: 2; flex: none; flex-direction: row; border-inline-end: 0; border-bottom: 1px solid var(--line); background: var(--bg); }
  .rail__brand, .rail__user { display: none; }
  .rail__nav { flex-direction: row; gap: 0; padding: 4px 6px; overflow-x: auto; scrollbar-width: none; }
  .rnav { flex: 1 1 0; width: auto; min-width: 64px; flex-direction: column; gap: 3px; height: 48px; padding: 0 4px; }
  .rnav span { display: block; font-size: 11px; }
  .rnav.is-on { box-shadow: none; background: var(--bg2); }
  .rnav__dot { top: 6px; inset-inline-end: 12px; }
  .pane { order: 1; flex: 1; display: contents; }
  .pane__head { order: 1; height: 52px; padding: 0 12px 0 14px; }
  [dir=rtl] .pane__head { padding: 0 14px 0 12px; }
  .view { order: 3; }
  .scope { display: none; }
  .tbtn span { display: none; }
  .tbtn { padding: 0 10px; }
  #srcToggle span { display: inline; }
  .mav { display: grid; place-items: center; }
  .chat { padding: 18px 14px 8px; }
  .empty { padding-top: 8px; }
  .empty__hi { font-size: 27px; }
  .empty__sub { font-size: 14px; }
  .empty__label { margin-top: 22px; }
  .sugs { grid-template-columns: 1fr; gap: 8px; }
  .sug { min-height: 0; padding: 12px 14px; gap: 5px; }
  .turn--a { grid-template-columns: 1fr; gap: 6px; }
  .turn__av { display: none; }
  .qbub { max-width: 90%; }
  .ans { font-size: 14.5px; }
  .schip span { max-width: 190px; }
  .draft__page { margin: 10px; padding: 22px 18px; font-size: 13.5px; max-height: 380px; }
  .composer { padding: 8px 10px 10px; }
  .composer__note { display: none; }
  .vlist { padding: 16px 14px; }
  .vt th:nth-child(3), .vt td:nth-child(3), .vt th:nth-child(4), .vt td:nth-child(4) { display: none; }
  .vt td, .vt th { padding-inline: 6px; }
  .src { position: absolute; z-index: 15; inset: auto 0 0 0; top: auto; width: 100%; height: 86%; border-inline-start: 0; border-radius: 16px 16px 0 0; box-shadow: 0 -20px 50px -20px rgba(13, 15, 19, .3); transform: translateY(104%); }
  [dir=rtl] .src { transform: translateY(104%); }
  .src.is-open { transform: none; }
  .src__grab { display: block; flex: none; width: 36px; height: 4px; margin: 8px auto 0; border-radius: 2px; background: var(--line2); }
  .src__head { height: 48px; background: transparent; border-bottom-color: var(--line); }
  .src { background: var(--bg); }
  .src__body { padding: 12px; background: #fafafb; }
  .pg { padding: 22px 18px 20px; }
  .stmts { grid-template-columns: 1fr; }
  .stmts li, .stmts li + li { padding: 20px 0 22px; border-inline-end: 0; border-top: 1px solid var(--line); }
  .stmts li:first-child { border-top: 0; }
  .stmts__n { margin-bottom: 10px; }
  .incl { grid-template-columns: 1fr; }
  .incl li, .incl li:nth-child(2n) { min-height: 0; padding: 16px 0 !important; border-inline-start: 0 !important; display: flex; align-items: baseline; gap: 14px; }
  .incl li::before { flex: none; margin: 0; transform: translateY(-4px); }
  .kgrid { border-top: 1px solid var(--ink); }
  .krow--h { display: none; }
  .krow { grid-template-columns: 1fr auto; gap: 8px 12px; padding: 16px 0; }
  .krow__name { grid-column: 1 / -1; }
  .krow > div:nth-child(2) { grid-column: 1; }
  .krow .num { grid-column: 2; grid-row: 2; }
  .krow > div:nth-child(4) { grid-column: 1 / -1; }
  .krow > div:nth-child(5) { display: block; grid-column: 1 / -1; font-size: 13px; }
  .kgrid--app .krow > div:nth-child(4), .kgrid--app .krow > div:nth-child(5) { display: none; }
  .audit { margin-top: 40px; }
  .audit .atable { min-width: 620px; }
  .foot { padding-bottom: 88px; }
  .foot__by { margin-inline-start: 0; width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; scroll-behavior: auto !important; }
}
.reduce *, .reduce *::before, .reduce *::after { animation: none !important; transition: none !important; }
.reduce .trace__run i { animation: none; }
