[data-context="dm-desk"] /*
SYSTEM UI: DM's Desk workspace prototype.
Context-specific form semantics remain in gameExpectationsDefinition.js.
This file owns workspace, list, canvas, inspector, and form-control projections only.
*/
.dm-desk-launch{
  margin-left: 0.35rem;
}

[data-context="dm-desk"].dm-desk-layer[hidden]{
    z-index: var(--workspace-layer) !important; display: none !important;     pointer-events: auto;
}
[data-context="dm-desk"].dm-desk-layer{
  position: fixed;
  inset: 0;
  z-index: calc(var(--layer-system-ui, 1000) + 100);
  display: grid;
  place-items: center;
  padding: 1rem;
  background: rgb(2 6 12 / 0.76);
  backdrop-filter: blur(6px);
  isolation: isolate;
}

[data-context="dm-desk"] .dm-desk-shell{
  --dm-desk-accent: var(--gold);
  width: min(1480px, 98vw);
  height: min(900px, 96vh);
  min-width: 0;
  min-height: 0;
  overflow: hidden;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  border: 1px solid var(--border-strong);
  border-radius: var(--radius-panel);
  background: var(--surface-0);
  color: var(--text);
  box-shadow: var(--shadow);
}

[data-context="dm-desk"] .dm-desk-header{
  min-width: 0;
  min-height: 72px;
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  padding: 10px 14px;
  border-bottom: 1px solid var(--border);
  background: linear-gradient(90deg, color-mix(in srgb, var(--dm-desk-accent) 16%, transparent), transparent 70%), var(--surface-1);
}
[data-context="dm-desk"] .dm-desk-scope-mark{
  width: 46px;
  height: 46px;
  display: grid;
  place-items: center;
  border: 1px solid color-mix(in srgb, var(--dm-desk-accent) 48%, transparent);
  border-radius: 14px;
  background: color-mix(in srgb, var(--dm-desk-accent) 14%, transparent);
  color: var(--dm-desk-accent);
  font-weight: 950;
}
[data-context="dm-desk"] .dm-desk-scope-copy{ min-width: 0; display: grid; gap: 2px; }
[data-context="dm-desk"] .dm-desk-header h1,

[data-context="dm-desk"] .dm-desk-header p,

[data-context="dm-desk"] .dm-desk-inspector__header h2,

[data-context="dm-desk"] .dm-desk-inspector__header p,

[data-context="dm-desk"] .dm-desk-canvas__header h2,

[data-context="dm-desk"] .dm-desk-canvas__header p{ margin: 0; }
[data-context="dm-desk"] .dm-desk-header h1{ overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font: 1.2rem/1.1 var(--font-title); }
[data-context="dm-desk"] .dm-desk-header p:last-child{ color: var(--text-muted); font-size: .78rem; }
[data-context="dm-desk"] .dm-desk-eyebrow{ color: color-mix(in srgb, var(--dm-desk-accent) 62%, var(--text-muted)); font-size: .68rem; font-weight: 900; letter-spacing: .09em; text-transform: uppercase; }
[data-context="dm-desk"] .dm-desk-close{ min-height: 34px; padding: 6px 10px; border: 1px solid var(--border); border-radius: var(--radius-control); background: var(--surface-control); color: var(--text); cursor: pointer; }

[data-context="dm-desk"] .dm-desk-layout{
  min-width: 0;
  min-height: 0;
  display: grid;
  grid-template-columns: minmax(240px, 290px) minmax(360px, 1fr) minmax(360px, 480px);
}
[data-context="dm-desk"] .dm-desk-sources,

[data-context="dm-desk"] .dm-desk-canvas,

