:root{--ink:#1c2427;--ink-soft:#5a6b70;--line:#d7dee0;--ground:#f7f5f0;--surface:#fff;--accent:#14746b;--accent-ink:#0b3a36;--direct-fill:#bfe3de;--direct-stroke:#1b7a72;--direct-ink:#0b3a36;--proxy-fill:#f3ddb0;--proxy-stroke:#a97a1f;--proxy-ink:#4a3410;--complementary-fill:#e3def0;--complementary-stroke:#7a6aa8;--complementary-ink:#362a52;--uncertain-fill:#eef0f2;--uncertain-stroke:#98a2ad;--uncertain-ink:#33393c}*{box-sizing:border-box}body{background:var(--ground);color:var(--ink);margin:0;font-family:IBM Plex Sans,system-ui,sans-serif;line-height:1.5}#root{min-height:100vh}.page-container{max-width:1040px;margin:0 auto;padding:40px 24px 80px}.sidebar{z-index:50;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-right:1px solid var(--line);background:#ffffffd1;flex-direction:column;gap:4px;width:220px;height:100vh;padding:20px 14px;display:flex;position:fixed;top:0;left:0;overflow-y:auto}.sidebar-toggle-floating{z-index:50;position:fixed;top:16px;left:16px}.sidebar-header{justify-content:space-between;align-items:center;margin-bottom:18px;display:flex}.sidebar-title{letter-spacing:.06em;text-transform:uppercase;color:var(--accent);font-family:IBM Plex Mono,ui-monospace,monospace;font-size:12px}.sidebar-toggle{border:1px solid var(--line);color:var(--ink-soft);cursor:pointer;background:0 0;border-radius:6px;padding:5px 8px;font-size:13px;line-height:1}.sidebar-toggle:hover{border-color:var(--accent);color:var(--accent-ink)}.sidebar-section{margin-top:14px}.sidebar-section-label{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);padding:0 12px 4px;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:10.5px}.sidebar-link{color:var(--ink-soft);border-radius:6px;padding:7px 12px;font-size:13.5px;font-weight:600;text-decoration:none;display:block}.sidebar-section .sidebar-link{padding-left:20px;font-weight:500}.sidebar-link.active{color:var(--accent-ink);background:var(--direct-fill)}.sidebar-link:not(.active):hover{background:var(--ground)}.home-cards{grid-template-columns:repeat(2,1fr);gap:14px;margin-top:24px;display:grid}.home-card{color:var(--ink);border:1px solid var(--line);background:var(--surface);border-radius:10px;padding:18px 20px;text-decoration:none;display:block}.home-card:hover{border-color:var(--accent)}.home-card h3{color:var(--accent-ink);margin:0 0 6px;font-size:15px}.home-card p{color:var(--ink-soft);margin:0;font-size:13.5px}.eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--accent);font-family:IBM Plex Mono,ui-monospace,monospace;font-size:12px}h1{margin:8px 0 24px;font-family:Fraunces,Georgia,serif;font-size:32px;font-weight:560}.section-header{border-top:1px solid var(--line);margin:32px 0 10px;padding-top:20px;font-size:15px;font-weight:700}.section-header:first-child{border-top:none;margin-top:0;padding-top:0}.search-row{gap:10px;margin-bottom:20px;display:flex}.search-row input[type=text]{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:8px;flex:1;padding:12px 14px;font-size:15px}.search-row button{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:12px 22px;font-size:15px;font-weight:600}.search-row button:disabled{opacity:.6;cursor:default}.filters{flex-wrap:wrap;gap:20px;display:flex}.filter-group h3{letter-spacing:.05em;text-transform:uppercase;color:var(--ink-soft);margin:0 0 8px;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:11px}.filter-group label{cursor:pointer;margin-bottom:4px;font-size:13.5px;display:block}.filter-group input[type=checkbox]{margin-right:6px}.filter-box{margin-bottom:20px}.filter-box-summary{cursor:pointer;color:var(--accent-ink);padding:8px 2px;font-size:13.5px;font-weight:700;list-style:none}.filter-box-summary::-webkit-details-marker{display:none}.filter-box-summary:before{content:"▸ ";color:var(--accent)}.filter-box[open]>.filter-box-summary:before{content:"▾ "}.filter-box-body{background:var(--surface);border:1px solid var(--line);border-radius:10px;flex-direction:column;gap:16px;margin-top:8px;padding:16px 18px;display:flex}.dropdown-filter{position:relative}.dropdown-summary{cursor:pointer;color:var(--ink-soft);border:1px solid var(--line);background:var(--surface);white-space:nowrap;border-radius:6px;padding:7px 12px;font-size:13.5px;font-weight:600;list-style:none}.dropdown-summary::-webkit-details-marker{display:none}.dropdown-filter[open]>.dropdown-summary{border-color:var(--accent);color:var(--accent-ink)}.dropdown-panel{z-index:20;background:var(--surface);border:1px solid var(--line);border-radius:8px;min-width:200px;max-height:260px;padding:10px 12px;position:absolute;top:calc(100% + 4px);left:0;overflow-y:auto;box-shadow:0 6px 18px #1c24271a}.dropdown-option{cursor:pointer;white-space:nowrap;margin-bottom:4px;font-size:13.5px;display:block}.dropdown-option input[type=checkbox]{margin-right:6px}.dropdown-empty{color:var(--ink-soft);margin:0;font-size:13px}.dropdown-clear{color:var(--accent-ink);cursor:pointer;background:0 0;border:none;margin-top:6px;padding:0;font-size:12.5px;font-weight:600}.status-line{color:var(--ink-soft);margin:12px 0;font-size:14px}.results{flex-direction:column;gap:12px;display:flex}.result-card{color:inherit;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:16px 18px;text-decoration:none;transition:border-color .15s;display:block}.result-card:hover{border-color:var(--accent)}.result-top{align-items:center;gap:10px;margin-bottom:6px;display:flex}.role-badge{letter-spacing:.03em;text-transform:uppercase;border:1.5px solid;border-radius:5px;flex:none;padding:2px 8px;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:11px}.role-direct{background:var(--direct-fill);border-color:var(--direct-stroke);color:var(--direct-ink)}.role-proxy{background:var(--proxy-fill);border-color:var(--proxy-stroke);color:var(--proxy-ink)}.role-complementary{background:var(--complementary-fill);border-color:var(--complementary-stroke);color:var(--complementary-ink)}.role-uncertain{background:var(--uncertain-fill);border-color:var(--uncertain-stroke);color:var(--uncertain-ink)}.result-system{color:var(--ink-soft);font-size:12.5px}.result-name{margin:0 0 4px;font-size:16px;font-weight:600}.result-reason{color:var(--ink-soft);margin:0;font-size:14px}.data-flag{color:var(--ink-soft);margin-left:auto;font-size:12px}.back-link{color:var(--accent);margin-bottom:16px;font-size:14px;text-decoration:none;display:inline-block}.back-link:hover{text-decoration:underline}.dataset-card{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:14px 18px}.dataset-card a{color:var(--accent)}.dataset-title{margin:0 0 4px;font-weight:600}.dataset-meta{color:var(--ink-soft);font-size:12.5px}.table-wrap{background:var(--surface);border:1px solid var(--line);border-radius:10px;overflow-x:auto}.classification-table-scroll{max-height:calc(100vh - 280px);overflow-y:auto}.browse-table{border-collapse:collapse;width:100%;font-size:14px}.browse-table th{text-align:left;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-soft);border-bottom:1px solid var(--line);white-space:nowrap;padding:10px 14px;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:11px}.browse-table td{border-bottom:1px solid var(--line);vertical-align:top;padding:12px 14px}.browse-table tr:last-child td{border-bottom:none}.browse-name{color:var(--ink);font-weight:600;text-decoration:none}.browse-name:hover{text-decoration:underline}.browse-desc{color:var(--ink-soft);max-width:360px;margin-top:2px;font-size:12.5px}.browse-categories{color:var(--ink-soft);max-width:240px;font-size:12.5px}.data-yes{color:var(--direct-stroke);font-size:12.5px;font-weight:600}.data-no{color:var(--ink-soft);font-size:12.5px}.all-candidates{border-top:1px solid var(--line);margin-top:28px;padding-top:20px}.toggle-candidates{border:1px solid var(--line);color:var(--accent-ink);cursor:pointer;background:0 0;border-radius:8px;padding:8px 14px;font-size:13.5px;font-weight:600}.toggle-candidates:hover{border-color:var(--accent)}.load-more{justify-content:center;align-items:center;gap:12px;padding:16px 0;display:flex}.score-filter{flex-direction:column;gap:6px;margin:16px 0;display:flex}.score-filter input{width:100%;max-width:420px}.score-filter label{color:var(--ink-soft);font-size:13px}.score-filter-help{color:var(--ink-soft);margin:0;font-size:12.5px}.score-filter-details{color:var(--ink-soft);font-size:12.5px}.score-filter-details summary{cursor:pointer;color:var(--accent-ink);font-weight:600}.score-filter-details p{margin:6px 0 0;line-height:1.5}.candidate-scores{color:var(--ink-soft);font-family:IBM Plex Mono,ui-monospace,monospace;font-size:11.5px}.candidate-card{opacity:.92}.role-legend{background:var(--surface);border:1px solid var(--line);border-radius:10px;flex-wrap:wrap;gap:8px 20px;margin:4px 0 16px;padding:12px 16px;display:flex}.role-legend-item{color:var(--ink-soft);align-items:center;gap:8px;font-size:12.5px;display:flex}.graph-legend{flex-wrap:wrap;gap:8px 20px;margin:4px 0 16px;display:flex}.graph-legend-note{color:var(--ink-soft);margin:-6px 0 16px;font-size:12px;line-height:1.5}.graph-legend-item{color:var(--ink-soft);align-items:center;gap:6px;font-size:12.5px;display:flex}.graph-dot{border-radius:50%;width:10px;height:10px;display:inline-block}.coverage-unknown-badge{letter-spacing:.03em;text-transform:uppercase;background:var(--uncertain-fill);border:1.5px solid var(--uncertain-stroke);color:var(--uncertain-ink);border-radius:5px;margin-left:8px;padding:2px 7px;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:10.5px}.dataset-filter{max-width:680px}.filter-label{color:var(--ink-soft);margin:0 0 8px;font-size:13px}.ai-prompt-block+.ai-prompt-block{margin-top:16px}.ai-prompt-text{background:var(--surface);border:1px solid var(--line);white-space:pre-wrap;overflow-wrap:anywhere;border-radius:8px;max-height:320px;margin:0;padding:10px 12px;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:12px;overflow-y:auto}.filter-chips{flex-wrap:wrap;gap:6px;display:flex}.year-range-row{align-items:center;gap:8px;display:flex}.year-range-row input[type=number]{width:90px}.filter-chip{border:1.5px solid var(--line);background:var(--surface);color:var(--ink-soft);cursor:pointer;border-radius:999px;padding:5px 11px;font-family:inherit;font-size:12.5px}.filter-chip:hover{border-color:var(--accent)}.filter-chip.selected{background:var(--accent);border-color:var(--accent);color:#fff}.germany-only-toggle{color:var(--ink);align-items:center;gap:8px;font-size:13.5px;display:flex}.include-unknown-toggle{color:var(--ink-soft);align-items:center;gap:8px;margin-top:10px;font-size:13px;display:flex}.geo-level-badge{letter-spacing:.03em;text-transform:uppercase;background:var(--accent);border:1.5px solid var(--accent);color:#fff;border-radius:5px;margin-left:8px;padding:2px 7px;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:10.5px}.external-result-card{background:var(--surface);border:1.5px dashed var(--complementary-stroke);border-radius:10px;padding:14px 18px}.external-result-card a{color:var(--accent);overflow-wrap:anywhere}.external-reason{color:var(--ink-soft);margin:4px 0;font-size:13px;font-style:italic}.portal-query{overflow-wrap:anywhere;font-size:12px}.format-badge{letter-spacing:.02em;text-transform:uppercase;background:var(--uncertain-fill);border:1px solid var(--uncertain-stroke);color:var(--uncertain-ink);border-radius:4px;margin-right:6px;padding:1px 6px;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:10px}.graph-layout{grid-template-columns:1fr 280px;align-items:start;gap:16px;display:grid}.graph-breakout{width:100vw;margin-left:-50vw;margin-right:-50vw;position:relative;left:50%;right:50%}.graph-canvas{background:var(--surface);border:1px solid var(--line);border-radius:10px;height:calc(100vh - 260px);min-height:480px;overflow:hidden}.graph-sidebar{background:var(--surface);border:1px solid var(--line);border-radius:10px;min-height:200px;padding:14px 16px}.graph-sidebar ul{margin:4px 0 0;padding-left:18px;font-size:13.5px}.graph-sidebar-filters{border-top:1px solid var(--line);margin-top:20px;padding-top:16px}.toggle-coverage{border:1px solid var(--line);color:var(--accent-ink);cursor:pointer;background:0 0;border-radius:6px;margin-top:10px;padding:5px 10px;font-size:12.5px;font-weight:600}.toggle-coverage:hover{border-color:var(--accent)}.coverage-panel{background:var(--ground);border-radius:8px;grid-template-columns:max-content 1fr;gap:4px 12px;margin:10px 0 0;padding:10px 14px;display:grid}.coverage-panel dt{letter-spacing:.03em;text-transform:uppercase;color:var(--ink-soft);font-family:IBM Plex Mono,ui-monospace,monospace;font-size:11px}.coverage-panel dd{margin:0;font-size:13.5px}.graph-sidebar-filters .toggle-candidates{margin:8px 0 14px}.graph-show-indicators{cursor:pointer;margin:8px 0 12px;font-size:13.5px;font-weight:600;display:block}.graph-sidebar-filters .filters{border:none;flex-direction:column;gap:14px;margin-bottom:0;padding:0}.classification-table{border-collapse:collapse;width:100%;font-size:13.5px}.classification-table th{text-align:left;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-soft);border-bottom:1px solid var(--line);white-space:nowrap;background:var(--surface);z-index:1;padding:10px 6px;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:10.5px;position:sticky;top:0}.classification-table td{border-bottom:1px solid var(--line);vertical-align:top;padding:10px 6px}.classification-table th:first-child,.classification-table td:first-child{padding-left:16px}.classification-cell-wrap{flex-direction:column;height:100%;display:flex}.classification-table tr:last-child td{border-bottom:none}.classification-table tr.row-dirty{background:#fdf6e3}.classification-name{min-width:200px;font-weight:600}.classification-desc{color:var(--ink-soft);max-width:260px;margin-top:2px;font-size:12px}.classification-source-id{color:var(--ink-soft);margin-top:2px;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:11px}.classification-cell{flex-wrap:wrap;gap:4px;min-width:180px;max-width:240px;display:flex}.category-tagged-by{color:var(--ink-soft);margin-top:auto;padding-top:4px;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:10.5px}.classification-chip{border:1.5px solid var(--line);background:var(--surface);color:var(--ink-soft);cursor:pointer;border-radius:999px;padding:3px 9px;font-family:inherit;font-size:11px;line-height:1.4}.classification-chip:hover{border-color:var(--accent)}.classification-chip.selected{background:var(--accent);border-color:var(--accent);color:#fff}.status-badge{white-space:nowrap;border-radius:5px;padding:3px 8px;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:11px}.status-badge.status-untagged{background:var(--uncertain-fill);color:var(--uncertain-ink)}.status-badge.status-manual{background:var(--direct-fill);color:var(--direct-ink)}.status-badge.status-mixed{background:var(--proxy-fill);color:var(--proxy-ink)}.status-badge.status-other{background:var(--complementary-fill);color:var(--complementary-ink)}.approved-badge{white-space:nowrap;font-size:11px;font-weight:600}.approved-yes{color:var(--direct-stroke)}.approved-no{color:var(--ink-soft)}.save-row-button{background:var(--accent);color:#fff;cursor:pointer;white-space:nowrap;border:none;border-radius:6px;padding:6px 14px;font-size:12.5px;font-weight:600}.save-row-button:disabled{opacity:.45;cursor:default}.geo-legend{margin-top:8px}.geo-legend dl{margin:6px 0 0}.geo-legend dl>div{grid-template-columns:190px 1fr;gap:12px;padding:3px 0;display:grid}.geo-legend dt{color:var(--ink);font-weight:600}.geo-legend dd{margin:0;line-height:1.5}@media (width<=600px){.geo-legend dl>div{grid-template-columns:1fr;gap:0}}.geo-legend-source{white-space:nowrap}.link-button{font:inherit;color:var(--accent-ink);cursor:pointer;background:0 0;border:none;padding:0;text-decoration:underline}.dataset-filter-wide{max-width:none}.match-mode{vertical-align:middle;border:1px solid var(--line);border-radius:999px;margin-left:8px;display:inline-flex;overflow:hidden}.match-mode button{font:inherit;color:var(--ink-soft);cursor:pointer;background:0 0;border:none;padding:1px 7px;font-size:10px}.match-mode button.selected{background:var(--accent);color:#fff}.graph-dot-ring{box-shadow:0 0 0 1px var(--ink-soft);background:0 0}
