:root {
  color-scheme: light;
  --bg: #f7f8fd;
  --page-bg: #f7f8fd;
  --surface: rgba(255,255,255,.86);
  --surface-solid: #fff;
  --ink: #171821;
  --muted: #737784;
  --soft: #a0a4b2;
  --line: rgba(29,33,55,.12);
  --line-strong: rgba(29,33,55,.2);
  --accent: #5767ee;
  --accent-2: #8b63e9;
  --accent-ink: #fff;
  --reset-ink: #30374b;
  --reset-start: color-mix(in srgb,var(--accent) 58%,var(--surface-solid));
  --reset-end: color-mix(in srgb,var(--accent-2) 52%,var(--surface-solid));
  --criteria-text: #414653;
  --aqua: #19a8b7;
  --green: #16845f;
  --green-bg: #dff5ea;
  --amber: #9b6910;
  --amber-bg: #fff0cc;
  --red: #b34251;
  --red-bg: #ffe6ea;
  --shadow: 0 18px 55px rgba(32,38,82,.08);
  --radius: 24px;
}

[data-theme="dark"] {
  color-scheme: dark;
  --bg: #0d0f18;
  --page-bg: #0d0f18;
  --surface: rgba(19,21,33,.88);
  --surface-solid: #141722;
  --ink: #f2f3fa;
  --muted: #a7abba;
  --soft: #737887;
  --line: rgba(210,216,255,.12);
  --line-strong: rgba(210,216,255,.21);
  --accent: #7985ff;
  --accent-2: #aa7cff;
  --accent-ink: #fff;
  --reset-ink: #f1f2f8;
  --reset-start: color-mix(in srgb,var(--accent) 30%,var(--surface-solid));
  --reset-end: color-mix(in srgb,var(--accent-2) 26%,var(--surface-solid));
  --criteria-text: #c5c8d4;
  --aqua: #65d7d1;
  --green: #78dbb7;
  --green-bg: rgba(27,126,91,.22);
  --amber: #efc36e;
  --amber-bg: rgba(155,105,16,.22);
  --red: #ff8d9b;
  --red-bg: rgba(178,66,81,.22);
  --shadow: 0 22px 70px rgba(0,0,0,.3);
}

