.blueprint{position:relative}.bp-frame{border:var(--border-heavy);border-radius:var(--radius-surface);background:var(--color-surface)}
.card{gap:var(--space-5);border:var(--border-heavy);border-radius:var(--radius-surface);background:var(--color-surface);color:var(--color-text);box-shadow:var(--shadow-md);flex-direction:column;display:flex;position:relative}.card-pad-none{padding:0}.card-pad-sm{padding:18px}.card-pad-md{padding:22px}.card-pad-lg{padding:26px}.card-tinted{background:var(--card-tint,var(--tint-1))}.card-featured{box-shadow:var(--shadow-feature)}.card-flat{box-shadow:none}.card-raised{box-shadow:var(--shadow-card)}.card-band{box-shadow:var(--shadow-band);border-radius:var(--radius-band)}.card-interactive{color:var(--color-text);transition:transform var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out);text-decoration:none}.card-interactive:hover{box-shadow:7px 7px 0 var(--color-text);transform:translate(-2px,-2px)}.card-interactive:active{box-shadow:1px 1px 0 var(--color-text);transform:translate(2px,2px)}.card-interactive:focus-visible{outline:2px solid var(--color-accent-700);outline-offset:2px}.card-featured.card-interactive:hover{box-shadow:8px 8px 0 var(--color-accent-2)}.card-raised.card-interactive:hover{box-shadow:var(--shadow-md)}.card-raised.card-interactive:active{box-shadow:1px 1px 0 var(--color-text)}@media (prefers-reduced-motion:reduce){.card-interactive:hover,.card-interactive:active{transform:none}}.card-kicker{font-family:var(--font-mono);font-weight:var(--weight-strong);letter-spacing:var(--tracking-mono-caps);text-transform:uppercase;color:var(--color-neutral-700);font-size:10px}.card-kicker-accent{color:var(--color-accent-700)}.card-title{font-family:var(--font-display);font-weight:var(--weight-bold);letter-spacing:var(--tracking-display);color:var(--color-text);margin:0;line-height:1.15}.card-title-sm{font-size:15.5px}.card-title-md{font-size:17px}.card-title-lg{font-size:21px;font-weight:var(--weight-black)}.card-body{color:var(--color-neutral-700);margin:0;font-size:13.5px;line-height:1.45}.card-meta{align-items:center;gap:var(--space-2);font-family:var(--font-mono);letter-spacing:var(--tracking-mono);color:var(--color-neutral-700);flex-wrap:wrap;font-size:11.5px;display:flex}.card-footer{gap:var(--space-3);margin-top:auto;display:flex}
.btn{justify-content:center;align-items:center;gap:var(--space-2);border-radius:var(--radius-control);font-family:var(--font-display);font-weight:var(--weight-bold);letter-spacing:var(--tracking-caps);text-transform:uppercase;white-space:nowrap;cursor:pointer;transition:transform var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out), background-color var(--duration-fast) ease, color var(--duration-fast) ease;border:0;font-size:13px;line-height:1.2;text-decoration:none;display:inline-flex;position:relative}.btn-36{min-height:36px;padding:0 var(--space-6);font-size:12.5px}.btn-42{min-height:42px;padding:0 20px}.btn-44{min-height:44px;padding:0 22px}.btn-block{width:100%;display:flex}.btn-primary{background:var(--color-accent-2);color:var(--color-on-ink)}.btn-primary:hover{background:var(--color-accent-2-600)}.btn-secondary{background:var(--color-surface);color:var(--color-text);border:var(--border-heavy)}.btn-secondary:hover{background:var(--color-accent)}.btn-ghost{color:var(--color-accent-700);padding-inline:var(--space-3);background:0 0}.btn-ghost:hover{background:var(--color-accent-2-100)}.btn:active{transform:translate(2px,2px)}.btn:focus-visible{outline:2px solid var(--color-accent-700);outline-offset:2px}.btn:disabled,.btn[aria-disabled=true]{background:var(--color-neutral-200);color:var(--color-neutral-600);border-color:var(--color-neutral-400);cursor:not-allowed;transform:none}@media (prefers-reduced-motion:reduce){.btn:active{transform:none}}.btn-icon{background:var(--color-surface);color:var(--color-text);border:var(--border-medium);border-radius:var(--radius-md);padding:0}.btn-icon-32{width:32px;height:32px}.btn-icon-36{width:36px;height:36px}.btn-icon-44{width:44px;height:44px}.btn-icon:hover{background:var(--color-accent)}.btn-on-ink.btn-primary{background:var(--color-accent);color:var(--color-ink)}.btn-on-ink.btn-primary:hover{background:var(--color-accent-300)}.btn-on-ink.btn-secondary{color:var(--color-on-ink);border-color:var(--color-ink-line);background:0 0}.btn-on-ink.btn-secondary:hover{background:var(--color-ink-raised);border-color:var(--color-accent)}.btn-on-ink:focus-visible{outline-color:var(--color-accent)}
.tag{align-items:center;gap:var(--space-1);font-family:var(--font-mono);font-weight:var(--weight-strong);letter-spacing:var(--tracking-mono-caps);text-transform:uppercase;border-radius:var(--radius-chip);white-space:nowrap;line-height:1.35;display:inline-flex}.tag-sm{border-radius:var(--radius-xs);padding:2px 5px;font-size:9px}.tag-md{padding:4px 8px;font-size:10.5px}.tag-accent{background:var(--color-accent);color:var(--color-ink)}.tag-ad{background:var(--color-warn);color:var(--color-ink)}.tag-neutral{background:var(--color-neutral-100);color:var(--color-neutral-800);border:var(--border-hairline)}.tag-ink,.tag-strong{background:var(--color-ink);color:var(--color-accent)}.tag-outline{background:var(--color-surface);color:var(--color-text);border:var(--border-medium);border-radius:var(--radius-pill);font-size:12px;font-weight:var(--weight-strong);letter-spacing:var(--tracking-mono);padding:8px 13px}a.tag-outline,button.tag-outline{cursor:pointer;transition:background-color var(--duration-fast) ease, color var(--duration-fast) ease}a.tag-outline:hover,button.tag-outline:hover{background:var(--color-accent)}a.tag-outline:active,button.tag-outline:active{background:var(--color-accent-600)}a.tag-outline:focus-visible,button.tag-outline:focus-visible{outline:2px solid var(--color-accent-700);outline-offset:2px}
