* { box-sizing: border-box; } body { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif; margin: 0; padding: 2rem; background: #f5f5f5; line-height: 1.6; } .container { max-width: 1200px; margin: 0 auto; } h1 { color: #333; margin-bottom: 0.5rem; } .description { color: #666; margin-bottom: 2rem; } .badge { display: inline-block; padding: 0.25rem 0.5rem; background: #4a90e2; color: white; border-radius: 4px; font-size: 0.75rem; font-weight: 600; margin-left: 0.5rem; } .badge.success { background: #52c41a; } .badge.loading { background: #faad14; } .panel { background: white; padding: 1.5rem; border-radius: 8px; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); margin-bottom: 2rem; } .picker-form { display: flex; align-items: center; gap: 0.75rem; flex-wrap: wrap; } .picker-select, .picker-button { padding: 0.5rem 1rem; border: 1px solid #ddd; border-radius: 6px; background: white; cursor: pointer; font-size: 0.875rem; font-weight: 500; transition: all 0.2s; } .picker-select:hover, .picker-button:hover:not(:disabled) { background: #f9f9f9; border-color: #ccc; } .picker-select:focus, .picker-button:focus { outline: none; border-color: #4a90e2; box-shadow: 0 0 0 3px rgba(74, 144, 226, 0.1); } .picker-button:disabled { opacity: 0.5; cursor: not-allowed; background: #f5f5f5; } .divider { width: 1px; height: 2rem; background: #e0e0e0; margin: 0 0.25rem; } pre { margin: 0; overflow-x: auto; font-size: 0.875rem; line-height: 1.5; } .loading { text-align: center; padding: 2rem; color: #666; } .spinner { display: inline-block; width: 40px; height: 40px; border: 4px solid #f3f3f3; border-top: 4px solid #4a90e2; border-radius: 50%; animation: spin 1s linear infinite; margin-bottom: 1rem; } @keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } .screen-preview { background: white; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); display: none; margin-bottom: 2rem; } .screen-preview.visible { display: inline-block; } h2 { margin: 0 0 1.5rem 0; color: #333; font-size: 1.25rem; }