@charset "UTF-8";

.editor-body { flex-direction: row; min-width: 0; }
.heading-outline {
  position: relative;
  display: flex;
  flex: 0 0 clamp(160px, 22vw, 230px);
  flex-direction: column;
  min-width: 0;
  min-height: 0;
  overflow: hidden;
  padding-right: 6px;
  border-right: 1px solid var(--chrome-edge);
  background: var(--chrome);
  color: var(--chrome-ink);
  font: 11px/1.4 var(--mono);
}
.heading-outline[hidden] { display: none; }
.heading-outline-resize {
  position: absolute;
  z-index: 5;
  top: 0;
  right: 0;
  bottom: 0;
  width: 6px;
  cursor: col-resize;
  touch-action: none;
  user-select: none;
}
.heading-outline-resize::after {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  width: 2px;
  background: var(--chrome-edge);
}
.heading-outline-resize:hover::after,
.heading-outline-resize:focus-visible::after,
.outline-is-resizing .heading-outline-resize::after { background: var(--accent); }
.heading-outline-resize:focus-visible { outline: 1px dotted var(--accent); outline-offset: -2px; }
.outline-is-resizing { cursor: col-resize; user-select: none; }
.outline-is-resizing > .pane-layout { pointer-events: none; }
.heading-outline-header {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: space-between;
  gap: 6px;
  min-width: 0;
  min-height: 28px;
  padding: 2px 8px;
  border-bottom: 1px solid var(--chrome-edge);
  background: var(--chrome-title);
  font-weight: 600;
}
.heading-outline-header button {
  flex: 0 0 auto;
  min-width: 26px;
  height: 22px;
  padding: 1px 3px;
  border: 1px solid var(--chrome-edge);
  border-radius: 0;
  background: var(--chrome);
  color: var(--chrome-ink);
  box-shadow: inset 1px 1px var(--chrome-light), inset -1px -1px var(--chrome-shadow);
  font: 10px/1.4 var(--mono);
}
.heading-outline-title { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.heading-outline-actions { display: flex; flex: 0 0 auto; align-items: center; gap: 2px; }
.heading-outline-header button:not(:disabled):hover { background: var(--paper); border-color: var(--accent); color: var(--accent-strong); }
.heading-outline-header button:not(:disabled):active { box-shadow: inset 1px 1px var(--chrome-shadow); }
.heading-outline-header button:disabled { opacity: .4; box-shadow: none; cursor: default; }
.heading-outline-header button:focus-visible { outline: 1px dotted var(--accent); outline-offset: -3px; }
.heading-outline-document {
  flex: 0 0 auto;
  min-width: 0;
  padding: 5px 8px;
  overflow: hidden;
  border-bottom: 1px solid var(--chrome-edge);
  color: var(--muted);
  font-size: 10px;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.heading-outline-document:empty { display: none; }
.heading-outline-list {
  flex: 1 1 auto;
  min-width: 0;
  min-height: 0;
  padding: 3px;
  overflow: auto;
  overscroll-behavior: contain;
  scrollbar-width: thin;
  scrollbar-color: var(--chrome-edge) var(--chrome);
}
.heading-outline-list:empty { display: none; }
.heading-outline-row {
  display: grid;
  grid-template-columns: 18px minmax(0, 1fr);
  align-items: start;
  min-width: 0;
  padding-left: calc(var(--outline-depth, 0) * 12px);
}
.heading-outline-row[hidden] { display: none; }
.heading-outline-disclosure,
.heading-outline-spacer {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 24px;
  margin-top: 2px;
}
.heading-outline-disclosure {
  padding: 0;
  border: 1px solid transparent;
  border-radius: 0;
  background: transparent;
  color: var(--muted);
  font: 11px/1 var(--mono);
  cursor: pointer;
}
.heading-outline-disclosure:hover {
  border-color: var(--accent-line);
  background: var(--accent-soft);
  color: var(--accent-strong);
}
.heading-outline-disclosure:focus-visible { outline: 1px dotted var(--accent); outline-offset: -2px; }
.heading-outline-item {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: baseline;
  gap: 6px;
  width: 100%;
  min-width: 0;
  min-height: 28px;
  padding: 5px 5px 5px 3px;
  border: 1px solid transparent;
  border-radius: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  text-align: left;
  cursor: pointer;
}
.heading-outline-label {
  display: -webkit-box;
  min-width: 0;
  overflow: hidden;
  overflow-wrap: anywhere;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.heading-outline-line { color: var(--muted); font-size: 9px; white-space: nowrap; }
.heading-outline-item:hover { background: var(--accent-soft); color: var(--accent-strong); }
.heading-outline-item[aria-current="location"] {
  border-color: var(--accent-line);
  background: var(--accent-soft);
  color: var(--accent-strong);
  font-weight: 600;
}
.heading-outline-item[aria-current="location"] .heading-outline-line { color: inherit; font-weight: 400; }
.heading-outline-item:focus-visible { outline: 1px dotted var(--accent); outline-offset: -3px; }
.heading-outline-empty { flex: 0 0 auto; margin: 0; padding: 8px; color: var(--muted); font-size: 10px; }
.heading-outline-empty[hidden] { display: none; }
.heading-outline-toggle { align-self: flex-start; }
.heading-outline-toggle[aria-expanded="true"] {
  border-color: var(--chrome-select);
  background: var(--chrome-select);
  color: var(--chrome-selected-ink);
  box-shadow: inset 1px 1px var(--chrome-shadow);
}
@media (max-width: 540px) {
  .heading-outline { flex-basis: 160px; }
  .heading-outline-item { grid-template-columns: minmax(0, 1fr); gap: 1px; }
  .heading-outline-line { justify-self: start; }
}

.pane-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: minmax(0, 1fr);
  flex: 1;
  min-width: 0;
  min-height: 0;
  width: 0;
  overflow: hidden;
  background: var(--paper);
}
.workspace-frame {
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 0;
  overflow: hidden;
  background: var(--paper);
}
.workspace-frame > .workspace-tab-panel {
  flex: 1;
  width: 100%;
  height: 100%;
  min-width: 0;
  min-height: 0;
}
.pane-layout.is-split .workspace-frame[data-active="true"],
.pane-layout.is-split .workspace-frame.is-active {
  outline: 1px solid var(--accent);
  outline-offset: -1px;
}
.frame-empty {
  display: flex;
  flex: 1;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 9px;
  width: 100%;
  min-width: 0;
  min-height: 0;
  padding: 16px;
  color: var(--muted);
  background: var(--paper);
  font: 11px/1.4 var(--mono);
}
.frame-choose-tab {
  max-width: 100%;
  min-height: 27px;
  padding: 4px 9px;
  border: 1px solid var(--chrome-edge);
  border-radius: 0;
  background: var(--chrome);
  color: var(--chrome-ink);
  box-shadow: inset 1px 1px var(--chrome-light), inset -1px -1px var(--chrome-shadow);
  font: 11px/1.4 var(--mono);
}
.frame-choose-tab:hover { background: var(--paper); border-color: var(--accent); color: var(--accent-strong); }
.frame-choose-tab:focus-visible { outline: 1px dotted var(--accent); outline-offset: -3px; }
.frame-choose-tab:active { box-shadow: inset 1px 1px var(--chrome-shadow); }
.frame-empty small { font: 10px/1.4 var(--mono); text-align: center; }
.workspace-frame[data-active="true"] > .frame-empty,
.workspace-frame.is-active > .frame-empty { background: var(--accent-soft); }
.pane-layout.is-split .workspace-frame.is-drop-target,
.workspace-frame.is-drop-target {
  outline: 2px solid var(--accent);
  outline-offset: -2px;
  background: var(--accent-soft);
}
.workspace-frame.is-drop-target > .frame-empty { background: var(--accent-soft); }
.editor-tab[draggable="true"],
.editor-tab[draggable="true"] .tab-select,
.editor-tab[data-tab-draggable="true"],
.editor-tab[data-tab-draggable="true"] .tab-select { cursor: grab; touch-action: none; }
.editor-tab[draggable="true"]:active,
.editor-tab[draggable="true"]:active .tab-select,
.editor-tab[data-tab-draggable="true"]:active,
.editor-tab[data-tab-draggable="true"]:active .tab-select { cursor: grabbing; }
.editor-tab.is-dragging { opacity: .55; }
.tab-select { display: flex; align-items: center; gap: 5px; }
.tab-select .tab-title {
  flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.tab-frame-indicator {
  flex: 0 0 auto;
  min-width: 24px;
  padding: 0 2px;
  border: 1px solid transparent;
  color: var(--muted);
  font: 10px/1.4 var(--mono);
  text-align: center;
  white-space: nowrap;
}
.editor-tab[data-frame-visible="true"] .tab-frame-indicator {
  border-color: var(--accent-line);
  background: var(--accent-soft);
  color: var(--accent-strong);
}
.editor-tab[data-frame-visible="false"] .tab-title { color: var(--muted); }
.frame-tab-menu { min-width: 220px; max-width: min(360px, calc(100vw - 12px)); }
.frame-tab-menu > button {
  display: flex;
  align-items: center;
  min-height: 27px;
  width: 100%;
  padding: 4px 10px;
  border-radius: 0;
  color: inherit;
  font: inherit;
  text-align: left;
}
.frame-tab-menu > button:hover,
.frame-tab-menu > button:focus-visible {
  background: var(--chrome-select);
  color: var(--chrome-selected-ink);
  outline: none;
}
.frame-tab-menu .menu-label { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.frame-tab-menu .menu-empty { padding: 7px 10px; color: var(--muted); }
.workspace-tab-panel {
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 0;
  overflow: hidden;
  background: var(--paper);
}
.workspace-tab-panel[hidden] { display: none; }
.workspace-tab-panel.kind-document { container: qxed-document / inline-size; }
.workspace-tab-panel > .editor-instance,
.workspace-tab-panel > .reading-view {
  flex: 1;
  width: 100%;
  height: auto;
  min-width: 0;
  min-height: 0;
}
.pane-caption {
  display: flex;
  flex: 0 0 auto;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px 8px;
  min-width: 0;
  min-height: 28px;
  padding: 2px 8px;
  border-bottom: 1px solid var(--chrome-edge);
  background: var(--chrome);
  color: var(--chrome-ink);
  font: 11px/1.4 var(--mono);
}
.pane-title {
  flex: 0 1 auto;
  min-width: 0;
  max-width: 30ch;
  overflow: hidden;
  font-weight: 600;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.kind-preview > .pane-caption { flex-wrap: nowrap; }
.preview-state {
  flex: 0 0 auto;
  color: var(--muted);
  font: 10px/1.4 var(--mono);
  white-space: nowrap;
}
.navigation-controls { display: flex; flex: 0 0 auto; gap: 1px; }
.pane-caption .navigation-button {
  flex: 0 0 auto;
  min-width: 22px;
  height: 22px;
  padding: 1px 3px;
  border: 1px solid var(--chrome-edge);
  border-radius: 0;
  background: var(--chrome);
  color: var(--chrome-ink);
  box-shadow: inset 1px 1px var(--chrome-light), inset -1px -1px var(--chrome-shadow);
  font: 10px/1.4 var(--mono);
  white-space: nowrap;
}
.pane-caption .navigation-button:hover:enabled { background: var(--paper); border-color: var(--accent); color: var(--accent-strong); }
.pane-caption .navigation-button:focus-visible { outline: 1px dotted var(--accent); outline-offset: -3px; }
.pane-caption .navigation-button:active:enabled { box-shadow: inset 1px 1px var(--chrome-shadow); }
.pane-caption .navigation-button:disabled { color: var(--muted); opacity: .5; box-shadow: none; cursor: default; }
.kind-preview [data-preview-action="close"] {
  flex: 0 0 auto;
  min-width: 24px;
  height: 22px;
  margin-left: auto;
  padding: 1px 4px;
  border: 1px solid var(--chrome-edge);
  border-radius: 0;
  background: var(--chrome);
  color: var(--chrome-ink);
  box-shadow: inset 1px 1px var(--chrome-light), inset -1px -1px var(--chrome-shadow);
  font: 10px/1.4 var(--mono);
}
.kind-preview [data-preview-action="close"]:hover { background: var(--paper); border-color: var(--accent); color: var(--accent-strong); }
.kind-preview [data-preview-action="close"]:focus-visible { outline: 1px dotted var(--accent); outline-offset: -3px; }
.kind-preview [data-preview-action="close"]:active { box-shadow: inset 1px 1px var(--chrome-shadow); }
.document-controls {
  display: flex;
  flex: 1 1 auto;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px 6px;
  min-width: 0;
  max-width: 100%;
  margin-left: 0;
  font: 10px/1.4 var(--mono);
}
.document-controls button { flex-shrink: 0; border-radius: 0; font-family: var(--mono); }
.document-controls .view-switch { flex: 0 1 auto; flex-wrap: wrap; gap: 1px; min-width: 0; max-width: 100%; }
.document-controls .view-switch button { height: 22px; padding: 1px 5px; font: 10px/1.4 var(--mono); white-space: nowrap; }
.document-controls .format-actions {
  display: flex;
  flex: 0 1 auto;
  flex-wrap: wrap;
  gap: 1px;
  min-width: 0;
  max-width: 100%;
  opacity: 1;
  pointer-events: auto;
}
.document-controls .format-button {
  height: 22px;
  min-width: 21px;
  gap: 0;
  padding: 1px 4px;
  border: 1px solid transparent;
  font: 10px/1.4 var(--mono);
}
.document-controls .format-button:hover { background: var(--paper); border-color: var(--chrome-edge); }
.document-controls .bold-button { font-weight: 700; }
.document-controls .italic-button { font-style: italic; }
.document-controls .format-button small { display: none; }
.document-controls .toolbar-divider { display: none; }
.document-controls .run-actions { flex: 0 1 auto; flex-wrap: wrap; gap: 4px 6px; min-width: 0; margin-left: auto; }
.document-controls .run-current-button {
  height: 22px;
  padding: 1px 6px;
  border: 1px solid var(--chrome-edge);
  background: var(--chrome);
  color: var(--chrome-ink);
  box-shadow: inset 1px 1px var(--chrome-light), inset -1px -1px var(--chrome-shadow);
  font: 10px/1.4 var(--mono);
  white-space: nowrap;
}
.document-controls .run-current-button:hover:enabled { border-color: var(--accent); background: var(--paper); color: var(--accent-strong); }
.document-controls .run-current-button:active:enabled { box-shadow: inset 1px 1px var(--chrome-shadow); }
.document-controls .run-current-button:disabled { color: var(--muted); opacity: .6; box-shadow: none; }
.document-controls .run-current-button:focus-visible,
.document-controls .format-button:focus-visible { outline: 1px dotted var(--accent); outline-offset: -3px; }
.document-controls .runtime-indicator { display: inline-flex; font: 10px/1.4 var(--mono); }
.document-controls .runtime-indicator > span { display: none; }
.document-controls .runtime-indicator.is-running { color: var(--accent-strong); }
.workspace-tab-panel[data-mode="read"] .document-controls .format-actions { opacity: .35; pointer-events: none; }
.cm-editor .cm-foldGutter { min-width: 18px; }
.cm-editor .cm-foldGutter .cm-gutterElement {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding: 0 1px;
  color: var(--muted);
  font: 10px/1.25 var(--mono);
  line-height: calc(var(--editor-font-size, 15px) * 1.25);
}
.cm-editor .qxed-fold-toggle {
  display: inline-flex;
  flex: 0 0 15px;
  align-items: center;
  justify-content: center;
  width: 15px;
  height: calc(var(--editor-font-size, 15px) * 1.25);
  margin: 0;
  padding: 0;
  border: 1px solid transparent;
  border-radius: 0;
  background: transparent;
  color: var(--muted);
  font: 10px/1 var(--mono);
  cursor: pointer;
}
.cm-editor .qxed-fold-toggle[aria-expanded="false"] {
  border-color: var(--accent-line);
  background: var(--accent-soft);
  color: var(--accent-strong);
}
.cm-editor .qxed-fold-toggle:hover {
  border-color: var(--accent-line);
  background: var(--accent-soft);
  color: var(--accent-strong);
}
.cm-editor .qxed-fold-toggle:focus-visible { outline: 1px dotted var(--accent); outline-offset: -2px; }
.cm-editor .qxed-fold-toggle:active { box-shadow: inset 1px 1px var(--chrome-shadow); }
.cm-editor .cm-foldPlaceholder,
.cm-editor .qxed-fold-placeholder {
  display: inline-block;
  margin: 0 2px;
  padding: 0 4px;
  border: 1px solid var(--accent-line);
  border-radius: 0;
  background: var(--accent-soft);
  color: var(--accent-strong);
  font: 10px/1.25 var(--mono);
  vertical-align: baseline;
  white-space: nowrap;
  cursor: pointer;
}
.cm-editor .cm-foldPlaceholder > .qxed-fold-placeholder {
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
}
.cm-editor .cm-foldPlaceholder:hover,
.cm-editor .qxed-fold-placeholder:hover { border-color: var(--accent); }
.cm-editor .cm-foldPlaceholder:focus-visible,
.cm-editor .qxed-fold-placeholder:focus-visible { outline: 1px dotted var(--accent); outline-offset: 1px; }
@container qxed-document (max-width: 500px) {
  .pane-caption { gap: 3px 6px; padding: 3px 7px; }
  .pane-title { flex-basis: 100%; max-width: 100%; }
  .document-controls { flex: 1 1 100%; gap: 3px 5px; }
}
.pane-layout.is-split .workspace-tab-panel[data-active="true"] > .pane-caption {
  background: var(--chrome-title);
  color: var(--accent-strong);
  box-shadow: inset 0 2px var(--accent);
}
.pane-layout.is-split .workspace-tab-panel[data-active="false"] .cm-cursorLayer { visibility: hidden; }

.pane-divider {
  display: none;
  min-width: 0;
  min-height: 0;
  padding: 0;
  border: 0;
  background: var(--chrome);
  touch-action: none;
  user-select: none;
}
.pane-layout.is-split .pane-divider:not([hidden]) { display: block; }
.pane-divider[data-axis="x"] {
  border-inline: 1px solid var(--chrome-edge);
  box-shadow: inset 1px 0 var(--chrome-light);
  cursor: col-resize;
}
.pane-divider[data-axis="y"] {
  border-block: 1px solid var(--chrome-edge);
  box-shadow: inset 0 1px var(--chrome-light);
  cursor: row-resize;
}
.pane-divider:hover,
.pane-divider:focus-visible {
  position: relative;
  z-index: 11;
  outline: none;
  background: var(--accent);
  box-shadow: none;
}
.pane-divider:focus-visible { outline: 1px dotted var(--chrome-selected-ink); outline-offset: -2px; }
.pane-layout.is-resizing { user-select: none; }
.pane-layout.is-resizing .workspace-tab-panel { pointer-events: none; }
.pane-layout-controls {
  display: flex;
  flex: 0 0 auto;
  align-items: flex-start;
  align-self: flex-start;
  gap: 2px;
  margin-left: 4px;
}
.pane-layout-button {
  flex-shrink: 0;
  min-width: 31px;
  height: 23px;
  padding: 1px 6px;
  border: 1px solid var(--chrome-edge);
  border-radius: 0;
  background: var(--chrome);
  color: var(--chrome-ink);
  box-shadow: inset 1px 1px var(--chrome-light), inset -1px -1px var(--chrome-shadow);
  font: 11px/1.4 var(--mono);
}
.pane-layout-button:not(:disabled):hover { background: var(--paper); border-color: var(--accent); color: var(--accent-strong); }
.pane-layout-button[aria-pressed="true"] {
  background: var(--chrome-select);
  border-color: var(--chrome-select);
  color: var(--chrome-selected-ink);
  box-shadow: inset 1px 1px var(--chrome-shadow);
  font-weight: 700;
}
.pane-layout-button:not(:disabled):active { box-shadow: inset 1px 1px var(--chrome-shadow); }
.pane-layout-button:focus-visible { outline: 1px dotted var(--accent); outline-offset: -3px; }
.pane-layout-button:disabled {
  color: var(--muted);
  opacity: .45;
  cursor: default;
  text-shadow: none;
}
.go-to-dialog {
  width: min(560px, calc(100vw - 24px));
  max-height: min(600px, calc(100dvh - 32px));
  margin: min(17vh, 120px) auto auto;
  padding: 0;
  overflow: hidden;
  border: 1px solid var(--chrome-edge);
  border-radius: 0;
  background: var(--chrome);
  color: var(--chrome-ink);
  box-shadow: inset 1px 1px var(--chrome-light), var(--shadow);
  font: 11px/1.4 var(--mono);
}
.go-to-dialog[open] { display: flex; flex-direction: column; }
.go-to-search { display: flex; flex: 0 0 auto; align-items: center; gap: 8px; padding: 8px 10px; border-bottom: 1px solid var(--chrome-edge); }
.go-to-search label { flex: 0 0 auto; font-weight: 600; white-space: nowrap; }
.go-to-search input {
  flex: 1;
  width: 100%;
  min-width: 0;
  padding: 5px 6px;
  border: 1px solid var(--chrome-edge);
  border-radius: 0;
  background: var(--paper);
  color: var(--ink);
  box-shadow: inset 1px 1px var(--chrome-shadow);
  font: inherit;
}
.go-to-search input::placeholder { color: var(--muted); }
.go-to-search input:focus-visible { outline: 1px solid var(--accent); outline-offset: 1px; }
.go-to-search button {
  flex: 0 0 auto;
  min-width: 26px;
  height: 24px;
  padding: 0 4px;
  border: 1px solid var(--chrome-edge);
  border-radius: 0;
  background: var(--chrome);
  color: var(--chrome-ink);
  box-shadow: inset 1px 1px var(--chrome-light), inset -1px -1px var(--chrome-shadow);
  font: inherit;
}
.go-to-search button:hover { border-color: var(--accent); background: var(--paper); color: var(--accent-strong); }
.go-to-search button:focus-visible { outline: 1px dotted var(--accent); outline-offset: -3px; }
.go-to-search button:active { box-shadow: inset 1px 1px var(--chrome-shadow); }
.go-to-dialog #go-to-status { flex: 0 0 auto; margin: 0; padding: 5px 10px; color: var(--muted); font-size: 10px; }
.go-to-dialog #go-to-status:empty { display: none; }
.go-to-list { flex: 1 1 auto; min-height: 0; max-height: min(400px, calc(100dvh - 180px)); padding: 3px; overflow: auto; overscroll-behavior: contain; scrollbar-width: thin; }
.go-to-option {
  display: grid;
  cursor: pointer;
  grid-template-columns: 7ch minmax(0, 1fr) auto;
  grid-template-areas: "kind label line" "kind detail line";
  align-items: center;
  gap: 1px 9px;
  width: 100%;
  min-width: 0;
  padding: 7px 8px;
  border: 1px solid transparent;
  border-radius: 0;
  background: transparent;
  color: var(--chrome-ink);
  font: inherit;
  text-align: left;
}
.go-to-kind { grid-area: kind; justify-self: start; max-width: 100%; padding: 1px 4px; overflow: hidden; border: 1px solid var(--accent-line); background: var(--accent-soft); color: var(--accent-strong); font: 10px/1.4 var(--mono); text-overflow: ellipsis; white-space: nowrap; }
.go-to-label { grid-area: label; min-width: 0; overflow: hidden; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
.go-to-detail { grid-area: detail; min-width: 0; overflow: hidden; color: var(--muted); font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.go-to-line { grid-area: line; color: var(--muted); font: 10px/1.4 var(--mono); white-space: nowrap; }
.go-to-option:hover { background: var(--accent-soft); }
.go-to-option[aria-selected="true"] { background: var(--chrome-select); color: var(--chrome-selected-ink); }
.go-to-option[aria-selected="true"] .go-to-kind { border-color: currentColor; background: transparent; color: inherit; }
.go-to-option[aria-selected="true"] .go-to-detail,
.go-to-option[aria-selected="true"] .go-to-line { color: inherit; }
.go-to-option:focus-visible { outline: 1px dotted var(--accent); outline-offset: -3px; }
.go-to-footer { display: flex; flex: 0 0 auto; flex-wrap: wrap; justify-content: space-between; gap: 4px 12px; padding: 6px 10px; border-top: 1px solid var(--chrome-edge); color: var(--muted); font-size: 10px; }
.go-to-footer span { white-space: nowrap; }
.go-to-footer kbd { padding: 0; border: 0; border-radius: 0; background: transparent; color: inherit; font: inherit; }
.document-search-options { display: flex; flex: 0 0 auto; flex-wrap: wrap; align-items: center; gap: 5px 18px; padding: 5px 10px 0; }
.document-search-options label { display: inline-flex; align-items: center; gap: 5px; cursor: pointer; }
.document-search-options input { width: 13px; height: 13px; margin: 0; accent-color: var(--accent); }
.document-search-options input:focus-visible { outline: 1px dotted var(--accent); outline-offset: 2px; }
.document-search-status { flex: 0 0 auto; margin: 0; padding: 5px 10px; color: var(--muted); font-size: 10px; }
.document-search-list { max-height: min(400px, calc(100dvh - 205px)); }
.document-search-option {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-areas: "excerpt line" "section line";
  align-items: center;
  gap: 2px 9px;
  min-width: 0;
  width: 100%;
  padding: 7px 8px;
  border: 1px solid transparent;
  border-radius: 0;
  color: var(--chrome-ink);
  font: inherit;
  text-align: left;
  cursor: pointer;
}
.document-search-excerpt { grid-area: excerpt; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.document-search-excerpt mark { padding: 0 1px; background: var(--accent-soft); color: var(--accent-strong); font-weight: 700; }
.document-search-section { grid-area: section; min-width: 0; overflow: hidden; color: var(--muted); font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.document-search-line { grid-area: line; color: var(--muted); font: 10px/1.4 var(--mono); white-space: nowrap; }
.document-search-option:hover { background: var(--accent-soft); }
.document-search-option[aria-selected="true"] { background: var(--chrome-select); color: var(--chrome-selected-ink); }
.document-search-option[aria-selected="true"] .document-search-section,
.document-search-option[aria-selected="true"] .document-search-line { color: inherit; }
.document-search-option[aria-selected="true"] mark { background: var(--paper); color: var(--accent-strong); }
.document-search-option:focus-visible { outline: 1px dotted var(--accent); outline-offset: -3px; }
.status-bar > .status-left,
.status-bar > .status-right { flex: 0 0 auto; }
.section-trail { display: flex; flex: 1 1 0; align-items: center; gap: 3px; min-width: 0; overflow-x: auto; overflow-y: hidden; scrollbar-width: none; white-space: nowrap; }
.section-trail::-webkit-scrollbar { display: none; }
.status-bar .section-trail-part { flex: 0 1 auto; min-width: 0; max-width: 18ch; overflow: hidden; padding: 1px 3px; border: 1px solid transparent; border-radius: 0; color: var(--muted); font: 10px/1.4 var(--mono); text-overflow: ellipsis; white-space: nowrap; }
.status-bar .section-trail-part[aria-current="location"] { flex-shrink: 0; max-width: min(32ch, 100%); color: var(--accent-strong); }
.status-bar .section-trail-part:hover { border-color: var(--accent-line); background: var(--accent-soft); color: var(--accent-strong); }
.status-bar .section-trail-part:focus-visible { outline: 1px dotted var(--accent); outline-offset: -3px; }
.section-trail-divider { flex: 0 0 auto; color: var(--faint); font: 10px/1.4 var(--mono); }

.cm-editor .cm-spelling-error {
  text-decoration-line: underline;
  text-decoration-style: wavy;
  text-decoration-color: var(--error);
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
  text-decoration-skip-ink: none;
}
:is([data-theme="retro"], [data-theme="matrix"]) .cm-editor .cm-spelling-error { text-decoration-color: var(--accent-strong); }
.spelling-menu {
  position: fixed;
  z-index: 1500;
  min-width: min(180px, calc(100vw - 12px));
  max-width: min(300px, calc(100vw - 12px));
  max-height: min(360px, calc(100dvh - 12px));
  overflow: auto;
  padding: 3px;
  border: 1px solid var(--chrome-edge);
  border-radius: 0;
  background: var(--chrome);
  color: var(--chrome-ink);
  box-shadow: inset 1px 1px var(--chrome-light), var(--shadow);
  font: 11px/1.4 var(--mono);
  overscroll-behavior: contain;
  scrollbar-width: thin;
}
.spelling-menu-heading { display: flex; align-items: start; justify-content: space-between; gap: 8px; padding: 3px 3px 6px 6px; font-weight: 600; }
.spelling-menu-heading > span { min-width: 0; overflow-wrap: anywhere; }
.spelling-menu-close {
  flex: 0 0 auto;
  min-width: 24px;
  padding: 0 3px;
  border: 1px solid var(--chrome-edge);
  border-radius: 0;
  color: inherit;
  font: inherit;
  font-weight: 400;
}
.spelling-menu-close:hover { background: var(--chrome-select); color: var(--chrome-selected-ink); }
.spelling-menu-status { margin: 0; padding: 5px 6px; color: var(--muted); font-size: 10px; }
.spelling-menu-action { display: block; width: 100%; min-width: 0; padding: 5px 7px; border: 1px solid transparent; border-radius: 0; color: inherit; font: inherit; overflow-wrap: anywhere; text-align: left; }
.spelling-menu-action:hover:enabled,
.spelling-menu-action:focus-visible { outline: none; background: var(--chrome-select); color: var(--chrome-selected-ink); }
.spelling-menu-action:focus-visible { border-color: currentColor; }
.spelling-menu-close:focus-visible { outline: 1px dotted var(--accent); outline-offset: -3px; }
.spelling-menu-divider { height: 1px; margin: 3px 5px; background: var(--chrome-edge); }
.spelling-dictionary-dialog {
  width: min(420px, calc(100vw - 24px));
  max-height: min(580px, calc(100dvh - 32px));
  padding: 0;
  overflow: hidden;
  border: 1px solid var(--chrome-edge);
  border-radius: 0;
  background: var(--chrome);
  color: var(--chrome-ink);
  box-shadow: inset 1px 1px var(--chrome-light), var(--shadow);
  font: 11px/1.4 var(--mono);
}
.spelling-dictionary-dialog[open] { display: flex; flex-direction: column; }
.spelling-dictionary-heading { display: flex; flex: 0 0 auto; align-items: center; justify-content: space-between; gap: 10px; padding: 7px 10px; border-bottom: 1px solid var(--chrome-edge); background: var(--chrome-title); }
.spelling-dictionary-heading h2 { min-width: 0; margin: 0; font: 600 12px/1.4 var(--mono); }
.spelling-dictionary-dialog button {
  flex: 0 0 auto;
  min-height: 24px;
  padding: 2px 6px;
  border: 1px solid var(--chrome-edge);
  border-radius: 0;
  background: var(--chrome);
  color: var(--chrome-ink);
  box-shadow: inset 1px 1px var(--chrome-light), inset -1px -1px var(--chrome-shadow);
  font: inherit;
}
.spelling-dictionary-dialog button:hover { background: var(--paper); border-color: var(--accent); color: var(--accent-strong); }
.spelling-dictionary-dialog button:active { box-shadow: inset 1px 1px var(--chrome-shadow); }
.spelling-dictionary-dialog button:focus-visible { outline: 1px dotted var(--accent); outline-offset: -3px; }
.spelling-dictionary-add { display: flex; flex: 0 0 auto; align-items: center; gap: 7px; padding: 9px 10px 0; }
.spelling-dictionary-add label { flex: 0 0 auto; }
.spelling-dictionary-add input { flex: 1 1 auto; width: 100%; min-width: 0; padding: 4px 5px; border: 1px solid var(--chrome-edge); border-radius: 0; background: var(--paper); color: var(--ink); box-shadow: inset 1px 1px var(--chrome-shadow); font: inherit; }
.spelling-dictionary-add input:focus-visible { outline: 1px solid var(--accent); outline-offset: 1px; }
.spelling-dictionary-add input[aria-invalid="true"] { border-color: var(--error); }
.spelling-dictionary-status { flex: 0 0 auto; margin: 0; padding: 7px 10px; color: var(--muted); font-size: 10px; }
.spelling-dictionary-status[data-state="error"] { color: var(--error); }
.spelling-word-list { flex: 1 1 auto; min-width: 0; min-height: 0; max-height: min(340px, calc(100dvh - 210px)); margin: 0; padding: 3px 8px 8px; overflow: auto; overscroll-behavior: contain; scrollbar-width: thin; list-style: none; }
.spelling-word-list:empty { display: none; }
.spelling-word-row { display: flex; align-items: center; justify-content: space-between; gap: 10px; min-width: 0; padding: 4px 2px; border-bottom: 1px solid var(--chrome-edge); }
.spelling-word-label { min-width: 0; overflow-wrap: anywhere; }
@media (max-width: 360px) {
  .spelling-dictionary-add { flex-wrap: wrap; }
  .spelling-dictionary-add label { flex-basis: 100%; }
  .spelling-dictionary-add input { flex-basis: 0; }
}

@media print {
  .spelling-menu, .spelling-dictionary-dialog { display: none !important; }
  .heading-outline, .heading-outline-toggle, .heading-outline-resize { display: none !important; }
  .pane-layout, .pane-layout.is-split { display: block; width: auto; height: auto; overflow: visible; }
  .workspace-frame { display: contents !important; }
  .unassigned-panels { display: contents !important; }
  .pane-caption, .pane-divider, .pane-layout-controls, .frame-empty, .frame-tab-menu, .go-to-dialog { display: none !important; }
  .pane-layout .workspace-tab-panel { display: none !important; }
  .pane-layout .workspace-tab-panel.kind-preview { display: none !important; }
  .pane-layout .workspace-tab-panel.kind-document[data-print-active="true"] {
    display: block !important;
    height: auto;
    overflow: visible;
  }
  .workspace-tab-panel > .editor-instance { display: none !important; }
  .workspace-tab-panel.kind-document[data-print-active="true"] > .reading-view,
  .workspace-tab-panel.kind-document[data-print-active="true"] > .reading-view[hidden] {
    display: block !important;
    height: auto;
    overflow: visible;
    padding: 0;
  }
}
.classic-menu .menu-submenu-arrow { flex: 0 0 auto; margin-left: 18px; font: inherit; }
.classic-submenu { z-index: 61; }

.status-bar #spelling-count { padding: 2px 4px; border: 1px solid transparent; font: inherit; text-align: right; }
.status-bar #spelling-count:disabled { opacity: 1; cursor: default; }
.status-bar #spelling-count:not(:disabled):hover { border-color: var(--accent-line); background: var(--accent-soft); color: var(--accent-strong); }
.status-bar #spelling-count:focus-visible { outline: 1px dotted var(--accent); outline-offset: -3px; }

.spelling-list-dialog { max-height: min(600px, calc(100dvh - min(17vh, 120px) - 16px)); }
.spelling-list-dialog #spelling-list-status { flex: 0 0 auto; margin: 0; padding: 5px 10px; color: var(--muted); font-size: 10px; }
.spelling-list-results { flex: 1 1 auto; min-height: 0; max-height: min(400px, calc(100dvh - 180px)); padding: 3px; overflow: auto; overscroll-behavior: contain; scrollbar-width: thin; }
.spelling-list-option { display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "word line" "excerpt line"; align-items: center; gap: 2px 9px; min-width: 0; padding: 7px 8px; border: 1px solid transparent; color: var(--chrome-ink); font: inherit; cursor: pointer; }
.spelling-list-word { grid-area: word; min-width: 0; overflow: hidden; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
.spelling-list-excerpt { grid-area: excerpt; min-width: 0; overflow: hidden; color: var(--muted); font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.spelling-list-excerpt mark { padding: 0 1px; background: var(--accent-soft); color: var(--accent-strong); font-weight: 700; }
.spelling-list-line { grid-area: line; color: var(--muted); font: 10px/1.4 var(--mono); white-space: nowrap; }
.spelling-list-option:hover { background: var(--accent-soft); }
.spelling-list-option[aria-selected="true"] { background: var(--chrome-select); color: var(--chrome-selected-ink); }
.spelling-list-option[aria-selected="true"] .spelling-list-excerpt,
.spelling-list-option[aria-selected="true"] .spelling-list-line { color: inherit; }
.spelling-list-option[aria-selected="true"] mark { background: var(--paper); color: var(--accent-strong); }
.spelling-list-option:focus-visible { outline: 1px dotted var(--accent); outline-offset: -3px; }

.spelling-list-actions { flex: 0 0 auto; padding: 9px 10px; border-top: 1px solid var(--chrome-edge); }
.spelling-list-action-heading { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
#spelling-list-selected { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.spelling-list-history { display: inline-flex; gap: 4px; }
.spelling-list-actions button, #spelling-list-reset-ignored, #spelling-list-undo, #spelling-list-redo { padding: 4px 8px; border: 1px solid var(--chrome-edge); border-radius: 0; background: var(--chrome); color: var(--chrome-ink); box-shadow: inset 1px 1px var(--chrome-light), inset -1px -1px var(--chrome-shadow); font: inherit; white-space: nowrap; }
.spelling-list-actions button:not(:disabled):hover, #spelling-list-reset-ignored:not(:disabled):hover, #spelling-list-undo:not(:disabled):hover, #spelling-list-redo:not(:disabled):hover { border-color: var(--accent); background: var(--paper); color: var(--accent-strong); }
.spelling-list-actions button:focus-visible, #spelling-list-reset-ignored:focus-visible, #spelling-list-undo:focus-visible, #spelling-list-redo:focus-visible { outline: 1px dotted var(--accent); outline-offset: -3px; }
.spelling-list-actions button:active, #spelling-list-reset-ignored:active, #spelling-list-undo:active, #spelling-list-redo:active { box-shadow: inset 1px 1px var(--chrome-shadow); }
.spelling-list-suggestions { display: flex; flex-wrap: wrap; align-items: center; gap: 5px; margin-block: 7px; }
.spelling-list-replacement { display: flex; flex-wrap: wrap; align-items: center; gap: 7px; margin-block: 7px; }
.spelling-list-replacement label { flex: 0 0 auto; }
.spelling-list-replacement input { flex: 1 1 18ch; min-width: 10ch; width: auto; padding: 4px 6px; border: 1px solid var(--chrome-edge); border-radius: 0; background: var(--paper); color: var(--ink); box-shadow: inset 1px 1px var(--chrome-shadow); font: inherit; }
.spelling-list-replacement input:focus-visible { outline: 1px solid var(--accent); outline-offset: 1px; }
.spelling-list-ignore-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
#spelling-list-action-status { margin: 7px 0 0; color: var(--muted); font-size: 10px; }
#spelling-list-action-status[data-state="error"] { color: var(--error); }
