.btn{justify-content:center;align-items:center;gap:var(--space-2);border:1px solid var(--border-default);border-radius:var(--radius-md);min-block-size:44px;padding-block:var(--space-2);padding-inline:var(--space-4);font-family:var(--font-ui);font-size:var(--fs-sm);font-weight:var(--fw-semibold);cursor:pointer;color:var(--text-default);transition:background var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out);background:0 0;text-decoration:none;display:inline-flex}.btn--sm{min-block-size:36px;padding-inline:var(--space-3);font-size:var(--fs-sm)}.btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.btn--primary{background:var(--accent-strong);color:var(--text-on-accent);box-shadow:var(--elev-1);border-color:#0000}.btn--primary:hover{background:var(--accent-hover)}.btn--primary:active{background:var(--accent-active)}.btn--ghost{color:var(--text-default);border-color:var(--border-default);background:0 0}.btn--ghost:hover{border-color:var(--border-strong);color:var(--text-strong)}.panel{background:var(--surface-raised);border:1px solid var(--border-default);border-radius:var(--radius-lg);padding:var(--space-5)}.panel__head{justify-content:space-between;align-items:center;gap:var(--space-3);margin-block-end:var(--space-4);display:flex}.panel__title{font-size:var(--fs-lg);font-weight:var(--fw-semibold);color:var(--text-strong)}.panel__meta{color:var(--text-muted);font-size:var(--fs-sm)}.panel__thumb{border-radius:var(--radius-sm);border:1px solid var(--border-default);background:var(--surface-sunken);inline-size:100%}.panel__thumb--empty{block-size:180px;color:var(--text-muted);font-size:var(--fs-sm);place-items:center;display:grid}.panel__hint{color:var(--text-muted);font-size:var(--fs-base);line-height:var(--lh-normal)}.alert{gap:var(--space-3);border-radius:var(--radius-sm);padding-block:var(--space-2);padding-inline:var(--space-4);font-size:var(--fs-sm);line-height:var(--lh-normal);align-items:flex-start;margin-block-end:var(--space-3);display:flex}.alert--error{background:var(--status-danger-subtle);border:1px solid var(--status-danger-border);color:var(--text-default)}.alert--warn{background:var(--status-warning-subtle);border:1px solid var(--status-warning-border);color:var(--text-default)}.alert code{background:var(--surface-code);color:var(--text-code);padding-inline:var(--space-2);border-radius:var(--radius-xs)}.field{gap:var(--space-2);flex-direction:column;display:flex}.field__label{font-size:var(--fs-sm);color:var(--text-muted)}.field__input{background:var(--surface-inset);border:1px solid var(--border-default);border-radius:var(--radius-md);min-block-size:44px;padding-inline:var(--space-4);font-size:var(--fs-base);font-family:var(--font-ui);color:var(--text-strong)}.field__input:focus-visible{border-color:var(--border-focus);box-shadow:0 0 0 3px var(--accent-ring);outline:none}.field__hint{font-size:var(--fs-xs);color:var(--text-faint)}.field__error{font-size:var(--fs-xs);color:var(--status-danger)}.badge{font-size:var(--fs-xs);font-weight:var(--fw-semibold);border-radius:var(--radius-pill);padding-block:var(--space-1);padding-inline:var(--space-3);border:1px solid #0000;align-items:center;display:inline-flex}.badge--accent{background:var(--accent-subtle);color:var(--accent-strong);border-color:var(--accent-border)}.badge--success{background:var(--status-success-subtle);color:var(--status-success);border-color:var(--status-success-border)}.badge--warning{background:var(--status-warning-subtle);color:var(--status-warning);border-color:var(--status-warning-border)}.badge--danger{background:var(--status-danger-subtle);color:var(--status-danger);border-color:var(--status-danger-border)}.badge--neutral{background:var(--surface-inset);color:var(--text-muted);border-color:var(--border-default)}.chip{font-family:var(--font-mono);font-size:var(--fs-xs);font-weight:var(--fw-semibold);border-radius:var(--radius-sm);padding-block:var(--space-1);padding-inline:var(--space-2);border:1px solid var(--border-default);align-items:center;display:inline-flex}.chip--pass{color:var(--score-good);border-color:var(--status-success-border)}.chip--fail{color:var(--score-bad);border-color:var(--status-danger-border)}.chip--unknown{color:var(--text-muted)}.empty{text-align:center;padding-block:var(--space-16);border:1px dashed var(--border-default);border-radius:var(--radius-xl)}.empty__title{font-size:var(--fs-xl);font-weight:var(--fw-bold);color:var(--text-strong)}.empty__text{font-size:var(--fs-base);color:var(--text-muted);max-inline-size:46ch;margin-inline:auto}.empty__actions{justify-content:center;gap:var(--space-3);margin-block-start:var(--space-4);display:flex}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;block-size:1px;inline-size:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.pmenu{position:relative}.pmenu__btn{border:1px solid var(--border-subtle);border-radius:var(--radius-pill);background:var(--surface-raised);block-size:34px;inline-size:34px;color:var(--text-muted);box-shadow:var(--elev-1);cursor:pointer;opacity:0;transition:opacity var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);justify-content:center;align-items:center;display:inline-flex}.pcard:hover .pmenu__btn,.pcard:focus-within .pmenu__btn,.sidebar__row:hover .pmenu__btn,.sidebar__row:focus-within .pmenu__btn,.pmenu__btn:focus-visible,.pmenu__btn[aria-expanded=true]{opacity:1}.pmenu__btn:hover{color:var(--text-strong)}@media (hover:none){.pmenu__btn{opacity:1}}@media (prefers-reduced-motion:reduce){.pmenu__btn{transition:none}}.pmenu__list{z-index:3;min-inline-size:12rem;padding:var(--space-1);border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--surface-overlay);box-shadow:var(--elev-3);position:absolute;inset-block-start:calc(100% + var(--space-2));inset-inline-end:0}.pmenu__item{min-block-size:40px;inline-size:100%;padding-inline:var(--space-3);border-radius:var(--radius-sm);font:inherit;font-size:var(--fs-sm);color:var(--text-default);text-align:start;cursor:pointer;background:0 0;border:0;line-height:40px;text-decoration:none;display:block}.pmenu__item:hover:not(:disabled){background:var(--surface-inset);color:var(--text-strong)}.pmenu__item--danger{color:var(--status-danger)}.pmenu__item--danger:hover:not(:disabled){background:var(--status-danger-subtle);color:var(--status-danger)}.pmenu__item:disabled{opacity:.6;cursor:default}.pmenu__error{padding:var(--space-2) var(--space-3);font-size:var(--fs-xs);color:var(--status-danger)}
