:root{--color-paper: oklch(98% .003 250);--color-paper-2: oklch(96% .004 250);--color-paper-3: oklch(93% .006 250);--color-ink: oklch(22% .015 250);--color-ink-2: oklch(45% .012 250);--color-ink-3: oklch(62% .01 250);--color-accent: oklch(45% .09 250);--color-accent-ink: oklch(99% .002 250);--color-accent-soft: oklch(93% .02 250);--color-rule: oklch(88% .005 250);--color-rule-strong: oklch(75% .008 250);--color-surface: oklch(100% 0 0);--color-ok: oklch(50% .1 155);--color-ok-soft: oklch(94% .03 155);--color-warn: oklch(55% .11 75);--color-warn-soft: oklch(95% .04 85);--color-danger: oklch(50% .13 25);--color-danger-soft: oklch(95% .03 25);--color-neutral-soft: oklch(94% .005 250);--color-added: var(--color-ok);--color-added-soft: var(--color-ok-soft);--color-removed: var(--color-danger);--color-removed-soft: var(--color-danger-soft);--color-changed: var(--color-warn);--color-changed-soft: var(--color-warn-soft);--color-present: var(--color-ok-soft);--color-present-ink: var(--color-ok);--color-absent: var(--color-paper-3);--color-absent-ink: var(--color-ink-3);--color-focus: oklch(55% .15 250);--font-ui: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-data: ui-monospace, "SF Mono", "Cascadia Mono", Menlo, Consolas, monospace;--text-xs: .6875rem;--text-sm: .8125rem;--text-md: .9375rem;--text-lg: 1.125rem;--text-xl: 1.4375rem;--text-2xl: 1.75rem;--space-2xs: .25rem;--space-xs: .5rem;--space-sm: .75rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2.25rem;--space-2xl: 3.5rem;--radius-sm: 3px;--radius-md: 6px;--rule-hairline: 1px solid var(--color-rule);--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-in: cubic-bezier(.7, 0, .84, 0);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--dur-fast: .12s}table{border-collapse:collapse;width:100%;font-size:var(--text-sm)}th{text-align:left;font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-ink-2);border-bottom:1px solid var(--color-rule-strong);padding:var(--space-2xs) var(--space-sm) var(--space-2xs) 0;white-space:nowrap}td{border-bottom:var(--rule-hairline);padding:var(--space-2xs) var(--space-sm) var(--space-2xs) 0;vertical-align:top}tr:hover>td{background:var(--color-paper-2)}.table-scroll{overflow-x:auto}.badge{display:inline-block;font-size:var(--text-xs);font-weight:600;border-radius:var(--radius-sm);padding:0 var(--space-2xs);white-space:nowrap}.badge.added{background:var(--color-added-soft);color:var(--color-added)}.badge.removed{background:var(--color-removed-soft);color:var(--color-removed)}.badge.changed{background:var(--color-changed-soft);color:var(--color-changed)}.badge.neutral{background:var(--color-neutral-soft);color:var(--color-ink-2)}.badge.ok{background:var(--color-ok-soft);color:var(--color-ok)}.badge.warn{background:var(--color-warn-soft);color:var(--color-warn)}.badge.danger{background:var(--color-danger-soft);color:var(--color-danger)}.state-panel{border:var(--rule-hairline);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-ink-2);padding:var(--space-lg);font-size:var(--text-sm)}.state-panel.error{border-color:var(--color-danger);color:var(--color-danger)}details.help{border:var(--rule-hairline);border-radius:var(--radius-md);background:var(--color-surface);padding:var(--space-xs) var(--space-sm);font-size:var(--text-sm);margin-bottom:var(--space-md)}details.help>summary{cursor:pointer;font-weight:600;color:var(--color-ink-2)}details.help[open]>summary{margin-bottom:var(--space-xs)}.card{background:var(--color-surface);border:var(--rule-hairline);border-radius:var(--radius-md);padding:var(--space-md)}.stat-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(0,1fr));gap:var(--space-sm)}.stat{border:var(--rule-hairline);border-radius:var(--radius-md);background:var(--color-surface);padding:var(--space-sm) var(--space-md)}.stat .value{font-family:var(--font-data);font-size:var(--text-xl);font-weight:650}.stat .label{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--color-ink-2)}.form-row{display:flex;flex-wrap:wrap;gap:var(--space-md);align-items:end;margin-bottom:var(--space-md)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}th .sort{border:none;background:none;padding:0;font:inherit;text-transform:inherit;letter-spacing:inherit;color:inherit;cursor:pointer;text-decoration:underline;text-underline-offset:2px}*{box-sizing:border-box}html,body{margin:0;overflow-x:clip;background:var(--color-paper);color:var(--color-ink);font-family:var(--font-ui);font-size:var(--text-md);line-height:1.5}h1,h2,h3{font-style:normal;font-weight:650;letter-spacing:-.01em;margin:0 0 var(--space-sm);overflow-wrap:anywhere;min-width:0}h1{font-size:var(--text-2xl)}h2{font-size:var(--text-xl)}h3{font-size:var(--text-lg)}a{color:var(--color-accent);text-decoration-thickness:1px;text-underline-offset:2px}code,.data{font-family:var(--font-data);font-size:.92em}:focus-visible{outline:2px solid var(--color-focus);outline-offset:1px}button,.button{font:inherit;font-size:var(--text-sm);font-weight:550;color:var(--color-ink);background:var(--color-surface);border:1px solid var(--color-rule-strong);border-radius:var(--radius-sm);padding:var(--space-2xs) var(--space-sm);cursor:pointer;white-space:nowrap;text-decoration:none}button:hover,.button:hover{background:var(--color-paper-2)}button:active,.button:active{background:var(--color-paper-3)}button:disabled{color:var(--color-ink-3);border-color:var(--color-rule);cursor:not-allowed;background:var(--color-paper-2)}button.primary{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-accent-ink)}button.primary:hover{filter:brightness(1.08)}button.primary:disabled{filter:none;opacity:.55}label{display:block;font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-ink-2);margin-bottom:var(--space-2xs)}input,select{font:inherit;font-size:var(--text-sm);color:var(--color-ink);background:var(--color-surface);border:1px solid var(--color-rule-strong);border-radius:var(--radius-sm);padding:var(--space-2xs) var(--space-xs);max-width:100%}input:disabled,select:disabled{background:var(--color-paper-2);color:var(--color-ink-3)}
