.globe-progress{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:4px 24px;padding:22px 26px;margin:20px 0;border:1px solid var(--brand-line);border-radius:18px;background:var(--brand-surface)}
.globe-progress strong{font-size:30px;line-height:1.2;letter-spacing:-.04em;color:var(--brand-primary)}
.globe-progress p{margin:0;font-size:13px;color:var(--brand-ink)}
.globe-progress progress{grid-column:2;width:100%;height:8px;border:0;border-radius:6px;overflow:hidden;accent-color:var(--brand-primary);background:var(--brand-line)}
.globe-progress progress::-webkit-progress-bar{background:var(--brand-line)}
.globe-progress progress::-webkit-progress-value{background:var(--brand-primary);border-radius:6px}
.globe-state-legend{display:flex;justify-content:center;gap:22px;font-size:12px;margin:12px 0 24px;color:var(--brand-ink)}
.globe-state-legend i{display:inline-block;width:10px;height:10px;border:1px solid var(--brand-primary);border-radius:50%;margin-right:7px}
.globe-state-legend .learning{background:linear-gradient(90deg,var(--brand-primary) 50%,transparent 50%)}
.globe-state-legend .learned{background:var(--brand-primary);box-shadow:0 0 7px var(--brand-primary)}
.globe-learning-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:18px 0}
.globe-learning-actions button[aria-pressed=true]{background:var(--brand-primary);color:#fff;border-color:var(--brand-primary)}
.globe-learning-actions button:focus-visible{outline:3px solid var(--brand-primary);outline-offset:3px}
#graph .graph-layout article{min-width:0}
#graph #nodeDetail{margin-top:24px}
@media(max-width:600px){.globe-progress{padding:18px;gap:8px 16px}.globe-progress strong{font-size:24px}.globe-progress p{font-size:12px}.globe-progress progress{grid-column:1/-1}.globe-learning-actions button{flex:1;white-space:nowrap}}

#graph #network{display:block;max-width:900px;margin:0 auto}

/* Learning status remains visible when a row is selected, hovered or filtered. */
#nodeList .node{--node-progress-bg:#fff;--node-progress-ink:#667085;--node-progress-line:#e2e8f0;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 10px;margin:5px 0;padding:12px 10px;border:1px solid var(--node-progress-line);border-left:4px solid var(--node-progress-ink);border-radius:10px;background:var(--node-progress-bg);color:var(--node-progress-ink);text-align:left}
#nodeList .node[data-progress=none]{--node-progress-bg:#f5f6f8;--node-progress-ink:#536173;--node-progress-line:#dce1e8}
#nodeList .node[data-progress=learning]{--node-progress-bg:#fff4de;--node-progress-ink:#85520c;--node-progress-line:#ebd2a6}
#nodeList .node[data-progress=learned]{--node-progress-bg:#e9f5ee;--node-progress-ink:#1d704a;--node-progress-line:#b8dcca}
#nodeList .node-name{grid-column:1;min-width:0;overflow-wrap:anywhere;line-height:1.5}
#nodeList .node small{grid-column:1;margin:0;color:inherit;font-size:11px;line-height:1.5}
#nodeList .node-progress-state{grid-column:2;grid-row:1 / span 2;display:flex;align-items:center;gap:5px;font-size:11px;font-weight:600;white-space:nowrap}
#nodeList .node-progress-state i{width:7px;height:7px;border-radius:50%;background:currentColor;flex:none}
#nodeList .node[data-progress=pending] .node-progress-state i{background:transparent;border:1px solid currentColor}
#nodeList .node[data-progress=learned] .node-name{font-weight:600}
#nodeList .node:hover{background:var(--node-progress-bg);color:var(--node-progress-ink);border-color:var(--node-progress-ink)}
#nodeList .node.selected{background:var(--node-progress-bg);color:var(--node-progress-ink);box-shadow:inset 0 0 0 2px var(--brand-primary,#1d6d46)}
#nodeList .node:focus-visible{outline:3px solid var(--brand-secondary,#2458eb);outline-offset:2px}
