/* "Theory in this move" and "Ask the lab": the coaching panel shown beside a
 * decision, ported from the Signal / Noise prototype and re-tokenised to match
 * the Deal Lab surfaces. */
.knowledge-box{background:linear-gradient(160deg,#f7fbef,#fdfefa);border:1px solid #e4eccf;border-radius:16px;padding:20px 22px;margin:18px 0}
.knowledge-box .eyebrow{color:#7d8c5f}
.knowledge-box h3{margin:4px 0 10px;font-size:1.02rem}
.knowledge-copy{font-size:.9rem;line-height:1.7;margin-bottom:14px}
.knowledge-example,.knowledge-annotation{border-top:1px solid #e7eed9;padding-top:12px;margin-top:12px}
.knowledge-example span,.knowledge-annotation span{display:block;font-size:.69rem;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:#8b9a6d;margin-bottom:6px}
.knowledge-example p,.knowledge-annotation p{font-size:.86rem;line-height:1.65;margin:0}
.key-learning{background:var(--lime);border-radius:12px;padding:14px 18px;margin:12px 0;font-weight:550;line-height:1.6;color:#2c3a16}
.key-learning span{display:block;font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;opacity:.65;margin-bottom:5px}
.ask-lab{border-top:1px solid var(--line);margin-top:18px;padding-top:16px}
.ask-lab>label{display:block;font-weight:600;font-size:.88rem;margin-bottom:9px}
.ask-row{display:flex;align-items:stretch;gap:9px}
.ask-row input{flex:1;min-width:0}
.ask-submit{flex:0 0 auto;min-width:76px;padding:10px 16px}
.ask-examples{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:11px}
.ask-examples button{font-size:.76rem;padding:7px 11px;border-radius:8px;background:#eef2f8;color:#52627b;font-weight:500;text-align:left;line-height:1.4}
.ask-examples button:hover{background:#e3e9f3}
.ask-status{font-size:.79rem;color:var(--muted);margin:9px 0 0;min-height:1.2em}
.ask-thread{margin-top:14px;display:flex;flex-direction:column;gap:11px}
.ask-message{border-radius:12px;padding:12px 15px;font-size:.87rem;line-height:1.65}
.ask-message.is-question{background:var(--ink);color:#fff;align-self:flex-end;max-width:85%}
.ask-message.is-answer{background:#fff;border:1px solid var(--line);align-self:flex-start}
.ask-message span{display:block;font-size:.67rem;letter-spacing:.1em;text-transform:uppercase;font-weight:700;opacity:.6;margin-bottom:5px}
.ask-message p{margin:0}
.ask-links{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}
.ask-links button{font-size:.75rem;padding:6px 10px;border-radius:7px;background:#e9eeff;color:#3457d0;font-weight:600}
.lock-tag{background:#eceff4;color:#7b8798;display:inline-flex;align-items:center;gap:5px}
.ui-glyph.small{width:13px;height:13px}
.btn.is-locked{opacity:.75;display:inline-flex;align-items:center;gap:8px}
.card.is-locked{opacity:.72}
.module-card.done{border-color:#cfe3a8}
.module-card.locked{opacity:.72}
.citation{border:1px solid var(--line);border-radius:10px;padding:11px 14px;margin:9px 0;background:#fbfcfe}
.citation>summary{font-size:.8rem;font-weight:600;cursor:pointer;color:#3457d0}
.citation blockquote{margin:10px 0 0;padding-left:12px;border-left:3px solid var(--lime);font-size:.85rem;line-height:1.65;color:#48566b}
.agent-trace{font-size:.76rem;color:var(--muted);margin-top:10px;line-height:1.6}

/* The prototype's .choice was always a <label> wrapping a radio, so selection
 * is styled with :has(input:checked). The scripted moves and the style cards
 * are plain buttons — they were correctly selected in the markup but looked
 * identical to the others. This gives them the same visual language. */
.choice.selected,
button.choice[aria-pressed="true"]{background:#e8f0fb;border-color:#8eacd1;color:#355b86}
.choice.selected .option-value,
button.choice[aria-pressed="true"] .option-value{color:#2c4f78}
button.choice{display:block;width:100%;text-align:left}
button.choice.is-locked{opacity:.6}
/* Prototype side branches: optional, visibly separate from the module's required work */
.prototype-card{border:1.5px dashed #c9b6ef;background:#fbf9ff}
.tag.prototype-tag{background:#efe7ff;color:#6a3fc7;font-weight:600;justify-self:start;align-self:flex-start}
.eyebrow .tag.prototype-tag{font-size:.68rem;padding:3px 7px;letter-spacing:.04em;vertical-align:middle}
.prototype-note{border-left:4px solid #9b7be0}