[data-context="dm-desk"] .dm-desk-inspector-host{ min-width: 0; min-height: 0; overflow: auto; }
[data-context="dm-desk"] .dm-desk-sources{ display: grid; align-content: start; gap: 12px; padding: 12px; border-right: 1px solid var(--border); background: var(--surface-1); }
[data-context="dm-desk"] .dm-desk-object-list{ min-width: 0; overflow: hidden; border: 1px solid var(--border); border-radius: var(--radius-card); background: var(--surface-0); }
[data-context="dm-desk"] .dm-desk-list-title{ cursor: default; }
[data-context="dm-desk"] .dm-desk-list-title small{ color: var(--text-muted); }
[data-context="dm-desk"] .dm-desk-list-results{ display: grid; gap: 6px; padding: 6px; }
[data-context="dm-desk"] .dm-desk-object-row{ width: 100%; text-align: left; }
[data-context="dm-desk"] .dm-desk-object-row[data-entity-type="map"]{--entity-accent:var(--entity-map)}
[data-context="dm-desk"] .dm-desk-object-row[data-entity-type="site"]{--entity-accent:var(--entity-site,var(--entity-map))}
[data-context="dm-desk"] .dm-desk-object-row[data-entity-type="place"]{--entity-accent:var(--entity-place)}
[data-context="dm-desk"] .dm-desk-object-row[data-entity-type="person"]{--entity-accent:var(--entity-person)}
[data-context="dm-desk"] .dm-desk-object-row[data-entity-type="quest"]{--entity-accent:var(--entity-quest)}
[data-context="dm-desk"] .dm-desk-object-row[data-entity-type="encounter"]{--entity-accent:var(--entity-encounter)}
[data-context="dm-desk"] .dm-desk-object-row[data-entity-type="monster"]{--entity-accent:var(--entity-monster)}
[data-context="dm-desk"] .dm-desk-object-row[data-entity-type="item"],[data-context="dm-desk"] .dm-desk-object-row[data-entity-type="equipment"]{--entity-accent:var(--entity-item)}
[data-context="dm-desk"] .dm-desk-object-row{--row-accent:var(--entity-accent,var(--entity-default))}
[data-context="dm-desk"] .dm-desk-object-row[aria-selected="true"]{ border-color: var(--dm-desk-accent); background: color-mix(in srgb, var(--dm-desk-accent) 10%, var(--surface-1)); }
[data-context="dm-desk"] .dm-desk-object-row.is-dragging{ opacity: .56; }

