/* Cult source arrangements, independently redrawn in TDW roles. Controls are local previews. */
.cult-stage { display:grid; align-content:center; gap:28px; min-height:100svh; }
.cult-heading { margin:0; font:500 clamp(28px,3vw,48px)/1.1 var(--font-serif); letter-spacing:-.02em; }
.cult-note { margin:0; font:400 12px/1.6 var(--font-mono); color:var(--r-ink); }
.cult-note a { color:inherit; text-underline-offset:3px; }
.cult-stage button, .cult-stage select, .cult-stage input { font:400 14px/1.4 var(--font-sans); }
.cult-stage button { min-height:44px; cursor:pointer; border:1px solid var(--r-rule); border-radius:16px; background:var(--r-card); color:var(--r-card-ink); padding:10px 16px; }
.cult-stage button:disabled { cursor:default; background:var(--r-field); color:var(--r-ink); }
.cult-stage :is(button,input,select):focus-visible { outline:3px solid var(--r-head); outline-offset:4px; }
.cult-stage [hidden] { display:none!important; }
.cult-actions { display:flex; flex-wrap:wrap; gap:10px; }
.cult-status { margin:0; min-height:1.6em; font-size:14px; }

/* A raised terminal window with output above the source's bottom-centred command tabs. */
.terminal-stage { background:var(--r-field); }
.terminal-frame { width:min(100%,992px); margin:auto; padding:clamp(24px,6vw,96px) clamp(12px,4vw,48px) 0; background:var(--r-plate); }
.terminal-window { background:var(--r-card); color:var(--r-card-ink); border-radius:16px 16px 0 0; min-height:478px; padding:32px clamp(18px,4vw,40px) 20px; display:flex; flex-direction:column; gap:20px; box-shadow:0 20px 44px -24px var(--r-head); }
.terminal-window pre { font:400 clamp(12px,1vw,16px)/1.7 var(--font-mono); white-space:pre-wrap; overflow-wrap:anywhere; margin:0; min-height:240px; }
.terminal-window .terminal-command { color:var(--r-card-accent); min-height:0; }
.terminal-tabs { display:flex; flex-wrap:wrap; justify-content:center; gap:6px; margin-top:auto; }
.terminal-tabs button { font-family:var(--font-mono); }
.terminal-tabs button[aria-selected=true] { background:var(--r-btn); color:var(--r-btn-ink); }
.terminal-window :focus-visible { outline-color:var(--r-card-accent); }
.terminal-tools { display:flex; justify-content:space-between; gap:12px; flex-wrap:wrap; }
.terminal-window .cult-note { color:var(--r-card-ink); }
.terminal-codes { display:none; }
.opt-code-tabs .terminal-playback { display:none; }
.opt-code-tabs .terminal-codes { display:block; }
.opt-code-tabs .terminal-frame { background:transparent; padding:0; width:min(100%,688px); }
.opt-code-tabs .terminal-window { min-height:300px; border-radius:16px; }
.opt-code-tabs .terminal-tabs { order:-1; justify-content:flex-start; }
.opt-code-tabs .terminal-codes pre { min-height:140px; }

/* A single question, four full-width choice rows and a local confirmation. */
.choice-shell { width:min(100%,480px); margin:auto; background:var(--r-card); color:var(--r-card-ink); border-radius:16px; padding:clamp(20px,3vw,32px); display:grid; gap:20px; }
.choice-shell h2 { font:500 24px/1.2 var(--font-serif); margin:0; }
.choice-shell p { margin:0; }
.choice-shell .cult-note { color:var(--r-card-ink); }
.choice-shell :focus-visible { outline-color:var(--r-card-accent); }
.choice-shell fieldset { border:0; padding:0; margin:0; display:grid; gap:10px; }
.choice-row { min-height:58px; display:flex; align-items:center; gap:12px; border:1px solid var(--r-rule); border-radius:16px; padding:12px 16px; cursor:pointer; }
.choice-row:has(input:checked) { border-color:var(--r-card-accent); background:var(--r-card); }
.choice-row input { width:20px; height:20px; margin:0; accent-color:var(--r-card-accent); }
.choice-shell button { background:var(--r-btn); color:var(--r-btn-ink); }
.ranked-panel { display:none; }
.opt-ranked-list .choice-panel { display:none; }
.opt-ranked-list .ranked-panel { display:block; }
.ranked-panel ol { list-style:none; padding:0; margin:20px 0; display:grid; gap:10px; }
.ranked-panel li { display:grid; grid-template-columns:auto 1fr; align-items:center; gap:12px; border:1px solid var(--r-rule); border-radius:16px; padding:12px; }
.rank-controls { display:flex; flex-direction:column; gap:4px; }
.rank-controls button { padding:6px 10px; min-height:44px; }
.ranked-panel .rank-number { font:400 12px/1.5 var(--font-mono); }

/* The source's three distinct workflow lanes retain a 3 / 2 / 1 initial example distribution. */
.workflow-board { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; max-width:992px; width:100%; margin:auto; }
.workflow-lane { display:grid; align-content:start; gap:10px; }
.workflow-lane h2 { margin:0 0 8px; font:500 18px/1.4 var(--font-sans); display:flex; justify-content:space-between; }
.workflow-lane h2 span { font:400 13px/1.6 var(--font-mono); }
.workflow-card { background:var(--r-card); color:var(--r-card-ink); border-radius:16px; padding:16px; display:grid; gap:12px; }
.workflow-card h3 { font:500 17px/1.3 var(--font-sans); margin:0; }
.workflow-card .category { font:400 11px/1.4 var(--font-mono); letter-spacing:.06em; text-transform:uppercase; }
.workflow-card label { display:grid; gap:6px; font-size:12px; }
.workflow-card select { max-width:100%; width:100%; background:var(--r-card); color:var(--r-card-ink); border:1px solid var(--r-rule); border-radius:16px; padding:10px; min-height:44px; }
.workflow-card :focus-visible { outline-color:var(--r-card-accent); }
.workflow-lane.drag-over { outline:2px dashed var(--r-head); outline-offset:6px; }

/* Scrollable step rail above a stable content well; static delivery exposes every step. */
.guided-shell { width:min(100%,640px); margin:auto; background:var(--r-card); color:var(--r-card-ink); padding:8px; border-radius:16px; }
.guided-rail { display:flex; overflow-x:auto; gap:4px; padding:0 0 8px; }
.guided-rail button { flex:none; border:0; border-radius:16px; white-space:nowrap; }
.guided-rail button[aria-selected=true] { background:var(--r-btn); color:var(--r-btn-ink); }
.guided-body { padding:20px; }
.guided-body h2 { font:500 24px/1.2 var(--font-serif); margin:0 0 12px; }
.guided-body p { margin:0 0 20px; font-size:16px; }
.guided-body input[type=text] { width:100%; background:var(--r-card); color:var(--r-card-ink); min-height:44px; padding:12px; border:1px solid var(--r-rule); border-radius:16px; margin:8px 0 20px; }
.guided-body input::placeholder { color:var(--r-card-muted); opacity:1; }
.guided-shell :focus-visible { outline-color:var(--r-card-accent); }
.guided-shell .cult-note { color:var(--r-card-ink); }
.guided-shell:not(.live) .guided-rail, .guided-shell:not(.live) .guided-nav { display:none; }
.guided-shell:not(.live) .guided-panel + .guided-panel { border-top:1px solid var(--r-rule); padding-top:20px; }
@media(max-width:760px) { .workflow-board { grid-template-columns:1fr; } .cult-stage { min-height:0; } .terminal-window { min-height:390px; } }
