:root {
  --canvas: #e9edf1;
  --surface: #fbfcfd;
  --surface-muted: #edf1f4;
  --surface-blue: #f1f6fd;
  --text: #20252c;
  --text-muted: #66707c;
  --text-faint: #8a949f;
  --border: #d8dee4;
  --border-strong: #b7c0ca;
  --blue: #1769d2;
  --blue-dark: #1256ad;
  --red: #b4232d;
  --red-bg: #fff1f2;
  --orange: #9a5b00;
  --orange-bg: #fff7e6;
  --green: #176b3a;
  --green-bg: #edf8f1;
  --info: #315a9d;
  --info-bg: #edf4ff;
  --shadow: 0 8px 28px rgba(35, 46, 58, 0.12);
  --font: "Aptos", "Segoe UI Variable", "Source Sans 3", "Helvetica Neue", sans-serif;
  --mono: "Cascadia Mono", "SFMono-Regular", Consolas, monospace;
  color-scheme: light;
}

* { box-sizing: border-box; }
[hidden] { display: none !important; }
html { min-width: 320px; background: var(--canvas); }
body { margin: 0; color: var(--text); background: var(--canvas); font: 14px/1.45 var(--font); -webkit-font-smoothing: antialiased; }
button, input, textarea, select { color: inherit; font: inherit; }
button, select { cursor: pointer; }
a { color: var(--blue); text-decoration: none; }
a:hover { text-decoration: underline; }
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { letter-spacing: -0.02em; }
code { font-family: var(--mono); }
.icon { width: 17px; height: 17px; flex: none; }