[data-theme="mineral"] {
  color-scheme: light;
  --bg: #f3f8f4;
  --page-bg: linear-gradient(145deg,#fbf7f1 0%,#edf7f3 54%,#f9eee6 100%);
  --surface: rgba(255,255,255,.87);
  --surface-solid: #fffdf9;
  --ink: #102c2a;
  --muted: #4a625f;
  --soft: #7e918d;
  --line: rgba(16,67,61,.13);
  --line-strong: rgba(16,67,61,.23);
  --accent: #176f68;
  --accent-2: #a55f3d;
  --accent-ink: #fff;
  --reset-ink: #203c37;
  --reset-start: color-mix(in srgb,var(--accent) 55%,var(--surface-solid));
  --reset-end: color-mix(in srgb,var(--accent-2) 48%,var(--surface-solid));
  --criteria-text: #304744;
  --aqua: #348f88;
  --green: #176b52;
  --green-bg: #dcefe7;
  --amber: #8b5d16;
  --amber-bg: #f8e8ca;
  --red: #a8484d;
  --red-bg: #f9e1e1;
  --shadow: 0 18px 55px rgba(28,74,67,.11);
}

[data-theme="polar"] {
  color-scheme: light;
  --bg: #f1f7f8;
  --page-bg: linear-gradient(145deg,#f9fbfb 0%,#eaf5f7 53%,#faeeeb 100%);
  --surface: rgba(255,255,255,.88);
  --surface-solid: #ffffff;
  --ink: #102e37;
  --muted: #49636b;
  --soft: #82959b;
  --line: rgba(21,77,91,.13);
  --line-strong: rgba(21,77,91,.23);
  --accent: #2c7080;
  --accent-2: #a95c53;
  --accent-ink: #fff;
  --reset-ink: #233f47;
  --reset-start: color-mix(in srgb,var(--accent) 54%,var(--surface-solid));
  --reset-end: color-mix(in srgb,var(--accent-2) 47%,var(--surface-solid));
  --criteria-text: #314d55;
  --aqua: #398f9b;
  --green: #236b58;
  --green-bg: #dceee9;
  --amber: #8d611a;
  --amber-bg: #f9e9cb;
  --red: #a84952;
  --red-bg: #f9e1e4;
  --shadow: 0 18px 55px rgba(26,72,84,.11);
}

[data-theme="vivid"] {
  color-scheme: light;
  --bg: #f8f1f8;
  --page-bg: radial-gradient(circle at 8% 4%,rgba(207,247,150,.68),transparent 28%),radial-gradient(circle at 94% 8%,rgba(236,170,247,.58),transparent 31%),radial-gradient(circle at 76% 88%,rgba(232,97,43,.16),transparent 34%),linear-gradient(145deg,#fbf6fb 0%,#f2e9fa 47%,#f8f5eb 100%);
  --surface: rgba(255,252,255,.88);
  --surface-solid: #fffafd;
  --ink: #201820;
  --muted: #665766;
  --soft: #968697;
  --line: rgba(78,45,80,.14);
  --line-strong: rgba(78,45,80,.25);
  --accent: #df5c2c;
  --accent-2: #987edf;
  --accent-ink: #fff;
  --reset-ink: #241924;
  --reset-start: #d2f494;
  --reset-end: #e8a4ef;
  --criteria-text: #4f3f50;
  --aqua: #a28be7;
  --green: #627f1f;
  --green-bg: #e6f7c5;
  --amber: #a74f20;
  --amber-bg: #fde0cf;
  --red: #bd3e6d;
  --red-bg: #f8d7e4;
  --shadow: 0 20px 58px rgba(94,56,98,.14);
}

[data-theme="mineral-dark"] {
  color-scheme: dark;
  --bg: #192925;
  --page-bg: radial-gradient(circle at 10% 7%,rgba(91,183,157,.2),transparent 31%),radial-gradient(circle at 90% 13%,rgba(220,139,83,.2),transparent 34%),radial-gradient(circle at 58% 82%,rgba(49,117,99,.16),transparent 40%),linear-gradient(145deg,#182825 0%,#1d342e 54%,#3a2821 100%);
  --surface: rgba(24,43,39,.88);
  --surface-solid: #20332f;
  --ink: #f5f5ef;
  --muted: #b2c1bd;
  --soft: #798d88;
  --line: rgba(213,239,231,.15);
  --line-strong: rgba(213,239,231,.26);
  --accent: #68c8b6;
  --accent-2: #e09a69;
  --accent-ink: #102c2a;
  --reset-ink: #f2f4ef;
  --reset-start: color-mix(in srgb,var(--accent) 29%,var(--surface-solid));
  --reset-end: color-mix(in srgb,var(--accent-2) 25%,var(--surface-solid));
  --criteria-text: #cad6d2;
  --aqua: #7bd3c8;
  --green: #83dfba;
  --green-bg: rgba(42,132,99,.24);
  --amber: #efc583;
  --amber-bg: rgba(151,100,29,.25);
  --red: #ff9b9d;
  --red-bg: rgba(168,72,77,.25);
  --shadow: 0 22px 70px rgba(0,0,0,.34);
}

[data-theme="polar-dark"] {
  color-scheme: dark;
  --bg: #172630;
  --page-bg: radial-gradient(circle at 11% 7%,rgba(76,172,194,.22),transparent 31%),radial-gradient(circle at 89% 14%,rgba(223,123,125,.2),transparent 34%),radial-gradient(circle at 58% 82%,rgba(47,124,146,.17),transparent 40%),linear-gradient(145deg,#162630 0%,#193640 54%,#3a2730 100%);
  --surface: rgba(22,39,49,.88);
  --surface-solid: #1d303a;
  --ink: #f3f7f8;
  --muted: #afbec3;
  --soft: #788e96;
  --line: rgba(210,236,243,.15);
  --line-strong: rgba(210,236,243,.26);
  --accent: #79c7d3;
  --accent-2: #e58f84;
  --accent-ink: #102e37;
  --reset-ink: #f1f5f6;
  --reset-start: color-mix(in srgb,var(--accent) 29%,var(--surface-solid));
  --reset-end: color-mix(in srgb,var(--accent-2) 25%,var(--surface-solid));
  --criteria-text: #c8d5d9;
  --aqua: #83d7df;
  --green: #82d7bb;
  --green-bg: rgba(38,126,101,.25);
  --amber: #f0c17b;
  --amber-bg: rgba(146,96,26,.25);
  --red: #ff9ca6;
  --red-bg: rgba(166,68,81,.25);
  --shadow: 0 22px 70px rgba(0,0,0,.35);
}

[data-theme="holiday"] {
  color-scheme: light;
  --bg: #fffaf0;
  --page-bg: radial-gradient(circle at 18% 8%,rgba(248,218,105,.28),transparent 31%),radial-gradient(circle at 84% 14%,rgba(230,143,120,.18),transparent 34%),radial-gradient(circle at 52% 76%,rgba(248,218,105,.13),transparent 38%),linear-gradient(145deg,#fffdf8 0%,#fff8e7 50%,#fff5f1 100%);
  --surface: rgba(255,255,255,.88);
  --surface-solid: #fffdf9;
  --ink: #302e30;
  --muted: #6f666c;
  --soft: #9b9196;
  --line: rgba(91,33,75,.12);
  --line-strong: rgba(91,33,75,.21);
  --accent: #5b214b;
  --accent-2: #a86808;
  --accent-ink: #fff;
  --reset-ink: #3d2836;
  --reset-start: color-mix(in srgb,var(--accent) 51%,var(--surface-solid));
  --reset-end: color-mix(in srgb,var(--accent-2) 45%,var(--surface-solid));
  --criteria-text: #55484f;
  --aqua: #b2150a;
  --green: #527b58;
  --green-bg: #e7f1df;
  --amber: #8e6008;
  --amber-bg: #fff1bd;
  --red: #a42d27;
  --red-bg: #fbe2dc;
  --shadow: 0 18px 58px rgba(91,33,75,.10);
}

* { box-sizing: border-box; }
html { min-height: 100%; scroll-behavior: smooth; background: var(--bg); }
body { min-height: 100%; margin: 0; background: var(--page-bg); background-attachment: fixed; color: var(--ink); font: 15px/1.5 Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; transition: background .28s ease, color .28s ease; }
button, select { font: inherit; }
button, .chip, select { -webkit-tap-highlight-color: transparent; }
button:focus-visible, select:focus-visible, .card-button:focus-visible { outline: 3px solid color-mix(in srgb,var(--accent) 38%,transparent); outline-offset: 3px; }

.topbar { position: relative; z-index: 5; min-height: 72px; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; padding: 0 clamp(24px,5vw,76px); border-bottom: 1px solid var(--line); background: color-mix(in srgb,var(--bg) 84%,transparent); backdrop-filter: blur(18px); }
.brand { color: var(--ink); text-decoration: none; font: 800 14px/1 ui-monospace, SFMono-Regular, Menlo, monospace; letter-spacing: .08em; }
.brand b { color: var(--accent); margin-left: 6px; }
.header-center { display: flex; align-items: center; gap: 22px; }
.topbar > .header-center { justify-self:center; }
.site-nav { display: flex; align-items: center; gap: 4px; padding: 3px; border: 1px solid var(--line); border-radius: 999px; background: var(--surface); }
.site-nav a { padding: 6px 11px; border-radius: 999px; color: var(--muted); text-decoration: none; font-size: 12px; font-weight: 750; }
.site-nav a:hover { color: var(--ink); }
.site-nav a.active { color: var(--accent-ink); background: linear-gradient(125deg,var(--accent),var(--accent-2)); }
.method-note { display: flex; align-items: center; gap: 7px; color: var(--muted); font-size: 13px; }
.topbar > .method-note { justify-self:end; }
.header-tools { justify-self:end; display:flex; align-items:center; gap:14px; }
.palette-switch { display:flex; align-items:center; gap:3px; padding:3px; border:1px solid var(--line); border-radius:999px; background:color-mix(in srgb,var(--surface-solid) 82%,transparent); box-shadow:0 5px 18px color-mix(in srgb,var(--ink) 6%,transparent); }
.palette-switch button { min-height:29px; padding:0 10px; border:0; border-radius:999px; background:transparent; color:var(--muted); font-size:11px; font-weight:800; cursor:pointer; transition:color .2s ease,background .2s ease,box-shadow .2s ease; }
.palette-switch button:hover { color:var(--ink); }
.palette-switch button.active { color:var(--accent-ink); background:linear-gradient(125deg,var(--accent),var(--accent-2)); box-shadow:0 5px 14px color-mix(in srgb,var(--accent) 22%,transparent); }
[data-theme="vivid"] .palette-switch button.active { color:#211721; background:linear-gradient(125deg,#cdf592,#e7a2ef); }
.method-note b { color: var(--ink); }
.method-note small { margin-left: 4px; font-size: inherit; }
.method-mark { color: var(--accent-2); }
.theme-switch { justify-self: end; display: flex; align-items: center; padding: 3px; border: 1px solid var(--line); border-radius: 100px; background: var(--surface); box-shadow: 0 5px 18px color-mix(in srgb,var(--ink) 6%,transparent); }
.theme-switch button { min-height: 30px; padding: 0 8px; border: 0; border-radius: 100px; background: transparent; color: var(--muted); font-size: 11px; font-weight: 750; cursor: pointer; transition: color .18s ease,background .18s ease,box-shadow .18s ease; }
.theme-switch button:hover { color: var(--ink); }
.theme-switch button.active { overflow: hidden; color: var(--accent-ink); background-image: linear-gradient(125deg,var(--accent),var(--accent-2)); background-repeat: no-repeat; background-origin: border-box; background-clip: border-box; box-shadow: 0 5px 14px color-mix(in srgb,var(--accent) 22%,transparent); }

[data-theme="holiday"] .theme-switch button.active,
[data-theme="holiday"] .chip.selected {
  background-image: linear-gradient(125deg,#5b214b 0%,#b2150a 55%,#9b6208 100%);
}

.insights-preview { width: min(1710px,calc(100% - 48px)); margin: 52px auto 64px; padding-top: 34px; border-top: 1px solid var(--line); }
.insights-preview-heading { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 20px; }
.insights-preview-heading h2 { margin: 4px 0 0; font-size: clamp(26px,3vw,40px); letter-spacing: -.035em; }
.insights-preview-heading > a { color: var(--accent); text-decoration: none; font-weight: 800; }
.insights-preview-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; }
.insight-preview-card { min-height: 210px; padding: 24px; border: 1px solid var(--line); border-radius: 22px; background: var(--surface); color: var(--ink); text-decoration: none; box-shadow: var(--shadow); transition: transform .2s ease,border-color .2s ease; }
.insight-preview-card:hover { transform: translateY(-3px); border-color: var(--line-strong); }
.insight-preview-card span { color: var(--accent); font: 800 11px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace; letter-spacing: .08em; text-transform: uppercase; }
.insight-preview-card h3 { margin: 18px 0 10px; font-size: 21px; line-height: 1.16; letter-spacing: -.025em; }
.insight-preview-card p { margin: 0; color: var(--muted); font-size: 15px; }

@media (max-width: 1100px) {
  .topbar { grid-template-columns:1fr auto auto; }
  .header-tools .method-note { display:none; }
  .insights-preview-grid { grid-template-columns: 1fr; }
  .insight-preview-card { min-height: 0; }
}

@media (max-width: 720px) {
  .topbar { grid-template-columns:1fr auto auto; gap:12px; }
  .header-center { justify-self: end; }
  .theme-switch { display: none; }
  .site-nav a { padding: 6px 9px; }
  .insights-preview { width: min(100% - 28px,1710px); margin-top: 38px; }
  .insights-preview-heading { align-items: flex-start; flex-direction: column; }
}

:is([data-theme="mineral-dark"],[data-theme="polar-dark"]) .selector,
:is([data-theme="mineral-dark"],[data-theme="polar-dark"]) .result-card,
:is([data-theme="mineral-dark"],[data-theme="polar-dark"]) .assessment-group,
:is([data-theme="mineral-dark"],[data-theme="polar-dark"]) .evidence-box,
:is([data-theme="mineral-dark"],[data-theme="polar-dark"]) .detail-tile {
  background: linear-gradient(145deg,color-mix(in srgb,var(--surface-solid) 92%,var(--accent) 8%),color-mix(in srgb,var(--surface-solid) 94%,var(--accent-2) 6%));
}

:is([data-theme="mineral-dark"],[data-theme="polar-dark"]) .select-menu,
:is([data-theme="mineral-dark"],[data-theme="polar-dark"]) .product-dialog {
  background: linear-gradient(150deg,color-mix(in srgb,var(--surface-solid) 94%,var(--accent) 6%),color-mix(in srgb,var(--surface-solid) 96%,var(--accent-2) 4%));
}

main { width: min(1440px,calc(100% - 40px)); margin: 0 auto; }
.intro { min-height: 340px; display: grid; grid-template-columns: minmax(0,.9fr) minmax(420px,1.1fr); align-items: center; gap: 50px; position: relative; }
.intro-copy { padding: 48px 0 36px; position: relative; z-index: 2; }
.eyebrow, .section-kicker { margin: 0 0 12px; color: var(--accent); font: 800 11px/1.2 ui-monospace, SFMono-Regular, Menlo, monospace; letter-spacing: .12em; text-transform: uppercase; }
.intro h1 { margin: 0; max-width: 720px; font-size: clamp(42px,5.1vw,74px); line-height: .99; letter-spacing: -.055em; }
[data-theme="holiday"] .intro h1 {
  color: transparent;
  overflow: visible;
  padding: .035em .035em .12em 0;
  margin-bottom: -.12em;
  line-height: 1.045;
  background-image: linear-gradient(96deg,#5b214b 0%,#b2150a 20%,#ce8208 42%,#8f2547 64%,#b2150a 82%,#ce8208 100%);
  background-size: 245% 100%;
  background-position: 0% 50%;
  -webkit-background-clip: text;
  background-clip: text;
  animation: holiday-title-gradient 7.5s ease-in-out infinite alternate;
}
.intro-copy > p:last-child { max-width: 650px; margin: 22px 0 0; color: var(--muted); font-size: 17px; }
.selector { position: relative; z-index: 2; padding: 28px 30px 26px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); box-shadow: var(--shadow); backdrop-filter: blur(20px); }
.selector-heading, .results-heading { display: flex; justify-content: space-between; align-items: end; gap: 24px; }
.selector-heading h2, .results-heading h2 { margin: 0; font-size: clamp(24px,3vw,34px); line-height: 1.1; letter-spacing: -.035em; }
.text-button { border: 0; background: transparent; color: var(--accent); font-weight: 750; cursor: pointer; padding: 8px 0; }
.criteria-group { margin: 24px 0 0; padding: 22px 0 0; border: 0; border-top: 1px solid var(--line); }
.criteria-group legend { width: 100%; display: grid; grid-template-columns: 34px auto 1fr auto; align-items: baseline; gap: 8px; padding: 0; }
.criteria-group legend > span { color: var(--accent); font: 800 11px/1 ui-monospace, SFMono-Regular, Menlo, monospace; }
.criteria-group legend b { font-size: 14px; }
.criteria-group legend small { color: var(--muted); font-size: 13px; }
.criteria-group legend em { color: var(--accent); font: 750 11px/1.2 ui-monospace, SFMono-Regular, Menlo, monospace; font-style: normal; white-space: nowrap; }
.chip-list { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 16px; }
.chip { position: relative; min-height: 40px; display: inline-flex; align-items: center; gap: 8px; padding: 8px 14px; border: 1px solid var(--line-strong); border-radius: 100px; background: color-mix(in srgb,var(--surface-solid) 82%,transparent); color: var(--muted); cursor: pointer; transition: transform .16s ease, border-color .18s ease, background .18s ease, color .18s ease; }
.chip:hover { transform: translateY(-1px); border-color: color-mix(in srgb,var(--accent) 48%,var(--line)); color: var(--ink); }
.chip.selected { overflow: hidden; border-color: transparent; color: var(--accent-ink); background-image: linear-gradient(125deg,var(--accent),var(--accent-2)); background-repeat: no-repeat; background-origin: border-box; background-clip: border-box; box-shadow: 0 8px 22px color-mix(in srgb,var(--accent) 20%,transparent); }
.chip.selected::before { content: "✓"; font-size: 11px; font-weight: 900; }
.context-group { margin-top: 24px; }
.environment-grid { display: grid; grid-template-columns: repeat(2,minmax(220px,1fr)); gap: 18px; padding: 17px 0 2px; }
.select-field, .sort-field { display: grid; align-content: start; gap: 7px; color: var(--muted); font-size: 12px; font-weight: 700; }
.custom-select { position: relative; min-width: 0; }
.select-trigger { width: 100%; min-height: 46px; display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 0 14px; border: 1px solid var(--line-strong); border-radius: 13px; background: linear-gradient(180deg,color-mix(in srgb,var(--surface-solid) 94%,var(--accent) 6%),var(--surface-solid)); color: var(--ink); text-align: left; cursor: pointer; transition: border-color .18s ease,box-shadow .18s ease,transform .18s ease; }
.select-trigger:hover { border-color: color-mix(in srgb,var(--accent) 42%,var(--line)); box-shadow: 0 8px 22px color-mix(in srgb,var(--accent) 8%,transparent); }
.select-trigger i { width: 8px; height: 8px; flex: 0 0 auto; border-right: 1.5px solid var(--muted); border-bottom: 1.5px solid var(--muted); transform: rotate(45deg) translateY(-2px); transition: transform .18s ease; }
.custom-select.open .select-trigger { border-color: color-mix(in srgb,var(--accent) 58%,var(--line)); box-shadow: 0 0 0 3px color-mix(in srgb,var(--accent) 12%,transparent); }
.custom-select.open .select-trigger i { transform: rotate(225deg) translate(-2px,-2px); }
.select-menu { position: absolute; z-index: 30; top: calc(100% + 8px); left: 0; right: 0; max-height: 280px; padding: 7px; overflow-y: auto; border: 1px solid var(--line); border-radius: 16px; background: color-mix(in srgb,var(--surface-solid) 96%,transparent); box-shadow: 0 20px 55px rgba(28,33,75,.18); backdrop-filter: blur(18px); }
.select-menu[hidden] { display: none; }
.select-option { width: 100%; min-height: 39px; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 8px 10px; border: 0; border-radius: 10px; background: transparent; color: var(--muted); text-align: left; cursor: pointer; }
.select-option:hover,.select-option:focus-visible { outline: 0; background: color-mix(in srgb,var(--accent) 9%,var(--surface-solid)); color: var(--ink); }
.select-option[aria-selected="true"] { background: linear-gradient(120deg,color-mix(in srgb,var(--accent) 15%,var(--surface-solid)),color-mix(in srgb,var(--accent-2) 9%,var(--surface-solid))); color: var(--accent); font-weight: 800; }
.select-option[aria-selected="true"]::after { content: "✓"; font-weight: 900; }
.results { padding: 46px 0 72px; }
.results-heading { align-items: end; }
.results-heading p[data-result-summary] { margin: 10px 0 0; color: var(--muted); }
.result-controls { flex: 0 0 auto; display: grid; grid-template-columns: minmax(330px,390px) 160px; align-items: start; gap: 12px; }
.sort-field { min-width: 160px; }
.scope-field { display: grid; gap: 7px; color: var(--muted); font-size: 12px; font-weight: 700; }
.scope-switch { width: 100%; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); overflow: hidden; min-height: 44px; border: 1px solid var(--line-strong); border-radius: 12px; background: var(--surface-solid); }
.scope-switch button { min-width: 0; padding: 0 13px; border: 0; border-left: 1px solid var(--line); background: transparent; color: var(--muted); font-weight: 720; white-space: nowrap; cursor: pointer; }
.scope-switch button:first-child { border-left: 0; }
.scope-switch button.active { color: var(--accent-ink); background: linear-gradient(125deg,var(--accent),var(--accent-2)); }
.result-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); align-items: stretch; gap: 16px; }
.result-card { min-width: 0; height: 100%; position: relative; border: 1px solid var(--line); border-radius: 21px; background: var(--surface); box-shadow: 0 12px 34px rgba(31,36,76,.05); overflow: hidden; transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease; }
.result-card::before { content: ""; position: absolute; inset: 0 auto 0 0; width: 3px; background: var(--vendor-colour,var(--accent)); }
.result-card:hover { transform: translateY(-3px); border-color: color-mix(in srgb,var(--accent) 32%,var(--line)); box-shadow: var(--shadow); }
.card-button { width: 100%; height: 100%; min-height: 354px; display: grid; grid-template-rows: minmax(64px,auto) 29px 30px 54px minmax(78px,1fr) 7px 42px; text-align: left; padding: 20px 20px 0 23px; border: 0; background: transparent; color: inherit; cursor: pointer; }
.card-head { display: grid; grid-template-columns: 54px minmax(0,1fr) auto; gap: 13px; align-items: start; }
.logo-mark { width: 54px; height: 48px; display: grid; place-items: center; color: var(--vendor-colour,var(--accent)); }
.logo-mark > img { display: block; width: 42px; height: 42px; object-fit: contain; filter: none; }
.logo-mark.logo-official > img { width: 50px; max-height: 30px; }
.logo-mark.logo-relyance-ai { width: 70px; justify-content: start; }
.logo-mark.logo-relyance-ai > img { display: none; width: 68px; height: auto; }
.logo-mark.logo-collibra > img { width: 36px; height: 36px; }
.logo-mark.logo-servicenow > img { filter: brightness(0) opacity(.82); }
:is([data-theme="dark"],[data-theme="mineral-dark"],[data-theme="polar-dark"]) .logo-mark.logo-dark > img { filter: brightness(0) invert(1); opacity: .94; }
:is([data-theme="dark"],[data-theme="mineral-dark"],[data-theme="polar-dark"]) .logo-mark.logo-servicenow > img { filter: none; }
:is([data-theme="dark"],[data-theme="mineral-dark"],[data-theme="polar-dark"]) .logo-mark.logo-onetrust > img { filter: brightness(0) invert(1); }
:is([data-theme="dark"],[data-theme="mineral-dark"],[data-theme="polar-dark"]) .logo-mark.logo-relyance-ai > img { display: block; }
:is([data-theme="dark"],[data-theme="mineral-dark"],[data-theme="polar-dark"]) .logo-mark.logo-relyance-ai .relyance-wordmark { display: none; }
:is([data-theme="dark"],[data-theme="mineral-dark"],[data-theme="polar-dark"]) .logo-mark.logo-relyance-ai.logo-image-failed .relyance-wordmark { display: flex; color: var(--ink); }
.brand-fallback { display: grid; place-items: center; width: 54px; min-height: 42px; }
.brand-fallback[hidden] { display: none; }
.brand-wordmark { display: block; max-width: 54px; color: var(--vendor-colour,var(--ink)); font-size: 10px; font-weight: 860; line-height: 1; letter-spacing: -.035em; text-align: center; }
.mark-microsoft { width: 26px; height: 26px; display: grid; grid-template-columns: 1fr 1fr; gap: 2px; }
.mark-microsoft i:nth-child(1) { background:#f35325; }.mark-microsoft i:nth-child(2){background:#81bc06}.mark-microsoft i:nth-child(3){background:#05a6f0}.mark-microsoft i:nth-child(4){background:#ffba08}
.mark-ibm { font: 900 19px/.8 Arial,sans-serif; letter-spacing: -.08em; color:#0f62fe; background:repeating-linear-gradient(to bottom,#0f62fe 0 2px,transparent 2px 4px); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }
.mark-sap { min-width:45px; padding:5px 5px 4px; color:white; background:linear-gradient(145deg,#31b7e9,#0a6ed1); clip-path:polygon(0 0,100% 0,76% 100%,0 100%); font-size:14px; font-style:italic; }
.relyance-wordmark { width:70px; display:flex; align-items:baseline; justify-content:flex-start; color:var(--ink); font-size:13px; font-weight:860; letter-spacing:-.05em; white-space:nowrap; }
.relyance-wordmark em { margin-left:2px; color:#3d68ff; font-style:normal; }
.card-titles { min-width: 0; }
.card-titles small { display: block; margin: 1px 0 3px; color: var(--muted); font: 750 10px/1.2 ui-monospace, SFMono-Regular, Menlo, monospace; letter-spacing: .09em; text-transform: uppercase; }
.card-titles h3 { margin: 0; font-size: 18px; line-height: 1.12; letter-spacing: -.025em; overflow-wrap: anywhere; }
.coverage-score { text-align: right; white-space: nowrap; }
.coverage-score b { display: block; font-size: 25px; line-height: 1; letter-spacing: -.045em; }
.coverage-score small { display:block; margin-top:4px; color: var(--muted); font-size: 9px; }
.status-row { min-height: 29px; display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 4px; }
.status { display: inline-flex; padding: 5px 9px; border-radius: 100px; font: 800 9px/1.2 ui-monospace, SFMono-Regular, Menlo, monospace; letter-spacing: .055em; text-transform: uppercase; }
.status.strong { color: var(--green); background: var(--green-bg); }
.status.conditional { color: var(--amber); background: var(--amber-bg); }
.status.verify { color: var(--red); background: var(--red-bg); }
.must-have { color: var(--muted); font-size: 11px; }
.criteria-breakdown { display: flex; align-items: center; gap: 5px; min-width: 0; overflow: hidden; }
.criteria-breakdown span { min-width: 0; padding: 4px 6px; border-radius: 7px; background: color-mix(in srgb,var(--surface-solid) 72%,transparent); border: 1px solid var(--line); color: var(--muted); font-size: 9px; white-space: nowrap; }
.criteria-breakdown .outcome { color: var(--accent); }.criteria-breakdown .context { color: var(--aqua); }.criteria-breakdown .priority { color: var(--amber); }
.card-summary { margin: 8px 0 12px; color: var(--muted); font-size: 13px; line-height: 1.45; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; }
.coverage-meter { height: 7px; align-self:center; border-radius:100px; background:color-mix(in srgb,var(--line) 82%,transparent); overflow:hidden; }
.coverage-meter span { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,var(--vendor-colour,var(--accent)),color-mix(in srgb,var(--vendor-colour,var(--accent)) 58%,var(--accent-2))); box-shadow:0 0 16px color-mix(in srgb,var(--vendor-colour,var(--accent)) 28%,transparent); }
.card-foot { display: flex; justify-content: space-between; align-items: center; border-top: 1px solid var(--line); color: var(--muted); font-size: 11px; }
.card-foot b,.card-foot a { color: var(--accent); font-size: 12px; font-weight:750; text-decoration:none; }
.card-foot a:hover { text-decoration:underline; text-underline-offset:3px; }
.show-more { display: block; min-height: 40px; margin: 9px auto 0; padding: 0 22px; border: 1px solid var(--line-strong); border-radius: 100px; background: var(--surface); color: var(--ink); font-weight: 750; cursor: pointer; }
.show-more[hidden] { display: none; }
.show-more:disabled { cursor: default; opacity: .55; }

.product-dialog { width: min(920px,calc(100vw - 30px)); max-height: min(900px,calc(100vh - 30px)); padding: 0; border: 1px solid var(--line); border-radius: 26px; background: color-mix(in srgb,var(--surface-solid) 96%,transparent); color: var(--ink); box-shadow: 0 36px 120px rgba(4,6,18,.35); overflow: hidden; }
.product-dialog::backdrop { background: rgba(7,9,20,.58); backdrop-filter: blur(10px); }
.dialog-close { position: absolute; z-index: 4; top: 16px; right: 18px; width: 36px; height: 36px; border: 1px solid var(--line); border-radius: 50%; background: var(--surface-solid); color: var(--muted); font-size: 22px; cursor: pointer; }
[data-dialog-content] { max-height: min(900px,calc(100vh - 30px)); overflow-y: auto; overflow-x: hidden; scrollbar-gutter: stable; overscroll-behavior: contain; }
[data-dialog-content]::-webkit-scrollbar { width: 10px; }
[data-dialog-content]::-webkit-scrollbar-track { background: transparent; margin-block: 18px; }
[data-dialog-content]::-webkit-scrollbar-thumb { background: color-mix(in srgb,var(--muted) 34%,transparent); border: 3px solid transparent; border-radius: 100px; background-clip: padding-box; }
.dialog-content { padding: 34px 42px 34px 34px; }
.dialog-heading { display: grid; grid-template-columns: 64px minmax(0,1fr) auto; align-items: center; gap: 16px; padding-right: 50px; }
.dialog-heading h2 { margin: 2px 0 0; font-size: 31px; line-height: 1.05; letter-spacing: -.04em; }
.dialog-heading p { margin: 0; color: var(--muted); font: 750 10px/1.2 ui-monospace, SFMono-Regular, Menlo, monospace; letter-spacing: .08em; text-transform: uppercase; }
.dialog-score { text-align: right; min-width:120px; }
.dialog-score b { display: block; font-size: 29px; line-height: 1; }
.dialog-score span { color: var(--muted); font-size: 11px; }
.dialog-tags { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 22px 0; padding: 15px 0; border-block: 1px solid var(--line); }
.dialog-tags > span { padding: 6px 10px; border: 1px solid var(--line); border-radius: 100px; color: var(--muted); font-size: 11px; }
.official-link { margin-left: auto; display: inline-flex; align-items: center; gap: 8px; color: var(--accent-ink); background: linear-gradient(125deg,var(--accent),var(--accent-2)); padding: 8px 12px; border-radius: 100px; text-decoration: none; font-size: 12px; font-weight: 750; }
.assessment-groups { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; align-items: start; }
.assessment-group { border: 1px solid var(--line); border-radius: 17px; background: color-mix(in srgb,var(--surface) 82%,transparent); overflow: hidden; }
.assessment-group-head { display: flex; justify-content: space-between; gap: 10px; padding: 15px 16px; border-bottom: 1px solid var(--line); }
.assessment-group-head b { font: 800 10px/1.2 ui-monospace, SFMono-Regular, Menlo, monospace; letter-spacing: .07em; text-transform: uppercase; }
.assessment-group-head span { color: var(--muted); font-size: 10px; white-space: nowrap; }
.assessment-group ul { list-style: none; padding: 5px 16px 10px; margin: 0; }
.assessment-group li { position: relative; padding: 9px 0 9px 14px; border-top: 1px solid var(--line); }
.assessment-group li:first-child { border-top: 0; }
.assessment-group li::before { content: ""; position: absolute; left: 0; top: 16px; width: 6px; height: 6px; border-radius: 50%; background: var(--green); }
.assessment-group li.verify::before { background: var(--amber); }
.assessment-group li.empty::before { background: var(--soft); }
.assessment-group li > span { display: block; font-size: 12px; font-weight: 750; }
.assessment-group li small { display: block; margin-top: 3px; color: var(--muted); font-size: 10px; line-height: 1.4; }
.supplier-check { display: grid; grid-template-columns: minmax(0,.8fr) minmax(260px,1.2fr); gap: 18px; margin-top: 14px; padding: 18px; border: 1px solid color-mix(in srgb,var(--amber) 28%,var(--line)); border-radius: 18px; background: linear-gradient(120deg,color-mix(in srgb,var(--amber-bg) 50%,var(--surface-solid)),color-mix(in srgb,var(--surface-solid) 94%,var(--accent) 6%)); }
.supplier-check-heading { display: flex; align-items: center; gap: 10px; margin-bottom: 8px; }
.supplier-check-heading i { width: 9px; height: 9px; border-radius: 50%; background: var(--amber); box-shadow: 0 0 0 5px color-mix(in srgb,var(--amber) 12%,transparent); }
.supplier-check-heading b { font-size: 14px; }
.supplier-check-heading span { margin-left: auto; color: var(--amber); font: 800 10px/1 ui-monospace,SFMono-Regular,Menlo,monospace; text-transform: uppercase; letter-spacing: .06em; }
.supplier-check p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.45; }
.clarify-chips { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 11px; }
.clarify-chips span { padding: 5px 8px; border: 1px solid color-mix(in srgb,var(--amber) 24%,var(--line)); border-radius: 100px; background: color-mix(in srgb,var(--surface-solid) 72%,transparent); color: var(--amber); font-size: 10px; }
.supplier-next-step { padding-left: 18px; border-left: 1px solid color-mix(in srgb,var(--amber) 22%,var(--line)); }
.supplier-next-step b { display: block; margin-bottom: 6px; color: var(--ink); font: 800 10px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace; text-transform: uppercase; letter-spacing: .07em; }
.evidence-box, .detail-tile { border: 1px solid var(--line); border-radius: 17px; background: color-mix(in srgb,var(--surface) 82%,transparent); }
.evidence-box { padding: 17px; }
.evidence-box > b, .detail-tile > b { display: block; margin-bottom: 11px; font: 800 10px/1.2 ui-monospace, SFMono-Regular, Menlo, monospace; letter-spacing: .08em; text-transform: uppercase; }
.evidence-box.supported > b { color: var(--green); }.evidence-box.verify > b { color: var(--amber); }
.evidence-box ul { list-style: none; padding: 0; margin: 0; }
.evidence-box li { position: relative; padding: 9px 0 9px 15px; border-top: 1px solid var(--line); }
.evidence-box li:first-child { border-top: 0; padding-top: 0; }
.evidence-box li::before { content: ""; position: absolute; left: 0; top: 16px; width: 6px; height: 6px; border-radius: 50%; background: var(--green); }
.evidence-box.verify li::before { background: var(--amber); }
.evidence-box li:first-child::before { top: 7px; }
.evidence-box li span { display: block; font-size: 13px; font-weight: 750; }
.evidence-box li small { display: block; margin-top: 3px; color: var(--muted); font-size: 11px; line-height: 1.4; }
.detail-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 14px; }
.detail-tile { min-height: 130px; padding: 17px; }
.detail-tile:first-child { background: linear-gradient(145deg,color-mix(in srgb,var(--accent) 9%,var(--surface)),color-mix(in srgb,var(--aqua) 6%,var(--surface))); }
.detail-tile:last-child:nth-child(odd) { grid-column: 1/-1; min-height: 105px; }
.detail-tile span { color: var(--muted); font-size: 13px; }

footer { min-height: 70px; display: flex; justify-content: space-between; align-items: center; gap: 24px; padding: 0 clamp(24px,5vw,76px); border-top: 1px solid var(--line); color: var(--muted); font-size: 11px; }

@keyframes holiday-title-gradient {
  from { background-position: 0% 50%; }
  to { background-position: 100% 50%; }
}

@media (prefers-reduced-motion: reduce) {
  [data-theme="holiday"] .intro h1 { animation: none; }
}

/* v44 uses one shared visual system across Compare and Insights. */
.theme-switch { display:none!important; }

@media (max-width: 1050px) {
  .intro { grid-template-columns: 1fr; gap: 0; }
  .intro-copy { padding-bottom: 0; }
  .result-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .environment-grid { grid-template-columns: 1fr 1fr; }
  .results-heading { align-items: start; flex-direction: column; }
  .result-controls { width: 100%; grid-template-columns: minmax(330px,1fr) minmax(140px,180px); }
}

@media (max-width: 680px) {
  main { width: min(100% - 24px,1440px); }
  .topbar { grid-template-columns:1fr auto auto; padding:0 16px; }
  .method-note { display: none; }
  .palette-switch button { padding-inline:8px; }
  .intro { min-height: 0; }
  .intro-copy { padding-top: 36px; }
  .intro h1 { font-size: clamp(38px,12vw,56px); }
  .selector { padding: 22px 18px; border-radius: 20px; }
  .selector-heading, .results-heading { align-items: start; }
  .results-heading { flex-direction: column; }
  .result-controls { grid-template-columns: 1fr; }
  .criteria-group legend { grid-template-columns: 28px 1fr auto; }
  .criteria-group legend small { grid-column: 2; }
  .criteria-group legend em { grid-column: 3; grid-row: 1; }
  .environment-grid, .result-grid, .assessment-groups, .supplier-check, .detail-grid { grid-template-columns: 1fr; }
  .detail-tile:last-child:nth-child(odd) { grid-column: auto; }
  .supplier-next-step { padding: 14px 0 0; border-left: 0; border-top: 1px solid color-mix(in srgb,var(--amber) 22%,var(--line)); }
  .sort-field { min-width: 118px; }
  .card-button { min-height: 354px; }
  .dialog-content { padding: 26px 18px; }
  .dialog-heading { grid-template-columns: 52px 1fr; padding-right: 30px; }
  .dialog-score { grid-column: 2; text-align: left; }
  .official-link { width: 100%; justify-content: center; margin-left: 0; }
  footer { align-items: flex-start; flex-direction: column; justify-content: center; padding-block: 18px; }
}

@media (max-width: 600px) {
  .topbar { grid-template-columns:1fr auto; gap:10px; padding-block:12px; }
  .header-center { grid-column:1/-1; grid-row:2; justify-self:center; }
  .header-tools { grid-column:2; grid-row:1; }
  .theme-switch { justify-self: stretch; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); border-radius: 18px; }
  .theme-switch button { padding-inline: 5px; }
  .theme-switch button:last-child { grid-column: 1/-1; }
}

/* Compact comparison workspace */
main { width: min(1560px,calc(100% - 32px)); }
.workspace-intro { min-height:174px; grid-template-columns:minmax(0,1fr) 370px; gap:44px; overflow:visible; }
.workspace-intro .intro-copy { padding: 20px 0 6px; }
.workspace-intro .eyebrow { margin-bottom: 9px; }
.workspace-intro h1 { max-width: 880px; font-size: clamp(40px,4.15vw,63px); line-height: 1; }
.workspace-intro .intro-copy > p:last-of-type { max-width: 600px; margin-top: 11px; font-size: 15px; }
.mobile-filter-button { display: none; }

.robot-stage { position:relative; height:174px; min-width:0; isolation:isolate; overflow:visible; }
.robot-stage::before { content:""; position:absolute; inset:34px 2px 8px; z-index:0; border-radius:50%; background:radial-gradient(circle at 52% 56%,color-mix(in srgb,var(--accent) 8%,transparent),color-mix(in srgb,var(--accent-2) 3%,transparent) 43%,transparent 72%); filter:blur(24px); pointer-events:none; }
.robot-stage::after { content:""; position:absolute; z-index:1; left:50%; bottom:-20px; width:326px; height:18px; border-radius:50%; background:radial-gradient(ellipse at center,color-mix(in srgb,var(--ink) 23%,transparent) 0 12%,color-mix(in srgb,var(--ink) 11%,transparent) 38%,color-mix(in srgb,var(--ink) 4%,transparent) 58%,transparent 76%); filter:blur(5px); transform:translateX(-50%) scaleX(.97); pointer-events:none; }
.robot-rig { position:absolute; z-index:2; right:-20px; bottom:-24px; width:410px; max-width:none; aspect-ratio:1600/680; }
.agent-team-source { position:fixed; left:-10000px; top:-10000px; width:1px; height:1px; opacity:.001; pointer-events:none; }
.agent-team-canvas,.agent-team-poster { position:absolute; inset:0; display:block; width:100%; height:100%; object-fit:contain; image-rendering:auto; opacity:.91; filter:saturate(.54) contrast(.88) brightness(.92) drop-shadow(0 3px 3px color-mix(in srgb,var(--ink) 14%,transparent)) drop-shadow(0 10px 12px color-mix(in srgb,var(--ink) 10%,transparent)); pointer-events:none; user-select:none; -webkit-user-drag:none; }
.agent-team-canvas { visibility:hidden; }
.agent-team-canvas.is-ready { visibility:visible; }
.agent-team-poster.is-hidden { visibility:hidden; }

[data-theme="dark"] .agent-team-canvas,[data-theme="dark"] .agent-team-poster,
[data-theme="mineral-dark"] .agent-team-canvas,[data-theme="mineral-dark"] .agent-team-poster,
[data-theme="polar-dark"] .agent-team-canvas,[data-theme="polar-dark"] .agent-team-poster { opacity:.86; filter:saturate(.48) contrast(.86) brightness(.82) drop-shadow(0 3px 4px color-mix(in srgb,black 22%,transparent)) drop-shadow(0 10px 13px color-mix(in srgb,black 18%,transparent)); }

.comparison-workspace { display:grid; grid-template-columns:minmax(0,1fr) 370px; grid-template-rows:auto auto; align-items:start; column-gap:44px; row-gap:14px; }
.results-toolbar { grid-column:1; grid-row:1; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:end; gap:14px; margin-top:2px; }
.results-toolbar .results-heading { align-items:start; flex-direction:column; }
.results-toolbar .results-heading > div:first-child { max-width:650px; }
.results-toolbar .results-heading h2 { font-size:clamp(26px,2.5vw,36px); }
.results-toolbar .results-heading p[data-result-summary] { max-width:650px; margin-top:7px; font-size:12px; line-height:1.4; }
.result-controls { width:100%; display:grid; grid-template-columns:minmax(0,1fr) 112px; align-items:end; gap:10px; }
.result-controls .scope-field,.result-controls .sort-field { min-width:0; }
.result-controls .scope-field > span,.result-controls .sort-field > span { min-height:20px; display:flex; align-items:center; justify-content:center; gap:6px; color:var(--muted); font-size:11px; font-weight:750; text-align:center; }
.result-controls .scope-switch,.result-controls .select-trigger { min-height:40px; }
.result-controls .scope-switch button { padding-inline:5px; font-size:10px; }
.result-controls .sort-field { min-width:0; }
.criteria-toolbar { grid-column:2; grid-row:1; align-self:end; display:flex; justify-content:flex-end; align-items:flex-end; min-height:60px; }
.criteria-reset { width:100%; min-height:40px; display:flex; align-items:center; justify-content:center; gap:7px; padding:0 16px; border:1px solid color-mix(in srgb,var(--accent) 50%,var(--line)); border-radius:100px; background:linear-gradient(120deg,var(--reset-start),var(--reset-end)); color:var(--reset-ink); box-shadow:0 10px 25px color-mix(in srgb,var(--accent) 18%,transparent),inset 0 1px 0 color-mix(in srgb,white 28%,transparent); font-size:12.5px; font-weight:750; letter-spacing:.01em; cursor:pointer; transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,filter .18s ease; }
.criteria-reset span { font-size:16px; line-height:1; }
.criteria-reset:hover { transform:translateY(-2px); border-color:color-mix(in srgb,var(--accent) 78%,var(--line)); box-shadow:0 14px 30px color-mix(in srgb,var(--accent) 28%,transparent),inset 0 1px 0 color-mix(in srgb,white 36%,transparent); filter:saturate(1.08); }
.comparison-workspace .results { grid-column:1; grid-row:2; min-width:0; padding:0 0 48px; }
.comparison-workspace .selector { grid-column:2; grid-row:2; position:relative; z-index:8; width:100%; height:532px; min-height:0; display:flex; flex-direction:column; padding:18px; overflow:visible; }
.scope-help { position:relative; display:grid; place-items:center; width:17px; height:17px; padding:0; border:1px solid var(--line-strong); border-radius:50%; background:var(--surface-solid); color:var(--muted); font-size:10px; font-weight:850; cursor:help; }
.scope-help::after { content:attr(data-tooltip); position:absolute; z-index:90; right:-126px; top:25px; width:260px; padding:10px 12px; border:1px solid var(--line); border-radius:12px; background:var(--surface-solid); color:var(--muted); box-shadow:var(--shadow); font-size:11px; font-weight:600; line-height:1.45; opacity:0; visibility:hidden; transform:translateY(-4px); transition:opacity .16s ease,transform .16s ease,visibility .16s; pointer-events:none; }
.scope-help:hover::after,.scope-help:focus-visible::after { opacity:1; visibility:visible; transform:translateY(0); }
.selector-heading { align-items:center; }
.selector-heading h2 { font-size:24px; }
.selector-actions { display:flex; align-items:center; gap:8px; }
.selector-reset { display:none; }
.panel-close { display:none; width:34px; height:34px; border:1px solid var(--line); border-radius:50%; background:var(--surface-solid); color:var(--muted); font-size:21px; cursor:pointer; }

.criteria-tabs { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; margin-top:12px; padding:5px; border:1px solid var(--line); border-radius:15px; background:color-mix(in srgb,var(--surface-solid) 70%,transparent); }
.criteria-tab { min-width:0; min-height:54px; display:grid; grid-template-columns:auto 1fr; grid-template-rows:auto auto; align-content:center; gap:2px 5px; padding:7px 6px; border:1px solid transparent; border-radius:11px; background:transparent; color:var(--muted); text-align:left; cursor:pointer; }
.criteria-tab > span { grid-row:1/3; align-self:center; color:var(--accent); font:800 9px/1 ui-monospace,SFMono-Regular,Menlo,monospace; }
.criteria-tab b { overflow:hidden; color:var(--ink); font-size:11.5px; line-height:1.15; text-overflow:ellipsis; white-space:nowrap; }
.criteria-tab em { overflow:hidden; font-size:9.5px; font-weight:750; font-style:normal; text-overflow:ellipsis; white-space:nowrap; }
.criteria-tab.active { border-color:color-mix(in srgb,var(--accent) 26%,var(--line)); background:linear-gradient(130deg,color-mix(in srgb,var(--accent) 13%,var(--surface-solid)),color-mix(in srgb,var(--accent-2) 8%,var(--surface-solid))); box-shadow:0 7px 18px color-mix(in srgb,var(--accent) 8%,transparent); }
.criteria-tab.active em { color:var(--accent); }
.criteria-group { margin:8px 0 0; padding:0; border:1px solid var(--line); border-radius:16px; background:color-mix(in srgb,var(--surface-solid) 66%,transparent); overflow:visible; }
.criteria-group[hidden] { display:none; }
.criteria-group.is-guided { border-color:color-mix(in srgb,var(--accent) 58%,var(--line)); box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 9%,transparent); }
.criteria-body { padding:11px; }
.criteria-panel-heading { display:grid; gap:2px; }
.criteria-panel-heading b { font-size:13px; }
.criteria-panel-heading p { margin:0; color:var(--muted); font-size:11px; line-height:1.4; }
.selector .chip-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:5px; max-height:none; margin-top:8px; padding:0; overflow:visible; }
.selector .chip { width:100%; min-height:33px; justify-content:flex-start; padding:5px 8px; border-radius:10px; font-size:11px; font-weight:625; line-height:1.2; text-align:left; white-space:normal; }
.selector .chip:not(.selected) { color:var(--criteria-text); }
.selector .environment-grid { grid-template-columns:1fr; gap:10px; margin-top:12px; }
.selector .select-trigger { min-height:40px; }
.selector .select-menu { z-index:60; }
.comparison-workspace .result-grid { grid-template-columns:repeat(3,minmax(0,1fr)); grid-auto-rows:260px; gap:12px; margin-top:0; }
.comparison-workspace .result-card { height:260px; }
.comparison-workspace .card-button { height:222px; min-height:0; grid-template-rows:minmax(54px,auto) 31px 27px minmax(50px,1fr) 6px; row-gap:2px; padding:14px 15px 8px 18px; }
.comparison-workspace .card-head { grid-template-columns:46px minmax(0,1fr) auto; gap:9px; }
.comparison-workspace .logo-mark,.comparison-workspace .brand-fallback { width:46px; height:42px; }
.comparison-workspace .logo-mark > img { width:36px; height:36px; }
.comparison-workspace .card-titles h3 { font-size:16px; }
.comparison-workspace .coverage-score b { font-size:22px; }
.comparison-workspace .status-row { min-height:31px; margin-top:0; padding-bottom:3px; }
.comparison-workspace .criteria-breakdown { min-height:27px; align-items:flex-start; padding-top:2px; }
.comparison-workspace .card-summary { margin:5px 0 7px; font-size:11.5px; line-height:1.38; -webkit-line-clamp:3; }
.comparison-workspace .card-foot { height:38px; padding:0 15px 0 18px; font-size:9.5px; }
.comparison-workspace .card-foot a { font-size:10px; white-space:nowrap; }
.filter-backdrop { display:none; }

.results-empty { min-height:300px; margin-top:18px; padding:30px; display:flex; align-items:center; justify-content:space-between; gap:28px; border:1px dashed color-mix(in srgb,var(--accent) 32%,var(--line)); border-radius:24px; background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 5%,var(--surface)) 0%,color-mix(in srgb,var(--surface-solid) 84%,transparent) 100%); }
.results-empty[hidden] { display:none; }
.empty-state-copy { max-width:520px; }
.results-empty h3 { margin:1px 0 8px; font-size:clamp(23px,2.3vw,32px); line-height:1.08; letter-spacing:-.035em; }
.results-empty p { max-width:470px; margin:0; color:var(--muted); font-size:15px; line-height:1.55; }
.empty-state-action { display:inline-flex; align-items:center; gap:11px; flex:0 0 auto; min-height:44px; padding:0 17px; border:1px solid var(--line-strong); border-radius:100px; background:var(--surface-solid); color:var(--ink); box-shadow:var(--shadow); font-weight:780; cursor:pointer; }
.empty-state-action span { color:var(--accent); font-size:18px; }

@keyframes robot-shadow-breathe {
  0%,100% { opacity:.7; transform:scaleX(.82); }
  50% { opacity:.82; transform:scaleX(.78); }
}

@media (max-width: 1120px) {
  .workspace-intro { grid-template-columns:minmax(0,1fr) 280px; }
  .results-toolbar { display:grid; grid-template-columns:1fr; align-items:start; gap:16px; margin-bottom:20px; }
  .criteria-toolbar { display:none; }
  .selector-reset { display:inline-flex; }
  .result-controls { width:min(100%,520px); grid-template-columns:minmax(0,1fr) 130px; }
  .comparison-workspace { display:block; }
  .comparison-workspace .result-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .comparison-workspace .selector { position:fixed; top:0; right:0; bottom:0; z-index:80; width:min(390px,calc(100vw - 34px)); height:auto; max-height:none; overflow-y:auto; border-radius:24px 0 0 24px; transform:translateX(105%); transition:transform .3s cubic-bezier(.22,1,.36,1); }
  .filters-open .comparison-workspace .selector { transform:translateX(0); }
  .panel-close { display:grid; place-items:center; }
  .filter-backdrop { position:fixed; inset:0; z-index:70; border:0; background:rgba(7,9,20,.42); backdrop-filter:blur(5px); }
  .filters-open .filter-backdrop { display:block; }
  .mobile-filter-button { display:inline-flex; align-items:center; gap:10px; min-height:40px; margin-top:16px; padding:0 14px; border:1px solid var(--line-strong); border-radius:100px; background:var(--surface); color:var(--ink); box-shadow:var(--shadow); font-weight:760; cursor:pointer; }
  .mobile-filter-button span { color:var(--accent); font-size:11px; }
}

@media (max-width: 1380px) and (min-width: 1121px) {
  .comparison-workspace { grid-template-columns:minmax(0,1fr) 350px; gap:32px; }
  .results-toolbar { grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
  .workspace-intro { grid-template-columns:minmax(0,1fr) 350px; gap:32px; }
  .result-controls { grid-template-columns:minmax(0,1fr) 106px; gap:8px; }
  .result-controls .scope-switch button { font-size:9.5px; }
  .comparison-workspace .result-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (max-width: 1500px) and (min-width: 1121px) {
  .comparison-workspace .result-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (max-width: 760px) {
  main { width:min(100% - 24px,1560px); }
  .workspace-intro { min-height:0; grid-template-columns:1fr; }
  .workspace-intro .intro-copy { padding:28px 0 4px; }
  .workspace-intro h1 { font-size:clamp(38px,11vw,54px); }
  .robot-stage { height:188px; margin-top:0; }
  .robot-rig { right:50%; bottom:0; width:min(520px,110vw); height:auto; transform:translateX(50%); }
  .results-toolbar { margin-top:8px; }
  .result-controls { width:100%; grid-template-columns:1fr; }
  .scope-help::after { right:auto; left:0; width:min(260px,calc(100vw - 54px)); }
  .comparison-workspace .result-grid { grid-template-columns:1fr; }
  .results-empty { min-height:260px; align-items:flex-start; flex-direction:column; padding:24px; }
  .empty-state-action { width:100%; justify-content:center; }
}

@media (prefers-reduced-motion: reduce) {
  .agent-team-source,.agent-team-canvas { display:none; }
  .agent-team-poster { visibility:visible !important; }
}
