openvibers/openvibe.shoes Commits
Hero tags rise into place (no sideways overflow while they arrive) (#36)
Changes
@@@ -99,7 +99,7 @@/* Shared's room hero, chips and rails bleed 16 px past a 16 px gutter; this site's phone gutter is 12 px (11-01 phone sweep: +4 px) */@media (max-width: 640px) { .sh-wrap .ovk-rail { --ovk-rail-bleed: 12px; } .sh-wrap .sc-room-hero, .sh-wrap .sc-room-chips { margin-inline: -12px; padding-inline: 12px; } }--/* The room's motif: one stroke draws the shoe, then three stores' tags slide in and the lowest lights up. Motion++/* The room's motif: one stroke draws the shoe, then three stores' tags rise in and the lowest lights up. Motionfollows the network's tokens (Calm stills it); reduced motion shows the finished picture. */.sh-motif { position: relative; width: min(100%, 400px); aspect-ratio: 16 / 11; margin: 0 auto; color: var(--room-accent); }.sh-shoe { position: absolute; inset: 10% 6% auto; width: 84%; }@@@ -116,7 +116,9 @@.sh-mt-3 { left: 4%; bottom: 0; animation-delay: calc(var(--ov-dur-4, .52s) * 3.8); }.sh-mt.is-best { border-color: var(--room-accent); box-shadow: 0 0 0 1px var(--room-accent), 0 14px 30px -18px rgba(0, 0, 0, .7); }.sh-mt.is-best b { color: var(--room-strong, var(--room-accent)); }--@keyframes shTag { from { opacity: 0; transform: translateX(24px); } }++/* The tags rise into place. They used to slide in from 24 px to the right and wait there through their delay, so the++ right-hand one stood past the edge for the first two seconds (the release check: a 761 px page at 768, 2026-11-02). */++@keyframes shTag { from { opacity: 0; transform: translateY(10px) scale(.96); } }@media (prefers-reduced-motion: reduce) { .sh-shoe path, .sh-mt { animation: none; } }/* Tables on a phone (phone sweep, 2026-11-01): a table of three columns or more whose cells name their column (data-label) shows each row as a card, the first
@@ -99,7 +99,7 @@
@@ -99,7 +99,7 @@
/* Shared's room hero, chips and rails bleed 16 px past a 16 px gutter; this site's phone gutter is 12 px (11-01 phone sweep: +4 px) */
/* Shared's room hero, chips and rails bleed 16 px past a 16 px gutter; this site's phone gutter is 12 px (11-01 phone sweep: +4 px) */
@media (max-width: 640px) { .sh-wrap .ovk-rail { --ovk-rail-bleed: 12px; } .sh-wrap .sc-room-hero, .sh-wrap .sc-room-chips { margin-inline: -12px; padding-inline: 12px; } }
@media (max-width: 640px) { .sh-wrap .ovk-rail { --ovk-rail-bleed: 12px; } .sh-wrap .sc-room-hero, .sh-wrap .sc-room-chips { margin-inline: -12px; padding-inline: 12px; } }
-/* The room's motif: one stroke draws the shoe, then three stores' tags slide in and the lowest lights up. Motion
+/* The room's motif: one stroke draws the shoe, then three stores' tags rise in and the lowest lights up. Motion
follows the network's tokens (Calm stills it); reduced motion shows the finished picture. */
follows the network's tokens (Calm stills it); reduced motion shows the finished picture. */
.sh-motif { position: relative; width: min(100%, 400px); aspect-ratio: 16 / 11; margin: 0 auto; color: var(--room-accent); }
.sh-motif { position: relative; width: min(100%, 400px); aspect-ratio: 16 / 11; margin: 0 auto; color: var(--room-accent); }
.sh-shoe { position: absolute; inset: 10% 6% auto; width: 84%; }
.sh-shoe { position: absolute; inset: 10% 6% auto; width: 84%; }
@@ -116,7 +116,9 @@
@@ -116,7 +116,9 @@
.sh-mt-3 { left: 4%; bottom: 0; animation-delay: calc(var(--ov-dur-4, .52s) * 3.8); }
.sh-mt-3 { left: 4%; bottom: 0; animation-delay: calc(var(--ov-dur-4, .52s) * 3.8); }
.sh-mt.is-best { border-color: var(--room-accent); box-shadow: 0 0 0 1px var(--room-accent), 0 14px 30px -18px rgba(0, 0, 0, .7); }
.sh-mt.is-best { border-color: var(--room-accent); box-shadow: 0 0 0 1px var(--room-accent), 0 14px 30px -18px rgba(0, 0, 0, .7); }
.sh-mt.is-best b { color: var(--room-strong, var(--room-accent)); }
.sh-mt.is-best b { color: var(--room-strong, var(--room-accent)); }
-@keyframes shTag { from { opacity: 0; transform: translateX(24px); } }
+/* The tags rise into place. They used to slide in from 24 px to the right and wait there through their delay, so the
+ right-hand one stood past the edge for the first two seconds (the release check: a 761 px page at 768, 2026-11-02). */
+@keyframes shTag { from { opacity: 0; transform: translateY(10px) scale(.96); } }
@media (prefers-reduced-motion: reduce) { .sh-shoe path, .sh-mt { animation: none; } }
@media (prefers-reduced-motion: reduce) { .sh-shoe path, .sh-mt { animation: none; } }
/* Tables on a phone (phone sweep, 2026-11-01): a table of three columns or more whose cells name their column (data-label) shows each row as a card, the first
/* Tables on a phone (phone sweep, 2026-11-01): a table of three columns or more whose cells name their column (data-label) shows each row as a card, the first