/* ============================================================ VisualGuide — step-by-step visual guide card Designed for elderly users: high contrast, large text, generous spacing ============================================================ */ .visual-guide { background-color: var(--color-primary-light); border: 2px solid var(--color-primary); border-radius: var(--radius-lg); box-shadow: 0 4px 16px var(--color-shadow); overflow: hidden; margin-top: var(--spacing-md); animation: fadeIn 300ms ease forwards; } /* Empty / error state */ .visual-guide--empty { background-color: var(--color-surface-alt); border-color: var(--color-border); padding: var(--spacing-lg); text-align: center; color: var(--color-text-light); font-size: var(--font-size-base); } /* ---- Header ---- */ .visual-guide__header { display: flex; align-items: center; gap: var(--spacing-sm); background-color: var(--color-primary); color: var(--color-white); padding: var(--spacing-md) var(--spacing-lg); } .visual-guide__header-icon { font-size: var(--font-size-lg); flex-shrink: 0; } .visual-guide__title { flex: 1; font-size: var(--font-size-md); font-weight: 700; color: var(--color-white); line-height: 1.3; margin: 0; } .visual-guide__os-badge { font-size: var(--font-size-sm); font-weight: 600; background-color: rgba(255, 255, 255, 0.25); color: var(--color-white); border-radius: var(--radius-full); padding: 2px var(--spacing-sm); white-space: nowrap; flex-shrink: 0; } /* ---- Steps list ---- */ .visual-guide__steps { list-style: none; margin: 0; padding: var(--spacing-md) var(--spacing-lg) var(--spacing-lg); display: flex; flex-direction: column; gap: var(--spacing-md); } /* ---- Individual step ---- */ .visual-guide__step { display: flex; align-items: flex-start; gap: var(--spacing-md); } /* Circle number badge */ .visual-guide__step-num { display: flex; align-items: center; justify-content: center; flex-shrink: 0; width: 36px; height: 36px; border-radius: 50%; background-color: var(--color-primary); color: var(--color-white); font-size: var(--font-size-sm); font-weight: 700; line-height: 1; margin-top: 2px; /* align with first line of text */ } /* Step text + keys container */ .visual-guide__step-content { flex: 1; display: flex; flex-direction: column; gap: var(--spacing-sm); } .visual-guide__step-text { font-size: var(--font-size-base); line-height: var(--line-height); color: var(--color-text); margin: 0; } /* ---- Keyboard key badges ---- */ .visual-guide__keys { display: flex; align-items: center; gap: var(--spacing-xs); flex-wrap: wrap; } .visual-guide__key { display: inline-flex; align-items: center; justify-content: center; background-color: var(--color-surface); color: var(--color-text); border: 2px solid var(--color-primary); border-radius: var(--radius-sm); box-shadow: 0 2px 0 var(--color-primary); padding: 4px 10px; font-family: var(--font-family); font-size: var(--font-size-sm); font-weight: 700; min-width: 36px; text-align: center; white-space: nowrap; } .visual-guide__key-plus { font-size: var(--font-size-md); font-weight: 700; color: var(--color-text-light); padding: 0 2px; }