:root{--str-0:#34d399;--str-1:#60a5fa;--str-2:#a78bfa;--str-3:#fbbf24;--str-4:#f87171;--str-5:#2dd4bf;--str-6:#f472b6;--str-7:#fb923c;--str-8:#818cf8;--str-9:#4ade80;--str-10:#38bdf8;--str-11:#e879f9}.intern-gen-summary{color:var(--xp-text-muted);font-size:13px;font-family:var(--xp-mono);margin-top:12px}.intern-split{grid-template-columns:1fr 1fr;gap:16px;display:grid}@media (width<=780px){.intern-split{grid-template-columns:1fr}}.intern-panel{flex-direction:column;gap:12px;max-height:520px;display:flex;overflow:hidden}.intern-panel h3{text-transform:uppercase;letter-spacing:.05em;color:var(--xp-text-muted);margin:0 0 4px;font-size:14px;font-weight:600}.intern-panel-body{flex-direction:column;flex:1;gap:4px;min-height:0;padding-right:4px;display:flex;overflow-y:auto}.intern-panel-footer{border-top:1px solid var(--xp-border);font-family:var(--xp-mono);color:#fff;padding-top:10px;font-size:14px;font-weight:600}.intern-naive-row{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.intern-str-block{height:20px;font-family:var(--xp-mono);white-space:nowrap;color:var(--xp-bg);border-radius:3px;align-items:center;padding:0 5px;font-size:10px;font-weight:500;line-height:1;display:inline-flex}.intern-ref-row{flex-wrap:wrap;align-items:center;gap:3px;display:flex}.intern-ref-chip{width:28px;height:18px;font-family:var(--xp-mono);color:#fff;opacity:.85;border-radius:3px;justify-content:center;align-items:center;font-size:9px;font-weight:600;display:inline-flex}.intern-string-buffer-wrap{flex-direction:column;gap:4px;display:flex}.intern-tape{background:var(--xp-surface-raised);border:1px solid var(--xp-border);border-radius:var(--xp-radius-sm);flex-wrap:wrap;gap:1px;min-height:32px;padding:6px;display:flex}.intern-tape-seg{height:22px;font-family:var(--xp-mono);white-space:nowrap;color:var(--xp-bg);border-radius:2px;align-items:center;padding:0 4px;font-size:9px;font-weight:500;line-height:1;display:inline-flex}.intern-id-table-wrap{flex-direction:column;gap:4px;display:flex}.intern-id-table{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:3px;max-height:120px;padding-right:4px;display:grid;overflow-y:auto}.intern-id-entry{background:var(--xp-surface-raised);font-family:var(--xp-mono);color:var(--xp-text-muted);border-radius:3px;align-items:center;gap:6px;padding:3px 6px;font-size:10px;display:flex}.intern-id-entry .id-badge{color:#fff;border-radius:3px;justify-content:center;align-items:center;min-width:22px;height:16px;padding:0 4px;font-size:9px;font-weight:700;display:inline-flex}.intern-id-entry .id-meta{color:var(--xp-text-dim);font-size:9px}.intern-refs-wrap{flex-direction:column;flex:1;gap:4px;min-height:0;display:flex;overflow:hidden}.intern-mem-bar-row{flex-direction:column;gap:16px;display:flex}.intern-mem-bar{flex-direction:column;gap:4px;display:flex}.intern-mem-bar-label{color:var(--xp-text);justify-content:space-between;align-items:baseline;font-size:13px;font-weight:500;display:flex}.intern-mem-bar-label .bytes{font-family:var(--xp-mono);font-size:13px;font-weight:600}.intern-mem-bar-track{background:var(--xp-surface-raised);border-radius:var(--xp-radius-xs);height:28px;position:relative;overflow:hidden}.intern-mem-bar-fill{border-radius:var(--xp-radius-xs);height:100%;font-family:var(--xp-mono);color:var(--xp-bg);white-space:nowrap;align-items:center;padding:0 10px;font-size:11px;font-weight:600;transition:width .6s cubic-bezier(.22,1,.36,1);display:flex}.intern-mem-bar-fill.naive{background:linear-gradient(90deg, var(--xp-error), #fca5a5)}.intern-mem-bar-fill.interned{background:linear-gradient(90deg, var(--xp-success), #6ee7b7)}.intern-savings-badge{background:var(--xp-success-glow);font-family:var(--xp-mono);color:var(--xp-success);border:1px solid #34d3994d;border-radius:999px;align-items:center;gap:4px;margin-top:8px;padding:6px 14px;font-size:14px;font-weight:600;display:inline-flex}.intern-anim-detail{background:var(--xp-surface);border:1px solid var(--xp-border);border-radius:var(--xp-radius-sm);min-height:120px;font-family:var(--xp-mono);color:var(--xp-text);margin-bottom:16px;padding:16px;font-size:13px;line-height:1.7}.intern-anim-detail .anim-label{text-transform:uppercase;letter-spacing:.06em;color:var(--xp-text-dim);margin-bottom:4px;font-size:11px}.intern-anim-detail .anim-value{color:var(--xp-accent-light);font-weight:500}.intern-anim-detail .anim-highlight{color:var(--xp-success);font-weight:600}.intern-anim-detail .anim-warn{color:var(--xp-warn);font-weight:600}.intern-char-grid{flex-wrap:wrap;gap:2px;margin:6px 0;display:flex}.intern-char-cell{background:var(--xp-surface-raised);border:1px solid var(--xp-border);width:24px;height:28px;font-family:var(--xp-mono);color:var(--xp-accent-light);border-radius:3px;justify-content:center;align-items:center;font-size:12px;transition:all .2s;display:inline-flex}.intern-char-cell.active{background:var(--xp-accent-glow);border-color:var(--xp-accent);color:#fff}.intern-hash-table-wrap{flex-direction:column;gap:6px;margin-top:12px;display:flex}.intern-hash-grid{grid-template-columns:repeat(auto-fill,minmax(40px,1fr));gap:3px;display:grid}.intern-hash-cell{border-radius:var(--xp-radius-xs);background:var(--xp-surface);border:1px solid var(--xp-border);height:32px;font-family:var(--xp-mono);color:var(--xp-text-dim);justify-content:center;align-items:center;font-size:9px;transition:all .2s;display:flex;position:relative;overflow:hidden}.intern-hash-cell.occupied{border-color:var(--xp-border-strong);color:#fff;font-weight:500}.intern-hash-cell.probe-target{outline:2px solid var(--xp-accent);outline-offset:-1px;z-index:1}.intern-hash-cell.probe-collision{outline:2px solid var(--xp-warn);outline-offset:-1px;z-index:1}.intern-hash-cell.probe-found{outline:2px solid var(--xp-success);outline-offset:-1px;z-index:1}.intern-chart-legend{color:var(--xp-text-muted);justify-content:center;gap:20px;margin-top:12px;font-size:12px;display:flex}.intern-chart-legend .legend-swatch{vertical-align:middle;border-radius:2px;width:12px;height:12px;margin-right:6px;display:inline-block}@media (width<=640px){.intern-split,.intern-id-table{grid-template-columns:1fr}.intern-hash-grid{grid-template-columns:repeat(auto-fill,minmax(32px,1fr))}}
