@use 'ui-design-system/src/styles/semantic' as *; .demo-container { max-width: 1200px; margin: 0 auto; padding: $semantic-spacing-layout-lg; h2 { font-size: $semantic-typography-heading-h2-size; font-weight: $semantic-typography-font-weight-semibold; color: $semantic-color-on-surface; margin-bottom: $semantic-spacing-layout-lg; border-bottom: 2px solid $semantic-color-outline; padding-bottom: $semantic-spacing-component-md; } } .demo-section { margin-bottom: $semantic-spacing-layout-xl; h3 { font-size: $semantic-typography-heading-h3-size; font-weight: $semantic-typography-font-weight-medium; color: $semantic-color-on-surface; margin-bottom: $semantic-spacing-layout-md; } } .demo-row { display: flex; flex-wrap: wrap; gap: $semantic-spacing-component-md; margin-bottom: $semantic-spacing-layout-sm; } .config-panel { background: $semantic-color-surface-secondary; border: 1px solid $semantic-color-outline; border-radius: $semantic-border-radius-lg; padding: $semantic-spacing-component-lg; .config-row { display: flex; align-items: center; gap: $semantic-spacing-component-md; margin-bottom: $semantic-spacing-component-md; flex-wrap: wrap; &:last-child { margin-bottom: 0; margin-top: $semantic-spacing-component-lg; } label { font-size: $semantic-typography-font-size-sm; font-weight: $semantic-typography-font-weight-medium; color: $semantic-color-on-surface; display: flex; align-items: center; gap: $semantic-spacing-component-xs; white-space: nowrap; } select { padding: $semantic-spacing-component-xs $semantic-spacing-component-sm; border: 1px solid $semantic-color-outline; border-radius: $semantic-border-radius-sm; background: $semantic-color-surface-primary; color: $semantic-color-on-surface; font-size: $semantic-typography-font-size-sm; min-width: 120px; } input[type="checkbox"] { margin: 0; accent-color: $semantic-color-primary; } } } .event-log { background: $semantic-color-surface-secondary; border: 1px solid $semantic-color-outline; border-radius: $semantic-border-radius-md; padding: $semantic-spacing-component-md; max-height: 200px; overflow-y: auto; margin-bottom: $semantic-spacing-component-md; font-family: 'Courier New', monospace; font-size: $semantic-typography-font-size-sm; .event-item { padding: $semantic-spacing-component-xs 0; color: $semantic-color-on-surface-variant; border-bottom: 1px solid $semantic-color-outline-variant; &:last-child { border-bottom: none; } } } .nav-item { display: flex; align-items: center; gap: $semantic-spacing-component-sm; padding: $semantic-spacing-component-md $semantic-spacing-component-lg; border-radius: $semantic-border-radius-sm; cursor: pointer; transition: all $semantic-motion-duration-fast $semantic-motion-easing-ease; color: $semantic-color-on-surface; margin-bottom: $semantic-spacing-component-xs; &:hover { background: $semantic-color-surface-variant; color: $semantic-color-primary; } &:active { background: $semantic-color-surface-container; } fa-icon { width: 20px; color: inherit; } span { font-size: $semantic-typography-font-size-md; font-weight: $semantic-typography-font-weight-medium; } } // Responsive design @media (max-width: 768px) { .demo-container { padding: $semantic-spacing-component-lg; } .demo-row { flex-direction: column; align-items: stretch; } .config-panel .config-row { flex-direction: column; align-items: stretch; gap: $semantic-spacing-component-sm; label { justify-content: space-between; } select { min-width: auto; } } }