/* dev_a tools: tree viewer, value lists, Markdown table grid, small output helpers. */
.tool .outputs>.out{min-width:0}
.da-pre{margin:0;white-space:pre;overflow:auto;max-width:100%;max-height:28rem;font-family:var(--mono);font-size:.85rem;line-height:1.45}
.da-notes{margin:0;padding-left:1.2em}
.da-notes li{margin:.3em 0}
.da-verdict .result-line{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 .4em}
.da-verdict p{margin:.3em 0}

/* labelled values with copy buttons */
.da-values{margin:0;display:grid;gap:10px}
.da-values>div{display:grid;gap:4px;padding:10px 12px;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface-2);min-width:0}
.da-values dt{font-weight:700;font-size:.9rem}
.da-values dd{margin:0;display:flex;flex-wrap:wrap;align-items:center;gap:8px;min-width:0}
.da-values code{font-family:var(--mono);font-size:.85rem;overflow-wrap:anywhere;word-break:break-all;flex:1 1 16rem;min-width:0}

/* JSON tree */
.da-tree-bar{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}
.da-tree,.da-tree [role=group]{list-style:none;margin:0;padding:0}
.da-tree [role=group]{padding-left:1.25rem;border-left:1px dashed var(--border-strong);margin-left:.55rem}
.da-tree{font-family:var(--mono);font-size:.88rem;max-height:32rem;overflow:auto;padding:4px}
.da-tree [role=treeitem]{outline:none}
.da-tree .da-row{display:flex;align-items:baseline;gap:6px;padding:2px 6px;border-radius:6px;cursor:pointer;min-height:24px;overflow-wrap:anywhere}
.da-tree [role=treeitem]:focus>.da-row{box-shadow:var(--focus-ring)}
.da-tree [role=treeitem][aria-selected=true]>.da-row{background:var(--primary-soft)}
.da-tree .da-tog{display:inline-block;width:1em;flex:0 0 1em;text-align:center;color:var(--text-3)}
.da-tree .da-key{color:var(--c-purple);font-weight:600}
.da-tree .da-str{color:var(--ok)}
.da-tree .da-num{color:var(--c-blue)}
.da-tree .da-lit{color:var(--c-orange);font-weight:600}
.da-tree .da-meta{color:var(--text-3)}
.da-pathbox{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.da-pathbox code{font-family:var(--mono);overflow-wrap:anywhere;word-break:break-all}

/* Markdown table grid */
.mdt-wrap{overflow-x:auto;max-width:100%;border:1px solid var(--border);border-radius:var(--r-sm);padding:6px;margin:6px 0 10px}
.mdt-grid{border-collapse:collapse;min-width:100%}
.mdt-grid th,.mdt-grid td{padding:3px;vertical-align:top}
.mdt-grid th{font-weight:400}
.mdt-grid input,.mdt-grid select{width:100%;min-width:7.5rem;min-height:32px;padding:4px 6px;font:inherit;font-size:.9rem}
.mdt-grid thead input{font-weight:700}
.mdt-grid .mdt-rn{font-size:.8rem;color:var(--text-3);text-align:right;min-width:2rem;width:2rem;vertical-align:middle}
.mdt-btns{display:flex;flex-wrap:wrap;gap:8px}

/* JWT parts */
.da-jwt{font-family:var(--mono);font-size:.9rem;overflow-wrap:anywhere;word-break:break-all;margin:0 0 8px}
.da-jwt .p1{color:var(--c-red)}.da-jwt .p2{color:var(--c-purple)}.da-jwt .p3{color:var(--c-teal)}
.da-legend{margin:0;padding-left:1.2em;font-size:.9rem}
@media (max-width:600px){.da-tree [role=group]{padding-left:.8rem}}
.article-section code{overflow-wrap:anywhere;word-break:break-word}
