.drafting-workspace {
  padding: 0;
  color: var(--ink-graphite);
}
.drafting-workspace [hidden] { display: none !important; }
.drafting-workspace .texture-band::before { display: none; }
.drafting-workspace .conversation-hero { overflow: visible; background: none; }
.drafting-workspace h1, .drafting-workspace h2 { font-weight: 500; }
.drafting-entry {
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(235px, .75fr);
  align-items: stretch;
  gap: clamp(28px, 5vw, 88px);
  padding: clamp(30px, 4.8vw, 78px) 0;
  border: 0;
}
.drafting-question { align-self: center; min-width: 0; }
.drafting-entry .drafting-question h1 {
  max-width: 13ch;
  margin: 0 0 clamp(18px, 2.4vw, 38px);
  font-size: clamp(62px, 6.6vw, 108px);
  line-height: .91;
  letter-spacing: -.047em;
}
.drafting-workspace .drafting-form {
  margin: 0;
  padding: 0;
  border: 1px solid var(--grid);
  background: var(--panel);
}
.drafting-form:focus-within {
  outline: 2px solid var(--accent-blue);
  outline-offset: 0;
}
.drafting-form textarea, .drafting-form textarea:focus {
  min-height: 84px;
  padding: 14px 16px 6px;
  border: 0;
  border-radius: 0;
  outline: 0;
  background: transparent;
}
.drafting-form textarea::placeholder { color: var(--graphite-mid); }
.drafting-form .conversation-form-foot { margin: 0; padding: 5px 8px 8px 16px; }
.drafting-form .btn { gap: 14px; }
.drafting-submit-actions { display: flex; flex-wrap: wrap; justify-content: end; gap: 6px; }
.drafting-origin { display: inline-block; margin-top: 12px; color: var(--graphite-mid); font: 11px/1.4 var(--font-mono); }
.drafting-origin:not([hidden]) + h2 { margin-top: 5px; }
.drafting-feedback { margin: 8px 0; color: var(--accent-blue); font-size: 14px; }
.drafting-composer { margin: 12px 0 22px; }
.drafting-composer h3 { margin: 0 0 8px; font-size: 24px; }
.drafting-stage-bar > [data-open-brief] { min-height: 44px; }
.drafting-form .btn > span { font-size: 16px; line-height: 1; }
.drafting-prompts {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 20px;
  margin-top: 8px;
}
.drafting-prompts > button, .drafting-brief-link, .drafting-source-link {
  padding: 0;
  border: 0;
  background: none;
  color: var(--accent-blue);
  font: 12px/1.45 var(--font-mono);
  text-underline-offset: 4px;
  cursor: pointer;
}
.drafting-prompts > button { padding: 9px 0; text-decoration: underline; text-decoration-color: var(--grid); }
.drafting-prompts > button:hover { text-decoration-color: currentColor; }
.instrument-plate {
  display: grid;
  grid-template-rows: 1fr auto;
  align-self: stretch;
  min-width: 0;
  border: 1px solid var(--grid);
  color: var(--accent-blue);
  text-decoration: none;
}
.instrument-drawing {
  position: relative;
  display: grid;
  min-height: 220px;
  place-items: center;
  border-bottom: 1px solid var(--grid);
  background-color: var(--ground);
  background-image: linear-gradient(90deg, #c9cbce55 1px, transparent 1px), linear-gradient(#c9cbce55 1px, transparent 1px);
  background-size: 24px 24px;
}
.instrument-drawing::before, .instrument-drawing::after {
  position: absolute;
  width: 9px;
  height: 9px;
  background: linear-gradient(var(--grid), var(--grid)) center/1px 100% no-repeat,
    linear-gradient(var(--grid), var(--grid)) center/100% 1px no-repeat;
  content: "";
}
.instrument-drawing::before { top: 12px; right: 12px; }
.instrument-drawing::after { bottom: 12px; left: 12px; }
.instrument-art {
  display: block;
  width: auto;
  height: clamp(210px, 19vw, 300px);
  margin: 20px;
}
.drafting-workspace.is-working .instrument-art { visibility: hidden; }
.instrument-number {
  position: absolute;
  top: 14px;
  left: 16px;
  color: var(--graphite-mid);
  font: 11px/1.3 var(--font-mono);
  letter-spacing: .08em;
  text-transform: uppercase;
}
.instrument-action {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  padding: 12px 16px;
  background: var(--panel);
  font: 500 14px/1.3 var(--font-ui);
}
.instrument-plate:hover { border-color: var(--accent-blue); }
.instrument-plate:hover .instrument-action { background: var(--blue-wash); }

.drafting-sorcery-head { padding: clamp(20px, 3vw, 48px) 0 16px; border: 0; }
.drafting-sorcery-head h1 {
  max-width: none;
  margin: 0;
  font-size: clamp(51px, 5.3vw, 88px);
  line-height: 1;
  letter-spacing: -.04em;
}
.drafting-stage {
  min-width: 0;
  margin: 0;
  padding: clamp(14px, 2vw, 30px) 0 0;
  border: 0;
  border-top: 1px solid var(--ink-graphite);
  border-radius: 0;
  background: none;
  scroll-margin-top: 14px;
}
.drafting-stage-bar, .drafting-thread-head, .drafting-stage-foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 10px 16px;
}
.drafting-source-switch { display: flex; flex-wrap: wrap; gap: 0; }
.drafting-source-switch button {
  min-height: 36px;
  padding: 8px 13px;
  border: 1px solid var(--grid);
  background: transparent;
  color: var(--graphite-mid);
  font: 11px/1.2 var(--font-mono);
  cursor: pointer;
}
.drafting-source-switch button + button { margin-left: -1px; }
.drafting-source-switch button[aria-pressed="true"] { position: relative; border-color: var(--accent-blue); background: var(--accent-blue); color: var(--hi); }
.drafting-source-switch button:hover:not([aria-pressed="true"]) { color: var(--accent-blue); background: var(--panel); }
.drafting-brief-link, .drafting-source-link { display: inline-flex; align-items: center; gap: 8px; min-height: 40px; }
.drafting-stage h2 {
  margin: 14px 0 18px;
  font-size: clamp(34px, 3.6vw, 58px);
  line-height: 1.02;
  letter-spacing: -.033em;
  overflow-wrap: anywhere;
}
.drafting-stage-foot { align-items: start; margin: 10px 0; }
.drafting-stage-foot .export-bar { margin-left: auto; align-self: start; }
.drafting-stage-foot .export-label { font: 11px/1.3 var(--font-mono); color: var(--graphite-mid); }
.drafting-stage-foot .export-button, .drafting-thread .new-conversation, .drafting-view-plan {
  min-height: 36px;
  padding: 7px 11px;
  border: 1px solid var(--grid);
  border-radius: 0;
  background: transparent;
  color: var(--accent-blue);
  font: 11px/1.4 var(--font-mono);
  cursor: pointer;
}
.drafting-stage-foot .export-button:hover, .drafting-thread .new-conversation:hover, .drafting-view-plan:hover { border-color: var(--accent-blue); background: var(--panel); }
.drafting-source-link { text-decoration: underline; }
.drafting-notes { min-width: 0; max-width: 100%; }
.drafting-notes[open] { flex-basis: 100%; }
.drafting-notes > summary { min-height: 40px; padding: 9px 0; font: 13px/1.4 var(--font-mono); cursor: pointer; }
.drafting-note-section { margin: 12px 0; }
.drafting-note-section h3 { font: 500 18px/1.3 var(--font-ui); }
.drafting-note-section ul { margin: 6px 0; padding-left: 22px; }
.drafting-empty { display: grid; place-content: center; justify-items: center; gap: 12px; min-height: 156px; border: 1px dashed var(--grid); }
.drafting-empty p { margin: 0; color: var(--graphite-mid); }
.drafting-brief, .drafting-thread { min-width: 0; padding: clamp(20px, 2.2vw, 36px) 0; border-top: 1px solid var(--grid); }
.drafting-workspace[data-conversation-mode="sorcery"] .drafting-brief { margin-top: 24px; }
.drafting-brief h2, .drafting-thread-head h2 {
  margin: 0; color: var(--ink-graphite);
  font-size: clamp(28px, 2.6vw, 40px); line-height: 1.05; letter-spacing: -.02em;
}
.drafting-brief h2 { margin-bottom: 14px; }
.drafting-thread-head { gap: 12px; }
.drafting-status { display: flex; align-items: center; gap: 9px; min-height: 30px; margin: 5px 0 0; }
.drafting-status .conversation-state { flex: 1 1 auto; max-width: none; padding: 0; color: var(--graphite-mid); font: 12px/1.5 var(--font-ui); text-align: left; overflow-wrap: anywhere; }
.drafting-status .conversation-state.is-error { color: var(--no); }
.drafting-thread .research-trail { display: flex; flex-wrap: wrap; gap: 8px 18px; margin: 8px 0 16px; }
.drafting-thread .research-trail-step { gap: 5px; padding: 0; }
.drafting-thread .research-trail-step::after { display: none; }
.drafting-thread .research-trail-step.is-complete { color: var(--graphite-mid); }
.drafting-thread .research-trail-step.is-complete::before { background: var(--accent-blue); border-color: var(--accent-blue); }
.drafting-thread .conversation-log {
  min-height: 0;
  max-height: none;
  margin-top: 15px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  overflow: visible;
}
.drafting-thread .conversation-turn { gap: 0; border-top: 1px solid var(--grid); }
.drafting-thread .message-bubble {
  display: grid;
  grid-template-columns: minmax(65px, .16fr) minmax(0, 1fr);
  width: 100%;
  max-width: 100%;
  justify-self: stretch;
  gap: 4px 12px;
  align-items: start;
  padding: 15px 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--ink-graphite);
}
.drafting-thread .message-user { border-bottom: 1px dashed var(--grid); }
.drafting-thread .message-label, .drafting-thread .message-user .message-label { color: var(--graphite-mid); }
.drafting-thread .job-progress, .drafting-thread .job-actions, .drafting-thread .message-plan-context { grid-column: 2; }
.message-plan-context > summary { cursor: pointer; color: var(--accent-blue); font: 12px/1.45 var(--font-mono); }
.message-plan-context p { margin: 8px 0 0; color: var(--graphite-mid); font: 12px/1.5 var(--font-mono); }
.drafting-workspace.is-working .canvas-recheck img { display: none; }
.drafting-thread .finding-section { border-top-color: var(--grid); }
.drafting-view-plan { margin-top: 14px; font-size: 13px; overflow-wrap: anywhere; }
.drafting-context {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: start;
  gap: clamp(10px, 2vw, 35px);
  border-top: 1px solid var(--grid);
}
.drafting-context details { min-width: 0; padding: 12px 0 10px; }
.drafting-context details > summary { min-height: 36px; margin: 0; padding: 8px 0; color: var(--accent-blue); font: 12px/1.45 var(--font-mono); cursor: pointer; }
.drafting-context details p { color: var(--graphite-mid); font-size: 13px; }
.drafting-context .presence-line { margin: 10px 0 4px; }
.drafting-context .presence-line strong { font: 500 15px/1.4 var(--font-ui); }
.drafting-context .suggestion-card input, .drafting-context .suggestion-card textarea { border-radius: 0; background: var(--panel); }

