/* Deck + Slide — esqueleto co-locado (v2: sin utilities). */ /* --- Slide ------------------------------------------------ */ .sd-slide { position: relative; display: flex; min-height: 100vh; width: 100%; scroll-snap-align: start; overflow: hidden; padding-inline: clamp(24px, 6vw, 128px); padding-block: clamp(56px, 8vh, 96px); } .sd-slide__body { position: relative; z-index: 1; display: flex; width: 100%; flex-direction: column; justify-content: center; } .sd-slide__body--start { justify-content: flex-start; padding-top: clamp(64px, 9vh, 128px); } .sd-slide__body--end { justify-content: flex-end; padding-bottom: clamp(64px, 9vh, 128px); } /* Sin tope en px: el contenedor es fluido y la medida de lectura la ponen las clases de porcentaje y las columnas de grid. */ .sd-slide__inner { margin-inline: auto; width: 100%; } /* --- Deck chrome ------------------------------------------ */ .sd-deck { position: relative; } .sd-deck__progress { position: fixed; left: 0; right: 0; top: 0; z-index: 50; height: 3px; transform-origin: left; background: var(--accent-500); } .sd-deck__nav { position: fixed; right: 16px; top: 50%; transform: translateY(-50%); z-index: 40; display: none; flex-direction: column; gap: var(--space-2); } @media (min-width: 768px) { .sd-deck__nav { display: flex; } } .sd-deck__item { display: flex; flex-direction: column; align-items: flex-end; gap: var(--space-2); } .sd-deck__item--break { margin-top: var(--space-2); } .sd-deck__block { font-family: var(--font-mono); font-variant-numeric: tabular-nums; font-size: 9px; letter-spacing: 0.2em; color: var(--ink-400); } .sd-deck__block--inverse { color: rgba(255, 255, 255, 0.4); } /* El acento como estado activo solo sobre oscuro; sobre papel, tinta (RULES.md → Chrome) */ .sd-deck__dash { height: 6px; width: 18px; border-radius: var(--radius-xs); background: var(--ink-200); transition: background var(--dur-short) var(--ease-out); cursor: pointer; } .sd-deck__dash:hover:not(.sd-deck__dash--active) { background: var(--ink-400); } .sd-deck__dash--active { background: var(--ink-900); } .sd-deck__dash--inverse { background: rgba(255, 255, 255, 0.2); } .sd-deck__dash--inverse:hover:not(.sd-deck__dash--active) { background: rgba(255, 255, 255, 0.4); } .sd-deck__dash--inverse.sd-deck__dash--active { background: var(--accent-500); } .sd-deck__meta { pointer-events: none; position: fixed; left: clamp(24px, 6vw, 128px); top: 24px; z-index: 40; font-family: var(--font-mono); font-variant-numeric: tabular-nums; font-size: 11px; letter-spacing: 0.18em; color: var(--ink-400); } .sd-deck__meta--inverse { color: rgba(255, 255, 255, 0.55); }