/* ── Button ─────────────────────────────────────────────────── */
.sk-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);font-family:var(--font-display);font-weight:var(--fw-extrabold);letter-spacing:var(--ls-wide);text-transform:uppercase;text-decoration:none;white-space:nowrap;border:var(--border-w) solid var(--border-strong);border-radius:var(--radius-control);cursor:pointer;transition:var(--transition-control);box-shadow:var(--shadow-hard-sm)}
.sk-btn--sm{height:var(--control-h-sm);padding:0 var(--space-4);font-size:var(--fs-2xs)}
.sk-btn--md{height:var(--control-h-md);padding:0 var(--space-6);font-size:var(--fs-sm)}
.sk-btn--lg{height:var(--control-h-lg);padding:0 var(--space-8);font-size:var(--fs-md)}
.sk-btn--primary{background:var(--blue-700);color:var(--text-on-brand)}
.sk-btn--primary:hover{background:var(--blue-800)}
.sk-btn--accent{background:var(--pink-400);color:var(--ink)}
.sk-btn--accent:hover{background:var(--pink-300)}
.sk-btn--secondary{background:var(--grey-0);color:var(--ink)}
.sk-btn--secondary:hover{background:var(--grey-50)}
.sk-btn--danger{background:var(--red-600);color:var(--grey-0)}
.sk-btn--danger:hover{background:var(--red-700)}
.sk-btn--ghost{background:transparent;color:var(--ink);border-color:transparent;box-shadow:none}
.sk-btn--ghost:hover{background:var(--grey-200);box-shadow:none;transform:none}
.sk-btn:not(.sk-btn--ghost):hover{transform:var(--hover-lift);box-shadow:var(--shadow-hard-md)}
.sk-btn:not(.sk-btn--ghost):active{transform:var(--press-shift);box-shadow:none}
.sk-btn--block{width:100%}
.sk-btn:disabled,.sk-btn[aria-disabled="true"]{background:var(--grey-200);color:var(--text-disabled);border-color:var(--grey-300);box-shadow:none;transform:none;cursor:not-allowed}
.sk-btn__icon{display:inline-flex;width:1.15em;height:1.15em}
.sk-btn__icon svg,.sk-btn__icon img{width:100%;height:100%;stroke-width:2.5}

/* ── IconButton ─────────────────────────────────────────────── */
.sk-iconbtn{display:inline-grid;place-items:center;border:var(--border-w) solid var(--border-strong);border-radius:var(--radius-circle);background:var(--grey-0);color:var(--ink);cursor:pointer;box-shadow:var(--shadow-hard-sm);transition:var(--transition-control)}
.sk-iconbtn--sm{width:var(--control-h-sm);height:var(--control-h-sm)}
.sk-iconbtn--md{width:var(--control-h-md);height:var(--control-h-md)}
.sk-iconbtn--lg{width:var(--control-h-lg);height:var(--control-h-lg)}
.sk-iconbtn--primary{background:var(--blue-700);color:var(--grey-0)}
.sk-iconbtn--accent{background:var(--yellow-400);color:var(--ink)}
.sk-iconbtn--ghost{background:transparent;border-color:transparent;box-shadow:none}
.sk-iconbtn:not(.sk-iconbtn--ghost):hover{transform:var(--hover-lift);box-shadow:var(--shadow-hard-md)}
.sk-iconbtn:not(.sk-iconbtn--ghost):active{transform:var(--press-shift);box-shadow:none}
.sk-iconbtn--ghost:hover{background:var(--grey-200)}
.sk-iconbtn:disabled{background:var(--grey-200);color:var(--text-disabled);border-color:var(--grey-300);box-shadow:none;cursor:not-allowed}
.sk-iconbtn svg{width:45%;height:45%;stroke-width:2.5}

