* { margin: 0; padding: 0; box-sizing: border-box; } body { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; line-height: 1.6; color: #333; background: #fff; min-height: 100vh; } .hero { background: #f5f5f5; color: #333; padding: 2rem 1rem; text-align: center; } .hero-content { max-width: 600px; margin: 0 auto; } .app-icon { font-size: 2rem; margin-bottom: 0.5rem; display: inline-block; } .hero h1 { font-size: 1.5rem; font-weight: 600; margin-bottom: 0.5rem; } .tagline { font-size: 1rem; color: #666; } .container { max-width: 600px; margin: 0 auto; padding: 1rem; } .main-card { background: #fff; border: 1px solid #eee; margin-bottom: 1rem; } .app-preview { background: #f5f5f5; padding: 1rem; text-align: center; } .preview-image { background: #eee; padding: 1rem; max-width: 300px; margin: 0 auto; } .camera-feed { font-size: 2rem; opacity: 0.5; } .detection-overlay { display: none; } .bbox { background: #333; color: white; padding: 0.25rem 0.5rem; font-size: 0.8rem; display: inline-block; } .app-details { padding: 1rem; } .app-details h2 { font-size: 1.25rem; margin-bottom: 1rem; } .template-info { display: block; } .info-box { background: #f9f9f9; border: 1px solid #eee; padding: 1rem; margin-bottom: 1rem; } .info-box h3 { font-size: 1rem; margin-bottom: 0.5rem; } .info-box p { color: #666; } .how-to-use { background: #f9f9f9; border: 1px solid #eee; padding: 1rem; margin-top: 1rem; } .how-to-use h3 { font-size: 1rem; margin-bottom: 1rem; } .steps { display: block; } .step { display: flex; align-items: flex-start; gap: 0.5rem; margin-bottom: 0.5rem; } .step-number { background: #333; color: white; width: 1.5rem; height: 1.5rem; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 0.75rem; flex-shrink: 0; } .step h4 { font-size: 0.9rem; margin-bottom: 0.25rem; } .step p { color: #666; font-size: 0.85rem; } .download-section { padding: 1rem; } .download-card { background: #fff; border: 1px solid #eee; padding: 1.5rem; text-align: center; max-width: 600px; margin: 0 auto; } .download-card h2 { font-size: 1.25rem; margin-bottom: 1rem; } .download-card>p { color: #666; margin-bottom: 1rem; } .dashboard-config { margin-bottom: 1rem; text-align: left; } .dashboard-config label { display: block; font-size: 0.9rem; margin-bottom: 0.25rem; } .dashboard-config input { width: 100%; padding: 0.5rem; border: 1px solid #ddd; font-size: 0.9rem; } .dashboard-config input:focus { outline: none; border-color: #333; } .install-btn { background: #333; color: white; border: none; padding: 0.75rem 1.5rem; font-size: 1rem; cursor: pointer; display: inline-flex; align-items: center; gap: 0.5rem; margin-bottom: 1rem; } .install-btn:hover:not(:disabled) { background: #555; } .install-btn:disabled { opacity: 0.5; cursor: not-allowed; } .manual-option { background: #f9f9f9; padding: 1rem; margin-top: 1rem; } .manual-option h3 { font-size: 1rem; margin-bottom: 0.5rem; } .manual-option>p { color: #666; margin-bottom: 0.5rem; } .btn-icon { font-size: 1rem; } .install-status { padding: 0.75rem; font-size: 0.85rem; text-align: center; display: none; margin-top: 0.5rem; } .install-status.success { background: #e8f5e9; color: #2e7d32; } .install-status.error { background: #ffebee; color: #c62828; } .install-status.loading { background: #e3f2fd; color: #1565c0; } .install-status.info { background: #e3f2fd; color: #1565c0; } .manual-install { background: #333; padding: 0.75rem; margin-bottom: 0.5rem; display: flex; align-items: center; gap: 0.5rem; } .manual-install code { color: #4caf50; font-family: monospace; font-size: 0.8rem; flex: 1; overflow-x: auto; } .copy-btn { background: #555; color: white; border: none; padding: 0.25rem 0.5rem; font-size: 0.75rem; cursor: pointer; } .copy-btn:hover { background: #777; } .manual-steps { color: #666; font-size: 0.85rem; } .footer { text-align: center; padding: 1rem; color: #666; } .footer a { color: #333; } .footer a:hover { text-decoration: underline; } @media (max-width: 768px) { .hero { padding: 1rem; } .hero h1 { font-size: 1.25rem; } .container { padding: 0.5rem; } .app-details, .download-card { padding: 1rem; } .features-grid { grid-template-columns: 1fr; } .download-options { grid-template-columns: 1fr; } }