/* Atlas only: retain the accepted workspace palette and native controls. */
body.workspace-shell[data-workspace-view="workspace-atlas"],
body.workspace-shell[data-workspace-view="workspace-atlas"] .main-content,
#workspace-atlas-view { background: var(--ws-bg); }
body.workspace-shell[data-workspace-view="workspace-atlas"]::before { display: none; }
/* The fixed assistant must not cover Atlas detail actions at any viewport size. */
body.workspace-shell[data-workspace-view="workspace-atlas"] #ellie-widget { display: none !important; }
#workspace-atlas-root {
    /* Local 12px step complements the existing 4/8/16/24/32px workspace scale. */
    --ws-atlas-space-compact: .75rem;
    color: var(--ws-ink); color-scheme: var(--ws-scheme); font-family: var(--ws-font);
    font-size: var(--ws-text-body); line-height: 1.55; min-width: 0; overflow-wrap: anywhere;
}
#workspace-atlas-root *, #workspace-atlas-root *::before, #workspace-atlas-root *::after { box-sizing: border-box; }
#workspace-atlas-root [hidden] { display: none !important; }
#workspace-atlas-root :is(h1,h2,h3,h4,p,ul,dl) { margin: 0; }
#workspace-atlas-root h1 { font-size: 1.75rem; font-weight: 650; letter-spacing: -.025em; text-wrap: balance; }
#workspace-atlas-root h2 { font-size: 1.25rem; font-weight: 650; text-wrap: balance; }
#workspace-atlas-root h3 { font-size: 1rem; font-weight: 650; margin-top: var(--ws-space-lg); }
#workspace-atlas-root :is(p,dd) { max-width: 72ch; text-wrap: pretty; }
#workspace-atlas-root :is(button,input,select,a) { font: inherit; }
#workspace-atlas-root :is(button,input,select,.ws-atlas-button) {
    color: var(--ws-ink); background: var(--ws-surface); border: 1px solid var(--ws-line);
    border-radius: 7px; min-height: 44px; max-width: 100%; padding: var(--ws-space-sm) var(--ws-atlas-space-compact); box-shadow: none;
}
#workspace-atlas-root :is(button,.ws-atlas-button) { cursor: pointer; white-space: normal; text-align: center; text-decoration: none; }
#workspace-atlas-root .ws-atlas-button { display: inline-flex; justify-content: center; align-items: center; }
#workspace-atlas-root :is(button,.ws-atlas-button):hover { background: var(--ws-soft); }
#workspace-atlas-root :is(button,a,input,select,summary,[tabindex]):focus-visible { outline: 3px solid var(--ws-accent); outline-offset: 3px; scroll-margin: var(--ws-space-md); }
#workspace-atlas-root :is(button,input,select):disabled { cursor: default; color: var(--ws-muted); opacity: .65; }
#workspace-atlas-root [aria-pressed="true"] { background: var(--ws-accent-soft); border-color: var(--ws-accent); color: var(--ws-accent); }
#workspace-atlas-root input::placeholder { color: var(--ws-muted); opacity: 1; }
.ws-atlas-header { display: flex; flex-wrap: wrap; align-items: center; gap: var(--ws-space-sm) var(--ws-space-md); margin-bottom: var(--ws-space-sm); }
#workspace-atlas-root .ws-atlas-header > .ws-brand { float: none; margin-inline-end: 0; }
#workspace-atlas-root .ws-atlas-header > .ws-brand-view-control { flex: 0 1 auto; }
.ws-atlas-filter-slot { flex: 1 1 28rem; min-width: 0; }
.ws-atlas-filters { display: grid; grid-template-columns: minmax(10rem,1fr) auto auto; align-items: end; gap: var(--ws-space-sm); }
.ws-atlas-filter-panel[open] { grid-column: 1 / -1; }
.ws-atlas-filter-options { display: grid; grid-template-columns: minmax(10rem,1fr) minmax(6rem,.6fr) minmax(8rem,1fr); gap: var(--ws-space-sm); padding-block: var(--ws-space-sm); }
.ws-atlas-field { display: flex; flex-direction: column; gap: var(--ws-space-xs); min-width: 0; }
.ws-atlas-field > span { font-size: .875rem; color: var(--ws-muted); }
.ws-atlas-field :is(input,select) { width: 100%; min-width: 0; }
#workspace-atlas-root .ws-atlas-filters button[type="submit"] { background: var(--ws-button-bg); color: var(--ws-button-ink); border-color: transparent; }
.ws-atlas-scope { grid-column: 1 / -1; color: var(--ws-muted); font-size: .875rem; }
.ws-atlas-status { margin-block: var(--ws-space-xs) !important; color: var(--ws-muted); font-size: var(--ws-text-meta); }
.ws-atlas-status[role="alert"] { color: var(--ws-bad); }
.ws-atlas-actions, .ws-atlas-modes { display: flex; flex-wrap: wrap; gap: var(--ws-space-sm); }
.ws-atlas-history { display: flex; flex-wrap: wrap; gap: var(--ws-space-sm); }
.ws-atlas-levels, .ws-atlas-branches { display: flex; flex-wrap: wrap; gap: var(--ws-space-sm); margin-block: var(--ws-space-sm); }
.ws-atlas-overview { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,12rem),1fr)); gap: var(--ws-space-md); padding-block: var(--ws-space-md); }
.ws-atlas-overview > :is(h2,p) { grid-column: 1 / -1; }
.ws-atlas-area > button { width: 100%; min-height: 64px !important; text-align: left !important; justify-content: start !important; }
.ws-atlas-branches button { font-size: .875rem !important; }
.ws-atlas-actions:empty { display: none; }
.ws-atlas-actions { margin-block: var(--ws-space-md); }
.ws-atlas-modes { margin-bottom: var(--ws-space-sm); }
.ws-atlas-caption { display: flex; flex-wrap: wrap; justify-content: space-between; gap: var(--ws-space-xs) var(--ws-space-md); padding-block: var(--ws-atlas-space-compact); border-bottom: 1px solid var(--ws-line); font-size: var(--ws-text-meta); }
.ws-atlas-caption > p:first-child { font-weight: 600; }
.ws-atlas-muted { color: var(--ws-muted); font-size: .875rem; }
.ws-atlas-workspace { display: grid; grid-template-columns: 12rem minmax(0,1fr) minmax(15rem,18rem); gap: var(--ws-space-md); align-items: start; }
.ws-atlas-center, .ws-atlas-explorer, .ws-atlas-sidebar { min-width: 0; }
.ws-atlas-sidebar { display: flex; flex-direction: column; gap: var(--ws-space-md); }
.ws-atlas-navigation { display: flex; flex-wrap: wrap; align-items: center; gap: var(--ws-space-sm) var(--ws-space-md); padding-block: var(--ws-space-sm); margin-bottom: var(--ws-space-sm); border-bottom: 1px solid var(--ws-line); }
.ws-atlas-breadcrumb { display: flex; flex: 1 1 auto; flex-wrap: wrap; align-items: center; gap: var(--ws-space-sm); color: var(--ws-muted); font-size: .875rem; min-width: 0; }
.ws-atlas-explorer { border-right: 1px solid var(--ws-line); padding-right: var(--ws-space-md); }
#workspace-atlas-root :is(.ws-atlas-explorer,.ws-atlas-camera-more,.ws-atlas-boundary,.ws-atlas-list-panel,.ws-atlas-neighborhood-panel,.ws-atlas-provenance,.ws-atlas-filter-panel,.ws-atlas-context) > summary { min-height: 44px; padding: var(--ws-space-sm) var(--ws-space-xs); cursor: pointer; font-weight: 600; }
#workspace-atlas-root :is(.ws-atlas-provenance,.ws-atlas-context) p { margin-block: var(--ws-space-sm); }
#workspace-atlas-root .ws-atlas-source-group h3, #workspace-atlas-root .ws-atlas-loaded-files h3 { font-size: .75rem; color: var(--ws-muted); font-weight: 600; margin-block: var(--ws-space-md) var(--ws-space-xs); }
#workspace-atlas-root .ws-atlas-source-group button, #workspace-atlas-root .ws-atlas-loaded-files button { width: 100%; justify-content: start; text-align: left; margin-bottom: var(--ws-space-xs); font-size: .875rem; padding: var(--ws-space-sm); background: transparent; border-color: transparent; }
#workspace-atlas-root .ws-atlas-source-group button { hyphens: auto; overflow-wrap: normal; word-break: normal; }
#workspace-atlas-root .ws-atlas-explorer [aria-pressed="true"] { background: var(--ws-accent-soft); color: var(--ws-accent); border-color: var(--ws-line); }
.ws-atlas-loaded-files p { margin-top: var(--ws-atlas-space-compact) !important; }
#workspace-atlas-root .ws-atlas-file-group { margin-top: var(--ws-space-md); min-width: 0; }
#workspace-atlas-root .ws-atlas-file-group h4 { font-size: .875rem; color: var(--ws-muted); font-weight: 600; margin-bottom: var(--ws-space-sm); }
#workspace-atlas-root .ws-atlas-file-group ul { list-style: none; padding: 0; }
#workspace-atlas-root .ws-atlas-file-group li > .ws-atlas-button { display: block; }
#workspace-atlas-root .ws-atlas-file-id { display: block; color: var(--ws-muted); font-size: .875rem; font-weight: 400; }
#workspace-atlas-root .ws-atlas-file-group .ws-atlas-file-id { margin-block-start: var(--ws-space-xs); }
#workspace-atlas-root .ws-atlas-neighborhood { min-width: 0; padding-block: var(--ws-space-sm); border-bottom: 1px solid var(--ws-line); }
#workspace-atlas-root .ws-atlas-neighborhood h3 { margin: 0 0 var(--ws-space-sm); }
#workspace-atlas-root .ws-atlas-neighborhood .ws-atlas-actions { margin-block: var(--ws-atlas-space-compact); }
#workspace-atlas-root .ws-atlas-associations { min-width: 0; padding-block: var(--ws-space-md); border-bottom: 1px solid var(--ws-line); }
#workspace-atlas-root .ws-atlas-associations h2 { margin-bottom: var(--ws-atlas-space-compact); }
#workspace-atlas-root .ws-atlas-associations p + p { margin-top: var(--ws-atlas-space-compact); }
#workspace-atlas-root .ws-atlas-assignment-rows { list-style: none; padding: 0; margin-block: var(--ws-atlas-space-compact); }
#workspace-atlas-root .ws-atlas-assignment-row { padding-block: var(--ws-space-md); border-bottom: 1px solid var(--ws-line); }
#workspace-atlas-root .ws-atlas-assignment-row:last-child { border-bottom: 0; }
#workspace-atlas-root .ws-atlas-assignment-route { display: flex; flex-wrap: wrap; align-items: center; gap: var(--ws-atlas-space-compact); margin-bottom: var(--ws-atlas-space-compact); }
#workspace-atlas-root .ws-atlas-assignment-endpoint { display: flex; flex: 1 1 8rem; flex-direction: column; align-items: stretch; gap: var(--ws-space-xs); min-width: 0; }
#workspace-atlas-root .ws-atlas-assignment-endpoint button { text-align: left; }
#workspace-atlas-root .ws-atlas-assignment-label { flex: 1 1 8rem; min-width: 0; }
#workspace-atlas-root .ws-atlas-return { margin-block: var(--ws-atlas-space-compact); }
#workspace-atlas-root .ws-atlas-results > h2 { margin-block: var(--ws-space-md); }
.ws-atlas-boundary { border-top: 1px solid var(--ws-line); margin-top: var(--ws-space-md); font-size: .875rem; }
.ws-atlas-boundary p { margin-block: var(--ws-space-sm) !important; color: var(--ws-muted); }
.ws-atlas-results, .ws-atlas-detail { min-width: 0; }
#workspace-atlas-root .ws-atlas-local-navigation { display: flex; flex-wrap: wrap; gap: var(--ws-space-sm); }
#workspace-atlas-root .ws-atlas-local-navigation > button { flex: 1 1 auto; min-width: 0; }
.ws-atlas-list { list-style: none; padding: 0; margin-top: var(--ws-space-md) !important; max-height: 32rem; overflow: auto; overscroll-behavior: contain; scroll-padding: var(--ws-space-md); }
.ws-atlas-row { border-bottom: 1px solid var(--ws-line); }
#workspace-atlas-root .ws-atlas-row-button { display: flex; flex-direction: column; align-items: stretch; gap: var(--ws-space-xs); text-align: left; width: 100%; border: 1px solid transparent; border-radius: 0; padding: var(--ws-atlas-space-compact) var(--ws-space-sm); background: transparent; }
/* Pointer/touch jumps need the same clearance as keyboard focus. Keep a row's
   focus ring inside the bounded scroller instead of clipping its outer edge. */