/* ── Card ───────────────────────────────────────────────────── */
.sk-card{position:relative;background:var(--surface-card);border:var(--border-w) solid var(--border-strong);border-radius:var(--radius-card);overflow:hidden}
.sk-card--flat{box-shadow:none}
.sk-card--raised{box-shadow:var(--shadow-hard-md)}
.sk-card--lifted{box-shadow:var(--shadow-hard-lg)}
.sk-card--pad-none>.sk-card__body{padding:0}
.sk-card--pad-sm>.sk-card__body{padding:var(--space-4)}
.sk-card--pad-md>.sk-card__body{padding:var(--space-6)}
.sk-card--pad-lg>.sk-card__body{padding:var(--space-8)}
.sk-card--interactive{cursor:pointer;transition:var(--transition-control);text-align:left;width:100%;font:inherit;color:inherit}
.sk-card--interactive:hover{transform:var(--hover-lift);box-shadow:var(--shadow-hard-lg)}
.sk-card--interactive:active{transform:var(--press-shift);box-shadow:var(--shadow-hard-xs)}
.sk-card__stripe{height:var(--space-2);background:var(--stripe-3)}
.sk-card__stripe--pink{background:var(--pink-400)}
.sk-card__stripe--cyan{background:var(--cyan-400)}
.sk-card__stripe--yellow{background:var(--yellow-400)}
.sk-card__stripe--blue{background:var(--blue-700)}
.sk-card__header{padding:var(--space-5) var(--space-6);border-bottom:var(--border-w) solid var(--border-strong);font:var(--type-heading-sm);color:var(--text-strong);display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}
.sk-card__footer{padding:var(--space-4) var(--space-6);border-top:var(--border-w) solid var(--border-subtle);background:var(--surface-sunken);display:flex;align-items:center;gap:var(--space-3)}

/* ── Badge ──────────────────────────────────────────────────── */
.sk-badge{display:inline-flex;align-items:center;gap:var(--space-1);font-family:var(--font-display);font-weight:var(--fw-black);font-size:var(--fs-3xs);letter-spacing:var(--ls-widest);text-transform:uppercase;padding:0 var(--space-3);height:22px;border-radius:var(--radius-badge);border:var(--border-w) solid var(--border-strong);background:var(--grey-0);color:var(--ink)}
.sk-badge--live{background:var(--pink-500);color:var(--grey-0)}
.sk-badge--success{background:var(--green-400);color:var(--ink)}
.sk-badge--warning{background:var(--yellow-400);color:var(--ink)}
.sk-badge--danger{background:var(--red-600);color:var(--grey-0)}
.sk-badge--info{background:var(--cyan-400);color:var(--ink)}
.sk-badge--idle{background:var(--grey-200);color:var(--grey-600)}
.sk-badge--solid-ink{background:var(--ink);color:var(--grey-0)}
.sk-badge__dot{width:6px;height:6px;border-radius:var(--radius-circle);background:currentColor}
.sk-badge--live .sk-badge__dot{animation:sk-pulse 1.1s var(--ease-in-out) infinite}
@keyframes sk-pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.7)}}

/* ── Tag ────────────────────────────────────────────────────── */
.sk-tag{display:inline-flex;align-items:center;gap:var(--space-2);font:var(--type-body-sm);font-weight:var(--fw-medium);padding:0 var(--space-3);height:28px;border-radius:var(--radius-pill);border:var(--border-w-hair) solid var(--border-default);background:var(--surface-sunken);color:var(--text-body)}
.sk-tag--pink{background:var(--pink-100);border-color:var(--pink-300);color:var(--pink-700)}
.sk-tag--cyan{background:var(--cyan-100);border-color:var(--cyan-300);color:var(--cyan-700)}
.sk-tag--yellow{background:var(--yellow-100);border-color:var(--yellow-300);color:var(--yellow-700)}
.sk-tag--blue{background:var(--blue-50);border-color:var(--blue-200);color:var(--blue-800)}
.sk-tag--selected{background:var(--ink);border-color:var(--ink);color:var(--grey-0)}
.sk-tag__remove{display:inline-grid;place-items:center;width:16px;height:16px;border:0;padding:0;border-radius:var(--radius-circle);background:transparent;color:inherit;cursor:pointer;opacity:.6}
.sk-tag__remove:hover{opacity:1;background:rgba(11,22,32,.12)}

/* ── Icon ───────────────────────────────────────────────────── */
.sk-icon{display:inline-block;vertical-align:middle;flex:none;color:currentColor}
.sk-icon svg{display:block;width:100%;height:100%}

/* ── Logo ───────────────────────────────────────────────────── */
.sk-logo{display:inline-flex;align-items:center;gap:var(--space-3)}
.sk-logo img{display:block;height:auto}
.sk-logo__wordmark{font-family:var(--font-display);font-weight:var(--fw-black);letter-spacing:var(--ls-tight);text-transform:uppercase;line-height:1}