[data-context="dm-desk"] .dm-desk-canvas{
  position: relative;
  display: grid;
  grid-template-rows: auto auto minmax(0, 1fr);
  align-content: start;
  gap: 14px;
  padding: 14px;
  background:
    linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px),
    var(--surface-0);
  background-size: 24px 24px;
}
[data-context="dm-desk"] .dm-desk-canvas::after{
  content: "Drop objects here";
  position: absolute;
  inset: 10px;
  display: grid;
  place-items: center;
  border: 2px dashed transparent;
  border-radius: var(--radius-panel);
  color: transparent;
  pointer-events: none;
  transition: border-color var(--transition), color var(--transition), background var(--transition);
}
[data-context="dm-desk"] .dm-desk-canvas.is-drag-over::after{
  border-color: var(--dm-desk-accent);
  color: var(--dm-desk-accent);
  background: color-mix(in srgb, var(--dm-desk-accent) 7%, transparent);
}
[data-context="dm-desk"] .dm-desk-canvas__header{ display: flex; align-items: center; justify-content: space-between; gap: 12px; }
[data-context="dm-desk"] .dm-desk-canvas__header h2{ font-size: 1rem; }
[data-context="dm-desk"] .dm-desk-canvas__header > span{ color: var(--text-muted); font-size: .7rem; }
[data-context="dm-desk"] .dm-desk-campaign-node{
  width: min(420px, 100%);
  justify-self: center;
  display: grid;
  grid-template-columns: 46px minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  padding: 12px;
  border: 1px solid color-mix(in srgb, var(--dm-desk-accent) 52%, var(--border));
  border-radius: var(--radius-card);
  background: color-mix(in srgb, var(--dm-desk-accent) 9%, var(--surface-1));
  box-shadow: var(--shadow-soft);
}
[data-context="dm-desk"] .dm-desk-campaign-node__glyph{ width: 42px; height: 42px; display: grid; place-items: center; border-radius: 50%; background: var(--dm-desk-accent); color: var(--bg); font-weight: 950; }
[data-context="dm-desk"] .dm-desk-campaign-node > span:last-child{ min-width: 0; display: grid; gap: 2px; }
[data-context="dm-desk"] .dm-desk-campaign-node strong{ overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
[data-context="dm-desk"] .dm-desk-campaign-node small{ color: var(--text-muted); }
[data-context="dm-desk"] .dm-desk-canvas__objects{ display: grid; align-content: start; gap: 8px; width: min(520px, 100%); justify-self: center; }
[data-context="dm-desk"] .dm-desk-canvas__empty{ margin: 0; padding: 24px; border: 1px dashed var(--border); border-radius: var(--radius-card); color: var(--text-muted); text-align: center; line-height: 1.45; }
[data-context="dm-desk"] .dm-desk-canvas-object{ transform: none !important; }

[data-context="dm-desk"] .dm-desk-inspector-host{ padding: 14px; border-left: 1px solid var(--border); background: var(--surface-1); }
[data-context="dm-desk"] .dm-desk-inspector{ display: grid; gap: 14px; }
[data-context="dm-desk"] .dm-desk-inspector__header{ display: flex; justify-content: space-between; align-items: start; gap: 12px; padding-bottom: 12px; border-bottom: 1px solid var(--border); }
[data-context="dm-desk"] .dm-desk-inspector__header > div{ min-width: 0; display: grid; gap: 3px; }
[data-context="dm-desk"] .dm-desk-inspector__header h2{ overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 1.2rem; }
[data-context="dm-desk"] .dm-desk-inspector__header p:last-child{ color: var(--text-muted); font-size: .8rem; }
[data-context="dm-desk"] .dm-desk-status{ flex: 0 0 auto; padding: 4px 8px; border: 1px solid color-mix(in srgb, var(--dm-desk-accent) 38%, transparent); border-radius: var(--radius-pill); background: color-mix(in srgb, var(--dm-desk-accent) 10%, transparent); color: var(--dm-desk-accent); font-size: .68rem; font-weight: 850; text-transform: uppercase; }
[data-context="dm-desk"] .dm-desk-form{ display: grid; gap: 12px; }
[data-context="dm-desk"] .dm-desk-form__section{ display: grid; gap: 10px; }
[data-context="dm-desk"] .dm-desk-field{ display: grid; gap: 6px; }
[data-context="dm-desk"] .dm-desk-field__label{ color: var(--text-muted); font-size: .72rem; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
[data-context="dm-desk"] .dm-desk-field__control{ width: 100%; min-height: 36px; padding: 8px 10px; border: 1px solid var(--border); border-radius: var(--radius-control); background: rgba(0,0,0,.28); color: var(--text); font: inherit; box-sizing: border-box; }
[data-context="dm-desk"] textarea.dm-desk-field__control{ min-height: 96px; resize: vertical; }
[data-context="dm-desk"] .dm-desk-inspector__actions{ display: flex; flex-wrap: wrap; gap: 8px; }
[data-context="dm-desk"] .dm-desk-inspector__actions button{ min-height: 34px; padding: 6px 10px; border: 1px solid var(--border); border-radius: var(--radius-control); background: var(--surface-control); color: var(--text-muted); }

@media (max-width: 1080px) {
  [data-context="dm-desk"] .dm-desk-layout{ grid-template-columns: minmax(220px, 280px) minmax(0, 1fr); }
  [data-context="dm-desk"] .dm-desk-inspector-host{ grid-column: 1 / -1; border-left: 0; border-top: 1px solid var(--border); max-height: 42vh; }
}
@media (max-width: 720px) {
  [data-context="dm-desk"].dm-desk-layer{ padding: 0; }
  [data-context="dm-desk"] .dm-desk-shell{ width: 100vw; height: 100vh; border-radius: 0; }
  [data-context="dm-desk"] .dm-desk-layout{ grid-template-columns: 1fr; grid-template-rows: auto minmax(320px, 1fr) minmax(300px, 1fr); }
  [data-context="dm-desk"] .dm-desk-sources{ grid-template-columns: 1fr 1fr; border-right: 0; border-bottom: 1px solid var(--border); }
  [data-context="dm-desk"] .dm-desk-inspector-host{ grid-column: auto; max-height: none; }
}

/* PATCH 052 - DM DESK LAUNCHER HOST */
.app-header > [data-system-tool="dm-desk"][data-context="dm-desk"].dm-desk-launch {
    position: relative;
    inset: auto;
    flex: 0 0 auto;
    margin: 0 0.35rem;
    z-index: auto;
}


[data-context="dm-desk"] .dm-desk-party-composition{display:grid;gap:12px;padding:12px;border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface-1)}[data-context="dm-desk"] .dm-desk-party-composition>header{display:flex;justify-content:space-between;align-items:start}[data-context="dm-desk"] .dm-desk-party-members,[data-context="dm-desk"] .dm-desk-party-candidate,[data-context="dm-desk"] .dm-desk-party-proposal{display:grid;gap:8px}[data-context="dm-desk"] .dm-desk-party-record{display:grid;text-align:left;gap:2px;padding:10px;border:1px solid var(--border);border-radius:var(--radius-control);background:var(--surface-control);color:var(--text)}[data-context="dm-desk"] .dm-desk-party-record small{color:var(--text-muted)}

[data-context="dm-desk"][data-wonderland-intent="party-composition"] .dm-desk-layout{grid-template-columns:minmax(260px,320px) minmax(0,1fr) minmax(340px,440px)}[data-context="dm-desk"][data-wonderland-intent="party-composition"] .dm-desk-canvas{grid-template-rows:minmax(0,1fr);background:var(--surface-0)}[data-context="dm-desk"][data-wonderland-intent="party-composition"] [data-wonderland-party-host]{display:grid;align-content:start;min-height:100%;padding:8px}[data-context="dm-desk"][data-wonderland-intent="party-composition"] .dm-desk-inspector-host[hidden]{display:none}[data-context="dm-desk"][data-wonderland-intent="party-composition"] .dm-desk-layout:has(.dm-desk-inspector-host[hidden]){grid-template-columns:minmax(260px,320px) minmax(0,1fr)}

/* IRON 106D68 - INTENTIONAL INSPECTOR COLLAPSE */
[data-context="dm-desk"] .dm-desk-inspector-host[hidden]{display:none!important}
[data-context="dm-desk"] .dm-desk-layout:has(.dm-desk-inspector-host[hidden]){grid-template-columns:minmax(240px,290px) minmax(0,1fr)}
body.dm-desk-open .system-object-builder-launcher,body.dm-desk-open .system-relationship-builder-launcher,body.dm-desk-open .system-collection-builder-launcher,body.dm-desk-open .system-domain-workspace-launcher{visibility:hidden!important;pointer-events:none!important}

.dm-desk-flight-controls { display: flex; gap: 8px; margin-inline-start: auto; }
.dm-desk-flight-controls button { border: 1px solid color-mix(in srgb, var(--accent, #9b7cff) 55%, transparent); border-radius: 999px; background: transparent; color: inherit; padding: 7px 12px; cursor: pointer; }
.dm-desk-flight-controls button.active { background: var(--accent, #9b7cff); color: #0c0b12; }
@media (max-width: 900px) { .dm-desk-flight-controls { width: 100%; order: 3; } .dm-desk-flight-controls button { flex: 1; } }

[data-context="dm-desk"] .campaign-builder-surfaces{display:flex;flex-wrap:wrap;gap:6px;grid-column:1 / -1;padding-top:6px}
[data-context="dm-desk"] .campaign-builder-surfaces button{min-height:30px;padding:5px 10px;border:1px solid var(--border);border-radius:var(--radius-control);background:var(--surface-control);color:var(--text-muted)}
[data-context="dm-desk"] .campaign-builder-surfaces button.active{border-color:var(--dm-desk-accent);color:var(--dm-desk-accent);background:color-mix(in srgb,var(--dm-desk-accent) 10%,var(--surface-1))}
[data-context="dm-desk"] [data-campaign-builder-layout][data-campaign-active-surface="scope"]{grid-template-columns:minmax(0,1fr)}
[data-context="dm-desk"] [data-campaign-builder-layout][data-campaign-active-surface="working-set"]{grid-template-columns:minmax(0,1fr)}
[data-context="dm-desk"] [data-campaign-builder-layout][data-campaign-active-surface="working-set"] .dm-desk-sources{border-right:0;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
[data-context="dm-desk"] [data-campaign-builder-layout][data-campaign-active-surface="inspector"]{grid-template-columns:minmax(0,1fr)}

/* IRON 106D84R2 - TRUE CAMPAIGN BUILDER WORKSPACE */
.world-builder-workspace-host{position:fixed;left:0;right:0;bottom:0;z-index:calc(var(--layer-system-ui,1000) - 20);min-width:0;min-height:0;background:var(--surface-0);overflow:hidden}
.world-builder-workspace-host[hidden]{display:none!important}
.world-builder-workspace-host>[data-context="dm-desk"].dm-desk-layer{position:absolute;inset:0;z-index:auto;display:block;padding:0;background:var(--surface-0);backdrop-filter:none}
.world-builder-workspace-host [data-context="dm-desk"] .dm-desk-shell{width:100%;height:100%;max-width:none;max-height:none;border:0;border-radius:0;box-shadow:none}
.world-builder-workspace-host [data-context="dm-desk"] .dm-desk-close{display:none}
body.dm-desk-open .world-builder-workspace-host{display:block}

/* IRON 106D85 - CAMPAIGN WORKING SET MASTER DETAIL */
[data-context="dm-desk"] .campaign-working-set-results{min-width:0;min-height:0;overflow:auto;padding:14px;background:var(--surface-0)}
[data-context="dm-desk"] .campaign-working-set-results[hidden]{display:none!important}
[data-context="dm-desk"] .campaign-working-set-lane{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;width:100%;padding:11px 12px;border:1px solid var(--border);border-radius:var(--radius-control);background:var(--surface-control);color:var(--text);text-align:left;cursor:pointer}
[data-context="dm-desk"] .campaign-working-set-lane strong{min-width:2rem;padding:2px 7px;border-radius:var(--radius-pill);background:color-mix(in srgb,var(--dm-desk-accent) 14%,transparent);color:var(--dm-desk-accent);text-align:center}
[data-context="dm-desk"] .campaign-working-set-lane[aria-pressed="true"]{border-color:var(--dm-desk-accent);background:color-mix(in srgb,var(--dm-desk-accent) 10%,var(--surface-1))}
[data-context="dm-desk"] .campaign-working-set-library{padding:8px 4px;color:var(--text-muted);font-size:.72rem}
[data-context="dm-desk"] .campaign-working-set-library>div{padding-top:6px;line-height:1.5}
[data-context="dm-desk"] .campaign-working-set-results>.dm-desk-object-list{max-width:1100px;margin:0 auto;overflow:visible}
[data-context="dm-desk"] .campaign-working-set-results .dm-desk-list-results{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));align-content:start}
[data-context="dm-desk"] [data-campaign-builder-layout][data-campaign-active-surface="working-set"]{grid-template-columns:minmax(220px,280px) minmax(0,1fr)}
[data-context="dm-desk"] [data-campaign-builder-layout][data-campaign-active-surface="working-set"] .dm-desk-sources{display:grid!important;grid-template-columns:1fr;border-right:1px solid var(--border)}

/* IRON 106D85R1 - WORKING SET SURFACE BOUNDARY */
[data-context="dm-desk"] .dm-desk-sources[hidden]{display:none!important}
