.demo-app { min-height: 100vh; padding: 2rem; max-width: 1400px; margin: 0 auto; } // Header .demo-header { margin-bottom: 2rem; display: flex; align-items: center; gap: 1rem; flex-wrap: wrap; &__title { font-size: 1.75rem; font-weight: 700; color: var(--color-text-primary); } &__subtitle { font-size: 0.875rem; color: var(--color-text-secondary); flex: 1; } &__actions { display: flex; gap: 0.5rem; } } // Button .demo-btn { padding: 0.5rem 1rem; border-radius: 0.375rem; font-size: 0.875rem; font-weight: 500; cursor: pointer; transition: all 0.15s ease; border: 1px solid var(--color-border); background: var(--color-bg-secondary); color: var(--color-text-primary); &:hover { border-color: var(--color-text-secondary); } &--ghost { background: transparent; } } // Navigation .demo-nav { display: flex; gap: 0.25rem; margin-bottom: 2rem; border-bottom: 1px solid var(--color-border); padding-bottom: 0; &__item { padding: 0.5rem 1rem; background: none; border: none; border-bottom: 2px solid transparent; color: var(--color-text-secondary); font-size: 0.875rem; font-weight: 500; cursor: pointer; transition: all 0.15s ease; margin-bottom: -1px; &:hover { color: var(--color-text-primary); } &--active { color: var(--color-primary); border-bottom-color: var(--color-primary); } } } // Grid .demo-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(400px, 1fr)); gap: 1.5rem; } // Card .demo-card { background: var(--color-bg-secondary); border: 1px solid var(--color-border); border-radius: 0.75rem; padding: 1.5rem; overflow: hidden; &--wide { grid-column: span 1; } &--full { grid-column: 1 / -1; } &--center { display: flex; flex-direction: column; align-items: center; } &__title { font-size: 0.875rem; font-weight: 600; color: var(--color-text-secondary); text-transform: uppercase; letter-spacing: 0.05em; margin-bottom: 1rem; } } // Layout helpers .demo-row { display: flex; align-items: center; gap: 1rem; &--between { justify-content: space-between; width: 100%; } } .demo-stack { display: flex; flex-direction: column; gap: 1rem; width: 100%; }