deck-card {
  display: contents;
}
deck-card .card { position: relative; min-width: 0; display: flex; flex-direction: column; gap: 0.5rem }
deck-card .card[data-span=lg] { grid-column: span 2; grid-row: span 2 }
deck-card .card[data-variant=boxed] { border: 1px solid var(--slide-rule); padding: var(--slide-inset) }
deck-card .card[data-variant=pill] { border: 1px solid var(--slide-rule); padding: 1.25rem }
deck-card .card[data-variant=tile] { border-top: 3px solid var(--slide-accent); padding-top: var(--slide-rhythm-sm) }
deck-card .card[data-tone=invert] { padding: var(--slide-inset) }
deck-card .card[data-tone=accent] { padding: var(--slide-inset) }
deck-card .card[data-variant=node] { border: 1px solid var(--slide-rule-strong); background: var(--slide-surface); font-family: var(--font-mono); font-size: var(--slide-fs-node); text-align: center; min-width: 140px; padding: 1rem 1.5rem }
deck-card .card[data-variant=node][data-tone=invert] { border-color: var(--slide-accent); box-shadow: var(--slide-offset-sm) var(--slide-offset-sm) 0 var(--slide-shadow) }
deck-card .card[data-variant=step] { border-top: 1px solid var(--slide-rule); padding-top: 1.25rem }
deck-card .card[data-variant=step]::before { content: ''; position: absolute; top: -7px; left: 0; width: 12px; height: 12px; border-radius: var(--slide-radius-dot); background: var(--slide-rule-strong) }
deck-card .card[data-variant=step][data-now=true]::before { background: var(--slide-accent); box-shadow: 0 0 0 4px var(--slide-bg), 0 0 0 5px var(--slide-accent) }
deck-card .card[data-variant=arrow] { color: var(--slide-accent); font-size: 2rem; display: flex; align-items: center; justify-content: center }
deck-card .card[data-variant=cell] { border: 1px solid var(--slide-rule); padding: var(--slide-rhythm-sm); font-family: var(--font-mono); font-size: var(--slide-ms-md); letter-spacing: var(--slide-lt-1); display: flex; align-items: center }
deck-card .card[data-variant=cell][data-span=lg] { font-family: var(--font-sans); font-size: var(--slide-fs-cell); line-height: 1.1; letter-spacing: var(--slide-lt-display); padding: 1.5rem }
deck-card .kicker { font-family: var(--font-mono); font-size: var(--slide-ms-xs); letter-spacing: var(--slide-lt-3); text-transform: uppercase; color: var(--slide-accent) }
deck-card .kicker:empty { display: none }
deck-card .title { font-size: clamp(1.1rem, 1.6vw, 1.35rem); font-weight: var(--slide-fw-medium); margin: 0; line-height: var(--slide-lh-snug); color: var(--slide-fg) }
deck-card .title:empty { display: none }
deck-card .card[data-variant=node] .title { font-family: inherit; font-size: inherit; font-weight: var(--slide-fw-regular) }
deck-card .card[data-variant=arrow] .title { font-family: inherit; font-size: inherit; font-weight: var(--slide-fw-light); line-height: 1; color: inherit }
deck-card .card[data-variant=cell] .title { font-family: inherit; font-size: inherit; font-weight: var(--slide-fw-regular); letter-spacing: inherit; line-height: inherit }
deck-card .card[data-variant=step][data-now=true] .title { font-style: italic; color: var(--slide-accent) }
deck-card .text { font-size: var(--slide-fs-bullet); line-height: var(--slide-lh-body); margin: 0; color: var(--slide-fg) }
deck-card .text:empty { display: none }
