/* Design Lab: temporary empty Assets treatments, scoped inside the forced grid. */
/* Override the shared card body's 1400px hidden-overflow cap for long experiments. */
.workspace-design-lab:not(.collapsed) > .card-body { max-height: none; overflow: visible; }
.workspace-design-lab:not(.collapsed):not([data-location='main']) > .card-body { max-height: min(75dvh, 900px); overflow: auto; }
.workspace-empty-create-options { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); gap: 12px; margin-top: 12px; }
.workspace-empty-create-option { display: grid; grid-template-rows: auto 1fr auto; gap: 8px; min-width: 0; padding: 10px; border: 1px solid var(--border); border-radius: 4px; background: var(--surface); }
.workspace-empty-create-option[data-selected='true'] { border-color: var(--accent); }
.workspace-empty-create-option > button { justify-self: start; }
.workspace-empty-create-label { font: 500 .78rem/1.4 'JetBrains Mono', monospace; }
.workspace-empty-create-preview { --workspace-session-pane-height: 260px; height: 260px; min-height: 0; }
/* Fit real empty views to the available content box, excluding pane borders. */
.workspace-assets-view > .workspace-assets-content[data-assets-empty='empty'] { height: 100%; grid-template-rows: minmax(0, 1fr); }
.workspace-assets-view > .workspace-assets-content[data-assets-empty='empty'] > .workspace-assets-empty[data-empty-create-variant] { min-height: 0; }
.workspace-assets-empty[data-empty-create-variant] { box-sizing: border-box; min-width: 0; min-height: max(0px, calc(var(--workspace-session-pane-height, 400px) - 28px)); grid-template-columns: minmax(0, 1fr); grid-template-rows: minmax(0, 1fr) auto minmax(0, 1fr); place-content: normal; gap: 0; }
.workspace-assets-empty[data-empty-create-raised='true'] { grid-template-rows: minmax(0, .8fr) auto minmax(0, 1.2fr); }
.workspace-empty-create-body { grid-row: 2; display: grid; justify-items: center; gap: 5px; min-width: 0; padding: 8px; overflow-wrap: anywhere; }
.workspace-empty-create-hint { margin: 0; color: var(--muted); }
.workspace-empty-create-sentence { margin: 8px 0; color: var(--muted); }
body.ramified-theme [data-empty-create-variant] .workspace-assets-create { max-width: 100%; min-height: 34px; white-space: normal; }
body.ramified-theme :is([data-empty-create-variant='outline'], [data-empty-create-variant='round']) .workspace-assets-create { color: var(--accent); border-color: var(--accent); }
body.ramified-theme :is([data-empty-create-variant='outline'], [data-empty-create-variant='round']) .workspace-assets-create:hover { background: color-mix(in srgb, var(--accent) 7%, transparent); }
body.ramified-theme [data-empty-create-variant='current'] .workspace-assets-create { min-height: 44px; }
body.ramified-theme :is([data-empty-create-variant='inline'], [data-empty-create-variant='dashed']) .workspace-assets-create { border: 0; background: transparent; color: var(--accent); font: inherit; letter-spacing: normal; }
body.ramified-theme [data-empty-create-variant='inline'] .workspace-assets-create { display: inline; margin: 0; padding: 2px 0; text-decoration: underline; text-underline-offset: .15em; }
body.ramified-theme [data-empty-create-variant='dashed'] { border: 1px dashed var(--design-lab-interface-secondary-border); border-radius: 6px; background: color-mix(in srgb, var(--accent) 2%, var(--surface)); }
body.ramified-theme [data-empty-create-variant='dashed'] .workspace-assets-create:hover { text-decoration: underline; }
body.ramified-theme [data-empty-create-variant='round'] .workspace-assets-create { display: grid; place-items: center; width: 40px; height: 40px; padding: 0; border-radius: 50%; font-size: 1.4rem; line-height: 1; }
/* Text-only visually; keyboard users can still tab to the original action. */
body.ramified-theme [data-empty-create-variant='none'] .workspace-assets-create:not(:focus-visible) { position: absolute; width: 1px; height: 1px; min-height: 0; margin: -1px; padding: 0; border: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
body.ramified-theme [data-empty-create-variant] .workspace-assets-create:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
@media (any-pointer: coarse) {
  body.ramified-theme [data-empty-create-variant] .workspace-assets-create { min-width: 44px; min-height: 44px; }
  body.ramified-theme [data-empty-create-variant='round'] .workspace-assets-create { width: 44px; height: 44px; }
  body.ramified-theme [data-empty-create-variant='none'] .workspace-assets-create:not(:focus-visible) { min-width: 0; min-height: 0; }
  .workspace-empty-create-option > button { min-height: 44px; }
}

/* Frozen Interface theme selection; removing this stylesheet restores the prior theme. */
body.ramified-theme {
  --design-lab-interface-header-padding: 12px;
  --design-lab-interface-title-size: 24px;
  --design-lab-interface-subtitle-size: 14px;
  --design-lab-interface-layout-left: 28px;
  --design-lab-interface-layout-right: 28px;
  --design-lab-interface-layout-max: 1500px;
  --design-lab-interface-secondary-border: #C9D0CA;
  --bg: #F7F8F5;
  --workspace-icon-exact: var(--accent);
}

body.ramified-theme > header {
        padding-block: var(--design-lab-interface-header-padding);
        padding-left: max(var(--design-lab-interface-layout-left), calc((100% - var(--design-lab-interface-layout-max)) / 2 + var(--design-lab-interface-layout-left)));
        padding-right: max(var(--design-lab-interface-layout-right), calc((100% - var(--design-lab-interface-layout-max)) / 2 + var(--design-lab-interface-layout-right)));
        background: var(--bg); color: var(--text); border-bottom: 1px solid var(--border);
      }
      body.ramified-theme > header h1 { font-size: var(--design-lab-interface-title-size); font-weight: 400; line-height: 1.3; }
      body.ramified-theme > header span { min-width: 0; font: var(--design-lab-interface-subtitle-size)/1.5 system-ui, -apple-system, "Segoe UI", sans-serif; color: var(--muted); }
body.ramified-theme .workspace-canvas-pane { border: 1px solid var(--border); border-top: 0; outline: none; }
body.ramified-theme .workspace-canvas-pane.focused { border-color: var(--accent); }
body.ramified-theme .workspace-canvas-pane + .workspace-canvas-pane { border-left: 0; }
body.ramified-theme .workspace-canvas-panes:has(.workspace-canvas-pane + .workspace-canvas-pane.focused) > .workspace-canvas-pane:first-child { border-right-color: var(--accent); }
      body.ramified-theme .workspace-assets-view:focus-visible { box-shadow: none; }
body.ramified-theme .btn-ghost { color: var(--text); border: 1px solid var(--design-lab-interface-secondary-border); background: transparent; }
      body.ramified-theme .btn-ghost:hover { color: var(--accent); border-color: var(--accent); background: transparent; }
      body.ramified-theme .workspace-canvas-tab-group:has(.active) { border-color: var(--border); }
      body.ramified-theme .workspace-canvas-tab.active { color: var(--text); }
      body.ramified-theme .workspace-asset-item[aria-selected='true'] { color: var(--text); border-color: var(--accent); }
      body.ramified-theme .card-head :is(.workspace-card-tool, .card-pin-btn, .toggle-icon, .drag-handle),
      body.ramified-theme .workspace-canvas-tab-close { color: var(--muted); background: transparent; }
      body.ramified-theme .card-head :is(.workspace-card-tool, .card-pin-btn, .toggle-icon, .drag-handle):hover,
      body.ramified-theme .card-head :is(.workspace-card-tool, .card-pin-btn):focus-visible,
      body.ramified-theme .workspace-canvas-tab-close:hover,
      body.ramified-theme .workspace-canvas-tab-close:focus-visible { color: var(--text); background: transparent; }
      body.ramified-theme .card-head :is(.workspace-card-tool, .card-pin-btn):disabled { color: var(--muted); opacity: .4; }
      body.ramified-theme .workspace-assets-delete-confirm { border-color: var(--accent2) !important; background: var(--accent2) !important; }



/* Same responsive gutter values as .math-workspace-layout in math_workspace.css. */
@media (max-width: 620px) {
  body.ramified-theme {
    --design-lab-interface-layout-left: 14px;
    --design-lab-interface-layout-right: 14px;
  }
}

/* Paint the shared top edge inside the scrollport. Its 1px padding replaces
   the old 1px border, so tab metrics and scrolling remain unchanged. */
body.ramified-theme .workspace-canvas-tabs {
  border-bottom: 0;
  padding-bottom: 1px;
  background-image: linear-gradient(var(--border), var(--border));
  background-size: 100% 1px;
  background-position: left bottom;
  background-repeat: no-repeat;
}
/* Connected tabs: preserve all existing control metrics and scrolling. */
body.ramified-theme .workspace-canvas-tab-group {
  position: relative;
  z-index: 1;
  overflow: visible;
  background: #EEF0EC;
  color: var(--muted);
  border-color: var(--border);
}
body.ramified-theme .workspace-canvas-tab-group:has(.active) {
  background: #FFFFFF;
  color: var(--text);
}
body.ramified-theme .workspace-canvas-tab-group:not(:has(.active)):hover {
  background: #FFFFFF;
}
body.ramified-theme .workspace-canvas-tab-group::after {
  content: '';
  position: absolute;
  left: -1px;
  right: -1px;
  bottom: -1px;
  height: 1px;
  background: var(--border);
  pointer-events: none;
}
body.ramified-theme .workspace-canvas-tab-group:has(.active)::after {
  left: 0;
  right: 0;
  background: #FFFFFF;
}
body.ramified-theme .workspace-canvas-tab-group .workspace-canvas-tab {
  color: inherit;
}
body.ramified-theme .workspace-canvas-tab-group .workspace-canvas-tab-close,
body.ramified-theme .workspace-canvas-tab-group .workspace-canvas-tab-close:hover,
body.ramified-theme .workspace-canvas-tab-group .workspace-canvas-tab-close:focus-visible {
  color: inherit;
  background: transparent;
}

/* Split view: retain tab silhouettes without implying a connected pane. */
body.ramified-theme .workspace-view-card:has(> .workspace-canvas-panes[data-split='true']) > .workspace-canvas-tabs {
  background-image: none;
  border-bottom: 1px solid var(--border);
  padding-bottom: 0;
  margin-bottom: 0;
}
body.ramified-theme .workspace-view-card:has(> .workspace-canvas-panes[data-split='true']) > .workspace-canvas-tabs .workspace-canvas-tab-group {
  min-width: 0;
  max-width: 100%;
  border: 1px solid var(--border);
  border-bottom: 0;
  margin-bottom: 0;
}
body.ramified-theme .workspace-view-card:has(> .workspace-canvas-panes[data-split='true']) > .workspace-canvas-tabs .workspace-canvas-tab-group::after {
  content: none;
}
body.ramified-theme .workspace-view-card:has(> .workspace-canvas-panes[data-split='true']) > .workspace-canvas-tabs .workspace-canvas-tab-group:has([data-shown-in]) {
  background: #FFFFFF;
  color: var(--text);
}
body.ramified-theme .workspace-view-card:has(> .workspace-canvas-panes[data-split='true']) > .workspace-canvas-tabs .workspace-canvas-tab-group:has([aria-current='true']) {
  border-top: 2px solid var(--accent);
}
/* Compensate the extra border pixel without moving the label or changing height. */
body.ramified-theme .workspace-view-card:has(> .workspace-canvas-panes[data-split='true']) > .workspace-canvas-tabs .workspace-canvas-tab-group:has([aria-current='true']) > .workspace-canvas-tab {
  padding-top: 5px;
}
body.ramified-theme .workspace-view-card:has(> .workspace-canvas-panes[data-split='true']) > .workspace-canvas-tabs .workspace-canvas-tab {
  min-width: 0;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}
body.ramified-theme .workspace-view-card:has(> .workspace-canvas-panes[data-split='true']) > .workspace-canvas-tabs .workspace-canvas-tab-close {
  flex: 0 0 auto;
}
/* Override hidden's default display only in split view, then visually clip. */
body.ramified-theme .workspace-canvas-panes[data-split='true'] > .workspace-canvas-pane > .workspace-canvas-pane-title {
  display: block;
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  border: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  clip-path: inset(50%);
  white-space: nowrap;
}
body.ramified-theme .workspace-view-card:has(> .workspace-canvas-tabs > .workspace-canvas-tab-group:hover > [data-shown-in='primary']) > .workspace-canvas-panes[data-split='true'] > .workspace-canvas-pane[data-pane='primary'],
body.ramified-theme .workspace-view-card:has(> .workspace-canvas-tabs > .workspace-canvas-tab-group:hover > [data-shown-in='secondary']) > .workspace-canvas-panes[data-split='true'] > .workspace-canvas-pane[data-pane='secondary'] {
  outline: 1px solid var(--accent);
  outline-offset: -1px;
}

/* Approved connected focus contour. Edge markers follow the actual last
   visible tab row; inactive tab strokes must not cover the green pane edge. */
body.ramified-theme .workspace-view-card:has(> .workspace-canvas-panes[data-split='false'] > .focused) > .workspace-canvas-tabs {
  background-image: linear-gradient(var(--accent), var(--accent));
}
body.ramified-theme .workspace-canvas-tabs .workspace-canvas-tab-group:has(.active) {
  z-index: 2;
}
body.ramified-theme .workspace-view-card:has(> .workspace-canvas-panes[data-split='false'] > .focused) > .workspace-canvas-tabs .workspace-canvas-tab-group[data-pane-edge]::after {
  background: var(--accent);
}
body.ramified-theme .workspace-view-card:has(> .workspace-canvas-panes[data-split='false'] > .focused) > .workspace-canvas-tabs .workspace-canvas-tab-group:has(.active) {
  border-color: var(--accent);
}
body.ramified-theme .workspace-view-card:has(> .workspace-canvas-panes[data-split='false'] > .focused) > .workspace-canvas-tabs .workspace-canvas-tab-group:has(.active)::after {
  left: -1px; right: -1px; background: var(--accent);
}
body.ramified-theme .workspace-view-card:has(> .workspace-canvas-panes[data-split='false'] > .focused) > .workspace-canvas-tabs .workspace-canvas-tab-group[data-connected-edge]::after {
  left: 0; right: 0; background: #FFFFFF;
}
body.ramified-theme .workspace-canvas-panes[data-split='true'] > .workspace-canvas-pane::before,
body.ramified-theme .workspace-view-card:has(> .workspace-canvas-tabs:empty) > .workspace-canvas-panes > .workspace-canvas-pane::before {
  content: ''; position: absolute; left: 0; right: 0; top: 0;
  height: 1px; background: var(--border); pointer-events: none; z-index: 2;
}
body.ramified-theme .workspace-canvas-panes[data-split='true'] > .workspace-canvas-pane.focused::before,
body.ramified-theme .workspace-view-card:has(> .workspace-canvas-tabs:empty) > .workspace-canvas-panes > .workspace-canvas-pane.focused::before {
  background: var(--accent);
}
body.ramified-theme .workspace-view-card:has(> .workspace-canvas-panes[data-split='true']) > .workspace-canvas-tabs .workspace-canvas-tab-group:has([aria-current='true']) {
  border-color: var(--accent);
}
