:root {
  color-scheme: light;
  --ink: #242424;
  --muted: #787774;
  --faint: #9b9a97;
  --line: #e9e9e7;
  --sidebar: #f7f7f5;
  --hover: #efefed;
  --paper: #ffffff;
  --blue: #2383e2;
  --blue-dark: #1769aa;
  --blue-soft: #e7f3ff;
  --green: #0f7b4d;
  --green-soft: #e3f3ea;
  --amber: #9a6700;
  --amber-soft: #fbf0cf;
  --red: #b42318;
  --red-soft: #fce8e6;
  --toast-bg: #242424;
  --toast-ink: #ffffff;
  --toast-error-bg: #b42318;
  --toast-error-ink: #ffffff;
  --sidebar-width: 280px;
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

* { box-sizing: border-box; }
html, body { margin: 0; min-height: 100%; color: var(--ink); background: var(--paper); }
button, input, textarea, select { font: inherit; }
button { color: inherit; }
a { color: var(--blue-dark); }
.hidden { display: none !important; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; }
.muted { color: var(--muted); }

.app-shell { display: grid; grid-template-columns: var(--sidebar-width) minmax(0, 1fr); min-height: 100vh; }
.sidebar { position: sticky; top: 0; display: flex; flex-direction: column; height: 100vh; padding: 9px; border-right: 1px solid var(--line); background: var(--sidebar); }
.sidebar .sidebar-close, .sidebar-backdrop { display: none; }
.sidebar-resize-handle { display: none; }
.workspace-switcher { display: flex; width: 100%; align-items: center; gap: 9px; min-height: 46px; border: 0; border-radius: 7px; padding: 5px 7px; background: transparent; text-align: left; cursor: pointer; }
.workspace-switcher:hover, .workspace-switcher:focus-visible { outline: 0; background: var(--hover); }
.workspace-switcher:focus-visible { box-shadow: inset 0 0 0 2px var(--blue); }
.workspace-switcher strong, .workspace-switcher span { display: block; }
.workspace-switcher strong { font-size: 14px; }
.workspace-switcher span { margin-top: 2px; color: var(--muted); font-size: 11px; }
.brand-mark { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 12px; color: #fff; background: var(--ink); font-family: Georgia, serif; font-size: 25px; font-weight: 700; }
.brand-mark.small { width: 32px; height: 32px; border-radius: 7px; font-size: 16px; }
.workspace-photo { display: block; object-fit: cover; object-position: 50% 30%; background: var(--paper); }
.new-page { display: flex; align-items: center; gap: 8px; width: 100%; margin: 6px 0 0; border: 0; border-radius: 7px; padding: 8px 9px; color: #fff; background: var(--ink); font-size: 13px; font-weight: 650; cursor: pointer; }
.new-page:hover { background: #000; }
.new-folder { display: flex; align-items: center; gap: 8px; width: 100%; margin-top: 3px; border: 0; border-radius: 7px; padding: 7px 9px; color: var(--muted); background: transparent; font-size: 13px; text-align: left; cursor: pointer; }
.new-folder:hover { color: var(--ink); background: var(--hover); }
.sidebar-divider { height: 1px; margin: 9px 8px 0; background: var(--line); }
.sidebar-search { position: relative; display: flex; align-items: center; margin-bottom: 5px; color: var(--muted); }
.sidebar-search span { position: absolute; left: 10px; font-size: 18px; }
.sidebar-search input { width: 100%; border: 1px solid transparent; border-radius: 7px; padding: 7px 9px 7px 31px; color: var(--ink); background: transparent; font-size: 13px; }
.sidebar-search input:hover, .sidebar-search input:focus { border-color: var(--line); outline: 0; background: var(--paper); }
.sidebar-nav { display: grid; gap: 1px; }
.nav-item { display: flex; align-items: center; gap: 9px; width: 100%; border: 0; border-radius: 6px; padding: 7px 9px; color: #5f5e5b; background: transparent; font-size: 13px; text-align: left; cursor: pointer; }
.nav-item span { width: 16px; color: var(--muted); text-align: center; }
.nav-item:hover, .nav-item.active { color: var(--ink); background: var(--hover); }
.primary-navigation { gap: 2px; border: 1px solid var(--line); border-radius: 10px; padding: 4px; background: var(--paper); }
.primary-navigation .nav-item { min-height: 38px; padding: 8px 10px; color: var(--ink); font-size: 14px; font-weight: 650; }
.primary-navigation .nav-item span { width: 18px; color: var(--muted); font-size: 15px; }
.primary-navigation .nav-item:hover { background: var(--hover); }
.primary-navigation .nav-item.active { color: var(--blue-dark); background: var(--blue-soft); }
.primary-navigation .nav-item.active span { color: var(--blue); }
.primary-navigation .home-nav-item { margin-bottom: 2px; border: 1px solid transparent; font-weight: 750; }
.primary-navigation .home-nav-item:hover, .primary-navigation .home-nav-item.active { border-color: var(--line); background: var(--hover); }
.nav-svg { display: grid; height: 24px; place-items: center; color: currentColor; }
.nav-svg svg { display: block; width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; }
.sidebar-section { min-height: 0; margin-top: 14px; }
.sidebar-section:not(.settings-section) { flex: 1; overflow: auto; }
.projects-section { min-height: 180px; margin-top: 10px; overscroll-behavior: contain; }
.section-label { display: flex; align-items: center; justify-content: space-between; padding: 5px 9px; color: var(--muted); font-size: 11px; font-weight: 650; letter-spacing: .02em; }
.section-label button { border: 0; border-radius: 4px; color: var(--muted); background: transparent; cursor: pointer; }
.section-label button:hover { background: var(--hover); }
.section-label-actions { display: inline-flex; align-items: center; gap: 2px; }
.section-label button.selected { color: var(--blue-dark); background: var(--blue-soft); }
.section-label .administration-easter-egg { padding: 0; font-size: inherit; font-weight: inherit; letter-spacing: inherit; }
.section-label .administration-easter-egg:hover, .section-label .administration-easter-egg:focus-visible { outline: 0; color: var(--muted); background: transparent; }
.page-tree { display: grid; gap: 1px; }
.tree-row { display: flex; min-width: 0; align-items: center; border-radius: 6px; }
.tree-row:hover, .tree-row:focus-within { background: var(--hover); }
.tree-item { display: flex; align-items: center; gap: 7px; min-width: 0; border: 0; border-radius: 6px; padding: 6px 9px; background: transparent; font-size: 13px; text-align: left; cursor: pointer; }
.tree-item:hover, .tree-item.active { background: var(--hover); }
.tree-row .tree-item { flex: 1; }
.tree-row:hover .tree-item, .tree-row:focus-within .tree-item { background: transparent; }
.tree-edit { display: grid; place-items: center; flex: 0 0 28px; width: 28px; height: 28px; margin-right: 3px; border: 0; border-radius: 5px; color: var(--muted); background: transparent; opacity: .65; cursor: pointer; }
.tree-edit:hover, .tree-edit:focus-visible { color: var(--ink); background: var(--paper); opacity: 1; outline: 0; }
.tree-order { display: grid; place-items: center; flex: 0 0 24px; width: 24px; height: 28px; border: 0; border-radius: 5px; padding: 0; color: var(--muted); background: transparent; font-size: 14px; cursor: pointer; }
.tree-order:last-child { margin-right: 3px; }
.tree-order:hover:not(:disabled), .tree-order:focus-visible { color: var(--ink); background: var(--paper); outline: 0; }
.tree-order:disabled { cursor: default; opacity: .22; }
.tree-row.reordering { background: var(--sidebar); }
.tree-item .tree-icon { flex: 0 0 18px; text-align: center; }
.tree-item .tree-caret { flex: 0 0 10px; color: var(--faint); font-size: 9px; text-align: center; }
.tree-item .tree-title { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.tree-item.depth-1 { padding-left: 25px; }
.tree-item.depth-2 { padding-left: 41px; }
.sidebar-footer { display: flex; align-items: center; gap: 8px; margin-top: 10px; padding: 9px 7px 3px; border-top: 1px solid var(--line); }
.identity-shortcut { display: flex; min-width: 0; flex: 1; align-items: center; gap: 8px; border: 0; border-radius: 7px; padding: 3px; color: var(--ink); background: transparent; text-align: left; cursor: pointer; }
.identity-shortcut:hover, .identity-shortcut:focus-visible { outline: 0; background: var(--hover); }
.avatar { display: grid; overflow: hidden; width: 28px; height: 28px; place-items: center; flex: 0 0 28px; border-radius: 7px; color: #fff; background: #6940a5; font-size: 12px; font-weight: 700; }
.avatar img { display: block; width: 100%; height: 100%; object-fit: cover; }
.identity-copy { min-width: 0; flex: 1; }
.identity-copy strong, .identity-copy span { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.identity-copy strong { font-size: 12px; }
.identity-copy span { margin-top: 2px; color: var(--muted); font-size: 10px; }
.icon-button { display: grid; place-items: center; border: 0; border-radius: 6px; padding: 6px; background: transparent; cursor: pointer; }
.icon-button:hover { background: var(--hover); }
.theme-toggle { font-size: 15px; }

.workspace-canvas { min-width: 0; }
.workspace-header { position: sticky; z-index: 5; top: 0; display: flex; min-width: 0; align-items: center; gap: 12px; min-height: 58px; padding: 8px 18px; border-bottom: 1px solid var(--line); background: rgba(255,255,255,.94); backdrop-filter: blur(12px); }
.breadcrumb { display: none; }
.top-navigation { display: flex; overflow-x: auto; min-width: 0; flex: 1; gap: 3px; border: 0; border-radius: 0; padding: 0 0 3px; background: transparent; scrollbar-width: thin; }
.top-navigation .nav-item { width: auto; min-height: 36px; flex: 0 0 auto; border: 1px solid transparent; padding: 7px 10px; white-space: nowrap; }
.top-navigation .home-nav-item { margin: 0; }
.top-navigation .nav-item:hover { border-color: var(--line); }
.top-navigation .nav-item.active, .top-navigation .home-nav-item.active { border-color: transparent; color: var(--blue-dark); background: var(--blue-soft); }
.header-actions { display: flex; flex: 0 0 auto; align-items: center; gap: 10px; }
.voice-dock { display: inline-flex; align-items: center; gap: 7px; border: 1px solid var(--line); border-radius: 999px; padding: 6px 10px; color: var(--green); background: var(--green-soft); font-size: 11px; cursor: pointer; }
.voice-dock span { font-size: 9px; }
.voice-dock strong { color: inherit; }
.voice-dock:hover { filter: brightness(.97); }
.save-state { color: var(--muted); font-size: 12px; }
.workspace-main { width: min(1180px, calc(100% - 56px)); margin: 0 auto; padding: 58px 0 100px; }
.workspace-main.editor-workspace { width: min(1400px, calc(100% - 56px)); }
.view { animation: reveal .16s ease-out; }
@keyframes reveal { from { opacity: 0; transform: translateY(3px); } }
.page-heading { max-width: 760px; margin-bottom: 38px; }
.page-heading.compact { margin-bottom: 30px; }
.page-heading h1 { margin: 4px 0 12px; font-size: clamp(34px, 5vw, 52px); font-weight: 720; letter-spacing: -.045em; line-height: 1.05; }
.page-heading p:last-child { margin-bottom: 0; color: var(--muted); font-size: 16px; line-height: 1.55; }
.row-heading { display: flex; max-width: none; align-items: end; justify-content: space-between; gap: 30px; }
.eyebrow { margin: 0 0 5px; color: var(--muted); font-size: 11px; font-weight: 720; letter-spacing: .12em; text-transform: uppercase; }
h2 { margin: 0; font-size: 20px; letter-spacing: -.02em; }
h3 { margin: 12px 0 6px; font-size: 16px; }
p { line-height: 1.5; }

.button { display: inline-flex; align-items: center; justify-content: center; min-height: 36px; border: 1px solid var(--line); border-radius: 7px; padding: 7px 13px; background: var(--paper); font-size: 13px; font-weight: 650; text-decoration: none; cursor: pointer; }
.button:hover { background: var(--hover); }
.button.primary { border-color: var(--blue); color: #fff; background: var(--blue); }
.button.primary:hover { border-color: var(--blue-dark); background: var(--blue-dark); }
.button.subtle { color: #4d4c49; background: var(--paper); }
.button.danger { border-color: #efc7c3; color: var(--red); background: var(--red-soft); }
.button.danger:hover { background: #f8d7d4; }
.text-button { border: 0; padding: 0; color: var(--blue-dark); background: transparent; font-weight: 620; cursor: pointer; }
.text-button:hover { text-decoration: underline; }

.home-search { position: relative; display: block; max-width: 760px; margin: -8px 0 32px; }
.home-search > label { margin-bottom: 7px; color: var(--ink); font-size: 12px; font-weight: 700; }
.home-search-box { display: flex; align-items: center; gap: 8px; border: 1px solid #d6d6d3; border-radius: 10px; padding: 6px 7px 6px 13px; background: var(--paper); box-shadow: 0 2px 10px rgba(15,15,15,.04); }
.home-search-box:focus-within { border-color: var(--blue); box-shadow: 0 0 0 3px rgba(35,131,226,.12); }
.home-search-box > span { color: var(--muted); font-size: 22px; }
.home-search-box input { min-width: 0; flex: 1; border: 0; padding: 8px 2px; font-size: 15px; }
.home-search-box input:focus { outline: 0; }
.home-search-results { position: absolute; z-index: 8; top: calc(100% + 6px); width: 100%; overflow: hidden; border: 1px solid var(--line); border-radius: 10px; background: var(--paper); box-shadow: 0 12px 35px rgba(15,15,15,.12); }
.home-search-result { display: flex; align-items: center; gap: 10px; width: 100%; border: 0; border-bottom: 1px solid var(--line); padding: 11px 13px; background: var(--paper); text-align: left; cursor: pointer; }
.home-search-result:last-child { border-bottom: 0; }
.home-search-result:hover, .home-search-result:focus { outline: 0; background: var(--hover); }
.home-search-result strong, .home-search-result small { display: block; }
.home-search-result small { margin-top: 2px; color: var(--muted); }
.library-platform-search { margin: -14px 0 24px; }

.summary-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.summary-card { padding: 18px 19px; border: 1px solid var(--line); border-radius: 10px; background: var(--paper); }
.summary-card span, .summary-card small { color: var(--muted); }
.summary-card span { font-size: 12px; font-weight: 650; }
.summary-card strong { display: block; margin: 7px 0 3px; font-size: 30px; letter-spacing: -.03em; }
.summary-card small { font-size: 11px; }
.content-section { margin-top: 48px; }
.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 18px; margin-bottom: 16px; }
.section-heading p { margin: 3px 0 0; }
.document-grid { display: grid; min-width: 0; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.document-card { display: block; min-width: 0; min-height: 150px; overflow: hidden; border: 1px solid var(--line); border-radius: 10px; padding: 17px; color: inherit; background: var(--paper); text-align: left; text-decoration: none; transition: box-shadow .15s, transform .15s; cursor: pointer; }
.document-card:hover { box-shadow: 0 7px 24px rgba(15,15,15,.08); transform: translateY(-1px); }
.document-card .card-icon { display: block; margin-bottom: 26px; font-size: 23px; }
.document-card strong { display: block; overflow: hidden; font-size: 14px; text-overflow: ellipsis; white-space: nowrap; }
.document-card span:last-child { display: block; margin-top: 6px; color: var(--muted); font-size: 11px; }
.quick-start { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-top: 48px; }
.quick-start article { padding: 21px; border-radius: 11px; background: #f7f7f5; }
.quick-start p { min-height: 63px; margin: 0 0 14px; color: var(--muted); font-size: 13px; }
.feature-icon { display: grid; place-items: center; width: 35px; height: 35px; border-radius: 8px; background: var(--paper); box-shadow: 0 1px 2px rgba(0,0,0,.08); font-size: 18px; }

.library-heading-actions { display: flex; align-items: center; gap: 8px; }
.library-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 12px; }
.library-toolbar-actions { display: flex; flex: 0 0 auto; align-items: center; gap: 8px; }
.library-breadcrumbs { display: flex; min-width: 0; align-items: center; gap: 6px; overflow: hidden; }
.library-breadcrumbs button { min-width: 0; overflow: hidden; border: 0; padding: 5px 2px; color: var(--muted); background: transparent; font: inherit; font-size: 13px; text-overflow: ellipsis; white-space: nowrap; cursor: pointer; }
.library-breadcrumbs button:hover:not(:disabled) { color: var(--ink); text-decoration: underline; }
.library-breadcrumbs button.current { color: var(--ink); font-weight: 650; cursor: default; }
.library-breadcrumb-separator { flex: 0 0 auto; color: var(--muted); }
.segmented { display: flex; gap: 2px; padding: 3px; border-radius: 8px; background: var(--sidebar); }
.segmented button { border: 0; border-radius: 6px; padding: 6px 11px; color: var(--muted); background: transparent; font-size: 12px; cursor: pointer; }
.segmented button.selected { color: var(--ink); background: var(--paper); box-shadow: 0 1px 2px rgba(0,0,0,.09); }
.table-shell { overflow-x: auto; border: 1px solid var(--line); border-radius: 10px; }
.table-shell table { width: 100%; border-collapse: collapse; }
th, td { padding: 12px 14px; border-bottom: 1px solid var(--line); text-align: left; vertical-align: middle; }
th { color: var(--muted); background: #fafafa; font-size: 10px; letter-spacing: .07em; text-transform: uppercase; }
td { font-size: 13px; }
.table-shell tbody tr:last-child td { border-bottom: 0; }
.table-shell tbody tr:hover { background: #fafafa; }
.document-link { display: flex; align-items: center; gap: 9px; border: 0; padding: 0; background: transparent; text-align: left; cursor: pointer; }
.document-link:hover strong { text-decoration: underline; }
.row-actions { width: 1%; text-align: right; white-space: nowrap; }
.row-actions .button + .button { margin-left: 6px; }
.button.compact { min-height: 30px; padding: 5px 9px; font-size: 11px; }
.status { display: inline-block; border-radius: 999px; padding: 3px 7px; font-size: 10px; font-weight: 720; text-transform: capitalize; }
.status.ready, .status.success { color: var(--green); background: var(--green-soft); }
.status.processing, .status.queued { color: var(--amber); background: var(--amber-soft); }
.status.failed, .status.denied, .status.disabled { color: var(--red); background: var(--red-soft); }
.status.private { color: #6940a5; background: #eee7f7; }
.status-stack { display: flex; align-items: center; flex-wrap: wrap; gap: 5px; }
.compact-visibility-switch { appearance: none; position: relative; width: 32px; height: 18px; margin: 0 0 0 3px; border: 0; border-radius: 999px; padding: 0; background: var(--red); cursor: pointer; transition: background .15s; }
.compact-visibility-switch::after { position: absolute; top: 3px; left: 3px; width: 12px; height: 12px; border-radius: 50%; background: #fff; box-shadow: 0 1px 2px rgba(0,0,0,.25); content: ""; transition: transform .15s; }
.compact-visibility-switch:checked { background: var(--green); }
.compact-visibility-switch:checked::after { transform: translateX(14px); }
.compact-visibility-switch:focus-visible { outline: 3px solid var(--blue-soft); }
.compact-visibility-switch:disabled { opacity: .55; cursor: wait; }
.empty-state { margin: 0; padding: 36px; color: var(--muted); text-align: center; }
.imports-table { width: 100%; min-width: 1180px; table-layout: fixed; }
.imports-table th:nth-child(1) { width: 300px; }
.imports-table th:nth-child(2) { width: 180px; }
.imports-table th:nth-child(3) { width: 90px; }
.imports-table th:nth-child(4) { width: 190px; }
.imports-table th:nth-child(5) { width: 120px; }
.imports-table th:nth-child(6) { width: 300px; }
.imports-table td { overflow: hidden; }
.import-source-link { display: block; width: 100%; overflow: hidden; color: var(--blue-dark); text-overflow: ellipsis; white-space: nowrap; }
.imports-table .document-link { width: 100%; min-width: 0; }
.imports-table .document-link span { flex: 0 0 auto; }
.imports-table .document-link strong { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

.editor-page { width: min(1360px, 100%); margin: 15px auto 0; }
.editor-layout { display: grid; grid-template-columns: minmax(0, 984px); grid-template-areas: "heading" "body"; align-items: start; justify-content: center; column-gap: 30px; }
.editor-layout.with-sidebar { grid-template-columns: minmax(0, 984px) minmax(240px, 280px); grid-template-areas: "heading heading" "body sidebar"; justify-content: stretch; }
.editor-heading { grid-area: heading; min-width: 0; overflow: visible; padding-inline: 4px; }
.editor-body { grid-area: body; min-width: 0; }
.editor-controls { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; margin-bottom: 8px; }
.page-action-start { margin-left: auto; }
.icon-input { width: 52px; border: 0; padding: 4px 0; background: transparent; font-size: 40px; text-align: center; }
.icon-input:focus { outline: 0; background: var(--sidebar); }
.editor-controls select { max-width: 210px; }
.title-input { box-sizing: border-box; display: block; overflow: hidden; width: 100%; max-width: 100%; min-height: 1.35em; resize: none; border: 0; padding: 7px 3px 13px; color: var(--ink); background: transparent; font: inherit; font-size: clamp(34px, 4.25vw, 54px); font-weight: 730; line-height: 1.12; letter-spacing: -.035em; overflow-wrap: anywhere; word-break: break-word; white-space: pre-wrap; }
.title-input:focus { outline: 0; }
.title-input[readonly] { cursor: default; }
.tag-editor { display: flex; min-height: 41px; align-items: center; flex-wrap: wrap; gap: 7px; border: 1px solid transparent; border-radius: 10px; padding: 4px 6px; color: var(--muted); transition: border-color .15s, background .15s, box-shadow .15s; }
.tag-editor:focus-within { border-color: var(--blue); background: var(--paper); box-shadow: 0 0 0 3px var(--blue-soft); }
.tag-list { display: contents; }
.tag-chip { display: inline-flex; max-width: 100%; align-items: center; gap: 5px; border-radius: 999px; padding: 5px 9px; color: #155a91; background: var(--blue-soft); font-size: 12px; font-weight: 650; line-height: 1; }
.tag-chip span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.tag-chip button { display: grid; width: 17px; height: 17px; place-items: center; border: 0; border-radius: 50%; padding: 0; color: currentColor; background: transparent; font: inherit; line-height: 1; cursor: pointer; opacity: .72; }
.tag-chip button:hover, .tag-chip button:focus-visible { background: rgba(35,131,226,.14); opacity: 1; }
.tag-editor > input[type="text"], #page-tag-input { min-width: 145px; flex: 1 1 145px; border: 0; padding: 6px 3px; color: var(--ink); background: transparent; font-size: 13px; }
#page-tag-input:focus { outline: 0; }
.tag-editor.readonly { border-color: transparent; padding-inline: 0; }
.tag-editor.readonly #page-tag-input { display: none; }
.tag-editor.readonly .tag-chip { color: var(--muted); background: var(--sidebar); }
.page-meta { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.55; }
#document-meta { margin: 3px 0 22px; }
.article-sidebar { position: sticky; top: 24px; grid-area: sidebar; display: grid; align-self: start; gap: 15px; border: 1px solid var(--line); border-radius: 12px; padding: 16px; background: var(--sidebar); box-shadow: 0 8px 24px rgba(15,15,15,.045); }
.article-sidebar-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; border-bottom: 1px solid var(--line); padding-bottom: 11px; }
.article-sidebar-heading span { font-size: 13px; font-weight: 720; }
.article-sidebar label:not(.chatgpt-availability) { display: grid; gap: 6px; color: var(--muted); font-size: 11px; font-weight: 650; }
.article-sidebar select { min-width: 0; width: 100%; background: var(--paper); }
.article-sidebar-field { display: grid; gap: 6px; color: var(--muted); font-size: 11px; font-weight: 650; }
.article-sidebar .tag-editor { min-height: 39px; border-color: var(--line); padding: 4px 7px; background: var(--paper); }
.article-sidebar #page-tag-input { min-width: 90px; flex-basis: 90px; }
.article-owner-card { display: flex; min-height: 42px; align-items: center; gap: 9px; border-radius: 8px; padding: 6px 9px; color: var(--muted); background: var(--paper); font-size: 11px; }
.article-metadata { display: grid; grid-template-columns: max-content minmax(0, 1fr); gap: 8px 12px; margin: 0; border-top: 1px solid var(--line); padding-top: 14px; font-size: 11px; line-height: 1.35; }
.article-metadata dt { color: var(--muted); font-weight: 600; }
.article-metadata dd { min-width: 0; margin: 0; color: var(--ink); overflow-wrap: anywhere; }
.article-metadata .status { font-size: 9px; }
.chatgpt-availability { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 0; border-top: 1px solid var(--line); padding: 15px 0 0; color: var(--ink); cursor: pointer; }
.owner-avatar, .profile-photo-preview { display: grid; place-items: center; overflow: hidden; flex: 0 0 30px; width: 30px; height: 30px; border-radius: 50%; color: #fff; background: #6940a5; font-weight: 700; }
.owner-avatar img, .profile-photo-preview img { width: 100%; height: 100%; object-fit: cover; }
.related-panel { margin-top: 38px; border-top: 1px solid var(--line); padding-top: 24px; }
.related-documents { display: grid; gap: 7px; }
.related-document { display: flex; align-items: center; justify-content: space-between; gap: 12px; border: 1px solid var(--line); border-radius: 8px; padding: 10px 12px; color: var(--ink); background: var(--paper); font-size: 13px; text-align: left; text-decoration: none; cursor: pointer; }
.related-document:hover { background: var(--hover); }
.related-document small { color: var(--muted); }
.stable-section-target { scroll-margin-top: 75px; }
.stable-section-target:target, .stable-section-target.citation-highlight { border-radius: 5px; outline: 4px solid var(--blue-soft); }
.chatgpt-availability span { min-width: 0; }
.chatgpt-availability strong, .chatgpt-availability small { display: block; }
.chatgpt-availability strong { font-size: 12px; }
.chatgpt-availability small { margin-top: 3px; color: var(--muted); font-size: 11px; font-weight: 400; line-height: 1.4; }
.chatgpt-availability input { appearance: none; position: relative; flex: 0 0 38px; width: 38px; height: 22px; border: 0; border-radius: 999px; padding: 0; background: var(--red); cursor: pointer; transition: background .15s; }
.chatgpt-availability input::after { position: absolute; top: 3px; left: 3px; width: 16px; height: 16px; border-radius: 50%; background: #fff; box-shadow: 0 1px 3px rgba(0,0,0,.22); content: ""; transition: transform .15s; }
.chatgpt-availability input:checked { background: var(--green); }
.chatgpt-availability input:checked::after { transform: translateX(16px); }
.chatgpt-availability input:focus-visible { outline: 3px solid rgba(35,131,226,.18); }
.folder-availability { margin: 4px 0 0; }
.page-history { margin: -7px 0 20px; overflow: hidden; border: 1px solid var(--line); border-radius: 10px; background: var(--paper); box-shadow: 0 8px 24px rgba(15,15,15,.06); }
.page-history-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; border-bottom: 1px solid var(--line); padding: 13px 14px; background: var(--sidebar); }
.page-history-heading strong, .page-history-heading small { display: block; }
.page-history-heading strong { font-size: 13px; }
.page-history-heading small { margin-top: 3px; color: var(--muted); font-size: 11px; font-weight: 400; }
.page-history-list { max-height: 390px; overflow-y: auto; color: var(--muted); font-size: 12px; }
.page-history-list:empty { padding: 18px; }
.page-history-item { display: flex; align-items: center; justify-content: space-between; gap: 20px; border-bottom: 1px solid var(--line); padding: 12px 14px; }
.page-history-item:last-child { border-bottom: 0; }
.page-history-item > div { min-width: 0; }
.page-history-item-heading { display: flex; align-items: center; gap: 7px; color: var(--ink); }
.page-history-title { display: block; margin-top: 3px; overflow: hidden; color: var(--ink); text-overflow: ellipsis; white-space: nowrap; }
.page-history-item small { display: block; margin-top: 3px; color: var(--muted); }
.restore-revision-button { flex: 0 0 auto; }
.format-toolbar { position: sticky; z-index: 3; top: 58px; display: flex; align-items: center; flex-wrap: wrap; gap: 5px; overflow: visible; margin: 0 0 12px; border: 1px solid var(--line); border-radius: 11px; padding: 7px; background: rgba(255,255,255,.96); box-shadow: 0 3px 14px rgba(15,15,15,.06); backdrop-filter: blur(12px); }
.format-toolbar select { flex: 0 0 126px; width: 126px; min-height: 34px; border-color: transparent; padding: 6px 8px; background: var(--sidebar); font-size: 12px; font-weight: 620; }
.format-toolbar button { display: inline-flex; min-height: 34px; align-items: center; justify-content: center; flex: 0 0 auto; border: 1px solid transparent; border-radius: 7px; padding: 6px 9px; color: var(--ink); background: var(--sidebar); font-size: 12px; cursor: pointer; transition: border-color .15s, background .15s, transform .15s; }
.format-toolbar button:hover { border-color: var(--line); background: var(--hover); transform: translateY(-1px); }
.format-toolbar .format-improve-button, .format-toolbar .import-document-button { color: var(--blue-dark); background: var(--blue-soft); font-weight: 680; }
.format-toolbar .format-improve-button:hover, .format-toolbar .import-document-button:hover { color: #fff; background: var(--blue); }
.live-presence { position: sticky; z-index: 5; top: 58px; display: flex; width: fit-content; max-width: calc(100% - 10px); align-items: center; flex-wrap: wrap; gap: 7px; margin: 0 5px 8px auto; border: 1px solid rgba(35,131,226,.42); border-radius: 999px; padding: 6px 9px 6px 7px; color: var(--blue-dark); background: rgba(235,244,252,.96); box-shadow: 0 5px 18px rgba(35,131,226,.16); font-size: 11px; font-weight: 650; backdrop-filter: blur(12px); }
.live-presence:not(.hidden) + .format-toolbar { top: 104px; }
.presence-participant { display: inline-flex; min-width: 0; align-items: center; gap: 6px; }
.presence-avatar { display: grid; width: 26px; height: 26px; flex: 0 0 26px; place-items: center; overflow: hidden; border: 2px solid var(--paper); border-radius: 50%; color: #fff; background: var(--blue); box-shadow: 0 1px 4px rgba(15,15,15,.2); font-size: 10px; font-weight: 750; }
.presence-avatar img { width: 100%; height: 100%; object-fit: cover; }
.presence-copy { min-width: 0; }
.presence-copy strong, .presence-copy small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.presence-copy strong { max-width: 190px; color: var(--ink); font-size: 11px; }
.presence-copy small { color: var(--blue-dark); font-size: 9px; font-weight: 600; }
.presence-divider { width: 1px; height: 22px; background: rgba(35,131,226,.25); }
.toolbar-divider { flex: 0 0 1px; height: 24px; margin: 0 2px; background: var(--line); }
.page-rich-editor, .page-preview { box-sizing: border-box; width: 100%; max-width: 100%; min-width: 0; overflow-wrap: anywhere; word-break: break-word; }
.page-rich-editor { min-height: 55vh; padding: 24px 6px; line-height: 1.7; overflow-wrap: anywhere; }
.page-rich-editor:focus { outline: 0; }
.page-rich-editor:empty::before { color: var(--faint); content: attr(data-placeholder); pointer-events: none; }
.page-rich-editor h1, .page-rich-editor h2, .page-rich-editor h3 { margin: 1.2em 0 .4em; }
.page-rich-editor h1 { font-size: 32px; }
.page-rich-editor h2 { font-size: 25px; }
.page-rich-editor h3 { font-size: 20px; }
.page-rich-editor p { margin: .65em 0; }
.page-rich-editor p, .page-rich-editor li, .page-rich-editor blockquote, .page-preview p, .page-preview li, .page-preview blockquote { max-width: 100%; overflow-wrap: anywhere; word-break: break-word; }
.page-rich-editor a, .page-preview a { overflow-wrap: anywhere; word-break: break-word; }
.page-rich-editor ul, .page-rich-editor ol { padding-left: 28px; }
.page-rich-editor blockquote { margin-left: 0; padding-left: 15px; border-left: 3px solid var(--line); color: var(--muted); }
#page-content { width: 100%; min-height: 55vh; resize: vertical; border: 0; padding: 24px 6px; color: var(--ink); background: transparent; font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: 14px; line-height: 1.75; }
#page-content:focus { outline: 0; }
.page-preview { min-height: 55vh; padding: 22px 6px; line-height: 1.7; }
.page-preview h1, .page-preview h2, .page-preview h3 { margin: 1.4em 0 .45em; }
.page-preview h1 { font-size: 32px; }
.page-preview h2 { font-size: 25px; }
.page-preview h3 { font-size: 20px; }
.page-preview p { margin: .7em 0; }
.page-preview ul { padding-left: 24px; }
.page-rich-editor pre, .page-preview pre { max-width: 100%; overflow-x: auto; border: 1px solid var(--line); border-radius: 9px; padding: 15px; background: var(--sidebar); font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: 13px; line-height: 1.6; white-space: pre; }
.page-preview blockquote { margin-left: 0; padding-left: 15px; border-left: 3px solid var(--line); color: var(--muted); }
.article-table-scroll { box-sizing: border-box; width: 100%; max-width: 100%; overflow-x: auto; margin: 1em 0; overscroll-behavior-inline: contain; scrollbar-gutter: stable; }
.article-table-scroll table { width: max(100%, calc(var(--table-columns, 2) * 150px)); min-width: calc(var(--table-columns, 2) * 150px); margin: 0; table-layout: fixed; border-collapse: collapse; }
.page-rich-editor table, .page-preview table { border-collapse: collapse; }
.page-rich-editor th, .page-rich-editor td, .page-preview th, .page-preview td { min-width: 0; border: 1px solid #d9d9d6; padding: 8px 10px; overflow-wrap: anywhere; word-break: break-word; vertical-align: top; }
.page-rich-editor th, .page-preview th { color: var(--ink); background: var(--sidebar); font-size: 12px; letter-spacing: 0; text-transform: none; }
.page-rich-editor code:not(pre code), .page-preview code:not(pre code) { border-radius: 4px; padding: 2px 4px; background: var(--sidebar); font-size: .9em; }
.article-image-resizer { position: relative; box-sizing: border-box; display: block; max-width: calc(100% - 12px); margin: 18px auto; }
.article-image-resizer.align-left { margin-left: 0; margin-right: auto; }
.article-image-resizer.align-center { margin-right: auto; margin-left: auto; }
.article-image-resizer img { display: block; width: 100%; height: auto; max-height: 75vh; margin: 0; border-radius: 8px; object-fit: contain; user-select: none; -webkit-user-drag: none; }
.article-image-resizer.editable { outline: 1px solid transparent; outline-offset: 4px; }
.article-image-resizer.editable:hover, .article-image-resizer.editable:focus, .article-image-resizer.resizing { outline-color: var(--accent); }
.clipboard-image-placeholder { display: block; box-sizing: border-box; width: min(100%, 520px); margin: 18px auto; border: 1px dashed var(--line); border-radius: 8px; padding: 28px 18px; color: var(--muted); background: var(--sidebar); text-align: center; }
.clipboard-image-placeholder.failed { color: var(--red); border-color: var(--red); }
.image-resize-handle { position: absolute; right: -8px; bottom: -8px; width: 18px; height: 18px; border: 2px solid var(--paper); border-radius: 50%; background: var(--accent); box-shadow: 0 1px 4px rgba(0,0,0,.3); cursor: nwse-resize; touch-action: none; }
.article-image-delete-button { position: absolute; z-index: 2; top: 8px; right: 8px; display: grid; width: 30px; height: 30px; place-items: center; border: 0; border-radius: 999px; color: #fff; background: rgba(160,30,30,.9); box-shadow: 0 2px 8px rgba(0,0,0,.28); font-size: 18px; line-height: 1; opacity: 0; cursor: pointer; transition: opacity .15s, transform .15s; }
.article-image-resizer.editable:hover .article-image-delete-button, .article-image-resizer.editable:focus .article-image-delete-button, .article-image-delete-button:focus-visible { opacity: 1; }
.article-image-delete-button:hover { transform: scale(1.06); }
.article-context-menu { position: fixed; z-index: 40; display: grid; width: 190px; border: 1px solid var(--line); border-radius: 8px; padding: 5px; background: var(--paper); box-shadow: 0 10px 32px rgba(0,0,0,.24); }
.article-context-menu button { width: 100%; border: 0; border-radius: 5px; padding: 9px 10px; color: var(--ink); background: transparent; text-align: left; cursor: pointer; }
.article-context-menu button:hover { background: var(--hover); }
.article-context-menu .danger-menu-item { color: var(--red); }
.article-context-menu .danger-menu-item:hover { background: var(--red-soft); }
.context-menu-divider { height: 1px; margin: 4px 5px; background: var(--line); }
.page-rich-editor table.context-target { outline: 2px solid var(--blue); outline-offset: 3px; }
.page-rich-editor hr, .page-preview hr { margin: 26px 0; border: 0; border-top: 2px solid #aaa9a4; }

.gallery-heading { align-items: end; }
.gallery-sort { display: grid; gap: 4px; color: var(--muted); font-size: 11px; font-weight: 650; }
.gallery-sort select { min-height: 36px; border: 1px solid var(--line); border-radius: 7px; padding: 6px 32px 6px 10px; color: var(--ink); background: var(--paper); font-size: 13px; }
.gallery-order-hint { margin-top: 8px !important; font-size: 11px !important; }
.gallery-actions { display: flex; flex-wrap: wrap; align-items: end; gap: 8px; }
.gallery-bulk-toolbar { position: sticky; z-index: 5; top: 10px; display: flex; align-items: center; justify-content: space-between; gap: 14px; margin: -8px 0 18px; border: 1px solid var(--line); border-radius: 13px; padding: 10px 12px; background: color-mix(in srgb, var(--paper) 94%, transparent); box-shadow: 0 8px 24px rgba(15,15,15,.1); backdrop-filter: blur(10px); }
.gallery-bulk-toolbar > div { display: flex; flex-wrap: wrap; gap: 7px; }
.gallery-bulk-toolbar strong { font-size: 13px; white-space: nowrap; }
.gallery-albums { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 22px; }
.gallery-album-card { position: relative; overflow: hidden; min-height: 310px; border: 1px solid var(--line); border-radius: 18px; color: #fff; background: #282827; box-shadow: 0 10px 28px rgba(15,15,15,.09); cursor: pointer; isolation: isolate; transition: transform .18s, box-shadow .18s; }
.gallery-album-card:hover { transform: translateY(-3px); box-shadow: 0 16px 36px rgba(15,15,15,.16); }
.gallery-album-cover { position: absolute; z-index: -2; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .35s; }
.gallery-album-card:hover .gallery-album-cover { transform: scale(1.025); }
.gallery-album-card::after { position: absolute; z-index: -1; inset: 0; background: linear-gradient(180deg, rgba(10,10,10,.05) 22%, rgba(10,10,10,.88) 100%); content: ""; }
.gallery-album-placeholder { position: absolute; z-index: -2; inset: 0; display: grid; place-items: center; color: rgba(255,255,255,.25); background: radial-gradient(circle at 28% 20%, #545452, #252524 70%); font-size: 78px; }
.gallery-album-copy { position: absolute; right: 0; bottom: 0; left: 0; padding: 24px; }
.gallery-album-copy h2 { margin: 0; color: #fff; font-size: 23px; }
.gallery-album-copy p { display: -webkit-box; overflow: hidden; margin: 7px 0 12px; color: rgba(255,255,255,.78); font-size: 13px; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.gallery-album-meta { display: flex; align-items: center; justify-content: space-between; gap: 12px; color: rgba(255,255,255,.8); font-size: 11px; font-weight: 650; }
.gallery-empty { display: grid; min-height: 360px; place-items: center; align-content: center; border: 1px dashed var(--line); border-radius: 18px; padding: 40px; text-align: center; }
.gallery-empty > span { display: grid; width: 74px; height: 74px; place-items: center; border-radius: 22px; color: var(--muted); background: var(--sidebar); font-size: 34px; }
.gallery-empty h2 { margin: 18px 0 5px; }
.gallery-empty p { max-width: 430px; margin: 0 0 18px; color: var(--muted); }
.gallery-back { margin-bottom: 24px; padding: 0; }
.gallery-photos { columns: 4 220px; column-gap: 16px; }
.gallery-photo { position: relative; display: inline-block; overflow: hidden; width: 100%; margin: 0 0 16px; border: 0; border-radius: 14px; padding: 0; background: var(--sidebar); box-shadow: 0 4px 16px rgba(15,15,15,.07); cursor: grab; break-inside: avoid; }
.gallery-photo:active { cursor: grabbing; }
.gallery-photo.gallery-photo-dragging { opacity: .38; }
.gallery-photo.gallery-photo-drop-before { outline: 3px solid var(--blue); outline-offset: 3px; transform: translateY(5px); }
.gallery-photo.gallery-photo-drop-after { outline: 3px solid var(--blue); outline-offset: 3px; transform: translateY(-5px); }
.gallery-photo.selection-mode { cursor: pointer; }
.gallery-photo.selection-mode::before { position: absolute; z-index: 2; top: 10px; right: 10px; display: grid; width: 25px; height: 25px; place-items: center; border: 2px solid rgba(255,255,255,.92); border-radius: 50%; color: transparent; background: rgba(20,20,20,.48); box-shadow: 0 2px 8px rgba(0,0,0,.28); content: "✓"; }
.gallery-photo.selection-mode.selected { outline: 4px solid var(--blue); outline-offset: -4px; }
.gallery-photo.selection-mode.selected::before { color: #fff; border-color: var(--blue); background: var(--blue); }
.gallery-photo.selection-mode.selected img { filter: brightness(.72); }
.gallery-photo img { display: block; width: 100%; height: auto; min-height: 120px; object-fit: cover; transition: transform .28s, filter .28s; }
.gallery-photo:hover img { transform: scale(1.02); filter: brightness(.78); }
.gallery-photo span { position: absolute; right: 0; bottom: 0; left: 0; overflow: hidden; padding: 28px 13px 11px; color: #fff; background: linear-gradient(transparent, rgba(0,0,0,.74)); font-size: 12px; text-align: left; text-overflow: ellipsis; white-space: nowrap; opacity: 0; transition: opacity .18s; }
.gallery-photo:hover span { opacity: 1; }
.gallery-drop-zone { display: grid; min-height: 190px; place-items: center; align-content: center; gap: 5px; border: 2px dashed var(--line); border-radius: 14px; padding: 25px; color: var(--ink); background: var(--sidebar); text-align: center; cursor: pointer; transition: border-color .16s, background .16s, transform .16s; }
.gallery-drop-zone:hover, .gallery-drop-zone:focus-visible, .gallery-drop-zone.drag-active { border-color: var(--blue); background: var(--blue-soft); outline: 0; transform: translateY(-1px); }
.gallery-drop-zone input { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; }
.gallery-drop-zone > span, .gallery-drop-zone small { color: var(--muted); font-size: 12px; }
.gallery-drop-zone .gallery-drop-icon { display: grid; width: 46px; height: 46px; place-items: center; margin-bottom: 6px; border-radius: 13px; color: var(--blue-dark); background: var(--paper); font-size: 22px; }
.gallery-drop-zone small { margin-top: 4px; }
.gallery-upload-ready { color: var(--green); font-weight: 650; }
.gallery-upload-item button { display: grid; width: 24px; height: 24px; place-items: center; flex: 0 0 24px; border: 0; border-radius: 50%; color: var(--muted); background: transparent; cursor: pointer; }
.gallery-upload-item button:hover { color: var(--red); background: var(--red-soft); }
.gallery-upload-list { display: grid; max-height: 210px; overflow-y: auto; gap: 7px; }
.gallery-upload-item { display: flex; align-items: center; justify-content: space-between; gap: 12px; border-radius: 8px; padding: 8px 10px; background: var(--sidebar); font-size: 12px; }
.gallery-dialog-delete { width: fit-content; border: 0; padding: 0; color: var(--red); background: transparent; font: inherit; font-size: 12px; cursor: pointer; }
.gallery-cover-field { display: grid; gap: 7px; }
.gallery-cover-field > span { color: var(--muted); font-size: 12px; font-weight: 650; }
.gallery-cover-field > small { color: var(--muted); font-size: 11px; }
.gallery-cover-options { display: flex; max-width: min(620px, 75vw); overflow-x: auto; gap: 9px; padding: 3px 3px 8px; }
.gallery-cover-option { position: relative; overflow: hidden; width: 92px; height: 68px; flex: 0 0 92px; border: 3px solid transparent; border-radius: 10px; padding: 0; background: var(--sidebar); cursor: pointer; }
.gallery-cover-option img { display: block; width: 100%; height: 100%; object-fit: cover; }
.gallery-cover-option:hover { border-color: var(--line); }
.gallery-cover-option.selected { border-color: var(--blue); box-shadow: 0 0 0 2px var(--blue-soft); }
.gallery-cover-option.selected::after { position: absolute; right: 5px; bottom: 5px; display: grid; width: 21px; height: 21px; place-items: center; border-radius: 50%; color: #fff; background: var(--blue); font-size: 12px; content: "✓"; }
.gallery-cover-positioner { position: relative; overflow: hidden; width: min(100%, 620px); aspect-ratio: 2.45 / 1; border: 1px solid var(--line); border-radius: 13px; background: #242424; cursor: crosshair; touch-action: none; user-select: none; }
.gallery-cover-positioner:focus-visible { outline: 3px solid var(--blue-soft); }
.gallery-cover-positioner img { display: block; width: 100%; height: 100%; object-fit: cover; pointer-events: none; }
.gallery-cover-positioner > strong { position: absolute; right: 0; bottom: 0; left: 0; padding: 25px 12px 9px; color: #fff; background: linear-gradient(transparent, rgba(0,0,0,.72)); font-size: 11px; text-align: center; pointer-events: none; }
.gallery-cover-focal-point { position: absolute; top: 50%; left: 50%; width: 28px; height: 28px; border: 2px solid #fff; border-radius: 50%; box-shadow: 0 1px 8px rgba(0,0,0,.65); transform: translate(-50%, -50%); pointer-events: none; }
.gallery-cover-focal-point::before, .gallery-cover-focal-point::after { position: absolute; top: 50%; left: 50%; background: #fff; content: ""; transform: translate(-50%, -50%); }
.gallery-cover-focal-point::before { width: 8px; height: 2px; }
.gallery-cover-focal-point::after { width: 2px; height: 8px; }
.form-help { margin: -3px 0 2px; color: var(--muted); font-size: 11px; line-height: 1.45; }
.gallery-lightbox { box-sizing: border-box; width: min(1180px, calc(100vw - 36px)); height: min(900px, calc(100vh - 36px)); max-width: none; max-height: none; overflow: hidden; border: 0; border-radius: 18px; padding: 0; color: #fff; background: rgba(12,12,12,.98); }
.gallery-lightbox:fullscreen { width: 100vw; height: 100vh; border-radius: 0; }
.gallery-lightbox::backdrop { background: rgba(0,0,0,.82); backdrop-filter: blur(8px); }
.gallery-lightbox figure { display: grid; width: 100%; height: 100%; place-items: center; margin: 0; padding: 32px 70px 168px; }
.gallery-lightbox figure img { display: block; max-width: 100%; max-height: calc(100vh - 245px); border-radius: 8px; object-fit: contain; cursor: zoom-in; transition: transform .12s ease-out; will-change: transform; }
.gallery-lightbox figure img.zoomed { cursor: zoom-out; }
.gallery-lightbox figcaption { position: absolute; right: 80px; bottom: 72px; left: 80px; display: grid; min-height: 66px; grid-template-columns: minmax(0, 1fr) max-content; align-items: start; gap: 20px; border-top: 1px solid rgba(255,255,255,.15); padding-top: 12px; }
.gallery-lightbox figcaption strong { display: block; color: #fff; font-size: 14px; }
.gallery-lightbox figcaption p { max-width: 760px; max-height: 42px; overflow-y: auto; margin: 5px 0 0; color: #c9c9c6; font-size: 12px; line-height: 1.45; }
.gallery-lightbox figcaption > span { color: #aaa; font-size: 12px; white-space: nowrap; }
.gallery-lightbox-close, .gallery-lightbox-nav { position: absolute; z-index: 2; display: grid; place-items: center; border: 0; border-radius: 50%; color: #fff; background: rgba(255,255,255,.1); cursor: pointer; }
.gallery-lightbox-close { top: 18px; right: 18px; width: 40px; height: 40px; font-size: 25px; }
.gallery-lightbox-nav { top: 50%; width: 46px; height: 46px; font-size: 34px; transform: translateY(-50%); }
.gallery-lightbox-nav.previous { left: 15px; }
.gallery-lightbox-nav.next { right: 15px; }
.gallery-lightbox-actions { position: absolute; z-index: 2; bottom: 21px; left: 50%; display: flex; gap: 8px; transform: translateX(-50%); }

.outstanding-section { margin-top: 28px; }
.outstanding-tasks { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 10px; }
.outstanding-task { display: grid; min-width: 0; gap: 5px; border: 1px solid var(--line); border-radius: 11px; padding: 11px 13px; color: var(--ink); background: var(--paper); text-align: left; cursor: pointer; }
.outstanding-task:hover { border-color: #b9b9b5; background: var(--hover); }
.outstanding-task strong { overflow: hidden; font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }
.outstanding-task span { color: var(--muted); font-size: 11px; }
.task-board-section { margin-top: 18px; }
.team-task-section { margin-top: 42px; padding-top: 34px; border-top: 1px solid var(--line); }
.task-board { display: grid; grid-template-columns: repeat(4, minmax(210px, 1fr)); align-items: start; gap: 14px; overflow-x: auto; padding-bottom: 12px; }
.task-column { min-width: 210px; border-radius: 14px; padding: 11px; background: var(--sidebar); }
.task-column-heading { display: flex; align-items: center; justify-content: space-between; margin: 0 2px 10px; }
.task-column-heading h3 { margin: 0; font-size: 13px; }
.task-column-heading span { display: grid; min-width: 24px; height: 24px; place-items: center; border-radius: 12px; color: var(--muted); background: var(--paper); font-size: 11px; }
.task-column-actions { display: flex; align-items: center; gap: 5px; }
.task-column-add { display: grid; width: 24px; height: 24px; place-items: center; border: 1px solid transparent; border-radius: 7px; padding: 0; color: var(--muted); background: var(--paper); font-size: 17px; line-height: 1; cursor: pointer; }
.task-column-add:hover, .task-column-add:focus-visible { border-color: var(--blue); color: var(--blue-dark); outline: 0; background: var(--blue-soft); }
.task-column[data-status="blocked"] { background: color-mix(in srgb, var(--red-soft) 55%, var(--sidebar)); }
.task-column[data-status="done"] { opacity: .78; }
.task-column-list { display: grid; gap: 9px; }
.task-column-list.has-tasks { max-height: 556px; grid-auto-rows: 104px; overflow-y: auto; padding: 1px 4px 1px 1px; scrollbar-width: thin; scrollbar-color: #c9c9c5 transparent; }
.task-card { display: grid; width: 100%; height: 104px; align-content: start; gap: 7px; overflow: hidden; border: 1px solid var(--line); border-radius: 10px; padding: 11px 12px; color: var(--ink); background: var(--paper); box-shadow: 0 2px 8px rgba(15,15,15,.035); text-align: left; cursor: pointer; }
.task-card:hover { border-color: #b6b6b2; box-shadow: 0 5px 15px rgba(15,15,15,.08); transform: translateY(-1px); }
.task-card > strong { font-size: 13px; line-height: 1.35; }
.task-card-description { display: flex; min-width: 0; align-items: flex-start; gap: 6px; overflow: hidden; color: var(--muted); font-size: 11px; line-height: 1.45; }
.task-card-description-label { flex: 0 0 auto; margin-top: 1px; border-radius: 5px; padding: 1px 5px; color: var(--blue-dark); background: var(--blue-soft); font-size: 8px; font-weight: 750; letter-spacing: .04em; line-height: 1.5; text-transform: uppercase; }
.task-card-description-text { display: -webkit-box; min-width: 0; overflow: hidden; overflow-wrap: anywhere; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.task-card-meta { display: flex; flex-wrap: wrap; gap: 5px; color: var(--muted); font-size: 10px; }
.task-card-meta span { border-radius: 9px; padding: 3px 6px; background: var(--sidebar); }
.task-empty { margin: 15px 4px; color: var(--muted); font-size: 11px; text-align: center; }
.task-dialog { width: min(880px, calc(100vw - 28px)); max-width: none; border: 0; border-radius: 18px; padding: 0; overflow: hidden; box-shadow: 0 28px 100px rgba(0,0,0,.32); }
.task-dialog > form { display: grid; max-height: min(92vh, 960px); overflow-y: auto; gap: 18px; padding: 0 24px 22px; }
.task-dialog h2 { margin: 1px 0 0; font-size: 24px; letter-spacing: -.02em; }
.task-dialog-header { position: sticky; z-index: 5; top: 0; display: grid; grid-template-columns: 44px minmax(0, 1fr) 34px; align-items: start; gap: 12px; margin: 0 -24px; border-bottom: 1px solid var(--line); padding: 20px 24px 17px; background: color-mix(in srgb, var(--paper) 94%, transparent); backdrop-filter: blur(14px); }
.task-dialog-header p:last-child { margin: 5px 0 0; color: var(--muted); font-size: 12px; }
.task-dialog-icon { display: grid; width: 42px; height: 42px; place-items: center; border-radius: 12px; color: var(--blue-dark); background: var(--blue-soft); font-size: 20px; font-weight: 750; }
.task-dialog-header .dialog-close { position: static; width: 32px; height: 32px; }
.task-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.task-form-grid label { align-content: start; }
.task-title-field, .task-description-field { grid-column: 1 / -1; }
.task-collaborators-field { grid-column: 1 / -1; }
.task-form-grid input, .task-form-grid select { min-height: 42px; border-radius: 9px; }
.task-form-grid small { margin-top: 3px; color: var(--muted); font-size: 10px; font-weight: 400; }
.task-coauthor-picker { display: flex; min-height: 44px; align-items: center; flex-wrap: wrap; gap: 7px; border: 1px solid var(--line); border-radius: 10px; padding: 7px; background: var(--paper); }
.task-coauthor-picker label { display: inline-flex; align-items: center; gap: 6px; border: 1px solid var(--line); border-radius: 999px; padding: 6px 10px; color: var(--muted); background: var(--sidebar); font-size: 11px; font-weight: 600; cursor: pointer; }
.task-coauthor-picker label:has(input:checked) { border-color: #9bc8f3; color: var(--blue-dark); background: var(--blue-soft); }
.task-coauthor-picker input { width: 14px; min-height: 0; height: 14px; margin: 0; accent-color: var(--blue); }
.task-field-label { display: block; margin-bottom: 6px; color: var(--ink); font-size: 12px; font-weight: 650; }
.task-format-toolbar { position: static; margin: 0; border-radius: 11px 11px 0 0; box-shadow: none; background: var(--sidebar); }
.task-format-toolbar button, .task-format-toolbar select { background: var(--paper); }
.task-description-editor { min-height: 230px; max-height: 440px; overflow-y: auto; border: 1px solid var(--line); border-top: 0; border-radius: 0 0 11px 11px; padding: 16px 18px; background: var(--paper); font-size: 13px; line-height: 1.6; }
.task-description-editor .article-image-resizer { margin-block: 12px; }
.task-description-editor h2 { font-size: 21px; }
.task-description-editor h3 { font-size: 17px; }
.task-detail-section { display: grid; gap: 9px; border-top: 1px solid var(--line); padding-top: 14px; }
.task-detail-section h3 { margin: 0; font-size: 14px; }
.task-detail-heading { display: flex; align-items: center; justify-content: space-between; }
.task-attachments { display: grid; grid-template-columns: repeat(auto-fill, minmax(120px, 1fr)); gap: 9px; }
.task-attachment { display: grid; overflow: hidden; border: 1px solid var(--line); border-radius: 9px; background: var(--sidebar); }
.task-attachment img { width: 100%; height: 105px; object-fit: cover; }
.task-attachment span { overflow: hidden; padding: 6px 8px; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.task-comments { display: grid; max-height: 230px; overflow-y: auto; gap: 8px; }
.task-comment { border-radius: 9px; padding: 9px 11px; background: var(--sidebar); }
.task-comment header { display: flex; justify-content: space-between; gap: 10px; margin-bottom: 5px; font-size: 10px; }
.task-comment header span { color: var(--muted); }
.task-comment p { margin: 0; color: var(--ink); font-size: 12px; line-height: 1.5; white-space: pre-wrap; }
.task-comment p a, .task-description-preview a { color: var(--blue-dark); }
.task-comment-compose { display: grid; grid-template-columns: minmax(0, 1fr) max-content; align-items: end; gap: 8px; }
.task-dialog-actions { position: sticky; z-index: 4; bottom: -22px; display: grid; grid-template-columns: max-content 1fr max-content max-content; margin: 0 -24px -22px; border-top: 1px solid var(--line); padding: 14px 24px; background: color-mix(in srgb, var(--paper) 94%, transparent); backdrop-filter: blur(14px); }
.download-page-control { position: relative; }
.download-page-menu { position: absolute; z-index: 20; top: calc(100% + 6px); right: 0; display: grid; width: 176px; border: 1px solid var(--line); border-radius: 9px; padding: 5px; background: var(--paper); box-shadow: 0 12px 34px rgba(0,0,0,.18); }
.download-page-menu button { border: 0; border-radius: 6px; padding: 9px 10px; color: var(--ink); background: transparent; text-align: left; cursor: pointer; }
.download-page-menu button:hover { background: var(--hover); }
.document-pdf-shell { overflow: hidden; height: min(78vh, 980px); min-height: 620px; margin: 20px 0; border: 1px solid var(--line); border-radius: 10px; background: var(--sidebar); }
.document-pdf-shell iframe { display: block; width: 100%; height: 100%; border: 0; }
.document-text-details { margin: 20px 0; border: 1px solid var(--line); border-radius: 9px; background: var(--paper); }
.document-text-details summary { padding: 13px 15px; color: var(--ink); font-size: 13px; font-weight: 650; cursor: pointer; }
.document-excerpt { max-height: 70vh; overflow: auto; border-top: 1px solid var(--line); padding: 18px 15px; white-space: pre-wrap; line-height: 1.7; }
.source-actions { display: flex; gap: 8px; margin-top: 18px; }

.workspace-main.voice-workspace { width: calc(100% - 36px); max-width: none; padding: 24px 0; }
#voice-ops-view:not(.hidden) { display: flex; min-height: calc(100vh - 100px); flex-direction: column; }
.voice-heading { align-items: center; margin-bottom: 22px; }
.voice-heading .eyebrow { font-size: 11px; line-height: normal; }
.voice-heading h1 { font-size: clamp(30px, 3vw, 40px); }
.voice-actions { display: flex; align-items: center; gap: 8px; }
.voice-shell { display: flex; overflow: hidden; flex: 1; flex-direction: column; border: 1px solid var(--line); border-radius: 14px; background: #111; box-shadow: 0 12px 35px rgba(15,15,15,.12); }
.voice-shell-header { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 13px 16px; color: #f5f5f4; background: #242424; }
.voice-shell-header strong, .voice-shell-header span { display: block; }
.voice-shell-header span { margin-top: 2px; color: #aaa9a6; font-size: 11px; }
.voice-frame-wrap { position: relative; min-height: 620px; flex: 1; }
.voice-frame-wrap iframe { position: absolute; inset: 0; display: block; width: 100%; height: 100%; min-height: 0; border: 0; background: #111; }
.voice-loading { position: absolute; z-index: 2; inset: 0; display: grid; place-items: center; color: #d6d6d3; background: #181818; font-size: 14px; }
#voice-ops-view.voice-mounted.hidden { position: fixed; left: -10000px; top: 0; display: block !important; width: 1px; height: 1px; overflow: hidden; opacity: 0; pointer-events: none; }

.import-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; }
.import-card, .settings-card { border: 1px solid var(--line); border-radius: 11px; padding: 22px; }
.import-card > p, .settings-card > p { color: var(--muted); font-size: 13px; }
form { display: grid; gap: 12px; }
label { display: grid; gap: 5px; color: #5f5e5b; font-size: 12px; font-weight: 620; }
input, select, textarea { border: 1px solid #d9d9d6; border-radius: 7px; padding: 9px 10px; color: var(--ink); background: var(--paper); }
input:focus, select:focus, textarea:focus { border-color: var(--blue); outline: 3px solid rgba(35,131,226,.12); }

.activity-controls { display: flex; align-items: end; gap: 9px; margin-bottom: 12px; }
.activity-controls label { min-width: 190px; }
.activity-detail { max-width: 420px; line-height: 1.45; overflow-wrap: anywhere; }
.insights-heading { margin-bottom: 24px; }
.insights-range { min-width: 150px; }
.insights-range select { background: var(--paper); }
.insight-summary { grid-template-columns: repeat(4, minmax(0, 1fr)); margin-bottom: 18px; }
.insights-dashboard { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.analytics-panel { min-width: 0; border: 1px solid var(--line); border-radius: 12px; padding: 18px; background: var(--paper); }
.analytics-panel.usage-panel { overflow-x: auto; grid-column: 1 / -1; }
.analytics-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; margin-bottom: 18px; }
.analytics-heading .eyebrow { margin: 0 0 5px; }
.analytics-heading h2 { margin: 0; font-size: 18px; }
.analytics-total { color: var(--muted); font-size: 11px; white-space: nowrap; }
.usage-chart { display: grid; min-width: 420px; height: 230px; align-items: stretch; gap: 5px; overflow: hidden; }
.usage-column { display: grid; min-width: 0; grid-template-rows: minmax(0, 1fr) 24px; gap: 6px; }
.usage-bar-shell { display: flex; min-height: 0; align-items: flex-end; justify-content: center; border-bottom: 1px solid var(--line); }
.usage-bar-shell span { display: block; width: min(18px, 78%); border-radius: 5px 5px 1px 1px; background: linear-gradient(180deg, #58a6ef, var(--blue)); transition: height .2s ease; }
.usage-column small { overflow: visible; color: var(--faint); font-size: 9px; text-align: center; white-space: nowrap; }
.analytics-bars { display: grid; gap: 13px; }
.analytics-bar-row { display: grid; gap: 6px; }
.analytics-bar-heading { display: flex; min-width: 0; align-items: baseline; justify-content: space-between; gap: 12px; font-size: 12px; }
.analytics-bar-heading span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.analytics-bar-heading strong { flex: 0 0 auto; font-size: 11px; }
.analytics-bar-track { overflow: hidden; height: 7px; border-radius: 999px; background: var(--sidebar); }
.analytics-bar-track span { display: block; height: 100%; border-radius: inherit; background: var(--blue); }
.analytics-panel-empty { margin: 24px 0; color: var(--muted); font-size: 12px; text-align: center; }
.analytics-empty { border: 1px dashed var(--line); border-radius: 12px; }
.profile-layout { display: grid; grid-template-columns: 300px minmax(0, 520px); gap: 18px; align-items: start; }
.profile-photo-card { text-align: center; }
.profile-photo-preview { width: 112px; height: 112px; margin: 0 auto 18px; font-size: 36px; }
.profile-photo-card input { width: 100%; }
.two-column-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.profile-security { margin-top: 26px; border-top: 1px solid var(--line); padding-top: 22px; }
.profile-security p { color: var(--muted); font-size: 13px; }
.actor-id { display: block; margin-top: 3px; color: var(--faint); font-family: ui-monospace, monospace; font-size: 9px; }

.user-layout { display: grid; grid-template-columns: 330px minmax(0, 1fr); gap: 18px; align-items: start; }
.checkbox-label { display: flex; align-items: center; gap: 8px; }
.checkbox-label input { width: auto; }
.users-list { display: grid; }
.user-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "profile actions" "badges badges"; gap: 9px 16px; padding: 17px 4px; border-top: 1px solid var(--line); }
.user-profile { display: flex; min-width: 0; grid-area: profile; align-items: center; gap: 11px; }
.user-profile > div:last-child { min-width: 0; }
.user-avatar { display: grid; overflow: hidden; width: 42px; height: 42px; place-items: center; flex: 0 0 42px; border-radius: 50%; color: #fff; background: #6940a5; font-size: 15px; font-weight: 700; }
.user-avatar img { display: block; width: 100%; height: 100%; object-fit: cover; }
.user-profile strong, .user-profile > div > span { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.user-profile > div > span { margin-top: 3px; color: var(--muted); font-size: 11px; }
.user-badges { display: flex; min-width: 0; grid-area: badges; flex-wrap: wrap; gap: 6px; margin-left: 53px; }
.badge { display: inline-flex; align-items: center; border-radius: 999px; padding: 4px 8px; color: var(--muted); background: var(--sidebar); font-size: 10px; font-weight: 700; line-height: 1; white-space: nowrap; }
.badge.role { color: var(--blue-dark); background: var(--blue-soft); }
.badge.success { color: var(--green); background: var(--green-soft); }
.badge.warning { color: var(--amber); background: var(--amber-soft); }
.badge.danger { color: var(--red); background: var(--red-soft); }
.user-actions { display: flex; grid-area: actions; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 6px; }
.user-actions button { min-height: 32px; border: 1px solid var(--line); border-radius: 7px; padding: 6px 9px; background: var(--paper); font-size: 11px; font-weight: 620; white-space: nowrap; cursor: pointer; }
.user-actions button:hover { background: var(--hover); }
.user-actions button.danger { color: var(--red); }
.user-actions button[data-user-action="edit-profile"] { color: var(--blue-dark); border-color: var(--blue); }
.user-profile-dialog { width: min(560px, calc(100% - 30px)); }
.managed-profile-photo { display: grid; grid-template-columns: 92px minmax(0, 1fr); align-items: center; gap: 5px 16px; border: 1px solid var(--line); border-radius: 10px; padding: 14px; background: var(--sidebar); }
.managed-profile-photo .profile-photo-preview { width: 76px; height: 76px; grid-row: 1 / span 2; margin: 0 auto; font-size: 24px; }
.managed-profile-photo label { align-self: end; }
.managed-profile-photo input { width: 100%; background: var(--paper); }
.managed-profile-photo small { align-self: start; color: var(--muted); font-size: 10px; }

.message { border-radius: 7px; padding: 10px; }
.message.error { color: var(--red); background: var(--red-soft); }
.toast { position: fixed; z-index: 20; right: 20px; bottom: 20px; max-width: 420px; border: 1px solid transparent; border-radius: 8px; padding: 11px 14px; color: var(--toast-ink); background: var(--toast-bg); box-shadow: 0 8px 30px rgba(0,0,0,.28); font-size: 13px; }
.toast.error { color: var(--toast-error-ink); background: var(--toast-error-bg); }
dialog { width: min(500px, calc(100% - 30px)); border: 1px solid var(--line); border-radius: 12px; padding: 25px; color: var(--ink); background: var(--paper); box-shadow: 0 18px 70px rgba(0,0,0,.3); }
dialog::backdrop { background: rgba(15,15,15,.35); backdrop-filter: blur(3px); }
dialog form { margin: 0; }
.import-dialog { width: min(940px, calc(100% - 30px)); max-height: calc(100vh - 40px); overflow: auto; }
.import-dialog-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; margin-bottom: 20px; }
.import-dialog-heading h2 { margin: 4px 0 6px; font-size: 28px; }
.import-dialog-heading p:last-child { margin: 0; color: var(--muted); font-size: 13px; }
.dialog-close { display: grid; width: 34px; height: 34px; flex: 0 0 auto; place-items: center; border: 0; border-radius: 8px; padding: 0; color: var(--muted); background: transparent; font-size: 25px; line-height: 1; cursor: pointer; }
.dialog-close:hover { color: var(--ink); background: var(--hover); }
.import-dialog .import-card { background: var(--paper); }
.article-format-dialog { width: min(820px, calc(100% - 30px)); }
.article-format-summary { display: flex; flex-wrap: wrap; gap: 7px; margin: 15px 0; padding: 0; list-style: none; }
.article-format-summary li { border-radius: 999px; padding: 6px 10px; color: var(--blue-dark); background: var(--blue-soft); font-size: 12px; font-weight: 650; }
.article-format-preview { max-height: min(52vh, 560px); overflow: auto; border: 1px solid var(--line); border-radius: 10px; padding: 18px 20px; background: var(--paper); font-size: 14px; line-height: 1.65; }
.article-format-preview h1, .article-format-preview h2, .article-format-preview h3 { margin: 1.1em 0 .4em; }
.article-format-preview h1:first-child, .article-format-preview h2:first-child, .article-format-preview h3:first-child { margin-top: 0; }
.article-format-preview table { width: 100%; border-collapse: collapse; }
.article-format-preview th, .article-format-preview td { border: 1px solid var(--line); padding: 7px 9px; }
.import-refresh-dialog { width: min(900px, calc(100% - 30px)); }
.import-refresh-result { margin-bottom: 5px; color: var(--muted); line-height: 1.5; }
.import-refresh-result.unchanged { border-radius: 8px; padding: 10px 12px; color: var(--green); background: var(--green-soft); }
.import-refresh-source { display: block; overflow: hidden; margin: 8px 0 18px; color: var(--blue-dark); font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.import-refresh-metadata { overflow: hidden; border: 1px solid var(--line); border-radius: 10px; }
.import-refresh-metadata-row { display: grid; grid-template-columns: minmax(110px, .7fr) minmax(0, 1.2fr) minmax(0, 1.2fr); border-bottom: 1px solid var(--line); }
.import-refresh-metadata-row:last-child { border-bottom: 0; }
.import-refresh-metadata-row > * { min-width: 0; padding: 10px 12px; overflow-wrap: anywhere; }
.import-refresh-metadata-row strong { background: var(--sidebar); font-size: 12px; }
.import-refresh-metadata-row span { color: var(--muted); font-size: 12px; }
.import-refresh-metadata-row span::before { display: block; margin-bottom: 3px; color: var(--faint); content: attr(data-label); font-size: 9px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.import-refresh-metadata-row.changed span:last-child { color: var(--ink); background: var(--blue-soft); }
.import-refresh-text-changes { max-height: 38vh; overflow: auto; margin-top: 16px; }
.import-change-summary { margin: 0 0 10px; font-weight: 650; }
.import-change-samples { border: 1px solid var(--line); border-radius: 9px; padding: 12px 14px; }
.import-change-samples + .import-change-samples { margin-top: 8px; }
.import-change-samples h3 { margin: 0 0 7px; font-size: 12px; }
.import-change-samples.added h3 { color: var(--green); }
.import-change-samples.removed h3 { color: var(--red); }
.import-change-samples ul { margin: 0; padding-left: 20px; color: var(--muted); font-size: 12px; line-height: 1.5; }
.dialog-actions { display: flex; justify-content: flex-end; gap: 8px; margin-top: 10px; }
.credential-row { display: flex; align-items: center; gap: 8px; }
.credential-row code { min-width: 0; flex: 1; overflow-wrap: anywhere; border-radius: 7px; padding: 11px; background: var(--sidebar); }
.auth-screen { display: grid; min-height: 100vh; place-items: center; padding: 25px; background: #f7f7f5; }
.auth-card { width: min(420px, 100%); border: 1px solid var(--line); border-radius: 14px; padding: 34px; background: var(--paper); box-shadow: 0 15px 50px rgba(0,0,0,.08); text-align: center; }
.auth-card .brand-mark { margin: 0 auto 22px; }
.auth-card h1 { margin: 0; font-size: 34px; letter-spacing: -.04em; }
.auth-card p:not(.eyebrow) { color: var(--muted); }
.mobile-only { display: none; }

:root[data-theme="dark"] {
  color-scheme: dark;
  --ink: #f1f1ef;
  --muted: #aaa9a6;
  --faint: #777672;
  --line: #343432;
  --sidebar: #202020;
  --hover: #2c2c2b;
  --paper: #191919;
  --blue: #2383e2;
  --blue-dark: #70b5f9;
  --blue-soft: #152b3d;
  --green: #65c998;
  --green-soft: #17382a;
  --amber: #e3b341;
  --amber-soft: #3c3118;
  --red: #ff8a82;
  --red-soft: #452522;
  --toast-bg: #2c2c2b;
  --toast-ink: #f1f1ef;
  --toast-error-bg: #5a2925;
  --toast-error-ink: #ffd7d3;
}

:root[data-theme="dark"] .workspace-header { background: rgba(25,25,25,.94); }
:root[data-theme="dark"] .breadcrumb,
:root[data-theme="dark"] .nav-item,
:root[data-theme="dark"] label,
:root[data-theme="dark"] .button.subtle,
:root[data-theme="dark"] .badge { color: #c8c7c4; }
:root[data-theme="dark"] .new-page { color: #202020; background: #f1f1ef; }
:root[data-theme="dark"] .new-page:hover { background: #fff; }
:root[data-theme="dark"] .brand-mark { color: #202020; background: #f1f1ef; }
:root[data-theme="dark"] .home-search-box,
:root[data-theme="dark"] .home-search-results,
:root[data-theme="dark"] .home-search-result,
:root[data-theme="dark"] .document-card,
:root[data-theme="dark"] .feature-icon,
:root[data-theme="dark"] .segmented button.selected,
:root[data-theme="dark"] .user-actions button,
:root[data-theme="dark"] .auth-card { background: var(--paper); }
:root[data-theme="dark"] .quick-start article,
:root[data-theme="dark"] .auth-screen,
:root[data-theme="dark"] th,
:root[data-theme="dark"] tbody tr:hover { background: var(--sidebar); }
:root[data-theme="dark"] .home-search-box { border-color: var(--line); }
:root[data-theme="dark"] .format-toolbar { background: rgba(25,25,25,.96); }
:root[data-theme="dark"] .live-presence { border-color: rgba(82,156,227,.58); background: rgba(28,51,73,.96); }
:root[data-theme="dark"] .page-rich-editor hr,
:root[data-theme="dark"] .page-preview hr { border-top-color: #6f6f69; }
:root[data-theme="dark"] input,
:root[data-theme="dark"] select,
:root[data-theme="dark"] textarea { border-color: var(--line); color: var(--ink); background: var(--paper); }
:root[data-theme="dark"] .chatgpt-availability input,
:root[data-theme="dark"] .compact-visibility-switch { border-color: transparent; background: var(--red); }
:root[data-theme="dark"] .chatgpt-availability input:checked,
:root[data-theme="dark"] .compact-visibility-switch:checked { background: var(--green); }
:root[data-theme="dark"] .page-rich-editor th,
:root[data-theme="dark"] .page-rich-editor td,
:root[data-theme="dark"] .page-preview th,
:root[data-theme="dark"] .page-preview td { border-color: var(--line); }
:root[data-theme="dark"] .button.danger { border-color: #70403b; }
:root[data-theme="dark"] .title-input { background: transparent; }
:root[data-theme="dark"] .button.danger:hover { background: #5a2d29; }
:root[data-theme="dark"] .status.private { color: #c5a7ed; background: #352849; }
:root[data-theme="dark"] .toast { border-color: #464644; }
:root[data-theme="dark"] .toast.error { border-color: #7b3b35; }

@media (max-width: 900px) {
  :root { --sidebar-width: 240px; }
  .app-shell { grid-template-columns: var(--sidebar-width) minmax(0, 1fr); }
  .breadcrumb { display: none; }
  .document-grid, .quick-start { grid-template-columns: repeat(2, 1fr); }
  .user-layout { grid-template-columns: 1fr; }
  .editor-layout.with-sidebar { grid-template-columns: minmax(0, 1fr); grid-template-areas: "heading" "sidebar" "body"; justify-content: center; }
  .article-sidebar { position: static; margin-bottom: 22px; }
}

@media (min-width: 701px) {
  .sidebar-resize-handle { position: absolute; z-index: 5; top: 0; right: -6px; display: block; width: 12px; height: 100vh; cursor: col-resize; touch-action: none; }
  .sidebar-resize-handle::after { position: absolute; top: 0; bottom: 0; left: 5px; width: 2px; background: transparent; content: ""; transition: background .15s; }
  .sidebar-resize-handle:hover::after, .sidebar-resize-handle:focus-visible::after, body.sidebar-resizing .sidebar-resize-handle::after { background: var(--blue); }
  .sidebar-resize-handle:focus-visible { outline: 0; }
  body.sidebar-resizing { cursor: col-resize; user-select: none; }
}

@media (max-width: 700px) {
  .app-shell { display: block; }
  .sidebar { position: fixed; z-index: 15; left: -260px; width: 250px; transition: left .2s; box-shadow: 8px 0 30px rgba(0,0,0,.12); }
  .app-shell.sidebar-open .sidebar { left: 0; }
  .sidebar .sidebar-close { position: absolute; z-index: 2; top: 15px; right: 12px; display: grid; width: 32px; height: 32px; font-size: 24px; line-height: 1; }
  .workspace-switcher { padding-right: 42px; }
  .app-shell.sidebar-open .sidebar-backdrop { position: fixed; z-index: 14; inset: 0; display: block; border: 0; padding: 0; background: rgba(15,15,15,.4); cursor: default; }
  .mobile-only { display: grid; }
  .workspace-header { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 5px 8px; padding: 7px 10px 5px; }
  .workspace-header .mobile-only { grid-column: 1; grid-row: 1; }
  .workspace-header .header-actions { grid-column: 3; grid-row: 1; }
  .top-navigation { grid-column: 1 / -1; grid-row: 2; width: 100%; padding-bottom: 4px; }
  .top-navigation .nav-item { min-height: 34px; padding: 6px 9px; font-size: 13px; }
  .workspace-canvas { overflow-x: hidden; }
  .workspace-main, .workspace-main.editor-workspace { width: 100%; padding: 30px 16px 88px; }
  .workspace-main.voice-workspace { width: 100%; padding: 16px 0 0; }
  .page-heading { margin-bottom: 28px; }
  .page-heading.compact { margin-bottom: 22px; }
  .page-heading h1 { overflow-wrap: anywhere; font-size: clamp(30px, 9vw, 40px); }
  .page-heading p:last-child { font-size: 14px; }
  .home-search { max-width: none; margin: -4px 0 24px; }
  .home-search-box { width: 100%; }
  .summary-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
  .insight-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .summary-card { min-width: 0; padding: 13px 11px; }
  .summary-card span { font-size: 11px; }
  .summary-card strong { margin: 6px 0 0; font-size: 25px; }
  .summary-card small { display: none; }
  .content-section { margin-top: 34px; }
  .section-heading { margin-bottom: 12px; }
  .document-grid, .quick-start, .import-grid { grid-template-columns: minmax(0, 1fr); }
  .import-dialog { max-height: calc(100vh - 20px); padding: 18px; }
  .import-dialog .import-card { padding: 17px; }
  .document-card { display: grid; min-height: 96px; grid-template-columns: 32px minmax(0, 1fr); column-gap: 10px; align-content: center; padding: 14px; }
  .document-card .card-icon { grid-row: 1 / span 2; margin: 0; }
  .document-card strong { display: -webkit-box; overflow-wrap: anywhere; text-overflow: initial; white-space: normal; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
  .document-card span:last-child { grid-column: 2; }
  .quick-start { margin-top: 34px; }
  .quick-start article { padding: 17px; }
  .quick-start p { min-height: 0; }
  .row-heading { align-items: flex-start; flex-direction: column; }
  #voice-ops-view:not(.hidden) { min-height: calc(100vh - 68px); }
  .voice-heading { margin-bottom: 12px; padding: 0 16px; }
  .voice-heading .eyebrow, .voice-heading > div > p:last-child { display: none; }
  .voice-heading h1 { margin: 0; font-size: 28px; }
  .voice-actions { align-items: stretch; flex-wrap: wrap; }
  .voice-shell { border-right: 0; border-left: 0; border-radius: 0; }
  .voice-shell-header { padding: 10px 16px; }
  .voice-shell-header > span { display: none; }
  .voice-frame-wrap { min-height: max(72vh, 560px); }
  .activity-controls { align-items: stretch; flex-direction: column; }
  .insights-dashboard { grid-template-columns: minmax(0, 1fr); }
  .analytics-panel.usage-panel { grid-column: auto; overflow-x: auto; }
  .analytics-panel { padding: 15px; }
  .usage-chart { height: 200px; }
  .profile-layout, .two-column-fields { grid-template-columns: 1fr; }
  .activity-controls label { min-width: 0; }
  .table-shell { overflow-x: auto; }
  table { min-width: 700px; }
  .header-actions .save-state { display: none; }
  .voice-dock { max-width: 170px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .home-search-box .button { padding-inline: 10px; }
  .editor-controls select { max-width: none; }
  .title-input { padding-bottom: 10px; font-size: clamp(30px, 9.5vw, 42px); line-height: 1.14; letter-spacing: -.025em; }
  .page-action-start { margin-left: 0; }
  .page-history-item { align-items: flex-start; }
  .user-row { grid-template-columns: 1fr; grid-template-areas: "profile" "badges" "actions"; }
  .user-badges { margin-left: 0; }
  .user-actions { justify-content: flex-start; }
  .managed-profile-photo { grid-template-columns: 1fr; text-align: center; }
  .managed-profile-photo .profile-photo-preview { grid-row: auto; margin-bottom: 5px; }
  .library-heading-actions { width: 100%; flex-wrap: wrap; }
  .library-toolbar { align-items: stretch; flex-direction: column; }
  .library-toolbar-actions { width: 100%; }
  .import-refresh-metadata-row { grid-template-columns: 1fr; }
  .import-refresh-metadata-row strong { padding-bottom: 5px; }
  .import-refresh-metadata-row span { padding-top: 6px; }
  .gallery-lightbox-actions { right: 12px; bottom: 15px; left: 12px; justify-content: center; flex-wrap: wrap; transform: none; }
  .gallery-lightbox figure { padding: 24px 45px 235px; }
  .gallery-lightbox figure img { max-height: calc(100vh - 305px); }
  .gallery-lightbox figcaption { right: 22px; bottom: 124px; left: 22px; min-height: 92px; grid-template-columns: minmax(0, 1fr); gap: 5px; }
  .task-form-grid { grid-template-columns: 1fr; }
  .task-title-field, .task-description-field { grid-column: auto; }
  .task-comment-compose { grid-template-columns: 1fr; }
  .task-dialog-actions { display: flex; }
  .task-dialog-actions > span { display: none; }
  .dialog-actions { align-items: stretch; flex-direction: column-reverse; }
  .tree-edit, .tree-order { flex-basis: 34px; width: 34px; height: 34px; opacity: .85; }
}
  .gallery-bulk-toolbar { top: 8px; align-items: stretch; flex-direction: column; }
  .gallery-bulk-toolbar > div { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
