:root{--bg:#0d1117;--surface:#161b22;--canvas:#0d1117;--input:#0d1117;--control:#21262d;--control-hover:#30363d;--control-active:#282e33;--control-border:#8b949e;--text:#c9d1d9;--text-strong:#f0f6fc;--muted:#8b949e;--border:#30363d;--track:#010409;--track-border:#30363d;--track-line:#21262d;--danger:#f85149;--danger-border:#f8514973;--danger-bg:#f851491f;--ok:#3fb950;--ok-bg:#2ea04326;--warning-border:#bb80098c;--warning-bg:#bb800924;--warning-text:#d29922;--accent:#58a6ff;--accent-emphasis:#1f6feb;--focus:#1f6feb66;--sans:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--mono:"SFMono-Regular", Consolas, "Liberation Mono", Menlo, ui-monospace, monospace;color:var(--text);background:var(--bg);font:16px/1.45 var(--sans);font-synthesis:none;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{background:var(--bg);min-width:320px;margin:0}button,textarea{border-radius:6px}::selection{background:#58a6ff47}.app-shell{background:var(--bg);min-height:100svh;padding:24px}.workspace{grid-template-columns:minmax(320px,390px) minmax(0,1fr);gap:24px;max-width:1440px;margin:0 auto;display:grid}.input-panel,.map-panel{border:1px solid var(--border);background:var(--surface);box-shadow:0 16px 40px #01040933}.input-panel{flex-direction:column;gap:18px;min-height:calc(100svh - 48px);padding:22px;display:flex;position:sticky;top:24px}.map-panel{min-width:0;padding:22px}.panel-heading,.status-bar,.section-heading{justify-content:space-between;align-items:center;gap:16px;display:flex}.panel-heading{border-bottom:1px solid var(--border);padding-bottom:18px}.eyebrow{color:var(--muted);letter-spacing:0;text-transform:uppercase;margin:0 0 4px;font-size:12px;font-weight:700}h1,h2,p{margin:0}h1,h2,strong{color:var(--text-strong)}h1{font-size:32px;line-height:1.05}h2{font-size:18px;line-height:1.2}button{border:1px solid var(--border);background:var(--control);color:var(--text-strong);cursor:pointer;font:inherit;justify-content:center;align-items:center;min-height:38px;padding:0 14px;font-size:14px;font-weight:650;display:inline-flex}button:hover{background:var(--control-hover);border-color:var(--control-border)}button:active{background:var(--control-active)}button:focus-visible,textarea:focus-visible{border-color:var(--accent);outline:3px solid var(--focus);outline-offset:2px}label{color:var(--text-strong);font-size:14px;font-weight:700}textarea{resize:vertical;border:1px solid var(--border);background:var(--input);min-height:360px;color:var(--text-strong);font:14px/1.55 var(--mono);caret-color:var(--accent);flex:1;padding:14px}textarea::placeholder{color:var(--muted)}.stats-grid{border:1px solid var(--border);background:var(--canvas);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.stats-grid div{min-width:0;padding:14px}.stats-grid div+div{border-left:1px solid var(--border)}.stats-grid strong{overflow-wrap:anywhere;font-size:22px;line-height:1;display:block}.stats-grid span{color:var(--muted);text-transform:uppercase;margin-top:6px;font-size:12px;display:block}.danger-stat strong{color:var(--danger)}.ok-stat strong{color:var(--ok)}.issue-list,.normalization-list{border:1px solid var(--warning-border);background:var(--warning-bg);color:var(--warning-text);gap:8px;padding:12px;font-size:13px;display:grid}.status-bar{border-bottom:1px solid var(--border);padding-bottom:18px}.status-bar strong{font-family:var(--mono);overflow-wrap:anywhere;font-size:14px;line-height:1.4;display:block}.status{background:var(--canvas);white-space:nowrap;border:1px solid;padding:8px 10px;font-size:13px;font-weight:750;line-height:1}.status.ok{background:var(--ok-bg);color:var(--ok)}.status.danger{background:var(--danger-bg);color:var(--danger)}.cluster-map{gap:18px;margin-top:22px;display:grid}.empty-state,.clean-result{border:1px dashed var(--border);background:var(--canvas);color:var(--muted);text-align:center;padding:18px}.cluster-card{border:1px solid var(--border);background:var(--canvas);padding:16px}.cluster-card.has-conflict{border-color:var(--danger-border);box-shadow:inset 4px 0 0 var(--danger)}.cluster-header{justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:16px;display:flex}.cluster-header h2{font-family:var(--mono);overflow-wrap:anywhere;font-size:18px;font-weight:800}.cluster-stats{text-align:right;gap:4px;min-width:130px;display:grid}.cluster-stats span,.cluster-stats strong{display:block}.cluster-stats span{color:var(--muted);text-transform:uppercase;font-size:12px}.cluster-stats strong{color:var(--danger);font-size:14px}.cluster-card:not(.has-conflict) .cluster-stats strong{color:var(--ok)}.cluster-graph{border:1px solid var(--track-border);background:linear-gradient(90deg, var(--track-line) 1px, transparent 1px) 0 0 / 12.5% 100%, var(--track);position:relative;overflow:hidden}.cluster-axis{color:var(--muted);font-family:var(--mono);border-bottom:1px solid var(--track-border);grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:10px 12px;font-size:12px;display:grid}.cluster-axis span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.cluster-axis span:nth-child(2){text-align:center}.cluster-axis span:last-child{text-align:right}.collision-layer{pointer-events:none;position:absolute;inset:37px 0 0}.collision-band{background:repeating-linear-gradient(-45deg,#f851491f 0 8px,#f851493d 8px 16px);border-inline:2px solid #f851499e;min-width:8px;position:absolute;top:0;bottom:0}.collision-band span{background:var(--danger);color:var(--text-strong);margin:8px;padding:3px 6px;font-size:11px;font-weight:800;line-height:1;display:inline-flex;position:sticky;left:8px}.lane-stack{z-index:1;gap:10px;padding:18px 12px;display:grid;position:relative}.range-lane{height:48px;position:relative}.lane-bar{background:var(--range-color);color:#fff;border:1px solid #f0f6fc29;justify-content:space-between;align-items:center;gap:10px;min-width:64px;padding:0 12px;display:flex;position:absolute;inset-block:0;overflow:hidden;box-shadow:0 10px 24px #01040957}.range-lane.has-conflict .lane-bar{outline-offset:2px;outline:3px solid #f8514952}.lane-bar span,.lane-bar code{color:#fff;text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.lane-bar span{font-weight:800}.lane-bar code{opacity:.9;font-size:12px}.cluster-ranges{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:8px;margin-top:12px;display:grid}.cluster-ranges div{border:1px solid var(--border);background:var(--surface);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;padding:8px;display:grid}.cluster-ranges div.conflict-key{border-color:var(--danger-border);background:var(--danger-bg)}.range-swatch{width:12px;height:12px}.cluster-ranges strong,.cluster-ranges code,.cluster-ranges small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.cluster-ranges code{font-size:12px}.cluster-ranges small{color:var(--muted);grid-column:2/-1;font-size:12px}.matrix-panel{border-top:1px solid var(--border);margin-top:24px;padding-top:22px}.matrix-grid{grid-template-columns:minmax(120px, 180px) repeat(var(--matrix-size), minmax(74px, 1fr));gap:4px;display:grid;overflow-x:auto}.matrix-corner,.matrix-label,.matrix-cell{min-height:42px;padding:8px}.matrix-label{color:var(--muted);align-items:center;min-width:0;font-size:12px;font-weight:750;display:flex}.matrix-label.top{text-align:center;justify-content:center}.matrix-label.side{text-align:right;justify-content:flex-end}.matrix-cell{border:1px solid var(--border);background:var(--input);color:var(--muted);font-family:var(--mono);text-overflow:ellipsis;white-space:nowrap;place-items:center;font-size:11px;display:grid;overflow:hidden}.matrix-cell.self{background:var(--track-line);color:var(--text)}.matrix-cell.overlap{border-color:var(--danger);background:var(--danger);color:var(--text-strong);font-weight:900}.overlap-panel{border-top:1px solid var(--border);margin-top:24px;padding-top:22px}.section-heading{margin-bottom:12px}.section-heading span{color:var(--muted);font-family:var(--mono);font-size:13px}.conflict-list{gap:10px;display:grid}.conflict-item{border:1px solid var(--danger-border);background:var(--danger-bg);grid-template-columns:minmax(190px,1fr) minmax(220px,auto) auto;align-items:center;gap:14px;padding:12px;display:grid}.conflict-item strong,.conflict-item span{display:block}.conflict-item span,.conflict-item small{color:var(--muted);font-size:13px}code{color:var(--text-strong);font-family:var(--mono);overflow-wrap:anywhere;font-size:13px}.normalization-list{margin-top:18px}@media (width<=980px){.app-shell{padding:14px}.workspace{grid-template-columns:1fr}.input-panel{min-height:auto;position:static}textarea{min-height:260px}.range-row,.conflict-item{grid-template-columns:1fr}.range-detail{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=560px){.app-shell{padding:0}.workspace{gap:0}.input-panel,.map-panel{border-left:0;border-right:0;padding:16px}.panel-heading,.status-bar{flex-direction:column;align-items:flex-start}.stats-grid{grid-template-columns:1fr}.stats-grid div+div{border-left:0;border-top:1px solid var(--border)}h1{font-size:27px}}
