
        :root {
            --bg-page: #f7f8fb;
            --bg-panel: #ffffff;
            --bg-soft: #f2f6f8;
            --border: #d9e1e7;
            --text: #17212b;
            --muted: #637282;
            --accent: #0f766e;
            --accent-soft: #dff4f0;
            --blue: #2563eb;
            --amber: #b45309;
            --green: #15803d;
            --red: #b91c1c;
        }

        * {
            box-sizing: border-box;
        }

        body {
            margin: 0;
            font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
            color: var(--text);
            background: var(--bg-page);
            line-height: 1.55;
        }

        a {
            color: var(--blue);
            text-decoration: none;
        }

        a:hover {
            text-decoration: underline;
        }

        .page {
            max-width: 1440px;
            margin: 0 auto;
            padding: 24px;
        }

        .breadcrumb {
            margin-bottom: 14px;
            color: var(--muted);
            font-size: 0.9rem;
        }

        .header {
            background: var(--bg-panel);
            border: 1px solid var(--border);
            border-radius: 8px;
            padding: 22px 24px;
            margin-bottom: 18px;
        }

        h1 {
            margin: 0 0 8px;
            font-size: 2rem;
            line-height: 1.2;
        }

        h2 {
            margin: 0 0 14px;
            font-size: 1.3rem;
        }

        h3 {
            margin: 0 0 10px;
            font-size: 1.1rem;
        }

        h4 {
            margin: 16px 0 8px;
            font-size: 0.95rem;
            color: #344454;
        }

        .description {
            max-width: 980px;
            color: #2f3d4a;
        }

        .meta-row {
            display: flex;
            flex-wrap: wrap;
            gap: 8px;
            margin-top: 14px;
        }

        .pill {
            display: inline-flex;
            align-items: center;
            gap: 6px;
            padding: 4px 9px;
            border: 1px solid var(--border);
            border-radius: 999px;
            background: var(--bg-soft);
            color: #304150;
            font-size: 0.82rem;
            font-weight: 600;
            white-space: nowrap;
        }

        .pill.status {
            background: #fff7ed;
            border-color: #fed7aa;
            color: var(--amber);
        }

        .pill.scope {
            background: #eef2f7;
            border-color: #cbd5e1;
            color: #334155;
        }

        .pill.type {
            background: var(--accent-soft);
            border-color: #b8dfd8;
            color: var(--accent);
        }

        .stats {
            display: grid;
            grid-template-columns: repeat(6, minmax(90px, 1fr));
            gap: 10px;
            margin-bottom: 18px;
        }

        .stat {
            background: var(--bg-panel);
            border: 1px solid var(--border);
            border-radius: 8px;
            padding: 10px 12px;
        }

        .stat-value {
            display: block;
            font-size: 1.35rem;
            font-weight: 700;
        }

        .stat-label {
            color: var(--muted);
            font-size: 0.78rem;
            text-transform: uppercase;
        }

        .browser {
            display: grid;
            grid-template-columns: minmax(310px, 420px) minmax(0, 1fr);
            gap: 18px;
            align-items: start;
        }

        .panel {
            background: var(--bg-panel);
            border: 1px solid var(--border);
            border-radius: 8px;
            min-width: 0;
        }

        .tree-panel {
            position: sticky;
            top: 16px;
            max-height: calc(100vh - 32px);
            overflow: auto;
        }

        .panel-header {
            padding: 14px 16px;
            border-bottom: 1px solid var(--border);
            background: #fbfcfd;
        }

        .panel-body {
            padding: 16px;
        }

        .tree-tools {
            display: grid;
            grid-template-columns: 1fr auto auto;
            gap: 8px;
            margin-top: 10px;
        }

        .tree-search {
            width: 100%;
            min-width: 0;
            border: 1px solid var(--border);
            border-radius: 6px;
            padding: 7px 9px;
            font: inherit;
        }

        .tool-button {
            border: 1px solid var(--border);
            border-radius: 6px;
            padding: 7px 9px;
            background: #ffffff;
            color: #273747;
            font: inherit;
            font-size: 0.85rem;
            cursor: pointer;
        }

        .tool-button:hover {
            border-color: #9eb0bd;
            background: #f8fafc;
        }

        .tree-list,
        .tree-list ol,
        .tree-list ul {
            list-style: none;
            padding-left: 0;
            margin: 0;
        }

        .tree-list ol,
        .tree-list ul {
            margin-left: 16px;
            padding-left: 12px;
            border-left: 1px solid var(--border);
        }

        .tree-node {
            margin: 5px 0;
        }

        .tree-node > summary {
            cursor: pointer;
            border-radius: 6px;
            padding: 6px 8px;
        }

        .tree-node > summary:hover {
            background: var(--bg-soft);
        }

        .tree-row {
            display: inline-flex;
            flex-wrap: wrap;
            align-items: center;
            gap: 6px;
            max-width: calc(100% - 16px);
            vertical-align: top;
        }

        .tree-row.is-dimmed {
            opacity: 0.35;
        }

        .tree-link {
            font-weight: 650;
            color: var(--text);
        }

        .tree-id {
            color: var(--muted);
            font-size: 0.78rem;
        }

        .tree-group-title {
            margin: 8px 0 4px 20px;
            color: var(--muted);
            font-size: 0.78rem;
            font-weight: 700;
            text-transform: uppercase;
        }

        .edge-note {
            color: var(--muted);
            font-size: 0.82rem;
        }

        .annoton-item {
            margin: 5px 0;
            font-size: 0.9rem;
        }

        .detail-panel {
            overflow: hidden;
        }

        .node-detail {
            border: 1px solid var(--border);
            border-radius: 8px;
            padding: 16px;
            margin-bottom: 14px;
            background: #ffffff;
        }

        .node-detail.depth-1,
        .node-detail.depth-2,
        .node-detail.depth-3 {
            background: #fbfcfd;
        }

        .node-heading {
            display: flex;
            flex-wrap: wrap;
            align-items: center;
            gap: 8px;
            margin-bottom: 8px;
        }

        .node-title {
            font-size: 1.1rem;
            font-weight: 700;
        }

        .node-description,
        .role-description {
            color: #31404e;
            margin: 8px 0;
        }

        .descriptor-list {
            display: flex;
            flex-wrap: wrap;
            gap: 6px;
            margin: 8px 0;
        }

        .descriptor {
            display: inline-flex;
            flex-wrap: wrap;
            align-items: center;
            gap: 5px;
            padding: 4px 7px;
            border-radius: 6px;
            background: #eef7ff;
            border: 1px solid #cce4ff;
            font-size: 0.87rem;
        }

        .descriptor-description {
            color: var(--muted);
        }

        .term-id,
        .source-id {
            font-family: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace;
            font-size: 0.78rem;
        }

        .slot-row {
            margin-top: 4px;
            font-size: 0.86rem;
        }

        .slot-name {
            color: var(--muted);
            font-weight: 700;
        }

        .participant-detail {
            margin-top: 6px;
        }

        .annoton-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
            gap: 10px;
            margin-top: 10px;
        }

        .annoton-card,
        .connection-card,
        .context-card,
        .evidence-card,
        .complex-unit {
            border: 1px solid var(--border);
            border-radius: 8px;
            background: #ffffff;
            padding: 11px;
        }

        .active-unit-list {
            display: grid;
            gap: 8px;
            margin-top: 6px;
        }

        .annoton-title {
            font-weight: 700;
            margin-bottom: 4px;
        }

        .muted {
            color: var(--muted);
        }

        .small {
            font-size: 0.85rem;
        }

        .connection-list,
        .evidence-list {
            display: grid;
            gap: 8px;
            margin-top: 8px;
        }

        .connection-arrow {
            color: var(--green);
            font-weight: 700;
        }

        .variant-set {
            margin-top: 14px;
            border-left: 3px solid #94a3b8;
            padding-left: 12px;
        }

        .part-marker,
        .variant-marker {
            color: var(--muted);
            font-size: 0.85rem;
            font-weight: 700;
            margin: 12px 0 8px;
        }

        .warnings {
            border: 1px solid #fecaca;
            background: #fef2f2;
            color: var(--red);
            border-radius: 8px;
            padding: 12px 16px;
            margin-bottom: 18px;
        }

        .qc-panel {
            margin-bottom: 18px;
        }

        .qc-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
            gap: 12px;
        }

        .qc-card {
            border: 1px solid var(--border);
            border-radius: 8px;
            background: #fbfcfd;
            padding: 12px 14px;
        }

        .qc-card-wide {
            grid-column: 1 / -1;
        }

        .qc-card h3 {
            font-size: 0.98rem;
            margin-bottom: 8px;
        }

        .qc-headline {
            font-size: 1.5rem;
            font-weight: 700;
        }

        .qc-list {
            margin: 6px 0 0;
            padding-left: 18px;
        }

        .qc-list li {
            margin: 3px 0;
        }

        .qc-table {
            width: 100%;
            border-collapse: collapse;
            margin-top: 8px;
        }

        .qc-table th,
        .qc-table td {
            text-align: left;
            padding: 5px 8px;
            border-bottom: 1px solid var(--border);
            vertical-align: top;
        }

        .qc-table th {
            color: var(--muted);
            font-size: 0.78rem;
            text-transform: uppercase;
        }

        .qc-table td.center,
        .qc-table th.center {
            text-align: center;
        }

        .ok {
            color: var(--green);
            font-weight: 700;
        }

        .warn {
            color: var(--red);
            font-weight: 700;
        }

        @media (max-width: 960px) {
            .page {
                padding: 14px;
            }

            .stats {
                grid-template-columns: repeat(2, minmax(120px, 1fr));
            }

            .browser {
                grid-template-columns: 1fr;
            }

            .tree-panel {
                position: static;
                max-height: none;
            }
        }
    