body { background: #f8f9fa; color: #212529; }
:root {
  --active: #1d78ff;
  --border: rgba(33, 37, 41, 0.14);
  --danger: #dc3545;
  --muted: #6c757d;
  --ok: #198754;
  --panel: #fff;
  --soft: #f8f9fa;
  --warn: #b7791f;
  --content-max-width: 1200px;
  --field-min: 19rem;
  --control-height: 1.72rem;
  --control-padding-y: 0.14rem;
  --control-padding-x: 0.48rem;
  --control-font-size: 0.74rem;
  --focus-ring: 0 0 0 0.16rem rgba(13, 110, 253, 0.22);
  --menu-shadow: 0 0.65rem 1.4rem rgba(15, 23, 42, 0.16);
  --shell-frame-max-width: 1600px;
  --side-pane-width: 18rem;
  --side-pane-min-width: 14rem;
  --side-pane-max-width: 26.25rem;
  --side-pane-collapsed-width: 3rem;
  --side-pane-resizer-width: 0.55rem;
}
html, body, #app { min-height: 100%; }
[hidden], .overlay-head:empty { display: none !important; }
.visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
iframe { width: 100%; min-width: 0; }
.app-shell { min-height: 100vh; min-height: 100dvh; --space-2: 0.55rem; --space-3: 0.8rem; }
.app-shell .card-body { padding: var(--space-3); }
.app-shell .form-label { margin-bottom: 0.2rem; }
.app-shell .btn, .app-shell .form-select, .app-shell .form-control { padding-top: 0.35rem; padding-bottom: 0.35rem; }
.app-shell .form-select, .app-shell .form-control { min-height: calc(1.5em + 0.7rem + calc(var(--bs-border-width) * 2)); }
.app-shell .btn-sm, .app-shell .btn-group-sm > .btn { --bs-btn-padding-y: 0.22rem; --bs-btn-padding-x: 0.55rem; }
.app-shell :is(.g-3, .gap-3) { --bs-gutter-x: var(--space-3); --bs-gutter-y: var(--space-3); gap: var(--space-3) !important; }
.app-shell .gap-2 { gap: var(--space-2) !important; }
.app-shell .p-3 { padding: var(--space-3) !important; }
.app-shell .p-2 { padding: var(--space-2) !important; }
.app-shell .py-2 { padding-top: var(--space-2) !important; padding-bottom: var(--space-2) !important; }
.workspace-shell { height: 100vh; height: 100dvh; overflow: hidden; }
.workspace {/* --gap: var(--space-2, 0.55rem); */display: flex;flex: 1 1 auto;min-height: 0;flex-direction: column;gap: var(--gap);}
.workspace-frame { align-self: center; width: min(100%, var(--shell-frame-max-width)); max-width: var(--shell-frame-max-width); }
.controls, .main, .side-pane, .editor, .message-pane, .content-editor, .surface, .json-editor, .editor-shell { min-width: 0; min-height: 0; }
.controls { position: relative; z-index: 20; width: 100%; flex-shrink: 0; }
.main {
  display: grid;
  grid-template-columns: clamp(var(--side-pane-min-width), var(--side-pane-width), var(--side-pane-max-width)) var(--side-pane-resizer-width) minmax(0, 1fr) minmax(17rem, 22rem);
  flex: 1 1 auto;
  gap: var(--gap);
  overflow: hidden;
}
.main[data-side-pane-collapsed="true"] { grid-template-columns: var(--side-pane-collapsed-width) minmax(0, 1fr) minmax(17rem, 22rem); }
.main[data-message-pane-layout="popout"] { grid-template-columns: clamp(var(--side-pane-min-width), var(--side-pane-width), var(--side-pane-max-width)) var(--side-pane-resizer-width) minmax(0, 1fr); }
.main[data-message-pane-layout="popout"][data-side-pane-collapsed="true"] { grid-template-columns: var(--side-pane-collapsed-width) minmax(0, 1fr); }
.side-pane,
.editor,
.message-pane,
.panel,
.item-row,
.ordered-item-row,
.item-card,
.actions-menu,
.shell-banner,
.config-summary,
.json-group,
.collapsible-panel,
.scroll-frame,
.selection-panel {
  border: 1px solid var(--border);
  border-radius: 6px;
  background: var(--panel);
}
.side-pane, .editor, .message-pane {display: flex;flex-direction: column;overflow: hidden;}
.side-pane, .message-pane:not(.is-popout) { align-self: stretch; }
.side-pane-resizer {
  display: flex;
  align-items: center;
  justify-content: center;
  align-self: stretch;
  width: var(--side-pane-resizer-width);
  min-width: var(--side-pane-resizer-width);
  min-height: 0;
  padding: 0;
  border: 0;
  border-radius: 5px;
  background: transparent;
  cursor: col-resize;
  touch-action: none;
}
.side-pane-resizer-grip {
  width: 2px;
  height: min(5rem, 36%);
  min-height: 2.2rem;
  border-radius: 999px;
  background: rgba(108, 117, 125, 0.32);
}
.side-pane-resizer:hover .side-pane-resizer-grip,
.side-pane-resizer:focus-visible .side-pane-resizer-grip,
.side-pane-resizer.is-resizing .side-pane-resizer-grip {
  width: 3px;
  background: var(--active);
}
.shell-banner,
.pane-header,
.toolbar,
.toolbar-actions,
.pane-actions,
.editor-action-group,
.actions-menu-item,
.selection-controls,
.item-main,
.item-meta,
.item-actions,
.row-actions,
.label-row,
.section-header,
.summary-inline,
.config-row {
  display: flex;
  min-width: 0;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.4rem;
}
.shell-banner, .pane-header { justify-content: space-between; padding: 0.5rem 0.6rem; background: var(--soft); }
.pane-header { flex: 0 0 auto; border-width: 0 0 1px; border-radius: 0; }
.shell-banner { align-items: center; flex-wrap: nowrap; gap: 0.5rem; }
.shell-banner-main, .shell-banner-captions, .pane-title, .pane-title-wrap, .title-wrap, .item-main, .item-title, .summary-main, .item-overview { min-width: 0; }
.shell-banner-main { display: flex; align-items: baseline; flex: 1 1 0; gap: 0.45rem; overflow: hidden; white-space: nowrap; }
.shell-banner-title {
  flex: 1 1 auto;
  min-width: 0;
  margin: 0;
  overflow: hidden;
  font-size: 1.08rem;
  line-height: 1.2;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.shell-banner-captions {
  flex: 0 1 auto;
  max-width: min(16rem, 52%);
  overflow: hidden;
  flex-wrap: nowrap;
  gap: 0.45rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.shell-banner-captions > *,
.shell-banner-link > span:last-child,
.pane-title-link,
.pane-title-wrap,
.tree-main,
.tree-label,
.file-name,
.item-title,
.item-heading,
.dropdown-button-value,
.check-label,
.control-value,
.dropdown-label,
.item-comment,
.truncate {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.shell-banner-link, .pane-title-link { color: inherit; text-decoration: none; }
.shell-banner-link { display: inline-flex; align-items: baseline; flex: 0 1 auto; min-width: 0; gap: 0.18rem; }
.shell-banner-link:hover, .shell-banner-link:focus-visible, .pane-title-link:hover, .pane-title-link:focus-visible { color: var(--active); text-decoration: underline; }
.shell-banner-actions, .shell-banner .shell-utility-buttons, .shell-banner .action-buttons { display: flex; align-items: center; flex: 0 0 auto; flex-wrap: nowrap; }
.shell-banner-actions { justify-content: flex-end; max-width: max-content; min-width: max-content; gap: 0.4rem; white-space: nowrap; }
.pane-actions { justify-content: flex-end; }
.editor > .pane-header { align-items: center; flex-direction: row; flex-wrap: nowrap; gap: 0.5rem; }
.editor > .pane-header .pane-title-wrap { display: flex; align-items: center; flex: 1 1 0; gap: 0.4rem; overflow: hidden; white-space: nowrap; }
.editor > .pane-header .pane-title-link, .editor > .pane-header .pane-title-text, .editor > .pane-header .pane-title-wrap > .text-truncate { display: block; flex: 1 1 auto; min-width: 0; }
.editor > .pane-header .pane-title-text { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.editor > .pane-header .pane-actions {
  flex: 0 1 auto;
  flex-wrap: nowrap;
  justify-content: flex-start;
  max-width: min(74%, 100%);
  margin-block: -0.18rem;
  padding-block: 0.18rem;
  overflow-x: auto;
  overflow-y: visible;
  white-space: nowrap;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
}
.editor > .pane-header .pane-actions::before { flex: 1 0 0; content: ""; }
.title-wrap { flex: 1 1 auto; white-space: normal; overflow-wrap: anywhere; }
.pane-summary {
  margin-top: 0.1rem;
  overflow: hidden;
  color: var(--muted);
  font-size: 0.72rem;
  line-height: 1.15;
  text-overflow: ellipsis;
  white-space: nowrap;
}
/* Outrank Bootstrap .btn and shell padding regardless of stylesheet order. */
.icon-button,
.tree-add,
.btn.icon-button,
.btn.tree-add {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  flex-shrink: 0;
  width: 2rem;
  min-width: 2rem;
  height: 2rem;
  padding: 0;
  line-height: 1;
}
.icon-button.icon-button-compact, .open-linked-button.icon-button { width: 1.6rem; min-width: 1.6rem; height: 1.6rem; }
.open-linked-button.icon-button { border: 0; background: transparent; color: var(--active); }
.actions-dropdown, .dropdown-shell, .help { position: relative; }
.actions-menu {
  position: absolute;
  top: calc(100% + 0.3rem);
  right: 0;
  z-index: 50;
  display: grid;
  gap: 0.25rem;
  min-width: min(16rem, calc(100vw - 1.5rem));
  padding: 0.35rem;
  box-shadow: var(--menu-shadow);
}
.actions-menu-item { justify-content: space-between; width: 100%; }
:is(
  .tree-main,
  .tree-add,
  .side-pane-resizer,
  .actions-menu-toggle,
  .icon-button,
  .dropdown-button,
  .control-display,
  .help-button,
  .item-row,
  .item-card
):focus-visible,
.check-control:focus-within .check-pill {
  outline: 0;
  box-shadow: var(--focus-ring);
}
:is(.icon-button, .tree-add, .dropdown-button, .control-display, .visibility-toggle):disabled, .control.is-disabled, .check-control.is-disabled { cursor: not-allowed; opacity: 0.55; }
.tree,
.message-list,
.json-editor,
.preformatted-content,
.log-lines,
.scroll-region {
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}
.tree, .json-editor, .message-list, .empty, .preformatted-content, .log-lines { padding: 0.65rem; }
.tree { flex: 1 1 auto; min-height: 0; }
/* Anchor absolute field controls inside the scroll region, not the page. */
.json-editor { position: relative; flex: 1 1 auto; }
.collapse-icon { position: relative; display: inline-block; width: 1.05rem; height: 0.9rem; border: 1px solid currentColor; border-radius: 0.16rem; }
.collapse-icon::before {
  position: absolute;
  top: 0.12rem;
  bottom: 0.12rem;
  width: 0.25rem;
  border-radius: 0.08rem;
  background: currentColor;
  content: "";
  opacity: 0.28;
}
.collapse-icon.is-expanded::before { left: 0.14rem; }
.collapse-icon.is-collapsed::before { right: 0.14rem; }
.empty, .status-line, .editor-note { color: var(--muted); font-size: 0.88rem; }
.tree-row { display: flex; align-items: center; gap: 0.25rem; min-height: 2rem; }
.tree-section { margin-top: 0.25rem; color: var(--muted); font-size: 0.76rem; font-weight: 700; text-transform: uppercase; }
.tree-main {
  display: flex;
  flex: 1 1 auto;
  align-items: center;
  gap: 0.35rem;
  min-height: 1.85rem;
  padding: 0.26rem 0.36rem;
  border: 0;
  border-radius: 5px;
  background: transparent;
  color: inherit;
  text-align: left;
}
.tree-main:hover,
.tree-main:focus-visible,
.summary-button:hover,
.summary-button:focus-visible,
.text-button:hover,
.text-button:focus-visible {
  background: #eef2f7;
  outline: 0;
}
.tree-twist { flex: 0 0 0.8rem; color: var(--muted); text-align: center; }
.tree-add, .icon-button, .visibility-toggle { border: 1px solid var(--border); border-radius: 5px; background: #fff; color: #495057; }
.tree-add { color: var(--active); font-weight: 800; }
.file-row.is-active .tree-main { background: var(--active); color: #fff; }
.file-row.is-dirty .file-name { font-weight: 800; }
.file-row.is-pending-push .tree-main { box-shadow: inset 4px 0 0 var(--warn); }
.item-row.is-editing, .item-card.is-editing { box-shadow: inset 3px 0 0 var(--warn); }
.file-row.is-deleted .tree-main { background: #fff8e1; color: #7c4a03; }
.file-row.is-deleted .file-name { text-decoration: line-through; }
.file-row.is-assisted-edit .file-name::after { color: #0f766e; content: " AI"; font-size: 0.68rem; font-weight: 800; }
.file-row.is-active.is-assisted-edit .file-name::after { color: #fff; }
.file-row.is-published .tree-main, .item-row.is-published, .ordered-item-row.is-published, .collapsible-panel.is-published { border-left: 4px solid var(--ok); }
.file-row.is-hidden .tree-main, .item-row.is-hidden, .ordered-item-row.is-hidden, .collapsible-panel.is-hidden { border-left: 4px solid var(--muted); background: var(--soft); }
.file-row.has-reference .tree-main, .collapsible-panel.is-expanded { border-color: rgba(13, 110, 253, 0.28); }
.status-badge,
.file-marker,
.file-status-marker,
.points-badge,
.association-badge,
.association-indicator {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  gap: 0.18rem;
  min-height: 1.35rem;
  padding: 0.08rem 0.4rem;
  border: 1px solid var(--border);
  border-radius: 999px;
  background: var(--soft);
  color: #495057;
  font-size: 0.7rem;
  font-weight: 800;
  line-height: 1.1;
  white-space: nowrap;
}
.file-marker-cluster { display: inline-flex; flex: 0 0 auto; gap: 0.15rem; min-width: 0; }
.file-status-marker { border-color: #f2cf77; background: #fff6db; color: #7c4a03; }
.marker-violet { border-color: #c7b8ff; color: #5b21b6; }
.marker-success,
.status-badge.is-published,
.status-badge.is-visible,
.status-badge.is-correct,
.check-pill.is-visible,
.visibility-toggle.is-published,
.panel.is-correct,
.choice-row.is-correct {
  border-color: rgba(25, 135, 84, 0.28);
  background: rgba(25, 135, 84, 0.08);
  color: #146c43;
}
.status-badge.is-hidden, .check-pill.is-hidden, .visibility-toggle.is-hidden { background: #e9ecef; color: #495057; }
.workspace-footer { grid-column: 1 / -1; padding: 0.45rem 0.1rem 0; color: var(--muted); font-size: 0.78rem; }
.source-editor,
.editor-fallback,
.preformatted-content,
.log-line,
.diff-line {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace;
}
.source-editor { flex: 1 1 auto; min-height: 24rem; font-size: 0.86rem; line-height: 1.45; resize: vertical; }
.json-editor,
.list-editor,
.table-editor,
.stack-editor,
.config-editor,
.content-grid,
.item-list,
.item-card .item-overview,
.summary-panel,
.empty-grid,
.content-workspace,
.field-row,
.field-grid,
.json-fields,
.json-list,
.extra-options,
.pair-row,
.response-row {
  display: grid;
  align-content: start;
  gap: 0.4rem;
  min-width: 0;
}
.field-grid { grid-template-columns: repeat(auto-fit, minmax(min(100%, var(--field-min)), 1fr)); }
.fieldset-panel, .json-group { min-width: 0; margin: 0; padding: 0.55rem; }
.json-group > summary { cursor: pointer; font-size: 0.78rem; font-weight: 700; overflow-wrap: anywhere; }
.json-group > summary:focus-visible { outline: 0; box-shadow: var(--focus-ring); }
.json-group[open] > summary { margin-bottom: 0.4rem; }
.fieldset-panel { border: 1px solid var(--border); }
.fieldset-legend { float: none; width: 100%; border-bottom: 1px solid var(--border); }
.fieldset-legend,
.config-kicker,
.json-group legend,
.json-field > span:not(.control):not(.json-boolean-help-row),
.inline-field > span:not(.control):not(.empty-control):not(.dropdown-shell):not(.check-with-help),
.inline-field > legend,
.field-label,
.property-label {
  color: #495057;
  font-size: 0.72rem;
  font-weight: 800;
  line-height: 1.2;
  text-transform: uppercase;
}
.json-field,
.field,
.cell-field {
  display: grid;
  gap: 0.2rem;
  min-width: 0;
  margin: 0;
}
.inline-field {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.2rem 0.42rem;
  min-width: 0;
  max-width: 100%;
  margin: 0;
}
.inline-field > *, .field > * { min-width: 0; max-width: 100%; }
.inline-field > :where(.dropdown-shell, .control, .check-control, .empty-control, .form-control, .form-select) { flex: 1 1 6.5rem; inline-size: auto; width: auto; }
.class-applicability-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .4rem; min-width: 0; }
.class-applicability-fields > .inline-field { display: grid; grid-template-columns: minmax(0, 1fr); align-content: end; gap: .2rem; }
.class-applicability-fields .dropdown-shell { inline-size: 100%; width: 100%; }
.class-applicability-fields .dropdown-button-value { white-space: normal; overflow-wrap: anywhere; }
.control,
.dropdown-shell,
.check-control,
.label-row,
.json-boolean-help-row,
.check-with-help,
.summary-inline,
.association-control,
.visibility-control,
.item-meta {
  display: inline-flex;
  align-items: center;
  gap: 0.28rem;
  min-width: 0;
  max-width: 100%;
}
.control, .dropdown-shell, .check-control { box-sizing: border-box; inline-size: var(--control-inline-size, max-content); max-inline-size: 100%; }
.control-display,
.control-input,
.dropdown-button,
.check-pill {
  display: inline-flex;
  box-sizing: border-box;
  align-items: center;
  justify-content: center;
  min-width: 0;
  max-width: 100%;
  min-height: var(--control-height);
  padding: var(--control-padding-y) var(--control-padding-x);
  border: 1px solid rgba(108, 117, 125, 0.24);
  border-radius: 999px;
  background: #fff;
  color: #495057;
  font-size: var(--control-font-size);
  font-weight: var(--control-font-weight, 700);
  line-height: 1.1;
}
.control-display, .dropdown-button, .check-pill { inline-size: 100%; overflow: hidden; }
.native-checkbox { min-height: var(--control-height); font-size: var(--control-font-size); }
.native-checkbox > input { flex: 0 0 auto; margin: 0; }
.native-checkbox > .check-label { white-space: normal; overflow-wrap: anywhere; }
.dropdown-full, .association-full, .association-full .dropdown-shell, .association-full .dropdown-button, .item-actions .dropdown-shell { width: 100%; justify-content: flex-start; }
.dropdown-button-icon, .control-icon { flex: 0 0 auto; }
.dropdown-button-value, .control-value, .check-label { flex: 1 1 auto; }
.dropdown-button:not(:disabled):hover,
.dropdown-shell.is-open > .dropdown-button,
.control-display:not(:disabled):not([aria-disabled="true"]):hover {
  border-color: rgba(13, 110, 253, 0.36);
  background: rgba(13, 110, 253, 0.08);
  color: var(--active);
}
.check-input,
.dropdown-checkbox-input {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.form-control.control-input,
.control-input {
  inline-size: min(100%, var(--control-inline-size, 12rem));
  width: min(100%, var(--control-inline-size, 12rem));
  min-height: var(--control-height);
  font-size: var(--control-font-size);
}
.form-control.control-input {
  display: inline-flex;
  padding: var(--control-padding-y) var(--control-padding-x);
  border-color: rgba(108, 117, 125, 0.24);
  border-radius: 999px;
  color: #495057;
  line-height: 1.1;
  text-align: inherit;
}
.control.is-number.is-editing,
.inline-edit.is-number.is-editing {
  min-inline-size: min(100%, var(--control-number-min-inline-size, 4.35rem));
}
.control.is-number.is-editing .control-input,
.inline-edit.is-number.is-editing > input[type="number"] {
  min-inline-size: min(100%, var(--control-number-min-inline-size, 4.35rem));
}
.inline-edit.is-number.is-editing {
  display: inline-block;
  max-inline-size: 100%;
}
.anchored-dropdown-menu {
  position: fixed;
  z-index: 1080;
  display: grid;
  gap: 0.18rem;
  overflow: auto;
  min-width: 10rem;
  margin: 0;
  padding: 0.35rem;
  font-size: 1rem;
  color: var(--bs-body-color);
  text-align: left;
  list-style: none;
  border: 1px solid var(--border);
  border-radius: 6px;
  background: #fff;
  background-clip: padding-box;
  box-shadow: var(--menu-shadow);
}
.dropdown-title { padding: 0.18rem 0.3rem 0.28rem; color: var(--muted); font-size: 0.7rem; font-weight: 800; text-transform: uppercase; }
.dropdown-options { display: grid; gap: 0.18rem; }
.dropdown-option {
  display: grid;
  grid-template-columns: 0.8rem minmax(0, 1fr);
  gap: 0.34rem;
  align-items: center;
  min-width: 0;
  width: 100%;
  padding: 0.34rem 0.42rem;
  border: 1px solid transparent;
  border-radius: 5px;
  background: transparent;
  color: inherit;
  font-size: 0.8rem;
  line-height: 1.18;
  text-align: left;
}
.dropdown-option:hover,
.dropdown-option:focus-visible,
.dropdown-option.is-selected,
.dropdown-option.is-checked {
  border-color: rgba(13, 110, 253, 0.24);
  outline: 0;
  background: rgba(13, 110, 253, 0.08);
  color: #084298;
  font-weight: 800;
}
.dropdown-check { width: 0.55rem; height: 0.55rem; border: 1px solid rgba(108, 117, 125, 0.42); border-radius: 999px; background: #fff; }
.dropdown-option.is-selected .dropdown-check, .dropdown-option.is-checked .dropdown-check { border-color: var(--active); background: var(--active); }
.dropdown-icon.dropdown-button, .dropdown-marker.dropdown-button { width: 1.55rem; min-width: 1.55rem; min-height: 1.55rem; padding: 0; }
.dropdown-marker.dropdown-button { width: 2.2rem; }
.help-popover {
  position: absolute;
  top: calc(100% + 0.35rem);
  left: 0;
  z-index: 80;
  display: none;
  width: min(18rem, 82vw);
  padding: 0.55rem 0.62rem;
  border: 1px solid var(--border);
  border-radius: 6px;
  background: #fff;
  box-shadow: 0 0.65rem 1.45rem rgba(15, 23, 42, 0.18);
  color: #343a40;
  font-size: 0.78rem;
  font-weight: 600;
  line-height: 1.35;
  text-align: left;
  text-transform: none;
}
.help:hover .help-popover, .help:focus-within .help-popover, .help.is-open .help-popover { display: block; }
.help-button { padding: 0 0.16rem; border: 1px solid rgba(108, 117, 125, 0.48); background: transparent; color: #6c757d; font-size: 0.65rem; line-height: 1.05; }
.floating-panel {
  display: grid;
  justify-self: center;
  gap: 0.45rem;
  min-width: 0;
  width: min(100%, var(--content-max-width));
  padding: 0.65rem;
  border: 1px solid var(--border);
  border-radius: 6px;
  background: var(--soft);
  box-shadow: 0 0.65rem 1.4rem rgba(15, 23, 42, 0.14);
}
.floating-panel-flow .floating-panel-body { display: grid; gap: 0.45rem; }
.property-details { min-width: 0; max-width: 100%; }
.property-row { display: grid; grid-template-columns: minmax(7rem, 0.45fr) minmax(0, 1fr); gap: 0.35rem; }
.property-value { min-width: 0; overflow-wrap: anywhere; }
.property-value.is-empty, .empty-control { color: var(--muted); }
.empty-control {
  display: inline-flex;
  align-items: center;
  min-height: 2rem;
  padding: 0.3rem 0.55rem;
  border: 1px dashed var(--border);
  border-radius: 5px;
  font-size: 0.72rem;
  overflow-wrap: anywhere;
}
.canvas-class-picker,
.deployment-publishing-panel {
  display: grid;
  gap: 0.16rem;
  min-width: 0;
  padding: 0.35rem;
  border: 1px solid var(--border);
  border-radius: 6px;
  background: var(--soft);
}
.canvas-class-picker { max-height: min(18rem, 45vh); overflow: auto; }
.canvas-class-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(2.6rem, max-content) minmax(2.6rem, max-content);
  align-items: center;
  gap: 0.22rem 0.45rem;
  min-width: 0;
  min-height: 1.72rem;
  padding: 0.12rem 0.22rem;
  border-radius: 4px;
}
.canvas-class-row:not(.canvas-class-heading):hover { background: rgba(13, 110, 253, 0.06); }
.canvas-class-heading {
  position: sticky;
  top: 0;
  z-index: 1;
  background: var(--soft);
  color: var(--muted);
  font-size: 0.66rem;
  font-weight: 800;
  line-height: 1.1;
  text-transform: uppercase;
}
.canvas-class-heading > :not(:first-child),
.canvas-class-control {
  justify-self: end;
  text-align: right;
}
.canvas-class-label {
  display: grid;
  min-width: 0;
  color: inherit;
  line-height: 1.12;
}
.canvas-class-label:hover { color: inherit; }
.canvas-class-name,
.canvas-class-detail,
.deployment-publishing-label,
.shell-settings-file-path {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.canvas-class-name { font-size: 0.82rem; font-weight: 700; }
.canvas-class-detail {
  color: var(--muted);
  font-size: 0.66rem;
  font-weight: 600;
}
.canvas-class-control.form-check {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  min-height: auto;
  margin: 0;
  padding: 0;
}
.canvas-class-control .form-check-input,
.deployment-publishing-option .form-check-input {
  flex: 0 0 auto;
  float: none;
  margin: 0;
}
.canvas-class-empty-control { min-height: 1rem; }
.canvas-class-empty-message,
.deployment-publishing-empty {
  padding: 0.28rem 0.35rem;
  color: var(--muted);
  font-size: 0.76rem;
  font-weight: 600;
}
.deployment-publishing-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 9rem), 1fr));
  gap: 0.25rem;
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
}
.deployment-publishing-option {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.45rem;
  min-width: 0;
  min-height: 1.8rem;
  padding: 0.18rem 0.36rem;
  border: 1px solid rgba(108, 117, 125, 0.24);
  border-radius: 4px;
  background: #fff;
  color: #343a40;
  font-size: 0.78rem;
  font-weight: 700;
  line-height: 1.1;
}
.deployment-publishing-panel.is-readonly { opacity: 0.72; }
.shell-settings-file-path { max-width: min(100%, 28rem); }
.summary-grid, .section-header, .config-summary { padding: 0.6rem; background: var(--soft); }
.summary-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.65rem; font-size: 0.84rem; }
.data-table { width: 100%; min-width: 36rem; border-collapse: collapse; font-size: 0.86rem; }
.data-table :is(th, td), .data-grid :is(th, td) { padding: 0.45rem; border: 1px solid var(--border); vertical-align: top; }
.visibility-toggle.is-published { border-color: rgba(25, 135, 84, 0.36); background: rgba(25, 135, 84, 0.08); color: #146c43; }
.visibility-toggle-compact.visibility-toggle { width: 2rem; min-width: 2rem; min-height: var(--control-height); }
.toggle-cell { display: inline-flex; align-items: center; gap: 0.35rem; min-width: 0; }
.toggle-state { color: var(--muted); font-size: 0.78rem; font-weight: 700; white-space: nowrap; }
.visibility-icon {
  width: 1.05rem;
  height: 1.05rem;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.image-preview { display: grid; flex: 1 1 auto; place-items: center; overflow: auto; padding: 0.75rem; background: var(--soft); }
.image-preview img, .preview-image, .preview-media { display: block; max-width: 100%; max-height: 100%; object-fit: contain; }
.pdf-preview, .preview-embed { flex: 1 1 auto; width: 100%; min-height: 0; border: 0; background: var(--soft); }
.preformatted-content { margin: 0; white-space: pre-wrap; word-break: break-word; }
.status-line, .editor-note { padding: 0.55rem 0.65rem; border-top: 1px solid var(--border); }
.status-line.is-warning { border-color: rgba(183, 121, 31, 0.26); background: rgba(183, 121, 31, 0.08); color: #7c4a03; }
.content-editor, .surface, .editor-shell { display: flex; flex: 1 1 auto; flex-direction: column; }
.content-editor { position: relative; isolation: isolate; }
.overlay-head {
  position: absolute;
  inset: 0 0 auto;
  z-index: 30;
  display: grid;
  gap: 0.6rem;
  max-height: min(calc(100% - 0.75rem), 32rem);
  overflow: auto;
  padding: 0.65rem;
  pointer-events: none;
}
.overlay-head > * { pointer-events: auto; }
.editor-shell { min-height: 18rem; overflow: auto; background: #fff; }
.editor-shell .tox-tinymce, .editor-loading, .editor-fallback { flex: 1 1 auto; min-height: 18rem; }
/* Let the TinyMCE resize handle own its height; scroll the shell when it exceeds the pane. */
.editor-shell .tox-tinymce { flex: 0 0 auto; }
.editor-shell .tox-tinymce, .editor-fallback { border: 0; border-radius: 0; }
.editor-fallback { width: 100%; resize: none; }
/* Fullscreen must escape the content pane's stacking context. TinyMCE owns
   fullscreen geometry, including visualViewport updates while typing. */
.page-entry-editor:has(.tox-fullscreen) { isolation: auto; }
.page-entry-editor .tox-tinymce.tox-fullscreen { min-height: 0; }

@media (max-width: 767.98px), (max-width: 1023.98px) and (max-height: 500px) and (pointer: coarse) {
  /* The mobile pane has no definite height for TinyMCE's height: 100%.
     Size the actual iframe region; let toolbar/statusbar add their own height.
     svh stays steady when browser chrome/keyboard changes, and follows rotation.
     Keep the surrounding page scrollable to its Save/Cancel controls. */
  .workspace-shell:has(.page-entry-editor) { height: auto; overflow: visible; }
  .main:has(.page-entry-editor) { overflow: visible; }
  .editor:has(.page-entry-editor), .page-entry-editor,
  .page-entry-editor .editor-shell { flex: 0 0 auto; height: auto; overflow: visible; }
  .page-entry-editor .editor-shell { min-width: 0; max-width: 100%; }
  .page-entry-editor .tox-tinymce:not(.tox-fullscreen) {
    width: 100%;
    max-width: 100%;
    height: auto !important;
    min-height: 0;
  }
  .page-entry-editor .tox-tinymce:not(.tox-fullscreen) .tox-editor-container { flex: 0 0 auto; }
  .page-entry-editor .tox-tinymce:not(.tox-fullscreen) .tox-sidebar-wrap {
    flex: 0 0 auto;
    height: 70vh;
    height: 70svh;
  }
  .page-entry-editor .tox .tox-tbtn { min-height: 44px; }
  /* Touch expansion replaces the tiny drag target only at phone sizes. */
  .page-entry-editor .tox-statusbar__resize-handle { display: none; }
}

.tox .dialog-shell {
  --preview-max-height: min(18rem, 32dvh);
  display: grid;
  gap: 0.65rem;
  min-width: 0;
  max-width: 100%;
  overflow-x: hidden;
  color: #212529;
  font-family: -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif;
  font-size: 0.88rem;
}
.tox .dialog-layout {
  grid-template-columns: minmax(0, 1.35fr) minmax(14rem, 0.75fr);
  align-items: start;
}
.tox .dialog-layout,
.tox .tree-browser,
.tox .selection-panel,
.tox .selected-panel,
.tox .inventory-panel {
  display: grid;
  gap: 0.5rem;
  min-width: 0;
  max-width: 100%;
  overflow-x: hidden;
}
.tox .inventory-panel {
  gap: 0;
  overflow: hidden;
  border: 1px solid var(--border);
  border-radius: 6px;
  background: #fff;
}
.tox .inventory-panel .pane-header {
  border-bottom: 1px solid var(--border);
}
.tox .inventory-panel .pane-title-wrap {
  display: block;
  overflow: hidden;
}
.tox .tree-browser {
  max-height: min(24rem, 48vh);
  overflow-y: auto;
}
.tox .selection-panel { overflow: hidden; padding: 0.5rem; }
.tox .managed-tree-row { width: 100%; }
.tox .managed-tree-row .tree-main { font: inherit; }
.tox .managed-tree-row.is-mode-unsupported { opacity: 0.62; }
.tox .internal-link-row .tree-main { justify-content: space-between; }
.tox .internal-link-row .item-meta {
  flex: 0 1 auto;
  overflow: hidden;
  color: inherit;
  font-size: 0.76rem;
  opacity: 0.78;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.tox .file-row.is-active .item-meta { opacity: 0.88; }
.tox .item-main, .tox .panel-head { display: flex; align-items: center; gap: 0.35rem; min-width: 0; }
.tox .tree-label, .tox .item-title, .tox .selection-label { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-weight: 800; }
.tox .preview-identity {
  display: grid;
  gap: 0.35rem;
  min-width: 0;
  max-width: 100%;
  place-items: center;
  color: var(--muted);
  text-align: center;
}
.tox .preview-identity a {
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.tox .selection-preview {
  display: grid;
  box-sizing: border-box;
  min-height: 5rem;
  max-height: calc(var(--preview-max-height) + 0.8rem);
  place-items: center;
  overflow: hidden;
  padding: 0.4rem;
  border: 1px solid var(--border);
  border-radius: 6px;
  background: #fff;
}
.tox .preview-image, .tox .preview-media { width: auto; height: auto; max-width: 100%; max-height: var(--preview-max-height); object-fit: contain; }
.tox .preview-audio { width: min(100%, 28rem); max-width: 100%; }
.tox .tox-dialog.dialog-window, .tox-dialog.dialog-window { max-width: min(58rem, calc(100vw - 2rem)); }
.tox .aacc-link-source-actions { flex-wrap: wrap; margin-top: 0.45rem; }
.tox .aacc-link-source-actions .tox-button { flex: 0 0 auto; max-width: 100%; white-space: nowrap; }
@media (max-width: 700px) {
  .tox .dialog-layout { grid-template-columns: minmax(0, 1fr); }
  .tox .aacc-link-source-actions .tox-button { flex: 1 1 auto; justify-content: center; }
}
.item-list, .section-list { display: grid; gap: 0.5rem; min-width: 0; }
.section-title { margin: 0; color: #495057; font-size: 0.78rem; font-weight: 800; }
.item-section.is-muted { background: #fffaf2; }
.section-heading { display: flex; flex: 1 1 15rem; align-items: center; gap: 0.35rem; min-width: 0; margin: 0; font-size: revert; }
.text-button, .summary-button, .inline-edit-display { border: 0; background: transparent; color: inherit; text-align: left; }
.disclosure-button { display: inline-flex; flex: 1 1 min(100%, 12rem); align-items: center; gap: 0.35rem; min-width: 0; padding: 0; }
.sortable-position-input { width: 3.2rem; min-width: 0; min-height: var(--control-height); font-size: var(--control-font-size); font-weight: 700; text-align: center; }
.item-row { display: grid; grid-template-columns: minmax(0, 1fr) max-content; gap: 0.3rem 0.5rem; padding: 0.4rem 0.5rem; cursor: default; }
.item-main, .title-line, .item-meta { gap: 0.35rem; }
.item-icon, .item-marker { flex: 0 0 auto; font-weight: 800; }
.due-date-indicator { display: inline-flex; flex: 0 0 auto; align-items: center; justify-content: center; line-height: 1; cursor: help; }
.item-details { grid-column: 1 / -1; padding-top: 0.36rem; border-top: 1px solid var(--border); }
.item-summary, .path-list { min-width: 0; }
.path-list { grid-column: 1 / -1; }
.item-actions { align-items: end; gap: 0.4rem; }
.item-actions .field { flex: 1 1 10.5rem; min-width: min(100%, 10.5rem); }
.item-actions :is(.visibility-field, .remove-field) { flex: 0 0 auto; min-width: 0; }
.item-actions .visibility-field { margin-left: auto; }
.settings-grid > :is(.visibility-field, .remove-field) { justify-self: start; align-self: end; width: max-content; }
.item-actions .remove-field { align-self: start; }
.collapsible-panel, .list-section { position: relative; display: grid; gap: 0.5rem; min-width: 0; }
.summary-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; }
.summary-button { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 0.65rem; align-items: center; min-height: 3rem; padding: 0.65rem 0.75rem; }
.summary-main { display: flex; align-items: baseline; gap: 0.5rem; }
.summary-main > .summary-caption { flex-shrink: 0; }
.summary-title, .summary-caption { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.summary-caption { color: var(--muted); font-size: 0.68rem; font-weight: 600; line-height: 1.1; }
.settings-toggle.icon-button, .visibility-toggle { min-height: -webkit-fill-available; }
.panel-content { display: grid; gap: 0.65rem; padding: 0 0.75rem 0.75rem; }
.ordered-item-row {
  display: grid;
  grid-template-columns: max-content max-content max-content minmax(0, 1fr) max-content;
  gap: 0.35rem 0.45rem;
  align-items: center;
  box-sizing: border-box;
  padding: 0.42rem 0.5rem;
  cursor: pointer;
}
.ordered-item-row:not(.is-editing) { overflow: hidden; }
.indent-spacer { width: var(--item-indent-offset, 0rem); max-width: 5.7rem; }
.item-type-marker {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.35rem;
  min-width: 1.35rem;
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 800;
}
.item-number { color: var(--muted); font-size: 0.72rem; font-weight: 800; }
.ordered-item-row:not(.is-editing) .item-meta { justify-self: end; min-width: max-content; white-space: nowrap; }
.ordered-item-row.is-editing { grid-template-columns: minmax(0, 1fr); padding: 0.6rem; }
.ordered-item-row.is-editing .item-main { align-items: end; }
.ordered-item-row.is-editing .item-editor-primary-row {
  display: grid;
  grid-template-columns: max-content max-content minmax(0, 9rem) minmax(0, 1fr) max-content max-content;
  gap: 0.35rem 0.45rem;
  width: 100%;
}
.ordered-item-row.is-editing .item-editor-primary-row .remove-field,
.ordered-item-row.is-editing .item-editor-primary-row .visibility-field {
  align-self: end;
  justify-self: start;
}
.ordered-item-row.is-editing .item-editor-primary-row .open-linked-button {
  grid-column: -3 / -2;
  justify-self: end;
}
.ordered-item-row.is-editing .item-editor-primary-row .visibility-field {
  grid-column: -2 / -1;
  justify-self: end;
}
.ordered-item-row.is-editing .indent-field { flex: 0 1 9rem; }
.ordered-item-row.is-editing .position-field, .ordered-item-row.is-editing .open-linked-button { flex: 0 0 auto; }
.ordered-item-row.is-editing .position-field > .sortable-position-input { flex: 0 0 3.2rem; inline-size: 3.2rem; width: 3.2rem; }
.ordered-item-row.is-editing .item-title { flex: 1 1 14rem; white-space: normal; overflow-wrap: anywhere; }
.section-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 22rem), 1fr)); gap: 0.75rem; align-items: start; }
.stack { display: grid; gap: 0.35rem; min-width: 0; }
.grid-row { display: grid; grid-template-columns: 3rem minmax(0, 1fr) minmax(0, 4rem); gap: 0.35rem; align-items: start; }
.grid-row.item-row { padding: 0.45rem; }
.position-cell { display: grid; align-items: start; justify-items: center; }
.row-cell { min-width: 0; }
.row-label { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.content-workspace { grid-template-rows: minmax(18rem, 1fr); align-self: center; flex: 1 1 auto; width: 100%; max-width: var(--content-max-width); overflow: auto; padding: 0.75rem; }
/* A quiz document owns its row height; the workspace scrolls the document and questions together. */
.content-workspace:has(> .preview-frame) { grid-template-rows: max-content; }
.preview-frame { display: flex; min-height: 18rem; overflow: hidden; border: 1px solid var(--border); border-radius: 6px; background: #fff; }
.choice-row { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 0.45rem; min-width: 0; padding: 0.45rem; }
.choice-row.is-framed { border: 1px solid var(--border); border-radius: 6px; }
.item-card { padding: 0.6rem; }
.item-card[role="button"] { cursor: pointer; }
.item-card[role="button"]:hover { border-color: rgba(13, 110, 253, 0.28); }
.item-heading, .config-title { color: #212529; font-size: 0.96rem; font-weight: 800; line-height: 1.25; overflow-wrap: anywhere; }
.item-trailing { margin-left: auto; color: var(--muted); font-size: 0.78rem; font-weight: 800; white-space: nowrap; }
.points-label, .points-value { display: inline; }
.panel { display: grid; }
.item-details.is-flush { padding-top: 0; }
.surface-inset { padding: 0.5rem; background: var(--soft); }
.span-full { grid-column: 1 / -1; }
.content-text { overflow-wrap: anywhere; line-height: 1.35; }
.table-editor, .data-grid-editor, .data-grid-block { display: grid; grid-template-rows: auto minmax(0, 1fr); gap: 0.6rem; min-width: 0; min-height: 0; overflow: hidden; }
.scroll-frame { max-width: 100%; min-height: 0; }
.data-grid { width: 100%; min-width: var(--data-grid-min-width, 100%); border-collapse: collapse; table-layout: fixed; overflow-wrap: anywhere; }
.data-cell.is-lead { min-width: 12.75rem; background: var(--soft); }
.data-cell { min-width: 11.5rem; }
.data-row { min-width: 0; }
.points-value { font-weight: 800; text-align: right; }
.cell-summary-row, .cell-actions { display: flex; align-items: center; gap: 0.35rem; min-width: 0; }
.cell-control.control,
.cell-textarea,
.cell-control .control-display,
.cell-control .control-input,
.cell-text,
.cell-textarea-input,
.cell-input,
.cell-number {
  width: 100%;
  max-width: 100%;
}
.cell-text {
  display: block;
  min-height: var(--control-height);
  padding: var(--control-padding-y) var(--control-padding-x);
  border: 1px solid transparent;
  border-radius: 5px;
  background: transparent;
  font: inherit;
  white-space: pre-wrap;
}
.cell-textarea-input { min-height: 7rem; resize: vertical; }
.message-pane.is-popout,
.message-pane-launcher {
  position: fixed;
  right: max(1rem, env(safe-area-inset-right));
  bottom: max(1rem, env(safe-area-inset-bottom));
  z-index: 1085;
  box-shadow: 0 1rem 2.5rem rgba(33, 37, 41, 0.22);
}
.message-pane.is-popout { width: min(28rem, calc(100vw - 2rem)); height: min(42rem, calc(100dvh - 2rem)); }
.message-pane-launcher {
  width: 3.4rem;
  height: 3.4rem;
  border: 1px solid rgba(13, 110, 253, 0.45);
  border-radius: 50%;
  background: var(--active);
  color: #fff;
  font-weight: 800;
}
.config-panel, .compose { display: grid; gap: 0.45rem; padding: 0.55rem 0.65rem; border-top: 1px solid var(--border); }
.config-panel { border-bottom: 1px solid var(--border); }
.status-line.is-info { padding: 0.4rem 0.65rem; border-top: 0; border-bottom: 1px solid var(--border); background: rgba(13, 110, 253, 0.04); }
.message-list { flex: 1 1 auto; }
.narration-author { flex: 0 1 auto; min-height: 0; max-height: 65%; overflow: auto; padding: 0.55rem 0.65rem; border-top: 1px solid var(--border); }
.narration-body { display: grid; gap: 0.45rem; margin-top: 0.45rem; }
.narration-body textarea { resize: vertical; }
.message {
  display: grid;
  gap: 0.16rem;
  max-width: 100%;
  padding: 0.45rem 0.5rem;
  border: 1px solid var(--border);
  border-radius: 6px;
  background: #fff;
}
.message.is-user { border-color: rgba(13, 110, 253, 0.22); background: rgba(13, 110, 253, 0.06); }
.message.is-assistant { border-color: rgba(25, 135, 84, 0.22); background: rgba(25, 135, 84, 0.06); }
.message-role { color: var(--muted); font-size: 0.68rem; font-weight: 800; text-transform: uppercase; }
.message-content { overflow-wrap: anywhere; font-size: 0.84rem; line-height: 1.42; }
.message-content > :first-child { margin-top: 0; }
.message-content > :last-child { margin-bottom: 0; }
.message-content :is(p, ul, ol, blockquote, pre, table) { margin: 0 0 0.45rem; }
.message-content pre { overflow: auto; padding: 0.45rem; border-radius: 5px; background: rgba(33, 37, 41, 0.08); }
.status-panel.is-danger { margin: 0 0.65rem 0.5rem; padding: 0.4rem 0.5rem; border: 1px solid rgba(220, 53, 69, 0.24); border-radius: 6px; background: rgba(220, 53, 69, 0.08); color: #842029; }
.compose-input { min-height: 4.8rem; resize: vertical; }
.log-modal-lines { max-height: min(34rem, calc(100dvh - 14rem)); }
.log-line { display: grid; grid-template-columns: 6.5rem minmax(0, 1fr); gap: 0.5rem; padding: 0.18rem 0; font-size: 0.78rem; }
.split-grid { display: grid; grid-template-columns: minmax(14rem, 20rem) minmax(0, 1fr); gap: 0.75rem; }
.row-actions { flex-wrap: wrap; }
.diff-line { display: grid; grid-template-columns: 3rem 1rem minmax(0, 1fr); gap: 0.35rem; white-space: pre-wrap; word-break: break-word; }
.diff-line.is-add { background: rgba(25, 135, 84, 0.08); }
.diff-line.is-delete { background: rgba(220, 53, 69, 0.08); }

@media (min-width: 768px) {.side-pane.is-collapsed { width: var(--side-pane-collapsed-width); max-width: var(--side-pane-collapsed-width); }
.side-pane.is-collapsed > .pane-header { align-items: center; flex-direction: column; justify-content: flex-start; gap: 0.45rem; padding: 0.45rem 0.35rem; }
.side-pane.is-collapsed .pane-title-wrap { display: flex; align-items: center; flex: 0 0 auto; min-width: 0; }
.side-pane.is-collapsed .pane-title { max-height: 7.5rem; writing-mode: vertical-rl; transform: rotate(180deg); }
.side-pane.is-collapsed .pane-summary { display: none; }
.side-pane.is-collapsed .pane-actions, .side-pane.is-collapsed .selection-controls { flex-direction: column; flex-wrap: nowrap; justify-content: flex-start; }
}

@media (max-width: 1199.98px) {.app-shell { padding-top: 0.5rem !important; padding-bottom: 0.5rem !important; }
.main {
  --side-pane-min-width: 13rem;
  --side-pane-max-width: min(22rem, 38vw);
  grid-template-columns: clamp(var(--side-pane-min-width), var(--side-pane-width), var(--side-pane-max-width)) var(--side-pane-resizer-width) minmax(0, 1fr);
}
.main[data-side-pane-collapsed="true"] { grid-template-columns: var(--side-pane-collapsed-width) minmax(0, 1fr); }
.main[data-message-pane-layout="embedded"] .message-pane { grid-column: 1 / -1; min-height: 18rem; }
}

@media (max-width: 767.98px) {.app-shell { --space-2: 0.45rem; --space-3: 0.6rem; --bs-gutter-x: 0.5rem; }
.container-fluid.app-shell.workspace-shell { --bs-gutter-x: 0.7rem; padding: 0.35rem !important; }
.container.narrow-shell, .container.loading-shell, .container.shell-picker { --bs-gutter-x: 0.75rem; padding-top: 0.75rem !important; padding-bottom: 0.75rem !important; }
.compact-card-body.card-body { padding: 0.85rem !important; }
.shell-picker-header { gap: 0.65rem !important; margin-top: 0.75rem !important; margin-bottom: 0.75rem !important; }
.workspace-shell { height: auto; overflow: visible; }
.main,
  .main[data-message-pane-layout="popout"],
  .main[data-side-pane-collapsed="true"],
  .main[data-message-pane-layout="popout"][data-side-pane-collapsed="true"],
  .summary-grid,
  .field-grid,
  .overlay-head,
  .summary-panel,
  .mobile-stack,
  .tox .dialog-layout,
  .split-grid {
    grid-template-columns: minmax(0, 1fr);
  }
.main { overflow: visible; }
/* Keep the stacked mobile editor scrollable without making its content size the page. */
.editor:has(.mappings-editor) { height: calc(100dvh - 1rem); }
.side-pane-resizer { display: none; }
.tree { max-height: min(26rem, calc(100dvh - 10rem)); }
.shell-banner, .pane-header { align-items: stretch; flex-direction: column; }
.side-pane > .pane-header, .shell-banner { align-items: center; flex-direction: row; flex-wrap: nowrap; }
.side-pane > .pane-header .pane-title-wrap { flex: 1 1 0; min-width: 0; overflow: hidden; }
.side-pane > .pane-header .pane-actions, .shell-banner-actions { flex: 0 0 auto; flex-wrap: nowrap; justify-content: flex-end; max-width: max-content; white-space: nowrap; }
.pane-actions { justify-content: flex-start; }
.choice-row, .item-row { grid-template-columns: minmax(0, 1fr); }
.span-full { grid-column: auto; }
.grid-row { grid-template-columns: 2.85rem minmax(0, 1fr) minmax(0, 3.6rem); }
.tox .tox-dialog.dialog-window,
  .tox-dialog.dialog-window {
    width: calc(100vw - 1rem) !important;
    max-width: calc(100vw - 1rem) !important;
    height: calc(100dvh - 1rem) !important;
    max-height: calc(100dvh - 1rem) !important;
  }
}

@media (max-width: 575.98px) {.data-table { min-width: 34rem; }
.grid-row { grid-template-columns: 2.75rem minmax(0, 1fr) minmax(0, 3.45rem); }
}

@media (hover: none), (pointer: coarse) {
  .help-popover {
    position: fixed;
    top: auto;
    right: 1rem;
    bottom: 1rem;
    left: 1rem;
    z-index: 1090;
    width: auto;
  }
}

/* Saved-item previews and metadata: portals stay clear of scrolling item rows. */
.item-preview-control, .item-visibility-settings { display: inline-flex; align-items: center; gap: .25rem; flex-shrink: 0; }
.icon-button.item-settings-gear { height: 1.65rem; }
.item-hover-preview { position: fixed; z-index: 1070; display: grid; gap: .3rem; padding: .65rem; overflow: hidden; border: 1px solid var(--border, #ccd); border-radius: .5rem; background: #fff; box-shadow: -4px 4px 10px #0003; pointer-events: none; box-sizing: border-box; min-width: 0; overflow-wrap: anywhere; }
.item-hover-preview iframe { width: 100%; border: 1px solid #ddd; background: white; pointer-events: none; }
.item-settings-overlay { position: fixed; inset: 0; z-index: 1060; display: grid; place-items: center; padding: min(3vw, 16px); background: #0004; }
.item-settings-popup { display: flex; flex-direction: column; width: min(780px, 100%); max-height: calc(100dvh - 32px); min-height: 0; overflow: hidden; background: #fff; color: #212529; border: 1px solid var(--border); border-radius: 6px; box-shadow: var(--menu-shadow); }
.item-settings-popup > header { display: flex; align-items: center; justify-content: space-between; gap: .4rem; padding: .55rem .65rem; border-bottom: 1px solid var(--border); background: var(--soft); flex-shrink: 0; }
.item-settings-popup > header > div { min-width: 0; overflow-wrap: anywhere; }
.item-settings-popup > .alert { margin: .4rem .65rem; flex-shrink: 0; max-height: 30dvh; overflow: auto; }
.item-settings-body { overflow: auto; overscroll-behavior: contain; padding: .55rem .65rem; min-height: 0; }
.item-settings-body .floating-panel-flow { width: 100%; padding: 0; border: 0; background: transparent; box-shadow: none; }
/* Compact forms share equal columns; long values wrap within each cell. */
.compact-fields { container-type: inline-size; --control-font-weight: 400; }
.compact-fields .field-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); align-items: end; }
.compact-fields .inline-field { display: grid; grid-template-columns: minmax(0, 1fr); gap: .2rem; align-content: end; }
.compact-fields :is(.control, .dropdown-shell, .check-control, .control-input) { width: 100%; inline-size: 100%; }
.compact-fields :is(.control-display, .control-input, .dropdown-button, .native-checkbox) {
  min-height: var(--control-height);
  padding: var(--control-padding-y) var(--control-padding-x);
  border: 1px solid rgba(108, 117, 125, 0.24);
  border-radius: 4px;
  background: #fff;
  color: #495057;
  font-weight: var(--control-font-weight);
  text-align: left;
}
.compact-fields :is(.control-display, .control-input) { border-color: rgba(108, 117, 125, 0.42); }
.compact-fields .control-display:not([aria-readonly="true"]):not(:disabled) { cursor: text; }
.compact-fields .dropdown-button::after {
  content: "";
  flex: 0 0 auto;
  width: .4rem;
  height: .4rem;
  margin: 0 .15rem .2rem .45rem;
  border-right: 1px solid currentColor;
  border-bottom: 1px solid currentColor;
  transform: rotate(45deg);
}
.compact-fields .dropdown-button[aria-expanded="true"]::after { transform: translateY(.2rem) rotate(225deg); }
.compact-fields .native-checkbox { line-height: 1.1; }
.compact-fields .native-checkbox:not(.is-disabled) { cursor: pointer; }
.compact-fields .native-checkbox:focus-within { box-shadow: var(--focus-ring); }
.compact-fields :is(.check-label, .control-value, .dropdown-button-value) { white-space: normal; overflow-wrap: anywhere; }
.compact-fields .check-with-help { align-self: end; }
.compact-fields .check-with-help > .help { flex: 0 0 auto; }
.compact-fields .fieldset-panel { padding: 0; border: 0; }
.compact-fields .fieldset-legend { margin: 0; padding: .5rem 0; border: 0; font-size: .78rem; }
.compact-fields .fieldset-panel + .fieldset-panel > .fieldset-legend { border-top: 1px solid var(--border); }
.compact-fields .fieldset-panel > .field-grid + .field-grid { margin-top: .4rem; }
@container (max-width: 640px) {
  .compact-fields .field-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@container (max-width: 360px) {
  .compact-fields .field-grid { grid-template-columns: minmax(0, 1fr); }
}
.item-settings-body .property-value { overflow-wrap: anywhere; }
.item-placement-settings { margin-top: .4rem; }

.item-hover-preview > * { min-width: 0; max-width: 100%; }
.ordered-item-row.is-editing .item-editor-primary-row .visibility-field { display: flex; flex-direction: row; align-items: center; gap: .25rem; }

/* History: one selected revision and one explicitly selected file at a time. */
.history-modal .modal-dialog { width: calc(100% - 2rem); max-width: 1080px; margin: 1rem auto; height: calc(100% - 2rem); }
.history-modal .modal-content { max-height: 100%; }
.history-modal .modal-body { overflow-y: auto; min-height: 0; padding: 1rem; }
.history-modal .history-toolbar { display: flex; align-items: center; flex-wrap: wrap; gap: .5rem .75rem; margin-bottom: .4rem; }
.history-modal .history-target { display: flex; align-items: center; gap: .5rem; flex: 1 1 15rem; min-width: 0; }
.history-modal .history-target select { flex: 1; min-width: 0; width: auto; }
.history-modal .history-comparison { border-top: 1px solid var(--bs-border-color, #dee2e6); padding-top: .75rem; margin-top: 1rem; }
.history-modal .history-pending { margin-top: .75rem; }
.history-modal .history-layout { display: grid; grid-template-columns: minmax(14rem, .8fr) minmax(0, 1.8fr); align-items: start; gap: 1rem; }
.history-modal .history-revisions, .history-modal .history-selected { min-width: 0; }
.history-modal .history-commit-list { list-style: none; margin: 0; padding: 0; max-height: 55vh; overflow: auto; border: 1px solid var(--bs-border-color, #dee2e6); }
.history-modal .history-commit-list:empty { display: none; }
.history-modal .history-commit-list li + li { border-top: 1px solid var(--bs-border-color, #dee2e6); }
.history-modal .history-revision-card { border: 1px solid var(--bs-border-color, #dee2e6); border-radius: .35rem; padding: .85rem; }
.history-modal .history-revision-heading { display: flex; flex-wrap: wrap; align-items: flex-start; justify-content: space-between; gap: .5rem; }
.history-modal .history-revision-heading > div { min-width: 0; overflow-wrap: anywhere; }
.history-modal .history-revision-select { width: 100%; min-width: 0; display: flex; flex-direction: column; gap: .15rem; padding: .5rem .6rem; border: 0; border-left: 3px solid transparent; background: transparent; color: inherit; text-align: left; }
.history-modal .history-revision-select.is-active { border-left-color: var(--bs-primary, #0d6efd); background: var(--bs-tertiary-bg, #f8f9fa); }
.history-modal .history-revision-select:hover { background: rgba(127, 127, 127, .08); }
.history-modal .history-revision-select > .small { overflow-wrap: anywhere; }
.history-modal .history-revision-meta { display: flex; flex-wrap: wrap; gap: .2rem .5rem; align-items: baseline; font-size: .85rem; }
.history-modal .history-event-type { font-weight: 700; font-size: 1rem; }
.history-modal .history-list-comment { width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: .85rem; }
.history-modal .history-comment-label { color: #000; font-weight: 700; }
.history-modal .history-comment { white-space: pre-wrap; overflow-wrap: anywhere; font-size: .9rem; font-weight: 400; }
.history-modal .history-revision-actions { display: flex; gap: .4rem; flex-wrap: wrap; justify-content: flex-end; }
.history-modal .history-summary, .history-modal .history-pagination { display: flex; align-items: center; flex-wrap: wrap; gap: .5rem .75rem; margin-bottom: .5rem; }
.history-modal .history-pagination { margin-top: .5rem; }
.history-modal .history-line-counts { display: inline-flex; gap: .45rem; white-space: nowrap; font-size: .85rem; font-variant-numeric: tabular-nums; }
.history-modal .history-added { color: var(--bs-success-text-emphasis, #146c43); }
.history-modal .history-deleted { color: var(--bs-danger-text-emphasis, #b02a37); }
.history-modal .history-files { list-style: none; padding: 0; margin: 0; max-height: 36vh; overflow: auto; }
.history-modal .history-files li + li { border-top: 1px solid var(--bs-border-color, #dee2e6); }
.history-modal .history-files button { width: 100%; display: flex; align-items: flex-start; justify-content: space-between; gap: .75rem; padding: .45rem .25rem; border: 0; border-left: 3px solid transparent; background: transparent; color: inherit; text-align: left; }
.history-modal .history-files button:hover { background: rgba(127, 127, 127, .08); }
.history-modal .history-files button.is-active { border-left-color: var(--bs-primary, #0d6efd); background: var(--bs-tertiary-bg, #f8f9fa); }
.history-modal .history-file-detail { border-top: 1px solid var(--bs-border-color, #dee2e6); margin-top: .75rem; padding-top: .25rem; }
.history-modal .history-file-meta { display: flex; flex-wrap: wrap; justify-content: flex-end; align-items: baseline; gap: .25rem .5rem; flex: 0 0 auto; max-width: 50%; text-align: right; }
.history-modal code { overflow-wrap: anywhere; white-space: pre-wrap; min-width: 0; }
.history-modal .history-file-heading { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .5rem; margin: .5rem 0; }
.history-modal .history-file-heading > code { flex-basis: 100%; }
.history-modal .diff-lines { max-height: 45vh; overflow: auto; font-size: .85rem; }
.history-modal .diff-line { grid-template-columns: 1rem 3rem minmax(0, 1fr); }
.history-modal .history-diff-hunk { padding: .35rem .25rem; color: var(--bs-secondary-color, #6c757d); background: var(--bs-tertiary-bg, #f8f9fa); }
.history-modal button:focus-visible, .history-modal select:focus-visible, .operation-warnings summary:focus-visible { outline: 2px solid var(--bs-primary, #0d6efd); outline-offset: 2px; }

.operation-warnings, .operation-warning-group, .operation-warning-entry, .attention-findings { min-width: 0; max-width: 100%; overflow-wrap: anywhere; }
.operation-warnings > summary, .content-attention-panel > summary { font-weight: 600; }
.operation-warnings summary, .content-attention-panel > summary { cursor: pointer; padding: .1rem 0; }
.operation-warning-note { margin: .25rem 0; }
.operation-warning-group { margin-top: .4rem; }
.operation-warning-heading { display: flex; flex-wrap: wrap; align-items: baseline; gap: .2rem .5rem; }
.operation-warnings code { min-width: 0; white-space: pre-wrap; overflow-wrap: anywhere; word-break: break-word; user-select: text; }
.operation-warning-path { display: block; margin: .1rem 0 .25rem; font-size: .75rem; }
.operation-warning-entry[open] { padding-bottom: .4rem; }
.operation-warning-evidence { display: grid; grid-template-columns: minmax(0, 11rem) minmax(0, 1fr); gap: .15rem .5rem; margin: .4rem 0; font-size: .8rem; }
.operation-warning-evidence dt, .operation-warning-evidence dd { min-width: 0; margin: 0; }
.attention-list, .operation-warning-group ul { list-style: none; padding: 0; margin: .2rem 0 0; }
.attention-list > li + li, .operation-warning-group li + li { margin-top: .4rem; }
.operation-warning-entry { font-size: .875rem; line-height: 1.35; }
.operation-warning-message { margin: .1rem 0; white-space: pre-wrap; user-select: text; }
.attention-note, .attention-status { color: inherit; opacity: .85; font-size: inherit; }
.attention-note { margin: .2rem 0; }
.attention-item-actions { display: flex; flex-wrap: wrap; gap: .15rem .75rem; }
.attention-item-actions:empty { display: none; }
.attention-item-link { border: 0; border-radius: 0; background: transparent; color: inherit; font: inherit; line-height: inherit; padding: .1rem 0; text-decoration: underline; text-underline-offset: .15em; cursor: pointer; }
.attention-item-link:hover { text-decoration-thickness: 2px; }
.attention-item-link:focus-visible, .content-attention-panel > summary:focus-visible { outline: 2px solid var(--bs-primary, #0d6efd); outline-offset: 2px; }
/* Keep every overview row inside the one parent disclosure, below its summary. */
.attention-overview:not([open]) > .attention-overview-content { display: none; }
.content-attention-panel .attention-overview-items { margin: .2rem 0 .1rem .8rem; padding-left: .5rem; }
.content-attention-panel .attention-overview-item { display: flex; min-width: 0; flex-wrap: wrap; align-items: baseline; gap: .1rem .5rem; }
.content-attention-panel .attention-overview-item + .attention-overview-item { margin-top: .25rem; padding-top: .2rem; border-top: 1px solid rgba(64, 58, 27, .25); }
.content-attention-panel .attention-overview-item > strong { min-width: 0; overflow-wrap: anywhere; }
.content-attention-panel .attention-ownership-note { flex-basis: 100%; font-size: .875rem; }
.content-attention-panel .attention-item-group { min-width: 0; margin-top: .25rem; padding-top: .2rem; border-top: 1px solid rgba(64, 58, 27, .25); }
.content-attention-panel .attention-item-group > summary { cursor: pointer; padding: .1rem 0; }
.content-attention-panel .attention-item-heading { display: inline-flex; width: calc(100% - 1.25rem); flex-wrap: wrap; align-items: baseline; gap: .1rem .5rem; vertical-align: top; }
.content-attention-panel .attention-item-heading > strong { min-width: 0; overflow-wrap: anywhere; }
.content-attention-panel .attention-resources { margin: .15rem 0 .1rem .8rem; padding-left: .5rem; border-left: 1px solid rgba(64, 58, 27, .12); }
.content-attention-panel .attention-resources > li + li { margin-top: .25rem; padding-top: .25rem; border-top: 1px solid rgba(64, 58, 27, .12); }
.content-attention-panel .attention-item-group > summary:focus-visible { outline: 2px solid var(--bs-primary, #0d6efd); outline-offset: 2px; }
@media (max-width: 600px) {
  .operation-warning-evidence { grid-template-columns: minmax(0, 1fr); }
  .operation-warning-evidence dd { margin-bottom: .25rem; }
}
@media (max-width: 767px) {
  .history-modal .history-layout { grid-template-columns: minmax(0, 1fr); }
  .history-modal .history-commit-list { max-height: 25vh; }
}
@media (max-width: 575px) {
  .history-modal .modal-dialog { width: calc(100% - .5rem); margin: .25rem auto; height: calc(100% - .5rem); }
  .history-modal .modal-body { padding: .65rem; }
  .history-modal .history-revision-card { padding: .65rem; }
  .history-modal .history-revision-actions { margin-left: auto; }
  .history-modal .history-target { flex-basis: 100%; }
  .history-modal .history-files button { flex-wrap: wrap; gap: .25rem; }
  .history-modal .history-files button > code { flex-basis: 100%; }
  .history-modal .history-file-meta { max-width: 100%; }
}

/* Keep quiz sections framed and their question rows subordinate. */
.quiz-questions-section > .fieldset-legend { margin-bottom: .4rem; padding-bottom: .35rem; }
.quiz-questions-section .item-card { padding: .4rem; border: 0; border-bottom: 1px solid var(--border); border-radius: 0; }
.quiz-question-group { padding: .4rem; }
/* Include the panel gutter in the hit area without moving header contents. */
.quiz-question-group > .quiz-group-header { min-height: var(--control-height); margin-inline: -.4rem; padding-inline: .4rem; cursor: pointer; }
.quiz-question-group .disclosure-button { flex: 0 1 auto; font-size: .82rem; font-weight: 700; }
.quiz-question-group .disclosure-button:focus-visible { outline: 2px solid var(--active); outline-offset: 2px; }

.quiz-group-count { color: var(--muted); font-size: .74rem; font-weight: 400; white-space: nowrap; }
.quiz-group-actions { margin-left: auto; flex-shrink: 0; }
.quiz-question-footer { display: flex; justify-content: flex-start; }
.quiz-add-question { display: inline-flex; align-items: center; min-height: var(--control-height); }
.quiz-add-question .dropdown-button-value { flex: none; }
.quiz-move-question-button { display: inline-flex; align-items: center; justify-content: center; width: var(--control-height); height: var(--control-height); padding: 0; line-height: 1; }
.quiz-move-question-button .dropdown-button-value { flex: none; font-size: 1.15rem; line-height: 1; }
.quiz-add-question:focus-visible, .quiz-move-question-button:focus-visible { outline: 2px solid var(--active); outline-offset: 2px; }

/* Keep question metadata in one compact row, including while editing. */
.question-header { display: flex; align-items: center; flex-wrap: wrap; gap: 0.5rem 0.75rem; }
.question-header .question-order { flex: 0 0 3ch; width: 3ch; color: #212529; font-size: 0.96rem; font-weight: 400; }
.question-header .question-name { flex: 1 1 10rem; min-width: 0; }
.question-header .item-trailing { display: inline-flex; align-items: center; gap: 0.4rem; flex: 0 0 auto; margin-left: auto; }
.question-header .inline-edit-display,
.question-header .inline-edit > input { padding: 0.15rem 0.2rem; border: 1px solid transparent; border-radius: 4px; background: transparent; line-height: 1.25; }
.question-header .inline-edit-display:hover { border-color: var(--border); }
.question-header .inline-edit > input { width: 100%; min-height: 0; font: inherit; color: inherit; }
.question-header .inline-edit.question-name { font-size: 0.96rem; font-weight: 800; }
.question-header .inline-edit.is-number,
.question-header .inline-edit.is-number > input { min-inline-size: 0; }
.question-header .item-trailing .inline-edit { width: 7ch; }
.question-header input[type="number"] { appearance: textfield; -moz-appearance: textfield; }
.question-header input[type="number"]::-webkit-inner-spin-button,
.question-header input[type="number"]::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
.question-header > .btn-outline-danger { margin-left: auto; }
.question-header > .quiz-move-question + .btn-outline-danger { margin-left: 0; }
.question-header [aria-invalid="true"] { border-color: #dc3545; }

/* Collapsed summary preferences share the existing anchored checkbox control. */
.entry-summary-view-menu .dropdown-checkbox-input {
  position: static; width: 1rem; height: 1rem; margin: 0; padding: 0;
  clip: auto; overflow: visible; flex-shrink: 0; accent-color: var(--active);
}
.entry-summary-view-menu .dropdown-check { display: none; }
.entry-summary-list { container-type: inline-size; }
.entry-summary-list .item-meta { flex-wrap: wrap; }
.ordered-item-row.is-subheader:not(.is-editing) {
  grid-template-columns: max-content max-content minmax(0, 1fr) max-content;
}
.module-entry-footer { display: grid; justify-items: start; gap: .5rem; padding-top: .5rem; }
@container (max-width: 640px) {
  .entry-summary-list .item-row { grid-template-columns: minmax(0, 1fr); }
  .ordered-item-row:not(.is-editing) { grid-template-columns: max-content max-content max-content minmax(0, 1fr); }
  .ordered-item-row.is-subheader:not(.is-editing) { grid-template-columns: max-content max-content minmax(0, 1fr); }
  .ordered-item-row:not(.is-editing) .item-meta { grid-column: 1 / -1; justify-self: start; min-width: 0; white-space: normal; }
}

/* Explorer presentation preferences never alter content state. */
#course-explorer-body { padding-top: 0.2rem; }
.explorer-legend { margin-top: 0.25rem; font-size: 0.75rem; }
.explorer-legend > summary { cursor: pointer; color: var(--muted); padding: 0.15rem 0.35rem; }
.explorer-legend-content { display: grid; gap: 0.3rem; padding: 0.3rem 0.35rem 0.45rem; }
.explorer-legend-content .tree-main { min-height: 1.4rem; font-size: inherit; }
.explorer-marker-rubric { border-color: #f1b0b7; color: #b02a37; }
#course-explorer .explorer-hide-status-borders .tree-main { border-left: 0; box-shadow: none; }

/* A separate stripe leaves publication borders and pending-push shadows intact. */
.file-row.has-sync-override .tree-main::before {
  content: ""; flex: 0 0 4px; align-self: stretch; border-radius: 2px; background: #a855f7;
}
#course-explorer .explorer-hide-status-borders .tree-main::before { display: none; }

/* Attention is independent of visibility and Push/Pull preference indicators. */
.file-row.needs-attention { outline: 2px solid #f0d43b; outline-offset: -2px; }
.content-attention-panel { border: 0; border-left: 3px solid #f0d43b; border-radius: 3px; background: #fffbea; color: #403a1b; padding: .35rem .5rem; margin: .25rem 0; font-size: .875rem; line-height: 1.35; }
.editor > .content-attention-panel { flex: 0 0 auto; max-height: 35vh; overflow: auto; margin: .35rem .5rem; }