.site-header {
  position: sticky; top: 0; z-index: 50;
  display: flex; align-items: center; min-height: 58px; padding: 0 22px;
  color: #f7f9fb; background: #202a35; border-bottom: 1px solid #111820;
}
.wordmark { display: flex; align-items: center; gap: 10px; color: #fff; font-size: 15px; font-weight: 700; letter-spacing: -0.015em; }
.wordmark:hover { text-decoration: none; }
.wordmark-mark { position: relative; width: 24px; height: 24px; border: 1px solid #87b8f6; border-radius: 5px; }
.wordmark-mark::before, .wordmark-mark::after, .wordmark-mark i::before, .wordmark-mark i::after { content: ""; position: absolute; width: 5px; height: 5px; background: #87b8f6; }
.wordmark-mark::before { left: 4px; top: 4px; }.wordmark-mark::after { right: 4px; top: 4px; }.wordmark-mark i::before { left: 4px; bottom: 4px; }.wordmark-mark i::after { right: 4px; bottom: 4px; }
.repo-name { margin-left: 18px; padding-left: 18px; border-left: 1px solid #43505e; color: #aab5c1; font-size: 12px; }
.primary-nav { align-self: stretch; display: flex; align-items: stretch; gap: 3px; margin-left: 30px; }
.primary-nav a { position: relative; display: flex; align-items: center; gap: 7px; padding: 0 14px; color: #bdc7d1; font-weight: 600; font-size: 13px; }
.primary-nav a:hover { color: #fff; text-decoration: none; background: #293541; }
.primary-nav a.on { color: #fff; }
.primary-nav a.on::after { content: ""; position: absolute; left: 13px; right: 13px; bottom: 0; height: 3px; background: #58a6ff; }
.nav-count { min-width: 18px; padding: 1px 5px; border-radius: 9px; color: #d8e9ff; background: #3b4a59; font-size: 10px; text-align: center; }
.header-actions { display: flex; align-items: center; gap: 14px; margin-left: auto; }
.theme-button { display: grid; place-items: center; width: 32px; height: 32px; padding: 0; border: 1px solid #506070; border-radius: 6px; color: #c6d0da; background: #293541; }.theme-button:hover { color: #fff; border-color: #768596; background: #34414e; }.theme-button .icon { width: 15px; height: 15px; }
.scan-state { max-width: 280px; overflow: hidden; color: #9dabba; font: 11px/1.3 var(--mono); text-overflow: ellipsis; white-space: nowrap; }
.scan-state.busy::before { content: ""; display: inline-block; width: 7px; height: 7px; margin-right: 7px; border-radius: 50%; background: #58a6ff; animation: pulse 1.1s infinite; }
.account-button { display: flex; align-items: center; gap: 8px; min-height: 34px; padding: 5px 11px; border: 1px solid #506070; border-radius: 6px; color: #e6ebf0; background: #293541; font-size: 12px; font-weight: 600; }
.account-button:hover { border-color: #768596; background: #34414e; }
.account-button small { color: #98a7b6; font-size: 10px; font-weight: 500; text-transform: capitalize; }
.avatar, .mini-avatar { display: grid; place-items: center; border-radius: 50%; font-style: normal; font-weight: 700; }
.account-button .avatar { width: 22px; height: 22px; color: #18385f; background: #a9cdf8; font-size: 11px; }
.account-menu { position: fixed; z-index: 80; display: flex; flex-direction: column; width: 210px; padding: 12px; border: 1px solid var(--border); border-radius: 7px; background: var(--surface); box-shadow: var(--shadow); }
.account-menu b { font-size: 13px; }.account-menu span { color: var(--text-muted); font-size: 12px; }.account-menu button { margin: 12px -5px -5px; padding: 8px; border: 0; border-top: 1px solid var(--border); color: var(--red); background: transparent; text-align: left; }

.workspace { display: grid; grid-template-columns: 244px minmax(0, 1fr); min-height: calc(100vh - 58px); }
.filter-sidebar { padding: 22px 14px 60px; border-right: 1px solid var(--border); background: #f0f3f6; }
.sidebar-title { display: flex; align-items: baseline; justify-content: space-between; padding: 0 9px 16px; border-bottom: 1px solid var(--border); }
.sidebar-title b { font-size: 14px; }.sidebar-title span { color: var(--text-muted); font-size: 11px; }
.filter-group { padding: 17px 0 4px; }
.filter-group + .filter-group { margin-top: 8px; border-top: 1px solid var(--border); }
.filter-group h3 { margin: 0 9px 8px; color: var(--text-muted); font-size: 11px; font-weight: 700; letter-spacing: .055em; text-transform: uppercase; }
.filter-group button { display: flex; align-items: center; justify-content: space-between; width: 100%; padding: 7px 9px; border: 0; border-radius: 5px; color: #4c5662; background: transparent; font-size: 12.5px; text-align: left; }
.filter-group button:hover { color: var(--text); background: #e5e9ed; }
.filter-group button.on { color: #133f74; background: #dce9f8; font-weight: 650; }
.filter-group button small { min-width: 24px; color: var(--text-faint); font: 10.5px var(--mono); text-align: right; }
.filter-group button > span { display: flex; align-items: center; gap: 7px; }.tag-dot, .state-dot { width: 8px; height: 8px; flex: none; border-radius: 50%; background: #87929e; }.state-redraw { background: #cf3e48; }.state-partial { background: #d68a12; }.state-approved { background: #2f9a59; }.state-licensed { background: #4d78bc; }.state-unknown { background: #87929e; }
.filter-group.categories { max-height: 390px; overflow-y: auto; }
.filter-check { display: flex; align-items: center; gap: 7px; margin: 0 0 4px; padding: 7px 9px; border-radius: 5px; color: #4c5662; font-size: 12.5px; cursor: pointer; }
.filter-check:hover { color: var(--text); background: #e5e9ed; }
.filter-check input { width: 13px; height: 13px; flex: none; margin: 0; accent-color: #2f6fbd; }
.filter-check span { flex: 1; }
.filter-check small { min-width: 24px; color: var(--text-faint); font: 10.5px var(--mono); text-align: right; }
.asset-list-pane { min-width: 0; padding: 32px clamp(22px, 4vw, 62px) 80px; }
.pool-header { display: flex; align-items: flex-end; justify-content: space-between; gap: 40px; max-width: 1400px; margin: 0 auto 28px; }
.eyebrow { display: block; margin-bottom: 5px; color: var(--blue); font-size: 11px; font-weight: 750; letter-spacing: .075em; text-transform: uppercase; }
.pool-header h1, .page-title h1 { margin: 0 0 5px; font-size: 27px; font-weight: 720; }
.pool-header p, .page-title p { margin: 0; color: var(--text-muted); }
.progress-card { width: 245px; flex: none; padding: 13px 15px; border: 1px solid var(--border); border-radius: 7px; background: var(--surface); }
.progress-card > div:first-child { display: flex; justify-content: space-between; font-size: 12px; }.progress-card b { font: 650 12px var(--mono); }
.progress-track { height: 5px; margin: 10px 0 6px; overflow: hidden; border-radius: 3px; background: #dfe4e9; }.progress-track i { display: block; height: 100%; background: var(--blue); }
.progress-card small { color: var(--text-muted); font-size: 11px; }
.list-toolbar { display: flex; gap: 10px; max-width: 1400px; margin: 0 auto; padding: 12px; border: 1px solid var(--border); border-bottom: 0; border-radius: 7px 7px 0 0; background: var(--surface); }
.search-box { display: flex; align-items: center; gap: 8px; flex: 1; min-width: 220px; height: 36px; padding: 0 10px; border: 1px solid var(--border-strong); border-radius: 5px; background: var(--surface); color: var(--text-faint); }
.search-box:focus-within { border-color: var(--blue); box-shadow: 0 0 0 2px rgba(23, 105, 210, .13); }
.search-box input { width: 100%; border: 0; outline: 0; background: transparent; font-size: 13px; }
.compact-select { display: flex; align-items: center; gap: 7px; padding-left: 10px; color: var(--text-muted); font-size: 11px; }
.compact-select select { height: 36px; padding: 0 30px 0 10px; border: 1px solid var(--border-strong); border-radius: 5px; background: var(--surface); font-size: 12px; }
.button { min-height: 34px; padding: 7px 12px; border: 1px solid var(--border-strong); border-radius: 5px; color: #3f4954; background: var(--surface); font-size: 12.5px; font-weight: 650; }
.button:hover { border-color: #8d99a5; background: var(--surface-muted); text-decoration: none; }
.button.primary { border-color: var(--blue); color: #fff; background: var(--blue); }.button.primary:hover { background: var(--blue-dark); }
.button.danger { color: var(--red); }.button.small { min-height: 28px; padding: 4px 9px; font-size: 11px; }.button.wide { width: 100%; }
.button:disabled { cursor: default; opacity: .45; }
.list-meta { display: flex; gap: 5px; max-width: 1400px; margin: 0 auto; padding: 9px 13px; border: 1px solid var(--border); border-bottom: 0; color: var(--text-muted); background: #fafbfc; font-size: 11px; }.list-meta span { margin-left: auto; }
.asset-table { max-width: 1400px; margin: 0 auto; overflow: hidden; border: 1px solid var(--border); border-radius: 0 0 7px 7px; background: var(--surface); }
.asset-table-head, .asset-row { display: grid; grid-template-columns: minmax(330px, 1.55fr) minmax(170px, .8fr) minmax(170px, .8fr) minmax(145px, .6fr); }
.asset-table-head { min-height: 34px; align-items: center; color: var(--text-muted); background: #f3f5f7; border-bottom: 1px solid var(--border); font-size: 10.5px; font-weight: 700; letter-spacing: .045em; text-transform: uppercase; }
.asset-table-head span, .asset-cell { padding: 0 14px; }.asset-table-head span + span, .asset-cell + .asset-cell { border-left: 1px solid #eef0f2; }
.asset-row { min-height: 82px; color: var(--text); border-bottom: 1px solid #e8ebee; }.asset-row:last-child { border-bottom: 0; }.asset-row:hover { background: #f7faff; text-decoration: none; }
.asset-cell { display: flex; align-items: center; min-width: 0; }
.asset-identity { gap: 13px; }
.thumb { display: grid; place-items: center; width: 54px; height: 54px; flex: none; overflow: hidden; border: 1px solid #d4d9de; border-radius: 5px; background: #eef1f4; box-shadow: inset 0 0 0 4px #f7f8fa; }
.thumb img { max-width: 44px; max-height: 44px; object-fit: contain; }.thumb img.pixel { width: 44px; height: 44px; image-rendering: pixelated; }
.file-ext { color: var(--text-faint); font: 700 11px var(--mono); letter-spacing: .06em; }
.asset-copy { display: flex; flex-direction: column; min-width: 0; }.asset-copy b { overflow: hidden; font: 600 12.5px/1.4 var(--mono); text-overflow: ellipsis; white-space: nowrap; }.asset-copy small { overflow: hidden; color: var(--text-muted); font: 10.5px/1.5 var(--mono); text-overflow: ellipsis; white-space: nowrap; }.asset-copy em { align-self: flex-start; margin-top: 3px; padding: 1px 5px; border-radius: 3px; font-size: 10px; font-style: normal; }.category-label, .tag-line span { border: 1px solid currentColor !important; }
.tag-blue { color: #2563a9 !important; background: #e9f2fe !important; }.tag-brown { color: #8a5a24 !important; background: #f7efe4 !important; }.tag-purple { color: #7651a8 !important; background: #f1ebfa !important; }.tag-cyan { color: #087c8d !important; background: #e6f5f7 !important; }.tag-pink { color: #a63e74 !important; background: #f9eaf2 !important; }.tag-violet { color: #604bc2 !important; background: #eeebfc !important; }.tag-orange { color: #a95516 !important; background: #fbefe5 !important; }.tag-yellow { color: #816700 !important; background: #f9f3cf !important; }.tag-indigo { color: #405eb4 !important; background: #e9eefb !important; }.tag-red { color: #ae3f46 !important; background: #faebed !important; }.tag-green { color: #237047 !important; background: #e7f5ed !important; }.tag-slate { color: #5e6a77 !important; background: #edf0f3 !important; }
.evidence-cell { position: relative; flex-wrap: wrap; align-content: center; gap: 5px; }.evidence-cell b { margin-left: auto; color: var(--text-muted); font: 600 11px var(--mono); }.evidence-cell small { width: 100%; color: var(--text-faint); font-size: 10.5px; }
.badge { display: inline-flex; align-items: center; min-height: 21px; padding: 2px 7px; border: 1px solid #cfd5da; border-radius: 4px; color: #59636e; background: #f4f6f8; font-size: 10.5px; font-weight: 700; white-space: nowrap; }
.badge.critical { border-color: #efc2c5; color: var(--red); background: var(--red-bg); }.badge.warning { border-color: #ebd19f; color: var(--orange); background: var(--orange-bg); }.badge.success { border-color: #b8dfc8; color: var(--green); background: var(--green-bg); }.badge.info { border-color: #c2d5ee; color: var(--info); background: var(--info-bg); }.badge.muted { color: #75808b; background: #f2f4f6; }.badge.neutral { color: #4c5967; background: #f3f5f7; }
.community-cell { position: relative; flex-direction: column; align-items: flex-start; justify-content: center; }.community-cell b { max-width: 100%; overflow: hidden; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }.community-cell small { color: var(--text-muted); font-size: 10.5px; }.activity-bits { position: absolute; right: 11px; bottom: 9px; display: flex; align-items: center; gap: 3px; color: var(--text-faint); font-size: 10px; }.activity-bits .icon { width: 12px; height: 12px; margin-left: 5px; }
.decision-cell { justify-content: space-between; }.decision-cell .icon { color: #a2abb4; }

.review-page { max-width: 1720px; margin: 0 auto; padding: 0 24px 80px; }
.review-topbar { display: flex; align-items: center; justify-content: space-between; min-height: 48px; border-bottom: 1px solid var(--border); }
.breadcrumbs { display: flex; align-items: center; gap: 7px; min-width: 0; color: var(--text-muted); font-size: 11.5px; }.breadcrumbs b { max-width: 380px; overflow: hidden; color: var(--text); font-family: var(--mono); text-overflow: ellipsis; white-space: nowrap; }
.review-nav { display: flex; align-items: center; gap: 8px; }.review-nav button { padding: 4px 9px; border: 1px solid var(--border); border-radius: 4px; background: var(--surface); font-size: 11px; }.review-nav span { color: var(--text-faint); font: 10.5px var(--mono); }.review-nav button:disabled { opacity: .4; cursor: default; }
.review-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 32px; padding: 24px 0 20px; }
.review-title-line { display: flex; align-items: center; gap: 10px; }.review-header h1 { margin: 0; font: 650 23px/1.25 var(--mono); }.review-header p { margin: 4px 0 8px; color: var(--text-muted); font: 11.5px var(--mono); }.tag-line { display: flex; flex-wrap: wrap; gap: 5px; }.tag-line span { padding: 2px 6px; border: 1px solid var(--border); border-radius: 4px; color: var(--text-muted); background: var(--surface); font-size: 10px; }
.review-header dl { display: flex; gap: 28px; margin: 1px 0 0; }.review-header dl div { display: flex; flex-direction: column; }.review-header dt { color: var(--text-faint); font-size: 10px; text-transform: uppercase; letter-spacing: .05em; }.review-header dd { max-width: 300px; margin: 3px 0 0; overflow: hidden; font: 11px var(--mono); text-overflow: ellipsis; white-space: nowrap; }
.review-grid { display: grid; grid-template-columns: 260px minmax(480px, 1fr) 326px; align-items: start; min-height: 570px; border: 1px solid var(--border); border-radius: 7px; background: var(--surface); }
.continue-review { display: flex; align-items: center; justify-content: space-between; gap: 20px; width: 100%; margin-bottom: 9px; padding: 10px 14px; border: 1px solid #a8c6e8; border-radius: 6px; color: #174f8c; background: #eaf3fd; text-align: left; }.continue-review:hover { border-color: #6fa4df; background: #dfedfb; }.continue-review > span:first-child { display: flex; flex-direction: column; }.continue-review b { font-size: 11.5px; }.continue-review small { color: #557493; font-size: 10px; }.continue-counts { display: flex; align-items: center; gap: 5px; color: #52779e; font: 10px var(--mono); white-space: nowrap; }.continue-counts .icon { width: 13px; height: 13px; margin-left: 7px; }.continue-counts i { margin-left: 10px; font: 700 16px var(--font); }
.evidence-panel, .triage-panel { min-width: 0; min-height: 568px; background: #fafbfc; }.evidence-panel { border-right: 1px solid var(--border); }.triage-panel { padding-bottom: 18px; border-left: 1px solid var(--border); }
.panel-heading { display: flex; align-items: center; justify-content: space-between; min-height: 43px; padding: 0 14px; border-bottom: 1px solid var(--border); background: #f3f5f7; }.panel-heading b { font-size: 12px; }.panel-heading span { color: var(--text-faint); font: 10.5px var(--mono); }
#evidence-list { padding: 8px; }
.evidence-item { display: flex; flex-direction: column; gap: 4px; width: 100%; padding: 10px; border: 1px solid transparent; border-radius: 5px; background: transparent; text-align: left; }.evidence-item:hover { background: #f0f3f6; }.evidence-item.on { border-color: #a9c8ed; background: var(--surface-blue); box-shadow: inset 3px 0 0 var(--blue); }.evidence-top { display: flex; justify-content: space-between; align-items: center; }.evidence-top b { color: var(--text-muted); font: 600 10.5px var(--mono); }.evidence-item strong { overflow: hidden; font: 600 11.5px var(--mono); text-overflow: ellipsis; white-space: nowrap; }.evidence-item small { color: var(--text-muted); font-size: 10.5px; line-height: 1.35; }
.panel-empty { padding: 28px 16px; color: var(--text-muted); text-align: center; font-size: 12px; }
.comparison-panel { min-width: 0; padding: 14px; background: #edf0f3; }
.compare { display: flex; flex-direction: column; gap: 10px; }.panes { position: relative; display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }.pane { display: flex; flex-direction: column; min-width: 0; margin: 0; overflow: hidden; border: 1px solid #c9d0d7; border-radius: 5px; background: var(--surface); }.pane figcaption { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; min-height: 37px; padding: 9px 11px; border-bottom: 1px solid var(--border); color: var(--text-muted); font-size: 10px; }.pane figcaption b { color: var(--text); font-size: 11px; }.pane figcaption span { overflow: hidden; font: 9.5px var(--mono); text-overflow: ellipsis; white-space: nowrap; }
.stage { display: grid; place-items: center; min-height: 360px; height: 46vh; max-height: 520px; overflow: auto; padding: 12px; background-color: #e5e8eb; box-shadow: inset 0 0 0 6px #eceff1; }.stage canvas, .stage img.plain { max-width: 100%; image-rendering: pixelated; }.stage img.plain { max-height: 100%; object-fit: contain; }.stage audio { width: 90%; }
.tools { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px; }.tool-cluster, .zoom, .toggles { display: flex; flex-wrap: wrap; align-items: center; gap: 5px; }.tool-cluster { justify-content: flex-end; }.zoom button, .toggles button, .animation-switch button { min-height: 28px; padding: 4px 8px; border: 1px solid var(--border-strong); border-radius: 4px; color: var(--text-muted); background: var(--surface); font-size: 10.5px; }.zoom button.on, .toggles button.on, .animation-switch button.on { border-color: #8ab7ec; color: #164f93; background: #eaf3ff; }
.animation-switch { display: flex; align-items: center; gap: 7px; margin-right: 5px; }.animation-switch > span { color: var(--text-faint); font: 9.5px var(--mono); text-transform: uppercase; }.animation-switch > div { display: flex; }.animation-switch button { border-radius: 0; }.animation-switch button:first-child { border-radius: 4px 0 0 4px; }.animation-switch button:last-child { margin-left: -1px; border-radius: 0 4px 4px 0; }
.audio-review { display: flex; flex-direction: column; gap: 10px; }.sound-gate { display: flex; align-items: center; justify-content: space-between; gap: 20px; min-height: 48px; padding: 8px 10px 8px 12px; border: 1px solid #d1a85e; border-radius: 5px; color: #68490f; background: #fff8e8; }.sound-gate > div { display: flex; flex-direction: column; gap: 1px; }.sound-gate b { font-size: 11px; }.sound-gate span { font-size: 9.5px; }.sound-gate button { display: flex; align-items: center; gap: 6px; min-height: 30px; padding: 4px 9px; border: 1px solid #b98c3c; border-radius: 4px; color: #68490f; background: #fffdf8; font-size: 10.5px; font-weight: 700; white-space: nowrap; }.sound-gate button.on { border-color: #50906b; color: #1f6439; background: #edf8f1; }.sound-gate .icon { width: 15px; height: 15px; }.audio-pane .stage { min-height: 240px; height: 36vh; }.audio-pane audio { accent-color: var(--blue); }
.loupe { position: absolute; z-index: 20; display: flex; gap: 2px; padding: 2px; pointer-events: none; border: 1px solid #596675; border-radius: 4px; background: #27313b; box-shadow: var(--shadow); }.loupe canvas { display: block; image-rendering: pixelated; }.loupe-coord { position: absolute; left: 0; right: 0; bottom: -19px; display: flex; justify-content: space-between; color: #3c4752; font: 9px var(--mono); }
.triage-prompt { margin: 14px 14px 8px; color: var(--text-muted); font-size: 11px; }
.vote-redraw, .tone-redraw { --tone: var(--red); --tone-bg: var(--red-bg); }
.vote-partial, .tone-partial { --tone: var(--orange); --tone-bg: var(--orange-bg); }
.vote-original, .tone-approved { --tone: var(--green); --tone-bg: var(--green-bg); }
.vote-licensed, .tone-licensed { --tone: var(--info); --tone-bg: var(--info-bg); }
.vote-unsure, .tone-unknown { --tone: var(--text-faint); --tone-bg: var(--surface-muted); }
.vote-dot { width: 7px; height: 7px; flex: none; display: inline-block; border-radius: 50%; background: var(--tone, var(--text-faint)); }
.vote-tag { display: inline-flex; align-items: center; gap: 5px; color: var(--tone, var(--text-muted)); }
.community-cell .vote-dot { margin-right: 6px; vertical-align: 1px; }
.vote-list { display: flex; flex-direction: column; gap: 6px; padding: 0 10px; }
.vote-list button { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 9px 11px; border: 1px solid color-mix(in srgb, var(--tone) 40%, transparent); border-radius: 5px; color: var(--tone); background: var(--tone-bg); text-align: left; transition: background .12s, border-color .12s, box-shadow .12s; }
.vote-list button:hover { border-color: var(--tone); background: color-mix(in srgb, var(--tone) 14%, var(--tone-bg)); }
.vote-list button.on { border-color: var(--tone); background: color-mix(in srgb, var(--tone) 22%, var(--tone-bg)); box-shadow: 0 0 0 1px var(--tone); }
.vote-list button > span { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.vote-list b { font-size: 11.5px; color: var(--tone); }
.vote-list small { color: color-mix(in srgb, var(--tone) 72%, var(--text-muted)); font-size: 9.5px; line-height: 1.3; }
.vote-meta { display: flex; align-items: center; gap: 5px; color: var(--tone); }
.vote-list em { min-width: 16px; font: 700 10px var(--mono); text-align: right; font-style: normal; }
.vote-meta .icon { width: 14px; height: 14px; stroke-width: 2.6; }
.filter-group button.tone-chip { color: var(--tone); background: color-mix(in srgb, var(--tone-bg) 62%, transparent); }
.filter-group button.tone-chip:hover { color: var(--tone); background: var(--tone-bg); }
.filter-group button.tone-chip.on { color: var(--tone); background: var(--tone-bg); font-weight: 650; box-shadow: inset 0 0 0 1px var(--tone); }
.filter-group button.tone-chip small { color: color-mix(in srgb, var(--tone) 70%, var(--text-faint)); }
.sign-in-callout { margin: 14px; padding: 14px; border: 1px solid #bcd3ed; border-radius: 5px; background: #eff6ff; }.sign-in-callout b { font-size: 12px; }.sign-in-callout p { margin: 5px 0 12px; color: var(--text-muted); font-size: 11px; }
.voter-list { margin: 16px 14px 0; padding-top: 13px; border-top: 1px solid var(--border); }.voter-list > b { display: block; margin-bottom: 8px; color: var(--text-muted); font-size: 10px; text-transform: uppercase; letter-spacing: .05em; }.voter-list > span { display: flex; align-items: center; gap: 7px; margin-top: 7px; font-size: 10.5px; }.voter-list > span > span { display: flex; flex-direction: column; }.voter-list small { color: var(--text-muted); }.mini-avatar { width: 22px; height: 22px; color: #3c5875; background: #dbe6f0; font-size: 9px; }.suspend-mini { margin-left: auto; padding: 1px 4px; border: 0; color: var(--red); background: transparent; font-size: 9px; }
.maintainer-box { margin: 17px 10px 0; border: 1px solid var(--border-strong); border-radius: 5px; background: var(--surface); }.maintainer-box summary { padding: 9px 10px; font-size: 11px; font-weight: 700; }.maintainer-box form { padding: 2px 10px 11px; }

.review-lower { margin-top: 12px; border: 1px solid var(--border); border-radius: 7px; background: var(--surface); scroll-margin-top: 72px; }
.detail-tabs { display: flex; gap: 4px; min-height: 47px; padding: 0 14px; border-bottom: 1px solid var(--border); background: #fafbfc; }.detail-tabs button { position: relative; padding: 0 12px; border: 0; color: var(--text-muted); background: transparent; font-size: 12px; font-weight: 650; }.detail-tabs button.on { color: var(--text); }.detail-tabs button.on::after { content: ""; position: absolute; left: 10px; right: 10px; bottom: -1px; height: 2px; background: var(--blue); }.detail-tabs button span { margin-left: 6px; padding: 1px 5px; border-radius: 8px; background: #e5e9ed; font-size: 9px; }
.detail-layout { display: grid; grid-template-columns: minmax(0, 1fr) 340px; min-height: 300px; }.detail-main { min-width: 0; padding: 22px; }.compose-card { padding: 22px; border-left: 1px solid var(--border); background: #fafbfc; }
.section-heading { display: flex; justify-content: space-between; margin-bottom: 18px; }.section-heading h2 { margin: 0 0 3px; font-size: 16px; }.section-heading p { margin: 0; color: var(--text-muted); font-size: 11.5px; }
.thread-list, .claim-list, .proposal-list { display: flex; flex-direction: column; gap: 10px; }
.comment { display: grid; grid-template-columns: 34px minmax(0, 1fr); gap: 10px; padding: 12px 0; border-bottom: 1px solid #edf0f2; }.comment.reply { margin-left: 42px; }.comment.removed { opacity: .65; }.comment .avatar { width: 32px; height: 32px; color: #315477; background: #dbe7f2; font-size: 11px; }.comment header { display: flex; align-items: baseline; gap: 6px; }.comment header b { font-size: 11.5px; }.comment header span, .comment time { color: var(--text-faint); font-size: 10px; }.comment time { margin-left: auto; }.comment header em { padding: 1px 4px; border-radius: 3px; color: var(--info); background: var(--info-bg); font-size: 8.5px; font-style: normal; }.comment p { margin: 5px 0 2px; font-size: 12px; white-space: pre-wrap; }.comment-actions { display: flex; gap: 10px; }.text-button { padding: 0; border: 0; color: var(--blue); background: transparent; font-size: 10.5px; }.danger-text { color: var(--red); }
.replying { padding: 6px 8px; border-left: 2px solid var(--blue); color: var(--text-muted); background: var(--surface-blue); font-size: 10px; }
.claim-card, .proposal-card { display: grid; grid-template-columns: 40px minmax(0, 1fr); gap: 11px; padding: 13px; border: 1px solid var(--border); border-radius: 6px; }.claim-icon { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 5px; color: var(--info); background: var(--info-bg); }.claim-card header, .proposal-card header { display: flex; align-items: center; justify-content: space-between; gap: 10px; }.claim-card header a { max-width: 80%; overflow: hidden; font: 11px var(--mono); text-overflow: ellipsis; white-space: nowrap; }.claim-card p, .proposal-card p { margin: 4px 0; color: var(--text-muted); font-size: 10.5px; }.claim-card small, .proposal-card small { display: block; color: var(--text-muted); font-size: 10.5px; }
.proposal-card { grid-template-columns: 76px minmax(0, 1fr); }.proposal-preview { display: grid; place-items: center; width: 72px; height: 72px; overflow: hidden; border: 1px solid var(--border); border-radius: 5px; background: #eef1f4; }.proposal-preview img { max-width: 64px; max-height: 64px; image-rendering: pixelated; }.proposal-card header b { font: 600 11.5px var(--mono); }.review-note { margin-top: 5px; color: var(--orange) !important; }
.inline-actions { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 9px; }
.compose-card h3 { margin: 0 0 13px; font-size: 14px; }.aside-callout p { color: var(--text-muted); font-size: 11.5px; }
.form-stack { display: flex; flex-direction: column; gap: 11px; }.form-stack.compact { gap: 8px; }
.field { display: flex; flex-direction: column; gap: 4px; color: #4e5965; font-size: 10.5px; font-weight: 650; }.field small { color: var(--text-faint); font-weight: 400; }.field input, .field textarea, .field select { width: 100%; padding: 8px 9px; border: 1px solid var(--border-strong); border-radius: 5px; outline: none; color: var(--text); background: var(--surface); font-size: 12px; font-weight: 400; resize: vertical; }.field input:focus, .field textarea:focus, .field select:focus { border-color: var(--blue); box-shadow: 0 0 0 2px rgba(23,105,210,.12); }
.upload-drop { position: relative; display: grid; place-items: center; min-height: 108px; overflow: hidden; border: 1px dashed #9aa6b2; border-radius: 6px; color: var(--text-muted); background: var(--surface); cursor: pointer; }.upload-drop:hover { border-color: var(--blue); color: var(--blue); }.upload-drop input { position: absolute; inset: 0; opacity: 0; cursor: pointer; }.upload-drop span { display: flex; flex-direction: column; align-items: center; gap: 3px; text-align: center; }.upload-drop .icon { width: 22px; height: 22px; }.upload-drop b { font-size: 11px; }.upload-drop small { font-size: 9.5px; }
.usage-section { padding: 22px; }.usage-summary { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 18px; }.usage-summary div { display: flex; flex-direction: column; gap: 5px; padding: 12px; border: 1px solid var(--border); border-radius: 5px; background: #fafbfc; }.usage-summary span { color: var(--text-faint); font-size: 9.5px; text-transform: uppercase; }.usage-summary code { overflow: hidden; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }.reference-list { overflow: hidden; border: 1px solid var(--border); border-radius: 6px; }.reference-list > div, .reference-row { display: flex; align-items: center; gap: 9px; min-height: 42px; padding: 0 12px; border-bottom: 1px solid #edf0f2; }.reference-list > :last-child { border-bottom: 0; }.reference-row { color: var(--text); }.reference-row:hover { background: var(--surface-blue); text-decoration: none; }.reference-list code { min-width: 0; overflow: hidden; font-size: 10.5px; text-overflow: ellipsis; white-space: nowrap; }.reference-list code b { color: var(--blue); }.reference-list span { display: flex; align-items: center; gap: 3px; margin-left: auto; color: var(--text-muted); font-size: 10px; white-space: nowrap; }.reference-list span .icon { width: 12px; height: 12px; }

.standard-page { max-width: 1120px; margin: 0 auto; padding: 46px 24px 90px; }.narrow-page { max-width: 840px; }.page-title { margin-bottom: 30px; padding-bottom: 23px; border-bottom: 1px solid var(--border); }
.timeline { position: relative; }.timeline::before { content: ""; position: absolute; left: 7px; top: 8px; bottom: 8px; width: 1px; background: var(--border); }.timeline article { position: relative; display: grid; grid-template-columns: 16px minmax(0, 1fr); gap: 13px; min-height: 70px; }.timeline-dot { z-index: 1; width: 15px; height: 15px; margin-top: 3px; border: 3px solid var(--canvas); border-radius: 50%; background: var(--blue); box-shadow: 0 0 0 1px #8ab2df; }.timeline p { margin: 0; font-size: 12.5px; }.timeline a { display: inline-block; max-width: 700px; overflow: hidden; font: 10.5px var(--mono); text-overflow: ellipsis; white-space: nowrap; }.timeline time { display: block; color: var(--text-faint); font-size: 10px; }
.guide-page { max-width: 1060px; }.guide-grid { display: grid; grid-template-columns: 190px minmax(0, 1fr); gap: 52px; }.guide-grid nav { position: sticky; top: 90px; align-self: start; display: flex; flex-direction: column; border-left: 1px solid var(--border); }.guide-grid nav a { padding: 6px 12px; color: var(--text-muted); font-size: 11.5px; }.guide-grid article section { margin-bottom: 42px; scroll-margin-top: 90px; }.guide-grid article h2 { margin-bottom: 8px; font-size: 19px; }.guide-grid article p { color: #4f5964; line-height: 1.65; }.guide-table { margin-top: 20px; border: 1px solid var(--border); border-radius: 6px; }.guide-table div { display: grid; grid-template-columns: 175px minmax(0, 1fr); align-items: center; gap: 16px; padding: 12px; border-bottom: 1px solid var(--border); }.guide-table div:last-child { border-bottom: 0; }.guide-table p { margin: 0; font-size: 11.5px; }

.modal-layer { position: fixed; inset: 0; z-index: 100; display: grid; place-items: center; padding: 20px; background: rgba(17, 24, 32, .62); }
.modal-card { position: relative; width: min(430px, 100%); padding: 26px; border: 1px solid #9aa5b0; border-radius: 8px; background: var(--surface); box-shadow: 0 20px 70px rgba(10, 16, 24, .3); }.modal-close { position: absolute; right: 13px; top: 12px; }.icon-button { width: 28px; height: 28px; border: 0; border-radius: 4px; color: var(--text-muted); background: transparent; font-size: 20px; }.icon-button:hover { background: var(--surface-muted); }.modal-heading h2 { margin: 0 0 5px; font-size: 20px; }.modal-heading p { margin-bottom: 18px; color: var(--text-muted); font-size: 12px; }.segmented { display: grid; grid-template-columns: 1fr 1fr; margin-bottom: 18px; padding: 3px; border: 1px solid var(--border); border-radius: 6px; background: var(--surface-muted); }.segmented button { padding: 7px; border: 0; border-radius: 4px; color: var(--text-muted); background: transparent; font-size: 11.5px; font-weight: 650; }.segmented button.on { color: var(--text); background: var(--surface); box-shadow: 0 1px 3px rgba(31, 42, 53, .12); }.form-error { margin: 0; padding: 8px 9px; border: 1px solid #edc1c5; border-radius: 4px; color: var(--red); background: var(--red-bg); font-size: 11px; }
.toast { position: fixed; z-index: 120; left: 50%; bottom: 26px; transform: translateX(-50%); padding: 9px 14px; border: 1px solid #9ebba9; border-radius: 5px; color: #154d2a; background: #f1faf4; box-shadow: var(--shadow); font-size: 12px; }.toast.bad { border-color: #dca9ad; color: var(--red); background: var(--red-bg); }
.empty-state { display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 170px; padding: 30px; color: var(--text-muted); text-align: center; }.empty-state b { color: var(--text); }.empty-state.compact { min-height: 120px; border: 1px dashed var(--border); border-radius: 6px; }.page-empty { min-height: calc(100vh - 58px); }.fatal { max-width: 620px; margin: 90px auto; padding: 30px; border: 1px solid var(--border); background: var(--surface); }.loading-page { display: flex; align-items: center; justify-content: center; gap: 10px; min-height: 55vh; color: var(--text-muted); }.loading-page i { width: 16px; height: 16px; border: 2px solid var(--border); border-top-color: var(--blue); border-radius: 50%; animation: spin .7s linear infinite; }
@keyframes spin { to { transform: rotate(360deg); } } @keyframes pulse { 50% { opacity: .35; } }

html[data-theme="dark"] {
  --canvas: #11171d; --surface: #182029; --surface-muted: #202a34; --surface-blue: #162b40;
  --text: #e2e8ee; --text-muted: #9aa8b6; --text-faint: #718090;
  --border: #303b46; --border-strong: #465463; --blue: #5b9fea; --blue-dark: #73aef0;
  --red: #f0787f; --red-bg: #351d23; --orange: #e5ad53; --orange-bg: #352919;
  --green: #68c98e; --green-bg: #183126; --info: #8db8ee; --info-bg: #192d45;
  --shadow: 0 12px 34px rgba(0, 0, 0, .34); color-scheme: dark;
}
html[data-theme="dark"] .site-header { background: #0e141a; border-bottom-color: #29323c; }
html[data-theme="dark"] .filter-sidebar { background: #151c24; }
html[data-theme="dark"] .filter-group button:hover { color: var(--text); background: #202a34; }
html[data-theme="dark"] .filter-check:hover { color: var(--text); background: #202a34; }
html[data-theme="dark"] .filter-group button.on { color: #b7d7fb; background: #1b344e; }
html[data-theme="dark"] .filter-group button.tone-chip:hover,
html[data-theme="dark"] .filter-group button.tone-chip.on { color: var(--tone); background: var(--tone-bg); }
html[data-theme="dark"] .list-meta,
html[data-theme="dark"] .asset-table-head,
html[data-theme="dark"] .panel-heading,
html[data-theme="dark"] .detail-tabs,
html[data-theme="dark"] .compose-card { background: #151c24; }
html[data-theme="dark"] .asset-row { border-bottom-color: #28323c; }
html[data-theme="dark"] .asset-row:hover { background: #1a2733; }
html[data-theme="dark"] .asset-table-head span + span,
html[data-theme="dark"] .asset-cell + .asset-cell { border-left-color: #28323c; }
html[data-theme="dark"] .thumb,
html[data-theme="dark"] .proposal-preview { border-color: #3a4652; background: #222c36; box-shadow: inset 0 0 0 4px #1d2630; }
html[data-theme="dark"] .badge.neutral,
html[data-theme="dark"] .badge.muted { border-color: #46515d; color: #a9b5c1; background: #252f39; }
html[data-theme="dark"] .badge.critical { border-color: #6a343b; }
html[data-theme="dark"] .badge.warning { border-color: #68522c; }
html[data-theme="dark"] .badge.success { border-color: #315d43; }
html[data-theme="dark"] .badge.info { border-color: #365477; }
html[data-theme="dark"] .tag-blue { color: #84b8f4 !important; background: #1b3048 !important; }
html[data-theme="dark"] .tag-brown { color: #d2a36f !important; background: #34281d !important; }
html[data-theme="dark"] .tag-purple { color: #bf9ee6 !important; background: #302541 !important; }
html[data-theme="dark"] .tag-cyan { color: #68c6d2 !important; background: #17343a !important; }
html[data-theme="dark"] .tag-pink { color: #df8db5 !important; background: #3a2130 !important; }
html[data-theme="dark"] .tag-violet { color: #aaa0f0 !important; background: #292642 !important; }
html[data-theme="dark"] .tag-orange { color: #e9a56f !important; background: #3b281d !important; }
html[data-theme="dark"] .tag-yellow { color: #d9c56c !important; background: #38331e !important; }
html[data-theme="dark"] .tag-indigo { color: #95acf0 !important; background: #222d4a !important; }
html[data-theme="dark"] .tag-red { color: #e98b91 !important; background: #3b2228 !important; }
html[data-theme="dark"] .tag-green { color: #80cda0 !important; background: #1d3528 !important; }
html[data-theme="dark"] .tag-slate { color: #a4b1bd !important; background: #252f38 !important; }
html[data-theme="dark"] .review-grid { background: var(--surface); }
html[data-theme="dark"] .continue-review { border-color: #335b83; color: #a9cff8; background: #162a3d; }html[data-theme="dark"] .continue-review:hover { border-color: #4779aa; background: #1a3248; }html[data-theme="dark"] .continue-review small { color: #83a3c3; }
html[data-theme="dark"] .evidence-panel,
html[data-theme="dark"] .triage-panel { background: #151c24; }
html[data-theme="dark"] .evidence-item:hover { background: #202a34; }
html[data-theme="dark"] .evidence-item.on { border-color: #3f6f9e; background: #172e45; }
html[data-theme="dark"] .comparison-panel { background: #0f151b; }
html[data-theme="dark"] .pane { border-color: #394551; }
html[data-theme="dark"] .stage { background-color: #252e37; box-shadow: inset 0 0 0 6px #202831; }
html[data-theme="dark"] .zoom button,
html[data-theme="dark"] .toggles button,
html[data-theme="dark"] .animation-switch button { background: #182029; }
html[data-theme="dark"] .zoom button.on,
html[data-theme="dark"] .toggles button.on,
html[data-theme="dark"] .animation-switch button.on { border-color: #4779aa; color: #a9cff8; background: #192f45; }
html[data-theme="dark"] .sound-gate { border-color: #745d32; color: #e4c98f; background: #282318; }html[data-theme="dark"] .sound-gate button { border-color: #806b43; color: #e4c98f; background: #1b1d1e; }html[data-theme="dark"] .sound-gate button.on { border-color: #417a57; color: #8cd0a5; background: #192a20; }
html[data-theme="dark"] .maintainer-box { background: #182029; }
html[data-theme="dark"] .sign-in-callout { border-color: #385b7e; background: #172b3e; }
html[data-theme="dark"] .comment { border-bottom-color: #28323b; }
html[data-theme="dark"] .comment .avatar,
html[data-theme="dark"] .mini-avatar { color: #b7d2ee; background: #2a4055; }
html[data-theme="dark"] .claim-card,
html[data-theme="dark"] .proposal-card,
html[data-theme="dark"] .usage-summary div { background: #161e26; }
html[data-theme="dark"] .reference-list > div,
html[data-theme="dark"] .reference-row { border-bottom-color: #28323b; }
html[data-theme="dark"] .upload-drop { background: #161e26; }
html[data-theme="dark"] .timeline-dot { border-color: var(--canvas); }
html[data-theme="dark"] .modal-layer { background: rgba(3, 7, 11, .78); }
html[data-theme="dark"] .segmented button.on { background: #29343f; }

@media (max-width: 1220px) {
  .review-grid { grid-template-columns: 230px minmax(440px, 1fr); }.triage-panel { grid-column: 1 / -1; min-height: auto; border-top: 1px solid var(--border); border-left: 0; }.triage-panel .vote-list { display: grid; grid-template-columns: repeat(5, 1fr); }.triage-panel .voter-list { display: none; }.maintainer-box { max-width: 500px; }.asset-table-head, .asset-row { grid-template-columns: minmax(300px, 1.4fr) minmax(160px, .75fr) minmax(150px, .7fr) minmax(130px, .6fr); }
}
@media (max-width: 930px) {
  .repo-name { display: none; }.primary-nav { margin-left: 18px; }.workspace { grid-template-columns: 1fr; }.filter-sidebar { display: none; }.asset-list-pane { padding: 24px 16px 70px; }.pool-header { align-items: flex-start; }.progress-card { width: 210px; }.asset-table-head { display: none; }.asset-row { grid-template-columns: minmax(280px, 1fr) 160px 145px; }.community-cell { display: none; }.review-grid { grid-template-columns: 1fr; }.evidence-panel { min-height: auto; border-right: 0; border-bottom: 1px solid var(--border); }.evidence-panel #evidence-list { display: flex; overflow-x: auto; }.evidence-item { min-width: 220px; }.comparison-panel { min-width: 0; }.triage-panel .vote-list { grid-template-columns: repeat(2, 1fr); }.detail-layout { grid-template-columns: 1fr; }.compose-card { border-top: 1px solid var(--border); border-left: 0; }.review-header dl { display: none; }
}
@media (max-width: 680px) {
  .site-header { padding: 0 12px; }.wordmark > span:last-child, .account-button small, .account-button > span:not(.avatar) { display: none; }.primary-nav { margin-left: 8px; }.primary-nav a { padding: 0 8px; font-size: 11px; }.header-actions { gap: 5px; }.scan-state { display: none; }.account-button { min-width: 34px; padding: 5px; justify-content: center; }.pool-header { flex-direction: column; gap: 15px; }.progress-card { width: 100%; }.list-toolbar { flex-wrap: wrap; }.compact-select { padding-left: 0; }.compact-select { width: 100%; }.compact-select select { flex: 1; }.asset-row { grid-template-columns: minmax(0, 1fr) 126px; }.decision-cell { display: none; }.asset-cell { padding: 0 9px; }.asset-identity { gap: 9px; }.thumb { width: 46px; height: 46px; }.thumb img.pixel { width: 38px; height: 38px; }.review-page { padding: 0 10px 60px; }.review-topbar { align-items: flex-start; padding: 9px 0; gap: 10px; }.breadcrumbs span { display: none; }.breadcrumbs b { max-width: 190px; }.review-header { padding: 17px 0; }.review-header h1 { font-size: 17px; }.review-title-line { align-items: flex-start; flex-direction: column; }.panes { grid-template-columns: 1fr; }.stage { height: 40vh; min-height: 260px; }.comparison-panel { padding: 7px; }.triage-panel .vote-list { grid-template-columns: 1fr; }.detail-tabs { overflow-x: auto; padding: 0 5px; }.detail-tabs button { flex: none; padding: 0 8px; }.detail-main, .compose-card, .usage-section { padding: 15px; }.comment.reply { margin-left: 20px; }.usage-summary { grid-template-columns: 1fr; }.guide-grid { grid-template-columns: 1fr; }.guide-grid nav { position: static; }.guide-table div { grid-template-columns: 1fr; gap: 7px; }
  .continue-review { align-items: flex-start; }.continue-review small { display: none; }.continue-counts { margin-top: 2px; }.tools, .tool-cluster { align-items: flex-start; flex-direction: column; }.tool-cluster { width: 100%; }.animation-switch { justify-content: space-between; width: 100%; }.sound-gate { align-items: flex-start; }.sound-gate > div span { display: none; }
}
