/* ADR-0086 — WEAVER — the session shell's derived layer as its own console tab (operator, 2026-09-14).
   Its own stylesheet, its own `wv-` classes: nothing in here is read by the sessions console, and nothing of the
   sessions console's layout is changed by it. Generic classes (.pill, .mono, .muted, .ghost.rowbtn, .nav-count,
   .empty, .err, .ok) come from styles.css as they do for every tab. */

.wv-tab { display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: 16px; align-items: start; }
@media (max-width: 900px) { .wv-tab { grid-template-columns: 1fr; } }

/* the rail: agent → node → session, with the blocked count and whether the interpreter is on */
.wv-rail { position: sticky; top: 8px; }
.wv-rail-head { font-family: var(--mono); font-size: 10px; text-transform: uppercase; letter-spacing: .12em; color: var(--dim); padding: 4px 0 6px; }
.wv-group { margin-bottom: 8px; }
.wv-group-head { font-family: var(--mono); font-size: 11px; color: var(--dim); padding: 3px 0; display: flex; gap: 6px; align-items: center; }
.wv-row { display: flex; gap: 6px; align-items: center; width: 100%; text-align: left; padding: 4px 6px; border-radius: 4px; background: none; border: 1px solid transparent; color: inherit; cursor: pointer; font: inherit; }
.wv-row:hover { background: var(--panel-2); }
.wv-row.active { border-color: var(--accent); background: var(--accent-dim); }
.wv-row .wv-name { flex: 1 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.wv-row .wv-word { font-family: var(--mono); font-size: 10px; color: var(--dim); }
.wv-blocked { color: var(--warn); font-family: var(--mono); font-size: 10px; }
.wv-on { width: 7px; height: 7px; border-radius: 50%; background: var(--ok, #6c6); flex: 0 0 auto; }
.wv-on.off { background: transparent; border: 1px solid var(--dim); }

/* the main column: the Problems list, then the selected session */
.wv-main { min-width: 0; }
.wv-drawer { margin-bottom: 12px; }
.wv-drawer > summary { cursor: pointer; font-family: var(--mono); font-size: 10px; text-transform: uppercase; letter-spacing: .12em; color: var(--dim); padding: 4px 0; }
.wv-drawer > div { max-height: calc(60vh / var(--ui-zoom)); overflow: auto; }
.wv-head { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; margin: 4px 0 10px; }
.wv-title { font-size: 14px; }

/* Problems: one row per blocked node, longest waiting first */
.wv-problem { padding: 6px 0; border-top: 1px solid rgba(128, 128, 128, .2); }
.wv-problem-head { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; font-size: 12px; }
.wv-problem-dialog { max-height: 24em; overflow: auto; }
.wv-problem-text { width: 60%; }

/* the Outline: a node opens to its turns; a turn is the record on the left and the sense on the right */
.wv-node > summary { cursor: pointer; font-family: var(--mono); font-size: 12px; padding: 3px 0; }
.wv-node-turns { padding-left: 14px; }
.wv-turn { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; padding: 6px 0; border-top: 1px solid rgba(128, 128, 128, .2); font-size: 12px; }
@media (max-width: 900px) { .wv-turn { grid-template-columns: 1fr; } }
.wv-turn ul { margin: 4px 0; padding-left: 16px; }
.wv-turn li { margin: 1px 0; }
.wv-turn-head { margin-bottom: 2px; }
.wv-claim { cursor: pointer; text-decoration: underline dotted; margin-right: 4px; }
.wv-claim-uncited { opacity: .7; }
.wv-claim-rejected { text-decoration: line-through; cursor: default; }
.wv-claim-rejected em { color: var(--err); font-style: normal; text-decoration: none; }
.wv-ev-hit { animation: nav-pulse 1.6s ease-in-out 2; outline: 1px solid var(--warn); }
.wv-jump { cursor: pointer; margin-left: 4px; opacity: .6; }
.wv-line { margin: 2px 0; }
.wv-term { padding: 3px 0; font-size: 12px; }
.wv-term-input { width: 60%; }

/* the interpret switch's progress: how far the model layer has got on this session */
.wv-interpret.on { border-color: var(--ok, #6c6); }
.wv-progress { display: inline-flex; align-items: center; gap: 6px; font-size: 11px; }
.wv-bar { display: inline-block; width: 72px; height: 4px; border-radius: 2px; background: var(--panel-2); overflow: hidden; }
.wv-bar > i { display: block; height: 100%; width: 0; background: var(--accent); }

/* ADR-0086 §5.5: the context's own words — what this session is, and whether its ground has moved. */
.wv-about { margin: 2px 0 8px; }
.wv-about-text { margin: 0 0 4px; font-size: 12.5px; line-height: 1.5; }
.wv-stale { font-size: 11px; color: var(--warn); }

/* Goals — the inferred hierarchy (ADR-0086 §5.5). A goal is shown as what it GROUPS, so the node list is the
   row's body, not a count; every node line jumps to its turn above. */
.wv-goal { padding: 6px 0; border-top: 1px solid rgba(128, 128, 128, .2); font-size: 12px; }
.wv-goal:first-child { border-top: 0; }
.wv-goal-head { margin-bottom: 2px; }
.wv-goal-nodes { margin: 2px 0 0; padding-left: 16px; }
.wv-goal-nodes li { margin: 1px 0; }
.wv-goal-node { cursor: pointer; text-decoration: underline dotted; text-underline-offset: 2px; }
.wv-goal-node:hover { text-decoration: underline; }