@media (max-width: 740px) {
  .drafting-entry { grid-template-columns: minmax(0, 1fr); gap: 20px; padding: 24px 0; }
  .drafting-entry .drafting-question h1 { max-width: 14ch; font-size: clamp(49px, 9vw, 65px); }
  .instrument-plate { grid-template-columns: minmax(0, .85fr) minmax(0, 1fr); grid-template-rows: auto; min-height: 115px; }
  .instrument-drawing { min-height: 115px; border-right: 1px solid var(--grid); border-bottom: 0; background-size: 18px 18px; }
  .instrument-number { top: 5px; left: 7px; font-size: 9px; }
  .instrument-art { height: 99px; margin: 8px; }
  .instrument-action { align-items: end; padding: 12px; }
  .instrument-drawing::before, .instrument-drawing::after { display: none; }
  .drafting-context { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .drafting-context details + details { border-top: 1px solid var(--grid); }
  .drafting-context details { padding: 3px 0; }
  .drafting-context details > summary { min-height: 44px; padding: 13px 0; }
  .drafting-source-switch button, .drafting-stage-foot .export-button, .drafting-thread .new-conversation { min-height: 44px; }
  .drafting-stage-foot { gap: 4px 12px; }
  .drafting-thread .message-bubble { grid-template-columns: minmax(0, 1fr); gap: 4px; }
  .drafting-thread .job-progress, .drafting-thread .job-actions, .drafting-thread .message-plan-context { grid-column: auto; }
}
@media (max-width: 410px) {
  .drafting-prompts { gap: 0 12px; }
  .drafting-prompts > button { font-size: 11px; }
  .drafting-form .conversation-form-foot:has([data-draft-from-catalogue]) { flex-wrap: wrap; }
  .drafting-form .drafting-submit-actions:has([data-draft-from-catalogue]) { margin-left: auto; }
  .drafting-source-switch button { padding-inline: 9px; }
  .drafting-stage-bar { gap: 4px; }
  .drafting-brief-link { font-size: 11px; }
}

.plan-requirements { margin-block: 12px; border-top: 1px solid var(--grid); }
.plan-requirements > summary, .plan-intent > summary, .research-notes > summary { min-height: 44px; padding-block: 12px; cursor: pointer; font-weight: 600; }
.plan-requirements label { display: block; margin-block: 12px 6px; }
.plan-requirements textarea { width: 100%; min-width: 0; padding: 10px; border: 1px solid var(--grid); background: var(--panel); color: inherit; font: inherit; resize: vertical; }
.plan-intent { margin-block: 12px 20px; padding: 12px 16px; border: 1px solid var(--grid); overflow-wrap: anywhere; }
.plan-intent p, .plan-intent li { max-width: 85ch; line-height: 1.6; }
.plan-intent ul { padding-left: 20px; }
.plan-question { border-left: 2px solid var(--graphite-line); padding-left: 12px; }
.research-notes { margin-block: 16px; padding: 8px 12px; border: 1px solid var(--grid); overflow-wrap: anywhere; }

/* Source-backed first-use example: final information is visible before scripts run. */
.example-demo.instrument-plate{display:block;min-width:0;text-align:left;padding:1rem 1.2rem;height:auto;overflow:hidden;transform:none}
.example-demo h2{font-family:inherit;font-size:1.35rem;margin:.35rem 0}.example-query{font-weight:600;margin:.6rem 0}.example-caption,.example-status,.example-notes{font-size:.82rem;line-height:1.5}.example-diagram{display:block;width:100%;height:auto;max-height:355px;margin:.5rem 0;color:#394b5b}.example-diagram>g path{stroke:currentColor;stroke-width:1.5}.example-diagram marker path{fill:currentColor}.example-diagram g rect{fill:var(--paper,#e6e7e9);stroke:currentColor;stroke-width:1}.example-diagram text{fill:currentColor;font:11px system-ui,sans-serif}.example-diagram .example-node-name{font-size:15px;font-weight:600}.example-experimental rect{stroke-dasharray:4 3}.example-diagram [data-example-node],.example-diagram [data-example-edge]{transition:opacity .25s ease}.example-diagram .is-pending{opacity:.12}.example-controls{display:flex;flex-wrap:wrap;gap:.5rem}.example-controls[hidden]{display:none}.example-controls button{padding:.4rem .6rem;border:1px solid currentColor;border-radius:4px;color:inherit;background:transparent;cursor:pointer}.example-controls button:disabled{opacity:.45;cursor:default}.example-controls button:focus-visible,.example-notes summary:focus-visible{outline:2px solid currentColor;outline-offset:3px}.example-status{min-height:2.6em;margin:.65rem 0}.example-notes{margin:.65rem 0}.example-notes summary{cursor:pointer}.example-notes ol{padding-left:1.2rem}.example-demo .instrument-action{margin-top:.9rem;display:block}
@media(max-width:600px){.example-demo.instrument-plate{padding:1rem;max-width:100%}.example-demo h2{font-size:1.2rem}.example-demo .example-query{font-size:.95rem}.example-diagram{max-height:none}}
@media(prefers-reduced-motion:reduce){.example-diagram [data-example-node],.example-diagram [data-example-edge]{transition:none}}
