/* Kalvet: warm paper, engraved typography, a quiet writing surface.
   Scoped independently of the existing GTB portal and companion styles. */
.portal-nav .pnav-kalvet{--identity:#e8c29b;--identity-rgb:232,194,155;display:flex;align-items:center;gap:10px;width:100%;min-height:50px;padding:7px 10px;margin:4px 0;border:1px solid rgba(var(--identity-rgb),.18);border-radius:9px;background:rgba(var(--identity-rgb),.09);color:var(--identity);text-decoration:none}
.portal-nav .pnav-kalvet:hover{background:rgba(var(--identity-rgb),.16);color:var(--identity);border-color:rgba(var(--identity-rgb),.35)}
.portal-nav .pnav-kalvet[aria-current=page]{background:rgba(var(--identity-rgb),.19);border-color:rgba(var(--identity-rgb),.55);box-shadow:inset 3px 0 0 var(--identity)}
.portal-nav .pnav-kalvet .pnav-gadget{display:grid;place-items:center;width:44px;height:44px;flex:0 0 44px;background:#d8e7cc;border:1px solid #adc59b;border-radius:10px}
.portal-nav .pnav-kalvet .pnav-gadget img{display:block;width:42px;height:42px;opacity:1;object-fit:contain;grid-area:1/1}
.portal-nav .pnav-kalvet .kv-identity-still{display:none}
.kv-mini .kv-identity-still{display:none}
.portal-nav .pnav-kalvet[data-kalvet-motion=reduced] .kv-identity-live,.kv-mini[data-dock-motion=reduced] .kv-identity-live{display:none}
.portal-nav .pnav-kalvet[data-kalvet-motion=reduced] .kv-identity-still,.kv-mini[data-dock-motion=reduced] .kv-identity-still{display:block}
@media(prefers-reduced-motion:reduce){.portal-nav .pnav-kalvet .kv-identity-live,.kv-mini .kv-identity-live{display:none}.portal-nav .pnav-kalvet .kv-identity-still,.kv-mini .kv-identity-still{display:block}}
.portal-nav .pnav-kalvet[data-kalvet-motion=live] .kv-identity-live,.kv-mini[data-dock-motion=live] .kv-identity-live{display:block}
.portal-nav .pnav-kalvet[data-kalvet-motion=live] .kv-identity-still,.kv-mini[data-dock-motion=live] .kv-identity-still{display:none}
.portal-nav .pnav-kalvet .pnav-assistant{display:flex;flex:1;min-width:0;flex-direction:column;gap:3px}
.portal-nav .pnav-kalvet strong{font-size:14px;font-weight:800;line-height:1.2;color:var(--identity)}
.portal-nav .pnav-kalvet small{font-size:12px;line-height:1.35;color:#b8cdd5}
.portal-nav .pnav-kalvet:focus-visible{outline:2px solid var(--identity);outline-offset:2px}
.kv, .kv-mini, .kv-mini-pop {
  --kv-bg: var(--cloud, #fff);
  --kv-paper: #fffefa;
  --kv-soft: var(--linen, #f7f6f2);
  --kv-selected: #eee8dd;
  --kv-line: var(--line, #e2e0d8);
  --kv-text: var(--slate, #1e2a30);
  --kv-muted: #646761;
  --kv-accent: #805330;
  --kv-accent-soft: #f1e8db;
  --kv-xs: .75rem;
  --kv-sm: .875rem;
  --kv-base: 1rem;
  --kv-lg: 1.25rem;
  --kv-xl: clamp(1.5rem, 1.3rem + .5vw, 1.875rem);
  --kv-1: .25rem; --kv-2: .5rem; --kv-3: .75rem; --kv-4: 1rem;
  --kv-5: 1.25rem; --kv-6: 1.5rem; --kv-8: 2rem; --kv-10: 2.5rem;
  color: var(--kv-text); font-family: var(--font-body, sans-serif);
  font-size: var(--kv-sm); line-height: 1.6;
}
.kv *, .kv-mini *, .kv-mini-pop * { box-sizing: border-box; }
.kv [hidden], .kv-mini[hidden], .kv-mini-pop[hidden], .kv-mini-pop [hidden] { display: none !important; }
.kv button, .kv-mini button, .kv-mini-pop button { font: inherit; cursor: pointer; }
.kv button:disabled, .kv-mini-pop button:disabled { opacity: .6; cursor: not-allowed; }
.kv button:focus-visible, .kv input:focus-visible, .kv textarea:focus-visible, .kv select:focus-visible,
.kv-mini button:focus-visible, .kv-mini-pop :focus-visible { outline: 2px solid var(--kv-accent); outline-offset: 3px; }
.kv-heading { display: flex; justify-content: space-between; align-items: center; gap: var(--kv-4); margin-bottom: var(--kv-6); }
.kv-heading > div:first-child { min-width: 0; flex: 1; }
.kv-page-companion { display: flex; align-items: center; gap: var(--kv-2); margin: 0; flex: 0 0 auto; }
.kv-page-art { display: grid; place-items: center; width: 144px; height: 112px; background: #e4ecd9; border-radius: 16px; overflow: hidden; }
.kv-page-art img { grid-area: 1/1; width: 128px; height: 120px; object-fit: contain; }
.kv-page-art .kv-page-live { display: none; }
.kv-page-companion[data-motion=live] .kv-page-live { display: block; }
.kv-page-companion[data-motion=live] .kv-page-still { display: none; }
.kv-page-companion figcaption { display: flex; flex-direction: column; align-items: flex-start; font-size: var(--kv-xs); color: var(--kv-accent); }
.kv-page-companion figcaption > span { font-weight: 650; }
.kv-page-companion [data-kv-animation] { min-height: 44px; padding: var(--kv-2); margin-left: calc(-1 * var(--kv-2)); border: 0; border-radius: 6px; background: transparent; color: var(--kv-muted); font-size: var(--kv-xs); text-decoration: underline; text-underline-offset: 3px; }
.kv-page-companion [data-kv-animation]:hover { color: var(--kv-accent); background: var(--kv-accent-soft); }
@media(max-width:1200px) { .kv-page-companion { flex-direction: column; gap: 0; }.kv-page-art { width: 112px; height: 88px; }.kv-page-art img { width: 104px; height: 98px; }.kv-page-companion figcaption { align-items: center; }.kv-page-companion figcaption > span { display: none; } }
@media(max-width:640px) { .kv-heading { flex-wrap: wrap; }.kv-page-companion { order: 3; flex: 1 0 100%; flex-direction: row; gap: var(--kv-3); }.kv-page-art { width: 104px; height: 80px; }.kv-page-art img { width: 96px; height: 90px; }.kv-page-companion figcaption { align-items: flex-start; }.kv-page-companion figcaption > span { display: inline; } }
@media(prefers-reduced-motion:reduce) { .kv-page-companion[data-motion] .kv-page-live { display: none; }.kv-page-companion[data-motion] .kv-page-still { display: block; } }
.kv-overline { font-size: var(--kv-xs); letter-spacing: .13em; text-transform: uppercase; color: var(--kv-accent); font-weight: 650; margin: 0 0 var(--kv-2); }
.kv-heading h2 { font-family: var(--font-display); font-size: var(--kv-xl); font-weight: 650; letter-spacing: -.045em; margin: 0; display: flex; gap: var(--kv-4); align-items: center; }
.kv-origin { font-size: var(--kv-sm); color: var(--kv-muted); letter-spacing: 0; font-weight: 400; border-left: 1px solid var(--kv-line); padding-left: var(--kv-4); }
.kv-heading p:last-child { color: var(--kv-muted); font-size: var(--kv-sm); margin: var(--kv-1) 0 0; }
.kv-heading-actions { display: flex; gap: var(--kv-4); align-items: center; }
.kv-private { font-size: var(--kv-xs); color: var(--kv-muted); }
.kv-private::before { content: ""; display: inline-block; width: 6px; height: 6px; background: var(--teal); border-radius: 50%; margin-right: var(--kv-2); }
.kv-button { display: inline-flex; align-items: center; justify-content: center; gap: var(--kv-3); padding: var(--kv-2) var(--kv-4); border: 1px solid var(--kv-line); background: var(--kv-bg); color: var(--kv-text); border-radius: 8px; min-height: 40px; font-weight: 550 !important; text-decoration: none; }
.kv-button:hover { background: var(--kv-soft); text-decoration: none; }
.kv-primary { background: var(--kv-accent); border-color: var(--kv-accent); color: #fff; }
.kv-primary:hover { background: #654023; color: #fff; }
.kv-topline { display: flex; align-items: center; gap: var(--kv-4); justify-content: space-between; border-bottom: 1px solid var(--kv-line); margin-bottom: var(--kv-5); }
.kv-tabs { display: flex; gap: var(--kv-6); }
.kv-tabs button { background: transparent; border: 0; border-bottom: 2px solid transparent; padding: var(--kv-3) 0; color: var(--kv-muted); font-size: var(--kv-sm); }
.kv-tabs button[aria-pressed=true] { color: var(--kv-text); border-bottom-color: var(--kv-accent); font-weight: 650; }
.kv-dot { display: inline-block; width: 5px; height: 5px; background: var(--kv-accent); border-radius: 50%; vertical-align: middle; margin-left: var(--kv-1); }
.kv-sync { color: var(--kv-muted); font-size: var(--kv-xs); text-align: right; }
.kv-alert { border: 1px solid #d6aa83; background: var(--warn-bg); color: #713c15; padding: var(--kv-3) var(--kv-4); border-radius: 8px; margin-bottom: var(--kv-4); overflow-wrap: anywhere; }
.kv-workspace { display: grid; grid-template-columns: 164px 250px minmax(0,1fr); min-height: 650px; height: min(760px, calc(100vh - 230px)); border: 1px solid var(--kv-line); border-radius: 12px; overflow: hidden; background: var(--kv-bg); box-shadow: 0 3px 12px #102a3505; }
.kv-folders { background: var(--kv-soft); border-right: 1px solid var(--kv-line); padding: var(--kv-5) var(--kv-3); display: flex; flex-direction: column; overflow: auto; }
.kv-rail-heading { display: flex; justify-content: space-between; align-items: center; font-size: var(--kv-xs); font-weight: 650; color: var(--kv-muted); padding-left: var(--kv-2); margin-bottom: var(--kv-2); }
.kv-icon { background: transparent; border: 0; color: var(--kv-muted); min-width: 32px; height: 32px; display: inline-flex; align-items: center; justify-content: center; border-radius: 6px; font-size: var(--kv-lg) !important; padding: 0 var(--kv-1); }
.kv-icon:hover { color: var(--kv-accent); background: var(--kv-accent-soft); }
.kv-folder-caption { margin-top: var(--kv-6); }
.kv-folder-button { width: 100%; border: 0; background: transparent; color: var(--kv-text); display: flex; align-items: center; gap: var(--kv-2); padding: var(--kv-2); border-radius: 7px; text-align: left; min-height: 38px; }
.kv-folder-button[aria-pressed=true] { background: var(--kv-selected); color: var(--kv-accent); font-weight: 600; }
.kv-folder-button:hover { background: var(--kv-selected); }
.kv-folder-button > span:first-child { width: 18px; color: var(--kv-accent); }
.kv-folder-name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.kv-folder-button small { margin-left: auto; color: var(--kv-muted); font-size: var(--kv-xs); }
.kv-import { text-align: left; display: flex; justify-content: space-between; color: var(--kv-muted); background: none; border: 0; padding: var(--kv-2); font-size: var(--kv-xs) !important; }
.kv-import:first-of-type { margin-top: var(--kv-6); }
.kv-import:hover { color: var(--kv-accent); }
.kv-library-foot { margin-top: auto; padding: var(--kv-8) var(--kv-2) 0; }
.kv-library-foot > span { color: var(--kv-accent); font-size: var(--kv-base); }
.kv-library-foot p { font-size: var(--kv-xs); color: var(--kv-muted); margin: var(--kv-2) 0 0; }
.kv-note-list { display: flex; flex-direction: column; border-right: 1px solid var(--kv-line); overflow: hidden; min-width: 0; }
.kv-list-head { padding: var(--kv-4) var(--kv-4) var(--kv-2); display: flex; align-items: center; justify-content: space-between; gap: var(--kv-2); }
.kv-list-head h3 { margin: 0; font-size: var(--kv-sm); font-weight: 650; }
.kv-list-head > div { display: flex; }
.kv-compose { color: var(--kv-accent); }
.kv-search { display: flex; align-items: center; gap: var(--kv-2); margin: var(--kv-2) var(--kv-4); border: 1px solid var(--kv-line); border-radius: 7px; padding: var(--kv-2) var(--kv-3); background: var(--kv-soft); color: var(--kv-muted); }
.kv-search span { font-size: var(--kv-lg); line-height: 1; }
.kv-search input { background: transparent; border: 0; outline: 0; min-width: 0; width: 100%; padding: 0; font-size: var(--kv-xs); color: var(--kv-text); box-shadow: none; }
.kv .kv-search input[type=search] { background: transparent !important; }
.portal-body[data-portalnav=kalvet] [data-unread][hidden] { display: none; }
.kv-search:focus-within { border-color: var(--kv-accent); }
.kv-list-tools { display: flex; justify-content: space-between; gap: var(--kv-2); padding: var(--kv-2) var(--kv-4) var(--kv-3); color: var(--kv-muted); font-size: var(--kv-xs); }
.kv-list-tools select { background: none; border: 0; font: inherit; color: inherit; width: auto; padding: 0; }
.kv-cards { overflow-y: auto; flex: 1; padding: 0 var(--kv-2); }
.kv-card { width: 100%; display: block; background: none; border: 1px solid transparent; border-radius: 8px; padding: var(--kv-4) var(--kv-3); text-align: left; color: var(--kv-text); margin-bottom: var(--kv-1); }
.kv-card:hover { background: var(--kv-soft); }
.kv-card[aria-pressed=true] { background: var(--kv-accent-soft); border-color: #cdbfa9; }
.kv-card strong { display: block; font-size: var(--kv-sm); line-height: 1.5; font-weight: 650; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.kv-card p { color: var(--kv-muted); font-size: var(--kv-xs); line-height: 1.7; margin: var(--kv-1) 0 var(--kv-2); overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.kv-card small { color: var(--kv-muted); font-size: var(--kv-xs); display: flex; gap: var(--kv-2); }
.kv-card small b { color: var(--kv-accent); font-weight: 500; }
.kv-empty-list { padding: var(--kv-6) var(--kv-3); color: var(--kv-muted); font-size: var(--kv-sm); }
.kv-new-bottom { display: flex; justify-content: space-between; background: none; border: 0; border-top: 1px solid var(--kv-line); color: var(--kv-accent); padding: var(--kv-4); }
.kv kbd { font: inherit; font-size: var(--kv-xs); color: var(--kv-muted); }
.kv-editor { min-width: 0; background: var(--kv-paper); overflow: hidden; display: flex; }
.kv-editor-empty { margin: auto; padding: var(--kv-8); text-align: center; max-width: 380px; }
.kv-empty-glyph { font-family: Georgia, serif; font-size: var(--kv-xl); color: var(--kv-accent); display: inline-block; padding: var(--kv-4); background: var(--kv-accent-soft); border-radius: 12px; }
.kv-editor-empty h3 { font-size: var(--kv-lg); margin: var(--kv-5) 0 var(--kv-2); }
.kv-editor-empty p { color: var(--kv-muted); margin: 0 0 var(--kv-6); }
.kv-editor-inner { display: flex; flex-direction: column; width: 100%; min-width: 0; }
.kv-editor-top { display: flex; align-items: center; justify-content: space-between; gap: var(--kv-2); padding: var(--kv-3) var(--kv-5); min-height: 58px; font-size: var(--kv-xs); color: var(--kv-muted); border-bottom: 1px solid var(--kv-line); }
.kv-editor-actions { display: flex; gap: var(--kv-1); }
.kv-editor-actions [aria-pressed=true] { color: var(--kv-accent); background: var(--kv-accent-soft); }
.kv-back { display: none; }
.kv-options { display: flex; flex-wrap: wrap; padding: var(--kv-3) var(--kv-5); gap: var(--kv-3); border-bottom: 1px solid var(--kv-line); background: var(--kv-soft); }
.kv-options label { display: flex; align-items: center; gap: var(--kv-2); font-size: var(--kv-xs); }
.kv-options select { background: var(--kv-bg); color: var(--kv-text); border: 1px solid var(--kv-line); border-radius: 5px; width: auto; padding: var(--kv-1); font-size: var(--kv-xs); max-width: 150px; }
.kv-options .kv-button { font-size: var(--kv-xs); padding: var(--kv-1) var(--kv-2); min-height: 32px; }
.kv-format { display: flex; align-items: center; gap: var(--kv-1); flex-wrap: wrap; padding: var(--kv-2) var(--kv-5); border-bottom: 1px solid var(--kv-line); }
.kv-format button { background: transparent; border: 0; color: var(--kv-muted); border-radius: 5px; min-width: 28px; height: 32px; padding: 0 var(--kv-2); font-size: var(--kv-sm); }
.kv-format button:hover, .kv-format button[aria-pressed=true] { background: var(--kv-accent-soft); color: var(--kv-accent); }
.kv-format > span { width: 1px; height: 16px; background: var(--kv-line); margin: 0 var(--kv-1); }
.kv-format .kv-preview-toggle { margin-left: auto; font-size: var(--kv-xs); }
.kv-record-tool { display: flex; gap: var(--kv-2); align-items: center; font-size: var(--kv-xs) !important; }
.kv-record-dot { display: block; width: 6px; height: 6px; border: 1px solid var(--kv-accent); border-radius: 50%; }
.kv-paper { padding: var(--kv-8) var(--kv-10); overflow-y: auto; display: flex; flex-direction: column; flex: 1; min-height: 0; }
.kv-title { font-family: var(--font-display); font-size: var(--kv-xl); color: var(--kv-text); font-weight: 650; letter-spacing: -.035em; background: transparent; border: 0; border-radius: 0; padding: 0; margin: 0 0 var(--kv-5); box-shadow: none; width: 100%; }
.kv-body { font-family: var(--font-body); font-size: var(--kv-base); line-height: 1.95; background: transparent; color: var(--kv-text); border: 0; resize: none; padding: 0; border-radius: 0; box-shadow: none; flex: 1; width: 100%; min-height: 280px; }
.kv-title:focus, .kv-body:focus { box-shadow: none; }
.kv-tag-field { display: flex; align-items: center; gap: var(--kv-3); border-top: 1px solid var(--kv-line); margin-top: var(--kv-6); padding-top: var(--kv-4); color: var(--kv-muted); font-size: var(--kv-xs); }
.kv-tag-field input { background: transparent; border: 0; padding: 0; color: var(--kv-text); font-size: var(--kv-xs); width: 100%; box-shadow: none; }
.kv-editor-foot { display: flex; gap: var(--kv-4); align-items: center; padding: var(--kv-3) var(--kv-5); border-top: 1px solid var(--kv-line); color: var(--kv-muted); font-size: var(--kv-xs); }
.kv-editor-foot button { margin-left: auto; border: 0; background: transparent; color: var(--kv-accent); display: flex; gap: var(--kv-3); font-size: inherit; }
.kv-rendered { flex: 1; font-size: var(--kv-base); line-height: 1.9; overflow-wrap: anywhere; min-height: 280px; }
.kv-rendered p { margin: 0 0 var(--kv-3); white-space: pre-wrap; }
.kv-rendered h3, .kv-rendered h4 { margin: var(--kv-4) 0 var(--kv-2); font-size: var(--kv-lg); }
.kv-rendered blockquote { border-left: 2px solid var(--kv-accent); margin: var(--kv-3) 0; padding-left: var(--kv-4); color: var(--kv-muted); }
.kv-rendered ul { padding-left: var(--kv-5); margin: 0 0 var(--kv-3); }
.kv-rendered .kv-task { list-style: none; margin-left: calc(-1 * var(--kv-5)); }
.kv-rendered code { font-size: var(--kv-sm); padding: var(--kv-1); background: var(--kv-soft); }
.kv-rendered a { color: var(--teal); text-decoration: underline; }
.kv-rendered .kv-table-line { font-family: monospace; font-size: var(--kv-sm); overflow-x: auto; }
.kv[data-compact=true] .kv-card { padding-block: var(--kv-2); }
.kv[data-compact=true] .kv-card p { display: none; }
.kv[data-focus=true] .kv-workspace { grid-template-columns: minmax(0,1fr); }
.kv[data-focus=true] .kv-folders, .kv[data-focus=true] .kv-note-list { display: none; }
.kv[data-focus=true] .kv-paper { padding-inline: max(var(--kv-6),calc((100% - 680px) / 2)); }
.kv-editor[data-colour=sand] { --kv-paper: #faf1df; }
.kv-editor[data-colour=sage] { --kv-paper: #edf2e8; }
.kv-editor[data-colour=rose] { --kv-paper: #faf0ed; }
.kv-section-intro { max-width: 590px; padding: var(--kv-6) 0; }
.kv-section-intro h3 { font-size: var(--kv-xl); letter-spacing: -.04em; margin: 0 0 var(--kv-3); }
.kv-section-intro > p:last-child { color: var(--kv-muted); font-size: var(--kv-base); margin: 0; }
.kv-meeting-form { display: grid; grid-template-columns: 1fr 1fr; gap: var(--kv-5); padding: var(--kv-6); border: 1px solid var(--kv-line); border-radius: 10px; background: var(--kv-bg); align-items: end; max-width: 850px; }
.kv-meeting-form label, .kv-dialog label { display: flex; flex-direction: column; gap: var(--kv-2); font-size: var(--kv-sm); }
.kv-meeting-form input, .kv-meeting-form select, .kv-dialog input:not([type=checkbox]), .kv-dialog select { background: var(--kv-paper); border: 1px solid var(--kv-line); border-radius: 7px; padding: var(--kv-3); color: var(--kv-text); font: inherit; width: 100%; }
.kv-meeting-form .kv-muted { color: var(--kv-muted); font-size: var(--kv-xs); }
.kv-meeting-info { display: grid; grid-template-columns: 1fr 1fr; gap: var(--kv-8); max-width: 850px; margin: var(--kv-8) 0; }
.kv h4 { font-size: var(--kv-base); margin: 0 0 var(--kv-2); font-weight: 650; }
.kv-meeting-info p, .kv-portability p { margin: 0; color: var(--kv-muted); }
.kv-meeting-notes { display: flex; flex-wrap: wrap; gap: var(--kv-3); }
.kv-meeting-notes .kv-card { max-width: 300px; border: 1px solid var(--kv-line); background: var(--kv-bg); }
.kv-connection-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: var(--kv-4); }
.kv-connection-grid article { background: var(--kv-bg); padding: var(--kv-6); border: 1px solid var(--kv-line); border-radius: 10px; display: flex; flex-wrap: wrap; align-items: center; gap: var(--kv-3); }
.kv-provider-mark { display: grid; place-items: center; width: 36px; height: 36px; border: 1px solid var(--kv-line); border-radius: 8px; font-size: var(--kv-lg); font-weight: 650; }
.kv-provider-state { font-size: var(--kv-xs); color: var(--kv-muted); margin-left: auto; }
.kv-bridge-actions {display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.kv-bridge-actions a {text-decoration:none}
.kv-bridge-block,.kv-bridge-device {padding:20px;border:1px solid var(--kv-line);border-radius:12px;margin-block:16px}
.kv-bridge-device p {margin-block:8px;overflow-wrap:anywhere}
.kv-pair-result {margin-block:16px;overflow-wrap:anywhere}
.kv-pair-code {display:block;font-size:20px;font-weight:600;letter-spacing:1px;padding:16px;background:var(--kv-soft);border:1px solid var(--kv-line);border-radius:10px;user-select:all;overflow-wrap:anywhere}
.kv-connection-grid h4 { width: 100%; margin: 0; }
.kv-connection-grid p { width: 100%; color: var(--kv-muted); margin: 0; min-height: 68px; }
.kv-connection-grid a { font-size: var(--kv-xs); color: var(--teal); text-decoration: underline; margin-left: auto; }
.kv-portability { display: flex; align-items: center; justify-content: space-between; gap: var(--kv-6); margin-top: var(--kv-6); padding: var(--kv-6); border: 1px solid var(--kv-line); border-radius: 10px; }
.kv-portability div { max-width: 700px; }.kv-portability button { flex-shrink: 0; }
.kv-dialog { border: 1px solid var(--kv-line); border-radius: 14px; background: var(--kv-bg); color: var(--kv-text); padding: var(--kv-8); width: min(520px,calc(100vw - 32px)); margin: auto; box-shadow: 0 24px 100px #102a3520; max-height: calc(100dvh - 32px); overflow-y: auto; }
.kv-dialog::backdrop { background: #102a3555; backdrop-filter: blur(3px); }
.kv-dialog h3 { font-size: var(--kv-lg); margin: var(--kv-3) 0; }
.kv-dialog p { color: var(--kv-muted); font-size: var(--kv-sm); margin-bottom: var(--kv-5); }
.kv-dialog-close { position: absolute; top: var(--kv-3); right: var(--kv-3); }
.kv-dialog .kv-consent { flex-direction: row; gap: var(--kv-3); align-items: flex-start; margin-top: var(--kv-5); }
.kv-consent input { width: 18px; height: 18px; flex-shrink: 0; margin-top: var(--kv-1); accent-color: var(--kv-accent); }
.kv-record-actions { display: flex; flex-wrap: wrap; gap: var(--kv-2); }
.kv-recordings { display: grid; gap: var(--kv-3); }
.kv-recordings figure { margin: var(--kv-3) 0 0; padding: var(--kv-3); border: 1px solid var(--kv-line); border-radius: 8px; }
.kv-recordings figcaption { display: flex; justify-content: space-between; gap: var(--kv-2); font-size: var(--kv-xs); color: var(--kv-muted); margin-bottom: var(--kv-2); }
.kv-recordings audio { width: 100%; height: 38px; }
.kv-meeting-source { color: var(--kv-accent); font-size: var(--kv-xs); margin: calc(-1 * var(--kv-3)) 0 var(--kv-4); overflow-wrap: anywhere; }
.kv-ink { margin-top: var(--kv-4); }
.kv-ink-tools { display: flex; flex-wrap: wrap; gap: var(--kv-2); align-items: center; margin-bottom: var(--kv-3); }
.kv-ink-tools .kv-button { min-height: 32px; padding: var(--kv-1) var(--kv-2); font-size: var(--kv-xs); }
.kv-ink-tools [aria-pressed=true] { color: var(--kv-accent); background: var(--kv-accent-soft); }
.kv-ink-tools select { background: var(--kv-bg); color: var(--kv-text); font: inherit; font-size: var(--kv-xs); padding: var(--kv-1); border: 1px solid var(--kv-line); border-radius: 5px; width: auto; }
.kv-ink canvas { display: block; width: 100%; aspect-ratio: 4/3; background-color: #fffefa; background-image: radial-gradient(#c8c5ba 1px,transparent 1px); background-size: 20px 20px; border: 1px solid var(--kv-line); border-radius: 8px; touch-action: none; cursor: crosshair; }
.kv-pen-only { display: flex; gap: var(--kv-2); align-items: center; flex-wrap: wrap; font-size: var(--kv-xs); margin: var(--kv-3) 0; color: var(--kv-text); }
.kv-pen-only input { width: 16px; height: 16px; accent-color: var(--kv-accent); }.kv-pen-only span { color: var(--kv-muted); }
.kv-ink-status { color: var(--kv-muted); font-size: var(--kv-xs); margin: var(--kv-3) 0; }
/* Mini uses the shared dock. No bespoke competing drag or animation loop. */
.kv-mini { position: fixed; z-index: 130; right: 24px; bottom: 28px; width: 76px; user-select: none; }
.kv-mini-launch { display: flex; flex-direction: column; align-items: center; width: 76px; background: transparent; border: 0; color: var(--ink); padding: 0; }
.kv-mini-face { width: 76px; height: 76px; border: 1px solid #adc59b; border-radius: 18px; background: #d8e7cc; box-shadow: 0 4px 12px #27463326,inset 0 1px 0 #ffffffa0; display: grid; place-items: center; padding: 0; position: relative; }
.kv-mini-face img { width: 74px; height: 70px; grid-area: 1/1; pointer-events: none; user-select: none; }
.kv-mini-face span { display: block; height: 2px; background: #805330; opacity: .65; border-radius: 2px; }
.kv-mini-face span:nth-child(2) { width: 76%; }.kv-mini-face span:nth-child(3) { width: 55%; }
.kv-mini-launch strong { font-size: 12px; line-height: 1.5; margin-top: 6px; font-weight: 650; }
.kv-mini-launch small { font-size: 12px; line-height: 1.4; color: var(--stone); }
.kv-mini-pop { position: fixed; z-index: 1600; right: 24px; bottom: 135px; width: 340px; max-width: calc(100vw - 24px); max-height: calc(100dvh - 32px); overflow: auto; border: 1px solid var(--kv-line); border-radius: 14px; background: var(--kv-paper); padding: var(--kv-5); box-shadow: 0 16px 70px #102a3526; }
.kv-mini-pop header { display: flex; align-items: center; justify-content: space-between; margin-bottom: var(--kv-4); }
.kv-mini-pop header strong { display: block; font-size: var(--kv-base); letter-spacing: -.025em; }
.kv-mini-pop header small, .kv-mini-pop p { color: var(--kv-muted); font-size: var(--kv-xs); }
.kv-mini-pop label { display: block; font-size: var(--kv-xs); color: var(--kv-muted); }
.kv-mini-pop input, .kv-mini-pop textarea { background: transparent; border: 0; border-bottom: 1px solid var(--kv-line); border-radius: 0; color: var(--kv-text); width: 100%; padding: var(--kv-2) 0; font: inherit; box-shadow: none; }
.kv-mini-pop textarea { min-height: 120px; resize: vertical; line-height: 1.8; }
.kv-mini-actions { display: flex; align-items: center; gap: var(--kv-3); margin-top: var(--kv-4); }
.kv-mini-actions a { margin-left: auto; color: var(--kv-accent); font-size: var(--kv-xs); text-decoration: underline; }
.kv-preview-banner { padding: 10px 24px; background: #eee8dd; color: #4d422f; font: 12px/1.6 var(--font-body,sans-serif); border-bottom: 1px solid #d2c7b4; display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.kv-preview-banner a { color: #584023; text-decoration: underline; margin-left: 12px; }
.kv-preview-banner strong {color:#4d422f!important}
[data-portal-theme=dark] .kv, [data-portal-theme=dark] .kv-mini-pop {
  --kv-bg: #182b32; --kv-paper: #1a2e35; --kv-soft: #14252c; --kv-selected: #35403e;
  --kv-line: #3d4c4c; --kv-text: #f2f2ed; --kv-muted: #b8c1bd; --kv-accent: #e8bb83; --kv-accent-soft: #3e3b32;
}
[data-portal-theme=dark] .kv-editor[data-colour] { --kv-paper: #1a2e35; }
[data-portal-theme=dark] .kv .kv-primary, [data-portal-theme=dark] .kv-mini-pop .kv-primary { color: #182b32; }
@media(min-width:1600px) { .kv-workspace { grid-template-columns: 184px 280px minmax(0,1fr); } }
@media(max-width:1200px) { .kv-workspace { grid-template-columns: 140px 210px minmax(0,1fr); }.kv-paper { padding: var(--kv-6); }.kv-format { padding-inline: var(--kv-3); }.kv-heading-actions { flex-direction: column; align-items: flex-end; gap: var(--kv-2); }.kv-editor-top { padding-inline: var(--kv-3); } }
@media(max-width:1000px) { .kv-workspace { grid-template-columns: 130px 190px minmax(0,1fr); }.kv-connection-grid { grid-template-columns: 1fr; }.kv-connection-grid p { min-height: 0; }.kv-editor-foot { flex-wrap: wrap; gap: var(--kv-2); padding-inline: var(--kv-3); }.kv-editor-foot > span:nth-child(2) { display: none; } }
@media(min-width:701px) and (max-width:1100px) {
  .kv-workspace { grid-template-columns: 220px minmax(0,1fr); grid-template-rows: auto minmax(0,1fr); min-height: 700px; height: calc(100dvh - 250px); }
  .kv-folders { grid-column: 1/-1; display: flex; flex-direction: row; align-items: center; gap: var(--kv-2); padding: var(--kv-2); border-right: 0; border-bottom: 1px solid var(--kv-line); overflow-x: auto; white-space: nowrap; }
  .kv-folders .kv-rail-heading { margin: 0; padding: 0; }.kv-folders .kv-rail-heading > span, .kv-folder-caption, .kv-library-foot { display: none; }
  [data-kv-library], [data-kv-folders] { display: flex; gap: var(--kv-1); }.kv-folder-button { width: auto; gap: var(--kv-2); }.kv-folder-name { max-width: 100px; }.kv-import { margin: 0 !important; gap: var(--kv-2); }
  .kv[data-focus=true] .kv-workspace { grid-template-columns: 1fr; grid-template-rows: 1fr; }
  .kv-format button { min-height: 40px; }.kv-icon { min-width: 40px; height: 40px; }.kv-ink-tools .kv-button, .kv-ink-tools select { min-height: 40px; }
}
@media(max-width:700px) {
  .kv-heading { align-items: flex-start; gap: var(--kv-2); margin-bottom: var(--kv-4); }.kv-heading-actions .kv-private { display: none; }.kv-heading-actions .kv-button { font-size: var(--kv-xs); padding: var(--kv-2); }.kv-origin { display: none; }.kv-heading p:last-child { font-size: var(--kv-xs); }
  .kv-heading h2 { font-size: var(--kv-xl); }.kv-topline { flex-wrap: wrap; gap: 0; margin-bottom: var(--kv-3); }.kv-tabs { gap: var(--kv-5); }.kv-sync { width: 100%; text-align: left; padding: var(--kv-2) 0; }
  .kv-workspace { display: grid; grid-template-columns: 1fr; height: auto; min-height: 630px; }.kv-folders { padding: var(--kv-2); border-right: 0; border-bottom: 1px solid var(--kv-line); display: block; overflow-x: auto; white-space: nowrap; }
  .kv-folders > .kv-rail-heading { display: inline-flex; padding: 0 var(--kv-2); margin: 0; }.kv-folders > .kv-rail-heading > span { display: none; }.kv-folder-caption { display: none !important; }
  [data-kv-library], [data-kv-folders] { display: inline-flex; vertical-align: middle; gap: var(--kv-1); }.kv-folder-button { width: auto; min-height: 36px; font-size: var(--kv-xs) !important; gap: var(--kv-1); padding: var(--kv-2); }.kv-folder-button small { margin-left: var(--kv-2); }.kv-folder-name { max-width: 100px; }
  .kv-folders .kv-import { display: inline-flex; gap: var(--kv-2); margin: 0; }.kv-library-foot { display: none; }.kv-note-list { border: 0; min-height: 550px; }.kv-cards { max-height: 500px; min-height: 390px; }.kv-list-head { padding-top: var(--kv-3); }.kv-editor { display: none; }
  .kv[data-mobile-editor=true] .kv-note-list, .kv[data-mobile-editor=true] .kv-folders { display: none; }.kv[data-mobile-editor=true] .kv-editor { display: flex; min-height: 650px; }.kv-back { display: inline-flex; padding: var(--kv-1) var(--kv-2); min-height: 32px; font-size: var(--kv-xs); }.kv-editor-top > span { display: none; }
  .kv-paper { padding: var(--kv-6) var(--kv-5); }.kv-body { min-height: 350px; }.kv-format { padding-inline: var(--kv-2); gap: 0; }.kv-format button { padding: 0 var(--kv-2); }.kv-title { font-size: var(--kv-lg); }.kv-meeting-form { grid-template-columns: 1fr; padding: var(--kv-5); }.kv-meeting-info { grid-template-columns: 1fr; gap: var(--kv-5); }.kv-portability { flex-direction: column; align-items: flex-start; padding: var(--kv-5); }.kv-connection-grid article { padding: var(--kv-5); }.kv-connection-grid a { margin-left: 0; }.kv-section-intro { padding-top: var(--kv-4); }.kv-section-intro h3 { font-size: var(--kv-lg); }.kv-dialog { padding: var(--kv-6); }.kv-mini-pop { right: 12px; bottom: 110px; }
}
@media(prefers-reduced-motion:no-preference) {
  .kv-card, .kv-button, .kv-mini-face { transition: background .15s, border-color .15s, box-shadow .15s; }
  .kv-mini-launch:hover .kv-mini-face { box-shadow: 0 6px 20px #3d2c202c,inset 0 1px 0 #fff; }
}

/* Apple-first workspace: system typography, quiet materials, blue actions.
   Keep GTB's own companion artwork and support explicit dark/reduced motion. */
.kv {
  --kv-accent:#0866d9;--kv-accent-soft:#eaf2ff;--kv-selected:#e9eff8;
  --kv-line:#e2e5ea;--kv-soft:#f5f5f7;--kv-paper:#fff;--kv-text:#202124;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
.kv-heading h2,.kv .kv-title,.kv .kv-section-intro h3,.kv-dialog h3 {
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  letter-spacing:-.035em;
}
.kv-heading h2 {font-weight:700}
.kv .kv-workspace {border-radius:16px;box-shadow:0 8px 30px #17243b08}
.kv .kv-primary:hover {background:#0757b8}
.kv-live-clock {display:block;font-size:13px;font-weight:700;font-variant-numeric:tabular-nums;white-space:normal}
.kv-heading-actions .kv-private {display:block;font-size:11px;margin-top:4px}
.kv-note-timestamps {display:flex;flex-wrap:wrap;gap:4px 16px;padding:4px 20px 10px;color:var(--kv-muted);font-size:11px;font-variant-numeric:tabular-nums}
.kv-note-timestamps strong {font-weight:650;color:var(--kv-text)}
.kv-smart-tools {display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:8px 20px;border-bottom:1px solid var(--kv-line)}
.kv-smart-tools .kv-button {font-size:12px;min-height:36px;padding:5px 10px}
[data-kv-permission] {font-size:11px;color:var(--kv-muted)}
.kv-countdown {padding:10px 20px;background:var(--kv-accent-soft);color:var(--kv-accent);font-weight:650;font-variant-numeric:tabular-nums}
.kv-countdown-float {position:fixed;z-index:950;bottom:24px;right:24px;max-width:min(340px,calc(100vw - 32px));padding:14px 20px;border:1px solid var(--kv-line);border-radius:18px;background:var(--kv-paper);color:var(--kv-accent);box-shadow:0 8px 32px #18395d22;font-size:14px;font-weight:650;font-variant-numeric:tabular-nums}
.kv .kv-dialog {width:min(720px,calc(100vw - 32px));max-height:85dvh;overflow-y:auto;border-radius:20px}
.kv-sheet-field {display:flex;flex-direction:column;gap:6px;margin:16px 0;font-weight:550;font-size:13px}
.kv-sheet-field input,.kv-sheet-field textarea,.kv-sheet-field select {width:100%;min-height:44px;border:1px solid var(--kv-line);border-radius:10px;padding:10px 12px;background:var(--kv-paper);color:var(--kv-text);font:inherit}
.kv-sheet-field textarea {min-height:100px;resize:vertical}
.kv-sheet-field:has(input[type=checkbox]) {flex-direction:row-reverse;justify-content:flex-end;align-items:flex-start;font-weight:400}
.kv-sheet-field input[type=checkbox] {width:18px;min-height:18px;flex:0 0 18px}
.kv-dialog .kv-button {margin:4px 4px 4px 0}
.kv-template-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:20px 0}
.kv-template-card {display:flex;flex-direction:column;align-items:flex-start;gap:5px;min-height:115px;padding:16px;background:var(--kv-paper);color:var(--kv-text);border:1px solid var(--kv-line);border-radius:12px;text-align:left}
.kv-template-card:hover {border-color:var(--kv-accent);background:var(--kv-accent-soft)}
.kv-template-card small {color:var(--kv-muted);font-size:11px}
.kv-template-card strong {font-size:14px;font-weight:650}
.kv-template-card span {font-size:12px;color:var(--kv-accent)}
.kv-suggestion {white-space:pre-wrap;overflow-wrap:anywhere;max-height:320px;overflow-y:auto;padding:18px;border:1px solid var(--kv-line);border-radius:12px;background:var(--kv-soft);font:13px/1.7 ui-monospace,SFMono-Regular,monospace}
.kv-table-scroll {max-width:100%;overflow-x:auto;margin:12px 0}
.kv-report-table {width:100%;border-collapse:collapse;font-size:13px}
.kv-report-table th,.kv-report-table td {border:1px solid var(--kv-line);padding:9px 12px;text-align:left;min-width:90px}
.kv-report-table th {background:var(--kv-soft);font-weight:650}
.kv-share-row {display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid var(--kv-line);overflow-wrap:anywhere}
.kv-activity {white-space:pre-wrap;border-left:2px solid var(--kv-accent);padding-left:12px}
.kv-sheet-error {color:#b3261e}
.kv-tabs {flex-wrap:wrap}
.kv [data-kv=collaborate] svg {display:block;width:18px;height:18px}
[data-portal-theme=dark] .kv {--kv-accent:#87baff;--kv-accent-soft:#20314b;--kv-selected:#293b55;--kv-paper:#1c1c1e;--kv-soft:#242426;--kv-bg:#1c1c1e;--kv-line:#404046;--kv-text:#f5f5f7;--kv-muted:#b3b3bb}
[data-portal-theme=dark] .kv-editor[data-colour] {--kv-paper:#1c1c1e}
@media(max-width:700px) {
 .kv-live-clock {font-size:11px;max-width:160px}
 .kv-tabs {gap:6px 18px}
 .kv-smart-tools,.kv-note-timestamps {padding-inline:12px}
 .kv-smart-tools .kv-button {min-height:44px}
 .kv-template-grid {grid-template-columns:1fr}
 .kv-countdown-float {right:16px;bottom:16px}
}

/* Calm chrome: secondary information belongs in a sheet, not above the paper. */
.kv .kv-inline-timer {--timer-bg:#181b20;--timer-fg:#fff;--timer-time:#bcf5a8;display:inline-flex;align-items:center;vertical-align:middle;max-width:100%;min-height:40px;gap:8px;padding:2px 12px;margin:3px 4px;border-radius:24px;background:var(--timer-bg);color:var(--timer-fg);box-shadow:inset 0 1px 0 #ffffff18,0 2px 5px #10182012;font-size:var(--kv-sm);font-weight:700;line-height:1.4;white-space:normal;user-select:none;box-sizing:border-box}
.kv .kv-inline-timer[data-colour=blue],.kv .kv-timer-swatch[data-colour=blue] {--timer-bg:#e3edff;--timer-fg:#153a75;--timer-time:#123c85}
.kv .kv-inline-timer[data-colour=green],.kv .kv-timer-swatch[data-colour=green] {--timer-bg:#ddf1e5;--timer-fg:#184c34;--timer-time:#10532f}
.kv .kv-inline-timer[data-colour=orange],.kv .kv-timer-swatch[data-colour=orange] {--timer-bg:#fff0d6;--timer-fg:#743e0c;--timer-time:#7c3c00}
.kv .kv-inline-timer[data-colour=rose],.kv .kv-timer-swatch[data-colour=rose] {--timer-bg:#fbe1e9;--timer-fg:#7e2544;--timer-time:#892040}
.kv .kv-inline-timer[data-colour=purple],.kv .kv-timer-swatch[data-colour=purple] {--timer-bg:#eee4ff;--timer-fg:#4b2b80;--timer-time:#51248d}
.kv .kv-timer-open {border:0;background:none;color:inherit;display:inline-flex;align-items:center;flex-wrap:wrap;justify-content:center;gap:5px 10px;padding:5px 0;margin:0;min-height:36px;min-width:0;max-width:100%;font:inherit;font-weight:700;cursor:pointer;line-height:1.4;text-align:left}
.kv .kv-timer-label {max-width:18ch;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:700;min-width:0}
.kv .kv-timer-time {font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:var(--kv-sm);font-weight:750;font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--timer-time);letter-spacing:-.02em}
.kv .kv-timer-state {font-size:var(--kv-xs);font-weight:650;opacity:.85;white-space:nowrap}
.kv .kv-timer-state:empty {display:none}
.kv .kv-timer-grab {font:inherit;background:none;border:0;border-right:1px solid currentColor;color:inherit;padding:0 7px 0 0;margin:0;flex:0 0 25px;min-height:36px;cursor:grab;touch-action:none;opacity:.65;user-select:none}
.kv .kv-inline-timer:focus-within,.kv .kv-inline-timer.ProseMirror-selectednode {outline:2px solid var(--kv-accent);outline-offset:3px}
.kv .kv-inline-timer[data-state=done] {outline:1px solid var(--timer-time);outline-offset:1px}
.kv .kv-timer-preview {display:flex;justify-content:center;align-items:center;padding:8px 8px 24px;min-height:70px}
.kv .kv-timer-palette {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:16px 0 24px}
.kv .kv-timer-swatch {--timer-bg:#181b20;--timer-fg:#fff;min-height:44px;border:2px solid transparent;border-radius:12px;background:var(--timer-bg);color:var(--timer-fg);font-size:var(--kv-xs);font-weight:650;padding:8px}
.kv .kv-timer-swatch[aria-pressed=true] {outline:2px solid var(--kv-accent);outline-offset:2px}
.kv .kv-timer-ghost {position:fixed!important;z-index:1100;pointer-events:none;opacity:.9;max-width:calc(100vw - 24px);box-shadow:0 8px 24px #10182033}
.kv .kv-timer-drop-marker {position:fixed;width:3px;background:var(--kv-accent);border-radius:2px;z-index:1100;pointer-events:none}
.kv .kv-timer-dragging {opacity:.4}
.kv .kv-inline-timer button:disabled {cursor:default}
.kv .kv-rich-text [data-kalvet-countdown] {user-select:none}
:is(html[data-portal-theme=dark],body[data-portal-theme=dark],body.portal-theme-dark) .kv .kv-inline-timer[data-colour=blue],:is(html[data-portal-theme=dark],body[data-portal-theme=dark],body.portal-theme-dark) .kv .kv-timer-swatch[data-colour=blue] {--timer-bg:#19325b;--timer-fg:#e7efff;--timer-time:#bdd6ff}
:is(html[data-portal-theme=dark],body[data-portal-theme=dark],body.portal-theme-dark) .kv .kv-inline-timer[data-colour=green],:is(html[data-portal-theme=dark],body[data-portal-theme=dark],body.portal-theme-dark) .kv .kv-timer-swatch[data-colour=green] {--timer-bg:#193e2c;--timer-fg:#e5f9ed;--timer-time:#b9edcb}
:is(html[data-portal-theme=dark],body[data-portal-theme=dark],body.portal-theme-dark) .kv .kv-inline-timer[data-colour=orange],:is(html[data-portal-theme=dark],body[data-portal-theme=dark],body.portal-theme-dark) .kv .kv-timer-swatch[data-colour=orange] {--timer-bg:#513516;--timer-fg:#fff2dd;--timer-time:#ffdaa4}
:is(html[data-portal-theme=dark],body[data-portal-theme=dark],body.portal-theme-dark) .kv .kv-inline-timer[data-colour=rose],:is(html[data-portal-theme=dark],body[data-portal-theme=dark],body.portal-theme-dark) .kv .kv-timer-swatch[data-colour=rose] {--timer-bg:#54263a;--timer-fg:#ffeaf2;--timer-time:#ffc2d8}
:is(html[data-portal-theme=dark],body[data-portal-theme=dark],body.portal-theme-dark) .kv .kv-inline-timer[data-colour=purple],:is(html[data-portal-theme=dark],body[data-portal-theme=dark],body.portal-theme-dark) .kv .kv-timer-swatch[data-colour=purple] {--timer-bg:#372250;--timer-fg:#f4eaff;--timer-time:#dec0ff}
@media(max-width:600px) {
 .kv .kv-inline-timer {gap:5px;padding-inline:9px;margin-inline:2px}
 .kv .kv-timer-label {max-width:12ch}
 .kv .kv-timer-open {column-gap:6px}
}
.kv .kv-library-icon {width:18px;height:18px;flex:0 0 18px;color:var(--kv-accent)}
.kv .kv-folder-browser {width:100%;min-width:0}
.kv .kv-folder-browser summary {cursor:pointer;min-height:44px;padding:12px;font-size:var(--kv-sm);font-weight:550;color:var(--kv-text);border-top:1px solid var(--kv-line)}
.kv [data-kv-folder-browser-content] {padding:8px;background:var(--kv-bg);border:1px solid var(--kv-line);border-radius:10px}
@media(max-width:1100px) {
 .kv .kv-folders {display:flex;flex-direction:row;flex-wrap:wrap;white-space:normal;overflow:visible;gap:4px 8px;align-items:center}
 .kv [data-kv-library] {display:flex;flex:1;flex-wrap:wrap;gap:4px;min-width:0}
 .kv .kv-folder-button {min-height:40px}
 .kv [data-kv-folder-browser-content] [data-kv-folders] {display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:4px;margin-bottom:8px}
 .kv [data-kv-folder-browser-content] .kv-folder-button {width:100%;min-height:44px;justify-content:flex-start}
 .kv [data-kv-folder-browser-content] .kv-import {display:inline-flex;min-height:44px;padding:10px;margin:0!important}
}
.kv .kv-rich-text {outline:none;min-height:350px;font-size:var(--kv-base);line-height:1.8;color:var(--kv-text);overflow-wrap:anywhere;white-space:pre-wrap}
.kv .kv-rich-text p {margin:0 0 14px}
.kv .kv-rich-text > :first-child {margin-top:0}
.kv .kv-rich-text h1 {font-size:var(--kv-lg);line-height:1.4;margin:28px 0 14px;font-weight:700}
.kv .kv-rich-text h2 {font-size:var(--kv-base);line-height:1.5;margin:24px 0 12px;font-weight:700}
.kv .kv-rich-text h3 {font-size:var(--kv-base);margin:20px 0 10px;font-weight:600}
.kv .kv-rich-text ul,.kv .kv-rich-text ol {padding-left:24px;margin:12px 0 18px}
.kv .kv-rich-text li p {margin:0 0 6px}
.kv .kv-rich-text blockquote {border-left:3px solid var(--kv-accent);margin:20px 0;padding-left:20px;color:var(--kv-muted)}
.kv .kv-rich-text pre {background:var(--kv-soft);padding:16px;border-radius:10px;overflow-x:auto;font-size:var(--kv-sm)}
.kv .kv-rich-text code {font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.9em}
.kv .kv-rich-text a {color:var(--kv-accent);text-decoration:underline;text-underline-offset:3px}
.kv .kv-rich-text hr {border:0;border-top:1px solid var(--kv-line);margin:24px 0}
/* Task node views expose data-checked but may omit serialized data-type. */
.kv .kv-rich-text ul[data-type=taskList],.kv .kv-rich-text ul:has(> li[data-checked]) {list-style:none;padding:0}
.kv .kv-rich-text li[data-type=taskItem],.kv .kv-rich-text li[data-checked] {display:flex;gap:12px;align-items:flex-start;margin:10px 0}
.kv .kv-rich-text li[data-type=taskItem] > label,.kv .kv-rich-text li[data-checked] > label {display:flex;flex-direction:row;align-items:center;justify-content:center;width:24px;min-width:24px;max-width:24px;min-height:28px;flex:0 0 24px;gap:0;margin:0;user-select:none}
.kv .kv-rich-text li[data-type=taskItem] > div,.kv .kv-rich-text li[data-checked] > div {flex:1;min-width:0}
.kv .kv-rich-text li[data-type=taskItem] input,.kv .kv-rich-text li[data-checked] input {width:18px;height:18px;min-height:18px;margin:0;flex:0 0 18px;accent-color:var(--kv-accent)}
.kv .kv-rich-text li[data-checked=true] > div {color:var(--kv-muted)}
.kv .kv-rich-text table {border-collapse:collapse;table-layout:auto;width:100%;min-width:480px!important;margin:20px 0}
.kv .kv-rich-text td,.kv .kv-rich-text th {vertical-align:top;border:1px solid var(--kv-line);padding:10px 12px;position:relative;min-width:70px;font-size:var(--kv-sm)}
.kv .kv-rich-text th {background:var(--kv-soft);font-weight:650}
.kv .kv-rich-text td p,.kv .kv-rich-text th p {margin:0}
.kv .kv-rich-text td p,.kv .kv-rich-text th p,.kv .kv-rich-text strong,.kv .kv-rich-text b,.kv .kv-rich-text em,.kv .kv-rich-text i {color:inherit}
.kv .kv-rich-text .selectedCell {background:var(--kv-soft)}
.kv .kv-rich-text .tableWrapper {overflow-x:auto}
.kv .kv-colour-document {--kv-paper:#ffffff;--kv-text:#24343a;--kv-muted:#586875;--kv-line:#dce3e9;background:#ffffff;color:#24343a;border-radius:10px}
.kv [data-kv-rich].kv-colour-document {padding:24px}
.kv .kv-design-controls {position:relative;min-width:0}
.kv .kv-design-controls summary {cursor:pointer;list-style:none;font-size:var(--kv-sm);font-weight:600;padding:8px 12px;min-height:40px;border-radius:8px;color:var(--kv-text);background:var(--kv-soft)}
.kv .kv-design-controls summary::after {content:"⌄";margin-left:8px}
.kv .kv-design-controls summary::-webkit-details-marker {display:none}
.kv .kv-design-controls details[open] > summary {color:var(--kv-accent)}
.kv .kv-design-panel {display:grid;gap:16px;padding:20px;background:var(--kv-paper);border:1px solid var(--kv-line);border-radius:12px;box-shadow:0 12px 36px #172c3820;margin:8px 0 16px}
.kv .kv-format {position:relative}
.kv .kv-format .kv-design-controls {position:static}
.kv .kv-editor {container-type:inline-size}
.kv .kv-format {flex:0 0 auto}
.kv .kv-format .kv-design-panel {position:absolute;z-index:12;left:auto;right:0;top:100%;width:320px;max-height:min(480px,65dvh);overflow:auto;margin:8px 0}
.kv .kv-editor-inner:has([data-kv-visual-format] > details[open]) > .kv-paper {margin-right:330px;padding-inline:20px}
.kv .kv-format .kv-design-fields {grid-template-columns:repeat(2,minmax(0,1fr))}
@container(max-width:680px){
 .kv .kv-editor-inner:has([data-kv-visual-format] > details[open]) > .kv-paper {margin-right:0}
 .kv .kv-format .kv-design-controls:has(> details[open]) {width:100%;flex-basis:100%;order:100}
 .kv .kv-format .kv-design-panel {position:static;width:100%;max-height:36dvh;margin:8px 0}
}
.kv .kv-design-tools,.kv .kv-design-choices {display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.kv .kv-design-tools button,.kv .kv-design-choices button {padding:8px 12px;min-height:40px;width:auto;border:1px solid var(--kv-line);background:var(--kv-paper);border-radius:8px;color:var(--kv-text);font-size:var(--kv-sm)}
.kv .kv-design-tools button:hover,.kv .kv-design-choices button:hover {background:var(--kv-soft)}
.kv .kv-design-fields {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.kv .kv-design-fields label {display:grid;gap:4px;margin:0;font-size:var(--kv-sm);color:var(--kv-text);min-width:0}
.kv .kv-design-fields select,.kv .kv-design-fields input,.kv .kv-design-choices select {min-width:0;width:100%;min-height:40px;border:1px solid var(--kv-line);border-radius:8px;background:var(--kv-paper);color:var(--kv-text);padding:4px 8px}
.kv .kv-design-choices select {width:auto;max-width:100%}
.kv .kv-design-dots {display:inline-flex;gap:3px;margin-right:8px;vertical-align:middle}
.kv .kv-design-dots i {display:block;width:8px;height:8px;border-radius:50%}
.kv .kv-design-panel .kv-sheet-caption,.kv .kv-design-panel .kv-sheet-error {margin:0}
.kv .kv-format-group {border-top:1px solid var(--kv-line);padding-top:8px;min-width:0}
.kv .kv-format-group-body {display:grid;gap:16px;padding:16px 0 4px}
.kv .kv-format-group summary {font-weight:600}
.kv .kv-rich-text .column-resize-handle {position:absolute;right:-2px;top:0;bottom:-2px;width:4px;background:#2458a6;pointer-events:none;z-index:2}
.kv .kv-rich-text.resize-cursor,.kv .kv-rich-text.resize-cursor * {cursor:col-resize!important}
.kv .kv-rich-text .selectedCell::after {content:"";position:absolute;inset:0;background:#2458a62b;pointer-events:none;z-index:1}
.kv .kv-thumb-table {width:100%;font-size:12px;border-collapse:collapse;table-layout:fixed;margin-top:12px}
.kv .kv-thumb-table th,.kv .kv-thumb-table td {padding:4px;border:1px solid #dce3e9;overflow:hidden;white-space:nowrap;text-overflow:clip;font-weight:500}
.kv .kv-ai-result > .kv-design-controls {margin:12px 0}
.kv .kv-rich-text table {border-radius:8px;overflow:hidden}
.kv .kv-rich-text th {letter-spacing:.01em;overflow-wrap:normal;word-break:normal}
@media(max-width:600px){
 .kv .kv-design-fields {grid-template-columns:repeat(2,minmax(0,1fr))}
 .kv .kv-design-panel {padding:12px;gap:12px}
 .kv .kv-design-tools button,.kv .kv-design-choices button {min-height:44px}
 .kv .kv-design-fields select,.kv .kv-design-fields input,.kv .kv-design-choices select,.kv .kv-design-controls summary {min-height:44px}
}
.kv .kv-rich-text .ProseMirror-selectednode {outline:2px solid var(--kv-accent)}
.kv .kv-table-tools {display:flex;flex-wrap:wrap;gap:4px;border-bottom:1px solid var(--kv-line);padding:6px 20px;background:var(--kv-soft)}
.kv .kv-table-tools button {font-size:var(--kv-xs);min-height:36px;border:0;border-radius:6px;background:none;padding:6px 10px;color:var(--kv-muted)}
.kv .kv-table-tools button:hover {background:var(--kv-bg);color:var(--kv-accent)}
.kv .kv-dialog[data-kv-dialog] {padding:0;width:min(620px,calc(100vw - 32px));max-height:88dvh;overflow:hidden;border-radius:20px}
.kv .kv-dialog[data-sheet=gallery],.kv .kv-dialog[data-sheet=preview] {width:min(920px,calc(100vw - 32px))}
.kv .kv-dialog[data-sheet=assistant] {width:min(1000px,calc(100vw - 32px))}
.kv [data-kv-dialog-body] {display:flex;flex-direction:column;max-height:88dvh;min-height:0}
.kv .kv-sheet-header {flex:0 0 auto;padding:24px 64px 20px 28px;border-bottom:1px solid var(--kv-line);background:var(--kv-bg)}
.kv .kv-sheet-header h3 {margin:0;font-size:var(--kv-lg);font-weight:700;letter-spacing:-.025em}
.kv .kv-sheet-header p {margin:8px 0 0;font-size:var(--kv-sm);line-height:1.55;color:var(--kv-muted)}
.kv .kv-sheet-content {padding:24px 28px;overflow-y:auto;overscroll-behavior:contain;min-height:0}
.kv .kv-dialog-close {z-index:2;top:16px;right:16px;width:36px;height:36px;background:var(--kv-soft);border-radius:50%}
.kv .kv-sheet-content .kv-button {min-height:44px;margin:0;border-radius:10px;font-size:var(--kv-sm)}
.kv .kv-sheet-content > .kv-button {margin-top:12px;margin-right:8px}
.kv .kv-sheet-field {margin:0 0 20px;font-size:var(--kv-sm);gap:8px}
.kv .kv-dialog .kv-sheet-field:has(input[type=checkbox]) {flex-direction:row-reverse;gap:12px;font-size:var(--kv-sm);line-height:1.5}
.kv .kv-sheet-field input[type=checkbox] {margin-top:3px;accent-color:var(--kv-accent)}
.kv .kv-sheet-actions {display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:16px 0;margin:0}
.kv .kv-sheet-actions .kv-primary {margin-left:auto}
.kv .kv-sheet-actions .kv-sheet-error {flex-basis:100%;margin:4px 0}
.kv .kv-dialog p.kv-sheet-caption {font-size:var(--kv-xs);line-height:1.6;color:var(--kv-muted);margin:12px 0}
.kv .kv-gallery-controls {display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px}
.kv .kv-gallery-controls .kv-sheet-field {flex:1 1 240px;margin:0;font-size:var(--kv-xs)}
.kv .kv-gallery-controls input {font-size:var(--kv-sm);background:var(--kv-soft)}
.kv .kv-segmented {display:flex;flex-wrap:wrap;gap:4px;padding:4px;border-radius:10px;background:var(--kv-soft)}
.kv .kv-segmented button {min-height:36px;border:0;border-radius:7px;background:none;color:var(--kv-muted);padding:8px 12px;font-size:var(--kv-xs);white-space:nowrap}
.kv .kv-segmented button[aria-pressed=true] {background:var(--kv-bg);color:var(--kv-text);box-shadow:0 1px 5px #17243b15;font-weight:650}
.kv .kv-template-grid {grid-template-columns:repeat(4,minmax(0,1fr));gap:24px 20px;margin:28px 0 16px}
.kv .kv-template-card {display:flex;align-items:stretch;gap:6px;padding:0;min-width:0;min-height:0;background:none;border:0;border-radius:10px;color:var(--kv-text)}
.kv .kv-template-card:hover {background:none}
.kv .kv-template-card strong {font-size:var(--kv-xs);line-height:1.4;text-align:center;font-weight:650;margin-top:6px}
.kv .kv-template-card small {display:block;text-align:center;font-size:var(--kv-xs);color:var(--kv-muted)}
.kv .kv-template-thumb {--kv-paper:#fff;--kv-text:#24343a;--kv-muted:#586875;--kv-line:#dce3e9;color:var(--kv-text);height:230px;overflow:hidden;padding:20px 16px;background:var(--kv-paper);border:1px solid var(--kv-line);border-radius:8px;box-shadow:0 3px 8px #17243b08;transition:border-color .15s,box-shadow .15s}
.kv .kv-template-card:hover .kv-template-thumb {border-color:var(--kv-accent);box-shadow:0 4px 12px #17243b15}
.kv .kv-template-thumb b {display:block;font-size:var(--kv-xs);line-height:1.45;margin-bottom:16px;font-weight:700;color:var(--kv-text)}
.kv .kv-template-thumb .kv-thumb-heading {display:block;font-size:var(--kv-xs);white-space:nowrap;text-overflow:ellipsis;overflow:hidden;color:var(--kv-muted);line-height:1.5;margin-top:12px}
.kv .kv-thumb-line {display:block;height:2px;background:var(--kv-line);margin-top:6px;width:100%}
.kv .kv-thumb-line:nth-child(3n) {width:72%}
.kv .kv-gallery-empty {grid-column:1/-1;padding:32px 16px;text-align:center;color:var(--kv-muted)}
.kv .kv-gallery-actions {flex:0 0 auto;border-top:1px solid var(--kv-line);padding:16px 28px;background:var(--kv-bg)}
.kv .kv-document-preview {background:var(--kv-paper);border:1px solid var(--kv-line);border-radius:10px;padding:32px;line-height:1.75;overflow-wrap:anywhere;min-width:0}
.kv .kv-document-preview h2,.kv .kv-document-preview h3 {font-size:var(--kv-base);margin:24px 0 12px;font-weight:650;letter-spacing:-.015em}
.kv .kv-document-preview h2:first-child {margin-top:0}
.kv .kv-document-preview p {font-size:var(--kv-sm);margin:8px 0;color:var(--kv-text)}
.kv .kv-document-preview ul {padding-left:20px}
.kv .kv-template-builder {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:28px}
.kv .kv-template-builder .kv-document-preview {max-height:440px;overflow:auto}
.kv .kv-assistant-shortcuts {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:24px}
.kv .kv-assistant-shortcuts .kv-button {padding:8px;background:var(--kv-soft);border-color:transparent;font-size:var(--kv-xs)}
.kv .kv-ai-result:empty {display:none}
.kv .kv-ai-result {border-top:1px solid var(--kv-line);margin-top:16px;padding-top:8px}
.kv .kv-disclosure {border:1px solid var(--kv-line);border-radius:12px;padding:0 20px;margin:16px 0;background:var(--kv-bg)}
.kv .kv-disclosure > summary {min-height:52px;padding:14px 0;font-weight:550;cursor:pointer;color:var(--kv-text)}
.kv .kv-disclosure .kv-meeting-form {border:0;padding:12px 0 24px;max-width:none}
.kv .kv-meeting-info {margin:0;padding:8px 0 20px;border:0}
.kv .kv-share-person {display:flex;align-items:center;gap:12px;flex-wrap:wrap;min-width:0}
.kv .kv-share-person small {color:var(--kv-muted)}
.kv .kv-person-avatar {display:grid;place-items:center;width:36px;height:36px;flex:0 0 36px;border-radius:50%;background:var(--kv-soft);color:var(--kv-accent);font-weight:650}
.kv .kv-share-row {gap:12px;padding:12px 0}
.kv .kv-section-intro {padding:20px 0}
.kv .kv-section-intro h3 {font-size:var(--kv-lg);margin-bottom:8px}
.kv .kv-section-intro > p:last-child {font-size:var(--kv-sm)}
.kv .kv-connection-grid article {border-radius:14px;gap:12px}
.kv .kv-guide-copy {white-space:pre-line;line-height:1.8}
.kv .kv-source-warning {font-size:var(--kv-xs);color:var(--kv-muted);background:var(--kv-soft);padding:12px 16px;border-radius:8px;line-height:1.6}
.kv .kv-voice-controls {display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;margin-bottom:20px}
.kv .kv-voice-controls .kv-sheet-caption {flex:1 1 250px}
.kv .kv-assistant-shortcuts {grid-template-columns:repeat(3,minmax(0,1fr))}
.kv .kv-document-preview .kv-rich-text {min-height:0}
.kv .kv-document-preview .kv-rich-text td,.kv .kv-document-preview .kv-rich-text th {min-width:90px}
@media(max-width:700px) {
 .kv .kv-sheet-header {padding:20px 56px 16px 20px}
 .kv .kv-sheet-content {padding:20px}
 .kv .kv-template-grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 16px}
 .kv .kv-template-thumb {height:190px;padding:16px 12px}
 .kv .kv-gallery-controls {align-items:stretch}
 .kv .kv-segmented {width:100%;gap:2px}
 .kv .kv-segmented button {flex:1;padding-inline:8px;min-height:44px}
 .kv .kv-template-builder {grid-template-columns:1fr}
 .kv .kv-document-preview {padding:20px}
 .kv .kv-assistant-shortcuts {grid-template-columns:repeat(2,minmax(0,1fr))}
 .kv .kv-sheet-actions .kv-primary {margin-left:0}
 .kv .kv-ai-actions {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:12px 20px;gap:8px}
 .kv .kv-ai-actions button {width:100%;white-space:normal;height:auto;min-height:44px;padding:8px;margin:0}
 .kv .kv-ai-actions .kv-primary {grid-column:1/-1;grid-row:1;margin:0}
}
.kv .kv-heading {gap:24px;margin-bottom:18px}
.kv .kv-heading .kv-overline {display:none}
.kv .kv-heading h2 {font-size:var(--kv-xl)}
.kv .kv-page-art {width:64px;height:56px;border-radius:12px}
.kv .kv-page-art img {width:62px;height:58px}
.kv .kv-page-companion {flex-direction:row;gap:8px;flex:0 0 auto}
.kv .kv-page-companion figcaption > span {display:none}
.kv .kv-page-companion figcaption {align-items:flex-start}
.kv .kv-heading-actions {gap:16px}
.kv .kv-heading-actions .kv-private {font-size:var(--kv-xs)}
.kv .kv-live-clock {font-size:var(--kv-xs)}
.kv .kv-editor-inner {position:relative}
.kv .kv-editor-top {min-height:52px;padding:6px 16px;gap:8px}
.kv .kv-editor-actions {gap:4px}
.kv .kv-editor-actions .kv-icon {min-width:40px;height:40px;border-radius:10px}
.kv .kv-note-info {display:inline-flex;align-items:center;gap:8px;min-width:0;max-width:60%;min-height:40px;padding:4px 8px;border:0;background:none;border-radius:8px;color:var(--kv-muted);font-size:var(--kv-xs);white-space:nowrap}
.kv .kv-note-info:hover {background:var(--kv-soft);color:var(--kv-text)}
.kv .kv-note-info span {overflow:hidden;text-overflow:ellipsis}
.kv .kv-note-info svg {flex-shrink:0}
.kv .kv-options {position:absolute;z-index:120;top:52px;right:12px;width:min(300px,calc(100% - 24px));max-height:min(65dvh,580px);overflow-y:auto;display:flex;flex-direction:column;align-items:stretch;padding:8px;gap:2px;border:1px solid var(--kv-line);border-radius:14px;background:var(--kv-paper);box-shadow:0 16px 48px #1a2f4920}
.kv .kv-options .kv-button {border:0;justify-content:space-between;min-height:42px;border-radius:8px;background:transparent;font-size:var(--kv-sm);padding:8px 12px}
.kv .kv-options .kv-button:hover {background:var(--kv-soft)}
.kv .kv-options .kv-menu-caption {margin:8px 12px 2px;font-size:var(--kv-xs);color:var(--kv-muted);font-weight:600}
.kv .kv-options label {justify-content:space-between;padding:6px 12px;font-size:var(--kv-xs)}
.kv .kv-options select {max-width:160px;min-height:36px;font-size:var(--kv-xs)}
.kv .kv-note-facts {display:grid;grid-template-columns:minmax(120px,1fr) 2fr;gap:0;margin:20px 0;border:1px solid var(--kv-line);border-radius:12px;overflow:hidden;font-size:var(--kv-sm)}
.kv .kv-note-facts dt,.kv .kv-note-facts dd {padding:12px 16px;margin:0;border-bottom:1px solid var(--kv-line)}
.kv .kv-note-facts dt {font-weight:550;background:var(--kv-soft)}
.kv .kv-note-facts dt:last-of-type,.kv .kv-note-facts dd:last-child {border-bottom:0}
.kv .kv-format {min-height:44px;background:var(--kv-paper);padding:4px 16px}
.kv .kv-format .kv-writing-label {display:none;width:auto;height:auto;background:none;font-size:var(--kv-xs);color:var(--kv-muted);margin-left:auto}
.kv[data-writing=true] .kv-format [data-kv-format],.kv[data-writing=true] .kv-format > span:not(.kv-writing-label),.kv[data-writing=true] .kv-format [data-kv=record],.kv[data-writing=true] .kv-format [data-kv=preview] {display:none}
.kv[data-writing=true] .kv-format .kv-writing-label {display:block}
.kv .kv-countdown {margin:8px 20px 0;padding:8px 12px;border-radius:10px;font-size:var(--kv-xs);border:1px solid var(--kv-line);background:var(--kv-soft);color:var(--kv-text)}
.kv .kv-paper {padding-top:24px}
.kv .kv-ink {margin-top:0}
.kv .kv-ink-tools {position:relative;display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:6px;margin-bottom:16px;border:1px solid var(--kv-line);border-radius:14px;background:var(--kv-soft)}
.kv .kv-ink-tool-group {display:flex;gap:2px;border-right:1px solid var(--kv-line);padding-right:8px}
.kv .kv-ink-preferences {display:flex;align-items:center;gap:2px}
.kv .kv-writing-options .kv-ink-preferences {display:flex;flex-direction:column;align-items:stretch;margin-bottom:12px}
.kv .kv-writing-options .kv-ink-preferences label {justify-content:space-between;align-items:center;font-size:var(--kv-xs)}
.kv .kv-writing-options .kv-ink-preferences .sr-only {position:static;width:auto;height:auto;clip:auto;clip-path:none;overflow:visible;white-space:normal;margin:0}
.kv .kv-ink-tools .kv-button {min-height:40px;border:0;background:transparent;border-radius:8px;font-size:var(--kv-xs)}
.kv .kv-ink-tools [aria-pressed=true] {background:var(--kv-paper);box-shadow:0 1px 4px #182a4010;color:var(--kv-accent)}
.kv .kv-ink-tools label {margin:0;display:flex}
.kv .kv-ink-tools select {min-height:40px;border:0;border-radius:8px;background:transparent;font-size:var(--kv-xs);padding:4px 6px;max-width:100px}
.kv .kv-writing-options {margin-left:auto;position:relative}
.kv .kv-writing-options > summary {list-style:none;display:grid;place-items:center;min-width:40px;min-height:40px;cursor:pointer;border-radius:8px;font-size:var(--kv-lg)}
.kv .kv-writing-options > summary::-webkit-details-marker {display:none}
.kv .kv-writing-options[open] > summary {background:var(--kv-paper)}
.kv .kv-writing-options > div {position:absolute;right:0;top:44px;z-index:130;width:240px;padding:16px;border:1px solid var(--kv-line);border-radius:12px;background:var(--kv-paper);box-shadow:0 12px 32px #182a4020}
.kv .kv-writing-options p {font-size:var(--kv-xs);color:var(--kv-muted);margin:8px 0}
.kv .kv-writing-options .kv-pen-only {font-size:var(--kv-sm);display:flex;gap:8px}
.kv .kv-ink-surface {position:relative;aspect-ratio:4/3;min-width:0;width:100%;background:#fff;border:1px solid #e7e7eb;border-radius:12px;overflow:hidden;isolation:isolate}
.kv .kv-ink-surface[data-paper=ruled] {background-image:linear-gradient(transparent 27px,#e3e8ed 28px);background-size:100% 28px}
.kv .kv-ink-surface[data-paper=dots] {background-image:radial-gradient(#cbd2db .8px,transparent .8px);background-size:20px 20px}
.kv .kv-ink-surface > canvas {position:absolute;inset:0;display:block;width:100%;height:100%;aspect-ratio:auto;border:0;border-radius:0;background:transparent}
.kv .kv-ink-surface > [data-kv-canvas] {touch-action:none;cursor:crosshair;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}
.kv .kv-ink-surface > .kv-canvas-live {pointer-events:none}
.kv .kv-ink-status {font-size:var(--kv-xs);margin:12px 0;color:var(--kv-muted)}
.kv[data-focus=true] .kv-heading,.kv[data-focus=true] .kv-topline {display:none}
.kv[data-focus=true] .kv-workspace {height:calc(100dvh - 130px);min-height:540px}
.kv[data-focus=true][data-writing=true] .kv-paper {padding-inline:24px}
.kv[data-focus=true][data-writing=true] .kv-ink,.kv[data-focus=true][data-writing=true] .kv-title {width:100%;max-width:1000px;align-self:center}
.kv .kv-tabs {flex-wrap:nowrap;gap:20px;overflow-x:auto;white-space:nowrap;scrollbar-width:none}
@media(max-width:1100px) {
 .kv .kv-page-companion {display:none}
 .kv .kv-ink-tools {gap:4px}
 .kv .kv-ink-tool-group {padding-right:4px}
}
@media(max-width:700px) {
 .kv .kv-heading {flex-wrap:nowrap;gap:12px;margin-bottom:12px}
 .kv .kv-heading-actions .kv-private {display:none}
 .kv .kv-heading-actions {gap:4px}
 .kv .kv-heading-actions .kv-button {display:none}
 .kv .kv-editor-top {padding-inline:8px}
 .kv .kv-note-info {max-width:110px;padding-inline:4px}
 .kv .kv-note-info svg {display:none}
 .kv .kv-editor-actions .kv-icon {min-width:36px}
 .kv .kv-paper {padding:20px 16px}
 .kv .kv-format {padding-inline:8px}
 .kv .kv-note-facts {grid-template-columns:1fr}
 .kv .kv-note-facts dt {padding-bottom:2px;border-bottom:0}
 .kv .kv-note-facts dd {padding-top:2px}
 .kv .kv-ink-tools {gap:2px}
 .kv .kv-ink-tools .kv-button,.kv .kv-ink-tools select {min-height:44px}
 .kv .kv-ink-tools select {max-width:92px}
 .kv[data-focus=true] .kv-workspace {height:auto}
}
