:root{--primary-bg:#0f1115;--container-bg:#141820;--panel-bg:#151a23;--header-color:#e6eaf2;--text-color:#d3d8e4;--border-color:#283041;--primary-accent:#3b82f6;--primary-accent-hover:#2563eb;--danger-accent:#ef4444;--success-accent:#22c55e;--warning-accent:#f59e0b}.harris-matrix{color:var(--text-color);flex-direction:column;display:flex;overflow:hidden;width:100%!important;height:100%!important}.harris-matrix .container{background:var(--container-bg);flex-direction:column;width:100%;max-width:100%;height:100%;margin:0 auto;display:flex;overflow:hidden}.harris-matrix .workspace{flex:1;gap:12px;min-height:0;display:flex;overflow:hidden}.harris-matrix .visualization-panel{border:1px solid var(--border-color);border-radius:8px;flex:520px;min-height:0;position:relative;overflow:hidden}.harris-matrix .tool-menu{z-index:20;flex-direction:column;align-items:flex-end;gap:8px;display:flex;position:absolute;top:12px;right:12px}.harris-matrix .tool-menu-toggle{border:1px solid var(--border-color);width:34px;height:34px;color:var(--text-color);cursor:pointer;background:#141820eb;border-radius:50%;justify-content:center;align-items:center;transition:background .2s,border-color .2s;display:inline-flex}.harris-matrix .tool-menu-toggle:hover,.harris-matrix .tool-menu-toggle:focus-visible{border-color:var(--primary-accent);background:#1b212cf2;outline:none}.harris-matrix .tool-menu-dropdown{border:1px solid var(--border-color);backdrop-filter:blur(6px);background:#10151efa;border-radius:12px;flex-direction:column;gap:6px;min-width:220px;padding:12px;display:flex;box-shadow:0 12px 30px #00000059}.harris-matrix .tool-menu-dropdown button{white-space:nowrap;width:100%;min-width:0}.harris-matrix .group-color-chip{border:1px solid #ffffff59;border-radius:50%;width:12px;height:12px;margin-right:8px;display:inline-block}.harris-matrix .group-more{color:var(--muted-text,#9aa4b2);cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;margin-left:auto;padding:4px;transition:background .2s,color .2s;display:inline-flex}.harris-matrix .group-more:hover,.harris-matrix .group-more:focus-visible{color:var(--text-color);background:#ffffff14;outline:none}.harris-matrix .group-more svg{width:16px;height:16px}.harris-matrix .color-input-row{align-items:center;gap:8px;display:flex}.harris-matrix .color-input-row input[type=color]{border:1px solid var(--border-color);cursor:pointer;background:0 0;border-radius:8px;width:44px;height:32px;padding:0}.harris-matrix .color-input-row .color-randomize{border:1px solid var(--border-color);background:var(--panel-bg);color:var(--text-color);cursor:pointer;border-radius:8px;flex:1;padding:6px 10px;transition:background .2s,border-color .2s}.harris-matrix .color-input-row .color-randomize:hover,.harris-matrix .color-input-row .color-randomize:focus{border-color:var(--primary-accent);background:#ffffff14;outline:none}.harris-matrix .group-overlay-backdrop{z-index:1100;background:#0000008c;justify-content:center;align-items:center;width:100%;height:100%;padding:20px;display:flex;position:fixed;top:0;left:0}.harris-matrix .group-overlay{border:1px solid var(--border-color);border-top:4px solid var(--primary-accent);background:#10151d;border-radius:18px;flex-direction:column;width:min(520px,100%);max-height:82vh;display:flex;overflow:hidden;box-shadow:0 20px 45px #00000073}.harris-matrix .group-overlay-header{justify-content:space-between;align-items:flex-start;gap:12px;padding:20px 20px 0;display:flex}.harris-matrix .group-overlay-heading{align-items:flex-start;gap:12px;display:flex}.harris-matrix .group-overlay-title{letter-spacing:.4px;font-size:18px;font-weight:600}.harris-matrix .group-overlay-meta{color:var(--muted-text);margin-top:4px;font-size:12px}.harris-matrix .group-overlay-actions{gap:8px;display:flex}.harris-matrix .group-overlay-description{color:var(--muted-text);padding:12px 20px 0;font-size:13px}.harris-matrix .group-overlay-contexts{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;padding:18px 20px 22px;display:grid;overflow-y:auto}.harris-matrix .context-card{border:1px solid var(--border-color);background:#161c26e0;border-radius:12px;flex-direction:column;gap:6px;padding:12px;display:flex}.harris-matrix .context-card.empty{text-align:center;color:var(--muted-text);background:#161c2699;grid-column:1/-1}.harris-matrix .context-card-title{font-size:13px;font-weight:600}.harris-matrix .context-card-meta{letter-spacing:.3px;text-transform:uppercase;color:var(--muted-text);font-size:11px}.harris-matrix .context-card-description{color:var(--text-color);opacity:.85;font-size:11px}.harris-matrix .group-overlay-close,.harris-matrix .group-edit-button{border:1px solid var(--border-color);color:var(--text-color);cursor:pointer;background:#ffffff14;border-radius:10px;padding:6px 10px;transition:background .2s,border-color .2s}.harris-matrix .group-edit-button{justify-content:center;align-items:center;padding:6px;display:inline-flex}.harris-matrix .group-overlay-close{font-size:18px;font-weight:600;line-height:1}.harris-matrix .group-overlay-close:hover,.harris-matrix .group-overlay-close:focus-visible,.harris-matrix .group-edit-button:hover,.harris-matrix .group-edit-button:focus-visible{border-color:var(--primary-accent);background:#ffffff29;outline:none}.harris-matrix button:focus{outline:none}.harris-matrix button:focus-visible{outline:2px solid var(--primary-accent);outline-offset:2px}.harris-matrix .data-panel{background:var(--panel-bg);border:1px solid var(--border-color);box-sizing:border-box;border-radius:8px;flex:0 0 420px;max-width:420px;min-height:0;padding:12px;overflow:hidden auto}.harris-matrix .tabs{border-bottom:1px solid var(--border-color);flex-wrap:wrap;gap:6px;margin-bottom:10px;display:flex}.harris-matrix .tab{cursor:pointer;border:1px solid var(--border-color);user-select:none;white-space:nowrap;background:#10151d;border-bottom-width:2px;border-radius:6px;padding:8px 10px}.harris-matrix .tab.active{border-color:var(--primary-accent);background:#0e1726}.harris-matrix .tab-content{max-width:100%;display:none;overflow-x:hidden}.harris-matrix input,.harris-matrix select,.harris-matrix textarea{box-sizing:border-box;width:100%;color:var(--text-color);border:1px solid var(--border-color);background:#0e1420;border-radius:6px;padding:8px}.harris-matrix .form-row{flex-wrap:wrap;gap:8px;display:flex}.harris-matrix .fieldset-group{border:1px solid var(--border-color);border-radius:8px;margin-bottom:10px;padding:8px}.harris-matrix .fieldset-group legend{color:var(--text-color);padding:0 6px}.harris-matrix .hierarchy-list{margin:6px 0 12px}.harris-matrix .actions-panel h3{margin:10px 0}.harris-matrix .button-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px;display:grid}.harris-matrix .button-grid.compact{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:6px}.harris-matrix .btn-primary,.harris-matrix .btn-success,.harris-matrix .btn-danger,.harris-matrix .btn-warning{color:#fff;text-align:center;white-space:normal;border:none;border-radius:6px;width:100%;padding:6px 8px;font-size:11px;line-height:1.15}.harris-matrix table.registry-table{border-collapse:collapse;width:100%}.harris-matrix table.registry-table th,.harris-matrix table.registry-table td{border:1px solid var(--border-color);padding:6px;font-size:12px}.harris-matrix table.registry-table thead th{background:#121826}.harris-matrix .modal-content{border:1px solid var(--border-color);background:#0f141f;border-radius:10px;width:420px;max-width:calc(100% - 24px);max-height:80vh;padding:16px;overflow-y:auto}.harris-matrix .modal-buttons{gap:8px;display:flex}.harris-matrix .muted{color:#9aa4b2;font-size:12px}.harris-matrix{--bg-root:#111;--container-bg:#111;--panel-bg:#1a1a1a;--panel-bg-alt:#161616;--header-color:#f5f5f5;--text-color:#f5f5f5;--muted-text:#9a9a9a;--border-color:#2a2a2a;--border-color-alt:#333;--primary-accent:#ff2a2a;--primary-accent-hover:#f44;--danger-accent:#f44;--success-accent:#28a745;--warning-accent:#ffc107;--cancel-accent:#555b60;--phase-1:#ff2a2a14;--phase-2:#ffb40014;--phase-3:#00c87814;--group-bg:#ff780014;--subgroup-bg:#9c27b014;color:var(--text-color);background:var(--container-bg);width:100%;height:100%;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif}.harris-matrix .container{background:var(--container-bg);border:1px solid var(--border-color);border-radius:14px;flex-direction:row;width:100%;height:100%;display:flex;overflow:hidden}.harris-matrix .workspace{flex:1;gap:0;height:100%;display:flex}.harris-matrix .visualization-panel{cursor:grab;background:radial-gradient(circle at 30% 20%,#181818,#101010 70%);flex:1;min-height:100%;position:relative;overflow:hidden}.harris-matrix #matrixSvg{width:100%;height:100%;display:block}.harris-matrix .data-panel{background:var(--panel-bg);border-left:1px solid var(--border-color);width:400px;height:100%;padding:18px 18px 22px;overflow-y:auto}.harris-matrix .data-panel::-webkit-scrollbar{width:10px}.harris-matrix .data-panel::-webkit-scrollbar-track{background:#141414}.harris-matrix .data-panel::-webkit-scrollbar-thumb{background:#262626;border-radius:6px}.harris-matrix .data-panel::-webkit-scrollbar-thumb:hover{background:#333}.harris-matrix .data-panel h3{color:var(--header-color);border-bottom:1px solid var(--border-color);margin:0 0 12px;padding-bottom:8px}.harris-matrix .tabs{border-bottom:1px solid var(--border-color);margin-bottom:12px;display:flex}.harris-matrix .tab{cursor:pointer;border-bottom:2px solid #0000;padding:8px 12px;font-weight:600;transition:border-color .2s}.harris-matrix .tab.active{border-bottom-color:var(--primary-accent);background:#f8f9fa}.harris-matrix .tab-content{display:none}.harris-matrix .tab-content.active{display:block}.harris-matrix .context-node-group{cursor:move}.harris-matrix .context-node-group.dragging{opacity:.7;cursor:grabbing}.harris-matrix .context-node{fill:var(--primary-accent);stroke:var(--primary-accent-hover);stroke-width:2px;cursor:pointer;transition:fill .2s,transform .2s ease-out}.harris-matrix .context-node:hover{fill:var(--primary-accent-hover);transform:scale(1.05)}@keyframes pulse{0%{opacity:1}50%{opacity:.7}to{opacity:1}}.harris-matrix .group-boundary{fill:var(--group-bg);stroke:#ff9800;stroke-width:2px;stroke-dasharray:5 5;opacity:.3;pointer-events:none}.harris-matrix .subgroup-boundary{fill:var(--subgroup-bg);stroke:#9c27b0;stroke-width:1px;stroke-dasharray:3 3;opacity:.2;pointer-events:none}.harris-matrix .phase-boundary{fill:var(--phase-1);stroke:#4caf50;stroke-width:3px;stroke-dasharray:10 5;opacity:.4;pointer-events:none}.harris-matrix .context-label{text-anchor:middle;pointer-events:none;fill:#fff;font-size:14px;font-weight:600}.harris-matrix .relationship-path{fill:none;stroke-linejoin:round;stroke-linecap:round}.harris-matrix .relationship-path.stratigraphic{stroke:#495057;stroke-width:2px;marker-end:url("#arrowhead")}.harris-matrix .relationship-path.cuts{stroke:var(--danger-accent);stroke-width:2.5px;stroke-dasharray:6 4;marker-end:url("#arrowhead-cuts")}.harris-matrix .relationship-path.contemporary{stroke:#495057;stroke-width:1.5px}.harris-matrix .relationship-path.temporal-conflict{stroke:var(--danger-accent);stroke-width:3px;marker-end:url("#arrowhead-cuts");animation:2s infinite pulse}.harris-matrix .relationship-path.redundant{stroke:#adb5bd;stroke-width:1.5px;stroke-dasharray:2 3;marker-end:url("#arrowhead-redundant")}.harris-matrix .modal-backdrop{z-index:1000;background:#00000080;justify-content:center;align-items:center;width:100%;height:100%;display:none;position:fixed;top:0;left:0}.harris-matrix .modal-content{background:var(--panel-bg,#151a23);width:400px;max-height:80vh;color:var(--text-color,#d3d8e4);border:1px solid var(--border-color,#283041);border-radius:8px;padding:20px;overflow-y:auto;box-shadow:0 5px 15px #0000004d}.harris-matrix .modal-content h4{color:var(--header-color,#e6eaf2);margin:0 0 12px}.harris-matrix .modal-content input,.harris-matrix .modal-content select,.harris-matrix .modal-content textarea{border:1px solid var(--border-color);box-sizing:border-box;background:var(--container-bg,#141820);width:100%;color:var(--text-color,#d3d8e4);border-radius:4px;margin-bottom:10px;padding:10px}.harris-matrix .modal-buttons{justify-content:space-between;gap:10px;margin-top:10px;display:flex}.harris-matrix .modal-buttons button{cursor:pointer;color:#fff;border:none;border-radius:4px;flex:1;padding:10px}.harris-matrix .modal-buttons button.confirm{background:var(--primary-accent)}.harris-matrix .modal-buttons button.danger{background:var(--danger-accent)}.harris-matrix .form-group{margin-bottom:10px}.harris-matrix .form-group label{margin-bottom:5px;font-weight:600;display:block}.harris-matrix .form-row{gap:10px;display:flex}.harris-matrix .form-row input{flex:1}.harris-matrix .date-inputs{grid-template-columns:2fr 1fr;gap:10px;display:grid}.harris-matrix .hierarchy-list{margin-bottom:12px}.harris-matrix .hierarchy-item{border-left:4px solid var(--primary-accent);cursor:pointer;background:#f8f9fa;border-radius:4px;margin:5px 0;padding:10px;transition:background .2s}.harris-matrix .hierarchy-item:hover{background:#e9ecef}.harris-matrix .hierarchy-item.group{border-left-color:var(--border-color);background:var(--panel-bg-alt)}.harris-matrix .hierarchy-item.subgroup{border-left-color:var(--border-color);background:var(--panel-bg-alt);margin-left:0}.harris-matrix .hierarchy-item.phase{background:var(--phase-1);border-left-color:#4caf50}.harris-matrix .hierarchy-item.temporal-conflict{border-left-color:var(--danger-accent);background:#ffebee}.harris-matrix .item-header{margin-bottom:5px;font-weight:700}.harris-matrix .item-details{color:#666;font-size:.9em}.harris-matrix .item-contexts{color:#888;margin-top:5px;font-size:.8em}.harris-matrix .actions-panel{margin-top:12px}.harris-matrix .actions-panel button{color:#fff;cursor:pointer;border:none;border-radius:5px;width:100%;margin-bottom:10px;padding:10px}.harris-matrix .btn-primary{background:var(--primary-accent)}.harris-matrix .btn-success{background:var(--success-accent)}.harris-matrix .btn-danger{background:var(--danger-accent)}.harris-matrix .btn-warning{background:var(--warning-accent);color:#333}.harris-matrix .conflict-indicator{background:var(--danger-accent);border-radius:50%;width:12px;height:12px;margin-left:5px;animation:2s infinite pulse;display:inline-block}.harris-matrix .valid-indicator{background:var(--success-accent);border-radius:50%;width:12px;height:12px;margin-left:5px;display:inline-block}.harris-matrix .tab-content>h3{margin-top:16px}.harris-matrix .data-panel h3{color:var(--header-color);letter-spacing:.5px;text-transform:uppercase;opacity:.9;border-bottom:none;margin:12px 0 10px;padding-bottom:0;font-size:14px;font-weight:600}.harris-matrix .tabs{border-bottom:none;gap:4px;margin-bottom:4px;display:flex}.harris-matrix .tab{cursor:pointer;background:var(--panel-bg-alt);border:1px solid var(--border-color);letter-spacing:.5px;color:var(--muted-text);user-select:none;border-bottom:none;border-radius:10px;padding:8px 14px 9px;font-size:12px;font-weight:600;transition:background .16s,color .16s,border-color .16s}.harris-matrix .tab:hover{color:var(--text-color)}.harris-matrix .tab.active{background:linear-gradient(135deg,var(--primary-accent)0%,#ff5252 100%);color:#fff;border-color:var(--primary-accent)}.harris-matrix .context-node{fill:var(--primary-accent);stroke:#ff6262;stroke-width:2px;cursor:pointer;filter:drop-shadow(0 2px 6px #ff2a2a40);transition:transform .16s,filter .16s,stroke-width .16s}.harris-matrix .context-node:hover{stroke-width:3px;transform:translateY(-2px)scale(1.04)}.harris-matrix .context-node.grouped{fill:#ff8c1a;stroke:#ffb347}.harris-matrix .context-node.phased{fill:#19965a;stroke:#2fe08f}.harris-matrix .context-node.temporal-conflict{fill:var(--danger-accent);stroke:#f66;animation:2s infinite pulse}.harris-matrix .group-boundary{opacity:.35}.harris-matrix .subgroup-boundary{stroke:#b347d6;opacity:.25}.harris-matrix .phase-boundary{stroke:#3ddc84;stroke-width:2px;stroke-dasharray:8 6;opacity:.35}.harris-matrix .context-label{fill:#fff;font-size:13px}.harris-matrix .relationship-path.stratigraphic{stroke:#686868}.harris-matrix .relationship-path.contemporary{stroke:gray}.harris-matrix .relationship-path.redundant{stroke:#444;stroke-dasharray:3 4}.harris-matrix .modal-content{background:#1e1e1a;border:1px solid #2a2a2a;border-radius:14px;width:420px;max-height:82vh;padding:22px 22px 20px;overflow-y:auto;box-shadow:0 8px 28px -4px #0009,inset 0 0 0 1px #2a2a2a}.harris-matrix .modal-content h4{letter-spacing:.5px;color:#f5f5f5;margin:0 0 14px;font-size:16px}.harris-matrix .modal-content input,.harris-matrix .modal-content select,.harris-matrix .modal-content textarea{box-sizing:border-box;width:100%;color:var(--text-color);background:#121212;border:1px solid #333;border-radius:10px;margin-bottom:10px;padding:10px 12px;font-size:13px;transition:border-color .16s,background .16s}.harris-matrix .modal-content input:focus,.harris-matrix .modal-content select:focus,.harris-matrix .modal-content textarea:focus{border-color:var(--primary-accent);background:#181818;outline:none}.harris-matrix .modal-buttons button{border:1px solid var(--border-color);border-radius:10px}.harris-matrix .modal-buttons button.cancel{background:#2a2a2a}.harris-matrix .hierarchy-item{border:1px solid var(--border-color);background:var(--panel-bg-alt);border-radius:12px;margin:6px 0;padding:10px 12px 11px;transition:background .16s,border-color .16s,transform .16s}.harris-matrix .hierarchy-item:hover{background:#202020;border-color:#3a3a3a}.harris-matrix .hierarchy-item.group{border-color:var(--border-color)}.harris-matrix .hierarchy-item.subgroup{border-color:var(--border-color);margin-left:0}.harris-matrix .hierarchy-item.phase{border-color:#3ddc84}.harris-matrix .hierarchy-item.temporal-conflict{border-color:var(--danger-accent);box-shadow:0 0 0 1px #f446}.harris-matrix .item-header{letter-spacing:.4px;color:var(--text-color);align-items:center;gap:8px;margin-bottom:4px;font-size:13px;font-weight:600;display:flex}.harris-matrix .item-title{flex:1}.harris-matrix .item-details{color:var(--muted-text);font-size:11px;line-height:1.4}.harris-matrix .item-contexts{color:#7a7a7a;letter-spacing:.3px;margin-top:4px;font-size:10px}.harris-matrix .actions-panel button{border:1px solid var(--border-color);letter-spacing:.5px;background:#181818;border-radius:12px;margin-bottom:8px;padding:11px 12px 12px;font-size:12px;font-weight:600;transition:background .16s,border-color .16s,transform .16s}.harris-matrix .actions-panel button:hover{background:#202020;border-color:#3a3a3a}.harris-matrix .btn-success{background:linear-gradient(135deg,#1b8d52,#2acb72);border-color:#1b8d52}.harris-matrix .btn-danger{background:linear-gradient(135deg,#ff2a2a,#ff5858);border-color:#ff2a2a}.harris-matrix .btn-warning{color:#222;background:linear-gradient(135deg,#ffb300,#ffcc54);border-color:#ffb300}.harris-matrix .conflict-indicator{width:10px;height:10px;margin-left:6px;box-shadow:0 0 0 3px #ff444426}.harris-matrix .valid-indicator{width:10px;height:10px;margin-left:6px;box-shadow:0 0 0 3px #3ddc8426}