#workspace-atlas-root :is(#atlas-list-heading,.ws-atlas-row-button) { scroll-margin-block: var(--ws-space-md); }
#workspace-atlas-root .ws-atlas-row-button:focus-visible { outline-offset: -3px; }
#workspace-atlas-root .ws-atlas-row-button:hover { background: var(--ws-soft); }
#workspace-atlas-root .ws-atlas-row-button[aria-pressed="true"] { background: var(--ws-accent-soft); border-color: var(--ws-accent); color: var(--ws-ink); }
.ws-atlas-row-meta { display: flex; flex-wrap: wrap; justify-content: space-between; gap: var(--ws-space-sm); font-size: .875rem; color: var(--ws-muted); }
.ws-atlas-role { font-size: .8125rem; }
.ws-atlas-row-state { font-size: .875rem; }
.ws-atlas-focus-bar { margin-block: var(--ws-space-sm) var(--ws-space-md); }
.ws-atlas-focus-bar .ws-atlas-actions { margin-block: 0 var(--ws-space-xs); }
#workspace-atlas-root .ws-atlas-row-button[data-focus-role="neighbor"] { background: var(--ws-soft); border-color: var(--ws-line); }
#workspace-atlas-root .ws-atlas-row-button[data-focus-role="context"] strong { font-weight: 500; }
.ws-atlas-focus-label { font-size: .875rem; color: var(--ws-ink); }
#workspace-atlas-root .ws-atlas-row-button[data-focus-role="neighbor"] .ws-atlas-focus-label { font-weight: 600; }
.ws-atlas-detail { background: var(--ws-surface); padding: var(--ws-space-md); border-radius: 8px; border: 1px solid var(--ws-line); }
.ws-atlas-detail > p { margin-top: var(--ws-atlas-space-compact) !important; }
.ws-atlas-facts { display: grid; grid-template-columns: minmax(0,1fr); gap: var(--ws-space-xs); margin-block: var(--ws-space-sm) !important; }
.ws-atlas-facts dd { margin-bottom: var(--ws-space-sm); }
.ws-atlas-facts dt { color: var(--ws-muted); font-size: .875rem; }
.ws-atlas-facts dd { min-width: 0; margin: 0; }
.ws-atlas-relations { list-style: none; padding: 0; }
.ws-atlas-relations li { display: flex; flex-direction: column; align-items: start; gap: var(--ws-space-xs); padding-block: var(--ws-atlas-space-compact); border-bottom: 1px solid var(--ws-line); }
.ws-atlas-relations small { max-width: 100%; }
.ws-atlas-pagination { display: flex; flex-wrap: wrap; gap: var(--ws-space-sm); padding-block: var(--ws-space-md); border-top: 1px solid var(--ws-line); margin-top: var(--ws-space-md); }
.ws-atlas-pagination p { flex-basis: 100%; margin-bottom: var(--ws-space-sm) !important; }
.ws-atlas-empty { padding: var(--ws-space-xl) 0; color: var(--ws-muted); }
.ws-atlas-graph { border-bottom: 1px solid var(--ws-line); padding-bottom: var(--ws-space-sm); }
.ws-atlas-graph-tools { display: flex; flex-wrap: wrap; gap: var(--ws-space-sm); margin-block: var(--ws-space-sm); }
#workspace-atlas-root .ws-atlas-graph-tools button { font-size: .875rem; }
.ws-atlas-renderer { min-width: 0; width: 100%; height: min(48vh,28rem); min-height: 20rem; position: relative; overflow: hidden; background: var(--ws-surface); }
.ws-atlas-renderer canvas { display: block; max-width: 100%; touch-action: none; }
.ws-atlas-hover:empty { display: none; }
@media (max-width: 1100px) {
    .ws-atlas-workspace { grid-template-columns: minmax(0,1fr) minmax(15rem,.65fr); }
    .ws-atlas-explorer { grid-column: 1 / -1; border-right: 0; border-bottom: 1px solid var(--ws-line); padding: 0 0 var(--ws-space-sm); }
    .ws-atlas-explorer nav { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: var(--ws-space-md); }
}
@media (max-width: 900px) {
    .ws-atlas-workspace { grid-template-columns: minmax(0,1fr); }
    .ws-atlas-explorer nav { grid-template-columns: minmax(0,1fr); }
    #workspace-atlas-root .ws-atlas-list { max-height: min(55vh,32rem); max-height: min(55svh,32rem); overflow: auto; overscroll-behavior: auto; }
    #workspace-atlas-root .ws-atlas-assignment-route { flex-direction: column; align-items: stretch; }
    #workspace-atlas-root .ws-atlas-assignment-endpoint, #workspace-atlas-root .ws-atlas-assignment-label { flex-basis: auto; }
}
@media (max-width: 480px) {
    #workspace-atlas-root h1 { font-size: 1.5rem; }
    .ws-atlas-filters { grid-template-columns: minmax(0,1fr) auto; }
    .ws-atlas-filter-panel { grid-column: 1 / -1; }
    .ws-atlas-filter-options { grid-template-columns: minmax(0,1fr); }
    .ws-atlas-detail { padding: var(--ws-space-md); }
    .ws-atlas-facts { grid-template-columns: minmax(0,1fr); gap: var(--ws-space-xs); }
    .ws-atlas-facts dd { margin-bottom: var(--ws-space-sm); }
    .ws-atlas-actions > *, .ws-atlas-pagination > button { width: 100%; }
    #workspace-atlas-root .ws-atlas-modes { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
    #workspace-atlas-root .ws-atlas-modes > button { width: 100%; }
    .ws-atlas-graph-tools > button { flex: 1 1 8rem; }
    .ws-atlas-renderer { height: 22rem; min-height: 18rem; }
}
@media (prefers-reduced-motion: reduce) {
    #workspace-atlas-root *, #workspace-atlas-root *::before, #workspace-atlas-root *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
