/* INSPECTOR — click-on-dot review viewer + legend */
#viz{cursor:crosshair}
.hint{position:absolute;top:14px;right:14px;font-size:10.5px;letter-spacing:.06em;color:var(--text-faint);background:var(--glass-bg);padding:5px 11px;border-radius:8px;border:1px solid var(--glass-border);backdrop-filter:blur(20px);z-index:3;pointer-events:none}

/* LEGEND — bottom-left, explains the four dot states */
.legend{position:absolute;bottom:14px;left:14px;display:flex;gap:13px;padding:8px 12px;font-size:10.5px;color:var(--text-mute);z-index:3;align-items:center}
.legend-item{display:flex;align-items:center;gap:6px}
.legend-swatch{width:13px;height:13px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:9px;font-weight:700;color:#000}
.legend-swatch.hit{background:rgba(138,212,255,.95);box-shadow:0 0 8px rgba(138,212,255,.5)}
.legend-swatch.miss{background:transparent;border:1.5px solid rgba(255,122,122,.95);color:rgba(255,122,122,1);font-size:11px}
.legend-swatch.fp{background:rgba(255,176,77,.9);color:#3a1a00}
.legend-swatch.noise{background:rgba(255,255,255,.25)}

.inspector{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) scale(.96);width:min(460px,calc(100% - 60px));padding:14px 16px 16px;font-size:12.5px;line-height:1.5;color:var(--text);z-index:6;opacity:0;pointer-events:none;transition:opacity .25s ease,transform .25s ease;max-height:calc(100% - 40px);overflow-y:auto}
.inspector.show{opacity:1;transform:translate(-50%,-50%) scale(1);pointer-events:auto}
.inspector.miss{border-color:rgba(255,122,122,.45);box-shadow:0 16px 48px rgba(255,122,122,.18),inset 0 1px 0 var(--glass-inset)}
.inspector.hit{border-color:rgba(138,212,255,.45);box-shadow:0 16px 48px rgba(138,212,255,.18),inset 0 1px 0 var(--glass-inset)}
.inspector.fp{border-color:rgba(255,176,77,.55);box-shadow:0 16px 48px rgba(255,176,77,.16),inset 0 1px 0 var(--glass-inset)}
.inspector.noise{border-color:var(--glass-border)}

.ins-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:9px}
.badge{font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;padding:3px 9px;border-radius:5px}
.badge.miss{background:rgba(255,122,122,.16);color:var(--bad)}
.badge.hit{background:rgba(138,212,255,.16);color:var(--accent)}
.badge.fp{background:rgba(255,176,77,.18);color:#ffb84d}
.badge.noise{background:var(--glass-bg);color:var(--text-faint)}
.ins-close{background:none;border:none;color:var(--text-faint);font-size:18px;cursor:pointer;width:22px;height:22px;border-radius:6px;display:flex;align-items:center;justify-content:center;font-family:inherit;line-height:1}
.ins-close:hover{background:var(--glass-inset);color:var(--text)}

.ins-text{font-style:italic;color:var(--text);font-weight:400;padding:9px 12px;background:var(--glass-bg);border-radius:8px;border-left:2.5px solid var(--accent);margin-bottom:10px;font-size:12px;line-height:1.5}
.inspector.miss .ins-text{border-left-color:var(--bad)}
.inspector.hit .ins-text{border-left-color:var(--accent)}
.inspector.fp .ins-text{border-left-color:#ffb84d}
.inspector.noise .ins-text{border-left-color:var(--text-faint)}

.ins-tags{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:11px}
.tag{font-size:9.5px;font-weight:600;letter-spacing:.06em;text-transform:lowercase;padding:2px 7px;border-radius:4px;background:var(--glass-bg);color:var(--text-mute)}
.tag.tone-polite{background:rgba(138,212,255,.15);color:#8ad4ff}
.tag.tone-angry{background:rgba(255,122,122,.15);color:var(--bad)}
.tag.tone-neutral{background:rgba(255,255,255,.08);color:var(--text-mute)}
.tag.topic-pricing{background:rgba(170,120,255,.18);color:#c9a4ff}
.tag.topic-legal{background:rgba(170,120,255,.18);color:#c9a4ff}
.tag.topic-outage{background:rgba(255,122,122,.15);color:var(--bad)}
.tag.intent-complaint{background:rgba(255,191,77,.15);color:#ffb84d}
.tag.intent-praise{background:rgba(122,255,178,.13);color:var(--good)}
.tag.intent-drift{background:rgba(201,164,255,.18);color:#c9a4ff}
.tag.intent-root{background:rgba(255,122,122,.15);color:var(--bad)}

.schema-row{display:flex;flex-direction:column;gap:6px;margin-bottom:11px;padding:8px 10px;background:var(--glass-bg);border-radius:7px}
.schema-line{display:flex;align-items:center;gap:10px;font-size:11px}
.sl{font-size:9px;letter-spacing:.14em;color:var(--text-faint);text-transform:uppercase;min-width:108px;flex-shrink:0}
.schema-line code{font-family:"SF Mono",Menlo,Consolas,monospace;font-size:10.5px;color:var(--text);background:transparent;letter-spacing:-.01em}
.schema-line code .missing{color:var(--bad);font-weight:600;margin-left:2px}

.ins-why{font-size:11.5px;line-height:1.55;color:var(--text-mute);padding-top:2px}
.ins-why em{color:var(--accent);font-style:normal;font-weight:500}
.ins-why strong{color:var(--text)}
.ins-why code{font-family:"SF Mono",Menlo,Consolas,monospace;font-size:10.5px;color:var(--accent);background:var(--accent-bg);padding:1px 5px;border-radius:4px}
