| @import url('https://fonts.googleapis.com/css2?family=Inter:wght@200;300;400;500;600;700&display=swap'); |
|
|
| * { |
| margin: 0; |
| padding: 0; |
| box-sizing: border-box; |
| } |
|
|
| html { |
| scroll-behavior: smooth; |
| } |
|
|
| :root { |
| --bg-dark: #0a0a0f; |
| --bg-darker: #050509; |
| --bg-card: #16161f; |
| --text-primary: #ffffff; |
| --text-body: #b4b4c8; |
| --text-muted: #7a7a8c; |
| --coral: #FF6B4A; |
| --coral-dark: #E85A3A; |
| --coral-light: #FF8A6E; |
| --sunshine: #FFD93D; |
| --mint: #6BCB77; |
| --lavender: #9B7EE8; |
| --sky: #4ECDC4; |
| --border-soft: rgba(255, 255, 255, 0.08); |
| --shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.2); |
| --shadow-md: 0 8px 32px rgba(0, 0, 0, 0.3); |
| --shadow-lg: 0 16px 48px rgba(0, 0, 0, 0.4); |
| --radius-sm: 12px; |
| --radius-md: 20px; |
| --radius-lg: 28px; |
| } |
|
|
| body { |
| font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif; |
| background: var(--bg-dark); |
| color: var(--text-primary); |
| line-height: 1.6; |
| -webkit-font-smoothing: antialiased; |
| min-height: 100vh; |
| overflow-x: hidden; |
| } |
|
|
| .container { |
| max-width: 1200px; |
| margin: 0 auto; |
| padding: 0 1rem; |
| } |
|
|
| |
| body::before { |
| content: ''; |
| position: fixed; |
| top: -50%; |
| right: -20%; |
| width: 80%; |
| height: 100%; |
| background: radial-gradient(circle, rgba(255, 107, 74, 0.12) 0%, transparent 60%); |
| pointer-events: none; |
| z-index: -1; |
| } |
|
|
| body::after { |
| content: ''; |
| position: fixed; |
| bottom: -30%; |
| left: -20%; |
| width: 60%; |
| height: 80%; |
| background: radial-gradient(circle, rgba(155, 126, 232, 0.1) 0%, transparent 50%); |
| pointer-events: none; |
| z-index: -1; |
| } |
|
|
| |
| .header { |
| padding: 1.25rem 0; |
| position: sticky; |
| top: 0; |
| z-index: 100; |
| background: rgba(10, 10, 15, 0.85); |
| backdrop-filter: blur(20px); |
| -webkit-backdrop-filter: blur(20px); |
| border-bottom: 1px solid var(--border-soft); |
| } |
|
|
| .header-content { |
| max-width: 1200px; |
| margin: 0 auto; |
| padding: 0 2rem; |
| display: flex; |
| justify-content: space-between; |
| align-items: center; |
| } |
|
|
| .logo { |
| display: flex; |
| align-items: center; |
| gap: 0.75rem; |
| font-family: 'Inter', sans-serif; |
| font-weight: 700; |
| font-size: 1.15rem; |
| color: var(--text-primary); |
| } |
|
|
| .logo-icon { |
| font-size: 1.6rem; |
| display: flex; |
| align-items: center; |
| justify-content: center; |
| width: 42px; |
| height: 42px; |
| background: linear-gradient(135deg, var(--coral) 0%, var(--coral-light) 100%); |
| border-radius: var(--radius-sm); |
| box-shadow: 0 4px 12px rgba(255, 107, 74, 0.3); |
| } |
|
|
| .nav { |
| display: flex; |
| gap: 0.5rem; |
| align-items: center; |
| } |
|
|
| .nav-link { |
| padding: 0.5rem 1rem; |
| color: var(--text-body); |
| text-decoration: none; |
| font-size: 0.9rem; |
| font-weight: 500; |
| border-radius: 8px; |
| transition: all 0.3s ease; |
| } |
|
|
| .nav-link:hover { |
| color: var(--text-primary); |
| background: var(--bg-card); |
| } |
|
|
| .github-btn { |
| display: flex; |
| align-items: center; |
| gap: 0.6rem; |
| padding: 0.65rem 1.25rem; |
| background: var(--bg-card); |
| border: 2px solid var(--border-soft); |
| border-radius: 100px; |
| color: var(--text-primary); |
| text-decoration: none; |
| font-size: 0.9rem; |
| font-weight: 600; |
| transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); |
| box-shadow: var(--shadow-sm); |
| } |
|
|
| .github-btn:hover { |
| border-color: var(--coral); |
| box-shadow: 0 4px 16px rgba(255, 107, 74, 0.2); |
| transform: translateY(-2px); |
| } |
|
|
| |
| .hero-section { |
| padding: 3rem 0 3rem; |
| position: relative; |
| } |
|
|
| .hero-grid { |
| display: grid; |
| grid-template-columns: 1fr 1fr; |
| gap: 3rem; |
| align-items: start; |
| } |
|
|
| .hero-left { |
| text-align: left; |
| } |
|
|
| .hero-right { |
| display: flex; |
| flex-direction: column; |
| align-items: flex-start; |
| gap: 1.5rem; |
| } |
|
|
| .hero-label { |
| display: inline-flex; |
| align-items: center; |
| gap: 0.5rem; |
| padding: 0.5rem 1rem 0.5rem 0.65rem; |
| background: var(--bg-card); |
| border: 2px solid var(--border-soft); |
| border-radius: 100px; |
| font-size: 0.8rem; |
| font-weight: 600; |
| letter-spacing: 0.05em; |
| text-transform: uppercase; |
| color: var(--coral); |
| margin-bottom: 2rem; |
| box-shadow: var(--shadow-sm); |
| } |
|
|
| .hero-label::before { |
| content: 'π€'; |
| font-size: 1.1rem; |
| } |
|
|
| .hero-title { |
| font-family: 'Inter', sans-serif; |
| font-size: clamp(3rem, 7vw, 4.5rem); |
| font-weight: 700; |
| line-height: 1.1; |
| margin-bottom: 1.5rem; |
| color: var(--text-primary); |
| letter-spacing: -0.03em; |
| } |
|
|
| .hero-title span { |
| display: inline-block; |
| background: linear-gradient(135deg, var(--coral) 0%, var(--coral-dark) 50%, var(--lavender) 100%); |
| -webkit-background-clip: text; |
| -webkit-text-fill-color: transparent; |
| background-clip: text; |
| } |
|
|
| .hero-description { |
| font-size: 1.1rem; |
| line-height: 1.7; |
| color: var(--text-body); |
| max-width: 600px; |
| margin-bottom: 2rem; |
| } |
|
|
| .hero-tags { |
| display: flex; |
| gap: 0.75rem; |
| justify-content: flex-start; |
| flex-wrap: wrap; |
| } |
|
|
| .tag { |
| padding: 0.5rem 0.5rem; |
| background: var(--bg-card); |
| border: 2px solid var(--border-soft); |
| border-radius: 100px; |
| font-size: 0.9rem; |
| font-weight: 500; |
| color: var(--text-body); |
| transition: all 0.3s ease; |
| } |
|
|
| .tag:hover { |
| border-color: var(--coral); |
| transform: translateY(-2px); |
| } |
|
|
| .hero-tech { |
| margin-top: 2.5rem; |
| display: flex; |
| flex-direction: column; |
| align-items: flex-start; |
| gap: 1rem; |
| } |
|
|
| .hero-tech-label { |
| font-size: 0.8rem; |
| font-weight: 600; |
| text-transform: uppercase; |
| letter-spacing: 0.08em; |
| color: var(--text-muted); |
| } |
|
|
| .hero-tech-stack { |
| display: flex; |
| gap: 0.75rem; |
| flex-wrap: wrap; |
| justify-content: flex-start; |
| } |
|
|
| .tech-pill { |
| padding: 0.4rem 0.75rem; |
| background: linear-gradient(135deg, rgba(255, 107, 74, 0.08), rgba(155, 126, 232, 0.05)); |
| border: 1px solid rgba(255, 107, 74, 0.2); |
| border-radius: 100px; |
| font-size: 0.75rem; |
| font-weight: 500; |
| color: rgba(255, 138, 110, 0.8); |
| transition: all 0.3s ease; |
| } |
|
|
| .tech-pill:hover { |
| background: linear-gradient(135deg, rgba(255, 107, 74, 0.15), rgba(155, 126, 232, 0.12)); |
| border-color: var(--coral); |
| transform: translateY(-2px); |
| } |
|
|
| |
| section { |
| padding: 3rem 0; |
| } |
|
|
| .section-label { |
| display: inline-flex; |
| align-items: center; |
| gap: 0.5rem; |
| padding: 0.4rem 0.9rem; |
| background: linear-gradient(135deg, var(--coral) 0%, var(--coral-light) 100%); |
| border-radius: 100px; |
| font-size: 0.7rem; |
| font-weight: 700; |
| letter-spacing: 0.08em; |
| text-transform: uppercase; |
| color: white; |
| margin-bottom: 1rem; |
| } |
|
|
| .section-title { |
| font-family: 'Inter', sans-serif; |
| font-size: clamp(2rem, 5vw, 3rem); |
| font-weight: 700; |
| text-align: center; |
| margin-bottom: 1rem; |
| color: var(--text-primary); |
| letter-spacing: -0.02em; |
| } |
|
|
| .section-subtitle { |
| font-size: 1.1rem; |
| text-align: center; |
| color: var(--text-muted); |
| margin-bottom: 2rem; |
| max-width: 600px; |
| margin-left: auto; |
| margin-right: auto; |
| } |
|
|
| |
| .config-section { |
| text-align: center; |
| } |
|
|
| .config-grid { |
| display: grid; |
| grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); |
| gap: 1.5rem; |
| max-width: 800px; |
| margin: 0 auto; |
| } |
|
|
| .config-card { |
| background: var(--bg-card); |
| border: 2px solid var(--border-soft); |
| border-radius: var(--radius-lg); |
| padding: 2.5rem; |
| text-align: left; |
| transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1); |
| box-shadow: var(--shadow-sm); |
| position: relative; |
| overflow: hidden; |
| } |
|
|
| .config-card::before { |
| content: ''; |
| position: absolute; |
| top: 0; |
| left: 0; |
| right: 0; |
| height: 4px; |
| background: linear-gradient(90deg, var(--coral), var(--sunshine)); |
| opacity: 0; |
| transition: opacity 0.3s ease; |
| } |
|
|
| .config-card:hover { |
| border-color: transparent; |
| box-shadow: var(--shadow-lg); |
| transform: translateY(-4px); |
| } |
|
|
| .config-card:hover::before { |
| opacity: 1; |
| } |
|
|
| .config-card.highlight { |
| border-color: var(--coral); |
| background: linear-gradient(135deg, rgba(255, 107, 74, 0.04), rgba(255, 107, 74, 0.01)); |
| } |
|
|
| .config-card.highlight::before { |
| opacity: 1; |
| } |
|
|
| .config-card h3 { |
| font-family: 'Inter', sans-serif; |
| font-size: 1.5rem; |
| font-weight: 700; |
| margin-bottom: 0.75rem; |
| color: var(--text-primary); |
| } |
|
|
| .config-card p { |
| color: var(--text-body); |
| margin-bottom: 1.5rem; |
| line-height: 1.7; |
| } |
|
|
| .config-list { |
| list-style: none; |
| padding: 0; |
| } |
|
|
| .config-list li { |
| padding: 0.6rem 0; |
| color: var(--text-body); |
| font-size: 0.95rem; |
| display: flex; |
| align-items: center; |
| gap: 0.75rem; |
| } |
|
|
| .config-list li::before { |
| content: "β"; |
| display: flex; |
| align-items: center; |
| justify-content: center; |
| width: 22px; |
| height: 22px; |
| background: linear-gradient(135deg, var(--mint), #5AB868); |
| color: white; |
| font-size: 0.7rem; |
| font-weight: 700; |
| border-radius: 50%; |
| flex-shrink: 0; |
| } |
|
|
| .config-note { |
| max-width: 800px; |
| margin: 2rem auto 0; |
| padding: 1.25rem 1.5rem; |
| background: rgba(99, 102, 241, 0.08); |
| border: 1px solid rgba(99, 102, 241, 0.2); |
| border-radius: var(--radius-md); |
| text-align: left; |
| } |
|
|
| .config-note p { |
| color: var(--text-body); |
| font-size: 0.9rem; |
| line-height: 1.7; |
| margin: 0; |
| } |
|
|
| .config-note strong { |
| color: var(--text-primary); |
| } |
|
|
| |
| .personalities-section { |
| text-align: center; |
| } |
|
|
| .personalities-grid { |
| display: grid; |
| grid-template-columns: repeat(3, 1fr); |
| gap: 1.5rem; |
| } |
|
|
| .personality-card { |
| background: var(--bg-card); |
| border: 2px solid var(--border-soft); |
| border-radius: var(--radius-md); |
| padding: 1.5rem; |
| text-align: center; |
| transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1); |
| box-shadow: var(--shadow-sm); |
| } |
|
|
| .personality-card:hover { |
| border-color: var(--coral); |
| box-shadow: var(--shadow-md); |
| transform: translateY(-4px) scale(1.01); |
| } |
|
|
| .personality-emoji { |
| font-size: 2.5rem; |
| margin-bottom: 0.75rem; |
| display: inline-block; |
| animation: float 3s ease-in-out infinite; |
| } |
|
|
| @keyframes float { |
| 0%, 100% { transform: translateY(0); } |
| 50% { transform: translateY(-6px); } |
| } |
|
|
| .personality-card:nth-child(2) .personality-emoji { animation-delay: 0.2s; } |
| .personality-card:nth-child(3) .personality-emoji { animation-delay: 0.4s; } |
| .personality-card:nth-child(4) .personality-emoji { animation-delay: 0.6s; } |
| .personality-card:nth-child(5) .personality-emoji { animation-delay: 0.8s; } |
| .personality-card:nth-child(6) .personality-emoji { animation-delay: 1s; } |
| .personality-card:nth-child(7) .personality-emoji { animation-delay: 1.2s; } |
| .personality-card:nth-child(8) .personality-emoji { animation-delay: 1.4s; } |
| .personality-card:nth-child(9) .personality-emoji { animation-delay: 1.6s; } |
|
|
| .personality-card h3 { |
| font-family: 'Inter', sans-serif; |
| font-size: 1.1rem; |
| font-weight: 700; |
| margin-bottom: 0.5rem; |
| color: var(--text-primary); |
| } |
|
|
| .personality-card p { |
| color: var(--text-body); |
| line-height: 1.6; |
| font-size: 0.85rem; |
| margin-bottom: 1rem; |
| } |
|
|
| .personality-tags { |
| display: flex; |
| gap: 0.5rem; |
| justify-content: center; |
| flex-wrap: wrap; |
| } |
|
|
| .personality-tag { |
| padding: 0.3rem 0.65rem; |
| background: linear-gradient(135deg, rgba(255, 107, 74, 0.1), rgba(155, 126, 232, 0.1)); |
| border-radius: 100px; |
| font-size: 0.7rem; |
| color: var(--coral-dark); |
| font-weight: 600; |
| } |
|
|
| |
| .features-section { |
| text-align: center; |
| } |
|
|
| .features-grid { |
| display: grid; |
| grid-template-columns: repeat(auto-fit, minmax(340px, 1fr)); |
| gap: 1.5rem; |
| } |
|
|
| .feature-item { |
| background: var(--bg-card); |
| border: 2px solid var(--border-soft); |
| border-radius: var(--radius-lg); |
| padding: 2.25rem; |
| text-align: left; |
| transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1); |
| box-shadow: var(--shadow-sm); |
| } |
|
|
| .feature-item:hover { |
| border-color: var(--coral); |
| box-shadow: var(--shadow-md); |
| transform: translateY(-4px); |
| } |
|
|
| .feature-icon-badge { |
| width: 56px; |
| height: 56px; |
| background: linear-gradient(135deg, var(--coral) 0%, var(--coral-light) 100%); |
| border-radius: var(--radius-md); |
| display: flex; |
| align-items: center; |
| justify-content: center; |
| margin-bottom: 1.5rem; |
| color: white; |
| box-shadow: 0 6px 16px rgba(255, 107, 74, 0.3); |
| } |
|
|
| .feature-item:nth-child(2) .feature-icon-badge { |
| background: linear-gradient(135deg, var(--lavender), #8B6BD8); |
| box-shadow: 0 6px 16px rgba(155, 126, 232, 0.3); |
| } |
|
|
| .feature-item:nth-child(3) .feature-icon-badge { |
| background: linear-gradient(135deg, var(--sky), #3EBDB4); |
| box-shadow: 0 6px 16px rgba(78, 205, 196, 0.3); |
| } |
|
|
| .feature-item:nth-child(4) .feature-icon-badge { |
| background: linear-gradient(135deg, var(--sunshine), #F0C41E); |
| box-shadow: 0 6px 16px rgba(255, 217, 61, 0.3); |
| } |
|
|
| .feature-item:nth-child(5) .feature-icon-badge { |
| background: linear-gradient(135deg, var(--mint), #5AB868); |
| box-shadow: 0 6px 16px rgba(107, 203, 119, 0.3); |
| } |
|
|
| .feature-item:nth-child(6) .feature-icon-badge { |
| background: linear-gradient(135deg, #FF8A6E, var(--coral)); |
| box-shadow: 0 6px 16px rgba(255, 138, 110, 0.3); |
| } |
|
|
| .feature-item h3 { |
| font-family: 'Inter', sans-serif; |
| font-size: 1.25rem; |
| font-weight: 700; |
| margin-bottom: 0.75rem; |
| color: var(--text-primary); |
| } |
|
|
| .feature-item p { |
| color: var(--text-body); |
| line-height: 1.7; |
| font-size: 0.95rem; |
| } |
|
|
| |
| .getting-started-section { |
| text-align: center; |
| } |
|
|
| .guide-card { |
| max-width: 1000px; |
| margin: 0 auto; |
| background: var(--bg-card); |
| border: 2px solid var(--border-soft); |
| border-radius: var(--radius-lg); |
| padding: 3rem; |
| text-align: left; |
| box-shadow: var(--shadow-md); |
| } |
|
|
| .guide-list { |
| list-style: none; |
| counter-reset: step-counter; |
| padding: 0; |
| display: flex; |
| flex-direction: column; |
| gap: 1.5rem; |
| } |
|
|
| .guide-list li { |
| counter-increment: step-counter; |
| display: flex; |
| gap: 1.5rem; |
| align-items: flex-start; |
| color: var(--text-body); |
| line-height: 1.7; |
| font-size: 1rem; |
| } |
|
|
| .guide-list li::before { |
| content: counter(step-counter); |
| width: 32px; |
| height: 32px; |
| background: linear-gradient(135deg, var(--coral), var(--coral-light)); |
| border-radius: 50%; |
| display: flex; |
| align-items: center; |
| justify-content: center; |
| font-family: 'Inter', sans-serif; |
| font-weight: 700; |
| font-size: 1rem; |
| color: white; |
| flex-shrink: 0; |
| margin-top: 0.1rem; |
| } |
|
|
| .guide-list li:nth-child(2)::before { |
| background: linear-gradient(135deg, var(--lavender), #8B6BD8); |
| } |
|
|
| .guide-list li:nth-child(3)::before { |
| background: linear-gradient(135deg, var(--sky), #3EBDB4); |
| } |
|
|
| .guide-list li:nth-child(4)::before { |
| background: linear-gradient(135deg, var(--mint), #5AB868); |
| } |
|
|
| .guide-list strong { |
| color: var(--text-primary); |
| font-weight: 600; |
| } |
|
|
| .api-link-inline { |
| display: inline-flex; |
| align-items: center; |
| gap: 0.25rem; |
| padding: 0.25rem 0.75rem; |
| background: linear-gradient(135deg, rgba(99, 102, 241, 0.15), rgba(99, 102, 241, 0.08)); |
| border: 1px solid rgba(99, 102, 241, 0.4); |
| border-radius: 6px; |
| text-decoration: none; |
| color: var(--coral-light); |
| font-size: 0.95rem; |
| font-weight: 600; |
| transition: all 0.3s ease; |
| margin: 0 0.25rem; |
| } |
|
|
| .api-link-inline:hover { |
| border-color: var(--coral); |
| background: linear-gradient(135deg, rgba(255, 107, 74, 0.2), rgba(255, 107, 74, 0.1)); |
| transform: translateY(-1px); |
| color: var(--coral); |
| } |
|
|
|
|
| |
| .footer { |
| background: var(--bg-card); |
| border-top: 2px solid var(--border-soft); |
| padding: 3.5rem 0; |
| margin-top: 3rem; |
| text-align: center; |
| } |
|
|
| .footer-links { |
| display: flex; |
| justify-content: center; |
| align-items: center; |
| gap: 1.25rem; |
| flex-wrap: wrap; |
| margin-bottom: 1.25rem; |
| } |
|
|
| .footer-links a { |
| color: var(--text-body); |
| text-decoration: none; |
| font-size: 0.95rem; |
| font-weight: 500; |
| transition: all 0.3s ease; |
| padding: 0.5rem 1rem; |
| border-radius: 100px; |
| } |
|
|
| .footer-links a:hover { |
| color: var(--coral); |
| background: rgba(255, 107, 74, 0.08); |
| } |
|
|
| .footer-links span { |
| color: var(--border-soft); |
| font-size: 0.6rem; |
| } |
|
|
| .footer-text { |
| color: var(--text-muted); |
| font-size: 0.9rem; |
| } |
|
|
| |
| .mobile-alternative { |
| display: none; |
| max-width: 600px; |
| margin: 0 auto 2rem; |
| padding: 2rem; |
| text-align: center; |
| } |
|
|
| .mobile-hero-icon { |
| font-size: 4rem; |
| margin-bottom: 1rem; |
| } |
|
|
| .mobile-hero-title { |
| font-size: 1.75rem; |
| font-weight: 700; |
| color: var(--text-primary); |
| margin-bottom: 1rem; |
| } |
|
|
| .mobile-hero-text { |
| font-size: 1.1rem; |
| color: var(--text-body); |
| line-height: 1.7; |
| margin-bottom: 1rem; |
| } |
|
|
| .mobile-hero-subtext { |
| font-size: 0.95rem; |
| color: var(--text-muted); |
| line-height: 1.6; |
| margin-bottom: 2rem; |
| } |
|
|
| .demo-preview-box { |
| background: var(--bg-card); |
| border: 2px solid var(--border-soft); |
| border-radius: var(--radius-lg); |
| padding: 1.5rem; |
| margin-bottom: 2rem; |
| } |
|
|
| .preview-label { |
| font-size: 0.9rem; |
| font-weight: 600; |
| color: var(--coral); |
| text-transform: uppercase; |
| letter-spacing: 0.05em; |
| } |
|
|
| .mobile-cta-buttons { |
| display: flex; |
| flex-direction: column; |
| gap: 1rem; |
| align-items: center; |
| } |
|
|
| .btn-mobile-github { |
| display: inline-flex; |
| align-items: center; |
| gap: 0.5rem; |
| padding: 1rem 2rem; |
| background: linear-gradient(135deg, var(--coral), var(--coral-light)); |
| color: white; |
| text-decoration: none; |
| border-radius: 12px; |
| font-weight: 700; |
| font-size: 1.1rem; |
| box-shadow: 0 4px 15px rgba(255, 107, 74, 0.3); |
| transition: all 0.3s ease; |
| } |
|
|
| .btn-mobile-github:hover { |
| transform: translateY(-3px); |
| box-shadow: 0 8px 25px rgba(255, 107, 74, 0.5); |
| } |
|
|
| .cta-hint { |
| font-size: 0.9rem; |
| color: var(--text-body); |
| font-style: italic; |
| } |
|
|
| |
| .mobile-alternative { |
| display: none; |
| max-width: 600px; |
| margin: 0 auto 2rem; |
| padding: 2rem; |
| text-align: center; |
| } |
|
|
| .mobile-hero-icon { |
| font-size: 4rem; |
| margin-bottom: 1rem; |
| } |
|
|
| .mobile-hero-title { |
| font-size: 1.75rem; |
| font-weight: 700; |
| color: var(--text-primary); |
| margin-bottom: 1rem; |
| } |
|
|
| .mobile-hero-text { |
| font-size: 1.1rem; |
| color: var(--text-body); |
| line-height: 1.7; |
| margin-bottom: 1rem; |
| } |
|
|
| .mobile-hero-subtext { |
| font-size: 0.95rem; |
| color: var(--text-muted); |
| line-height: 1.6; |
| margin-bottom: 2rem; |
| } |
|
|
| .demo-preview-box { |
| background: var(--bg-card); |
| border: 2px solid var(--border-soft); |
| border-radius: var(--radius-lg); |
| padding: 1.5rem; |
| margin-bottom: 2rem; |
| } |
|
|
| .preview-label { |
| font-size: 0.9rem; |
| font-weight: 600; |
| color: var(--coral); |
| text-transform: uppercase; |
| letter-spacing: 0.05em; |
| } |
|
|
| .mobile-cta-buttons { |
| display: flex; |
| flex-direction: column; |
| gap: 1rem; |
| align-items: center; |
| } |
|
|
| .btn-mobile-github { |
| display: inline-flex; |
| align-items: center; |
| gap: 0.5rem; |
| padding: 1rem 2rem; |
| background: linear-gradient(135deg, var(--coral), var(--coral-light)); |
| color: white; |
| text-decoration: none; |
| border-radius: 12px; |
| font-weight: 700; |
| font-size: 1.1rem; |
| box-shadow: 0 4px 15px rgba(255, 107, 74, 0.3); |
| transition: all 0.3s ease; |
| } |
|
|
| .btn-mobile-github:hover { |
| transform: translateY(-3px); |
| box-shadow: 0 8px 25px rgba(255, 107, 74, 0.5); |
| } |
|
|
| .cta-hint { |
| font-size: 0.9rem; |
| color: var(--text-body); |
| font-style: italic; |
| } |
|
|
| .scroll-hint { |
| display: inline-block; |
| font-size: 0.95rem; |
| color: var(--coral-light); |
| font-weight: 600; |
| padding: 0.75rem 1.25rem; |
| background: rgba(255, 107, 74, 0.1); |
| border-radius: 100px; |
| border: 2px solid rgba(255, 107, 74, 0.3); |
| text-decoration: none; |
| transition: all 0.3s ease; |
| cursor: pointer; |
| } |
|
|
| .scroll-hint:hover { |
| background: rgba(255, 107, 74, 0.2); |
| border-color: var(--coral); |
| transform: translateY(-2px); |
| } |
|
|
| |
| .like-reminder { |
| display: flex; |
| align-items: center; |
| gap: 1rem; |
| margin: 2rem auto 1.5rem; |
| padding: 1.25rem 1.5rem; |
| background: linear-gradient(135deg, rgba(255, 107, 74, 0.15), rgba(255, 107, 74, 0.08)); |
| border: 2px solid var(--coral); |
| border-radius: var(--radius-md); |
| max-width: 500px; |
| animation: pulse-border 2s ease-in-out infinite; |
| } |
|
|
| .like-icon { |
| font-size: 2.5rem; |
| animation: heartbeat 1.5s ease-in-out infinite; |
| } |
|
|
| @keyframes heartbeat { |
| 0%, 100% { transform: scale(1); } |
| 25% { transform: scale(1.1); } |
| 50% { transform: scale(1); } |
| } |
|
|
| @keyframes pulse-border { |
| 0%, 100% { border-color: var(--coral); } |
| 50% { border-color: var(--coral-light); } |
| } |
|
|
| .like-text { |
| flex: 1; |
| text-align: left; |
| font-size: 0.95rem; |
| color: var(--text-body); |
| line-height: 1.5; |
| } |
|
|
| .like-text strong { |
| color: var(--text-primary); |
| font-size: 1.05rem; |
| display: block; |
| margin-bottom: 0.25rem; |
| } |
|
|
| .laptop-hint { |
| font-size: 0.9rem; |
| color: var(--text-muted); |
| font-style: italic; |
| margin-top: 1rem; |
| } |
|
|
| |
|
|
| @media (max-width: 768px) { |
| |
| .mobile-alternative { |
| display: block !important; |
| } |
|
|
| #demo-grid { |
| display: none !important; |
| } |
|
|
| |
| #download-btn { |
| display: none !important; |
| } |
|
|
| .hero-grid { |
| grid-template-columns: 1fr; |
| gap: 2.5rem; |
| } |
|
|
| .hero-left { |
| text-align: center; |
| } |
|
|
| .hero-tags { |
| justify-content: center; |
| } |
|
|
| .hero-tech { |
| align-items: center; |
| } |
|
|
| .hero-tech-stack { |
| justify-content: center; |
| } |
|
|
| .hero-section { |
| padding: 4rem 0 3rem; |
| } |
|
|
| .hero-description { |
| font-size: 1.1rem; |
| margin-left: auto; |
| margin-right: auto; |
| } |
|
|
| section { |
| padding: 3.5rem 0; |
| } |
|
|
| .container { |
| padding: 0 1.25rem; |
| } |
|
|
| .header-content { |
| padding: 0 1.25rem; |
| } |
|
|
| .nav { |
| display: none; |
| } |
|
|
| .config-grid, |
| .features-grid, |
| .personalities-grid { |
| grid-template-columns: 1fr; |
| } |
|
|
| .api-link-inline { |
| display: none; |
| } |
| } |
|
|
| @media (max-width: 480px) { |
| .hero-title { |
| font-size: 2.5rem; |
| } |
|
|
| .section-title { |
| font-size: 1.75rem; |
| } |
|
|
| .logo-text { |
| font-size: 0.9rem; |
| } |
|
|
| .github-btn { |
| font-size: 0.8rem; |
| padding: 0.5rem 0.9rem; |
| } |
|
|
| .hero-tags { |
| gap: 0.5rem; |
| } |
|
|
| .tag { |
| padding: 0.5rem 1rem; |
| font-size: 0.8rem; |
| } |
| } |
|
|
| |
| |
| |
|
|
| .demo-section { |
| padding: 5rem 2rem; |
| |
| } |
|
|
| .demo-grid { |
| display: flex; |
| justify-content: center; |
| align-items: center; |
| margin-top: 3rem; |
| } |
|
|
| @media (max-width: 968px) { |
| .demo-grid { |
| flex-direction: column; |
| align-items: center; |
| gap: 2rem; |
| } |
|
|
| .robot-column, |
| .camera-column { |
| width: 100% !important; |
| max-width: 100% !important; |
| min-width: 0 !important; |
| } |
|
|
| .video-wrapper { |
| width: 100%; |
| height: auto; |
| } |
|
|
| .robot-bg { |
| width: 260px; |
| height: 380px; |
| } |
|
|
| .demo-controls { |
| flex-direction: row; |
| flex-wrap: nowrap; |
| } |
|
|
| .btn-demo { |
| min-width: 0; |
| width: auto; |
| } |
| } |
|
|
| @media (max-width: 640px) { |
| .demo-section .section-subtitle { |
| font-size: 0.95rem; |
| max-width: 100%; |
| } |
|
|
| .robot-bg { |
| width: 220px; |
| height: 320px; |
| } |
|
|
| .demo-section .section-title { |
| font-size: 1.5rem; |
| } |
| } |
|
|
| |
| .demo-video-container { |
| display: flex; |
| flex-direction: column; |
| gap: 1.5rem; |
| flex: 1; |
| max-width: 700px; |
| } |
|
|
| .video-wrapper { |
| position: relative; |
| width: 100%; |
| background: #1c0f2a; |
| border-radius: 16px; |
| overflow: hidden; |
| aspect-ratio: 4/3; |
| } |
|
|
| #webcam, #canvas, #rv-video, #rv-canvas { |
| position: absolute; |
| top: 0; |
| left: 0; |
| width: 100%; |
| height: 100%; |
| object-fit: cover; |
| } |
|
|
| #rv-canvas { |
| z-index: 2; |
| background: transparent; |
| } |
|
|
| #canvas { |
| z-index: 2; |
| background: transparent; |
| } |
|
|
| .demo-status { |
| position: absolute; |
| top: 1rem; |
| left: 1rem; |
| background: rgba(0, 0, 0, 0.7); |
| backdrop-filter: blur(8px); |
| padding: 0.75rem 1.25rem; |
| border-radius: 24px; |
| display: flex; |
| align-items: center; |
| gap: 0.75rem; |
| z-index: 3; |
| color: #fff; |
| font-weight: 600; |
| font-size: 0.9rem; |
| } |
|
|
| .status-dot { |
| width: 10px; |
| height: 10px; |
| border-radius: 50%; |
| background: #64748b; |
| animation: pulse 2s ease-in-out infinite; |
| } |
|
|
| .status-dot.ready { |
| background: #22c55e; |
| } |
|
|
| .status-dot.monitoring { |
| background: #3b82f6; |
| } |
|
|
| .status-dot.detected { |
| background: #ef4444; |
| } |
|
|
| .status-dot.loading { |
| background: #f59e0b; |
| } |
|
|
| .status-dot.error { |
| background: #dc2626; |
| } |
|
|
| @keyframes pulse { |
| 0%, 100% { opacity: 1; } |
| 50% { opacity: 0.5; } |
| } |
|
|
| .fps-counter { |
| position: absolute; |
| top: 1rem; |
| right: 1rem; |
| background: rgba(0, 0, 0, 0.7); |
| backdrop-filter: blur(8px); |
| padding: 0.5rem 1rem; |
| border-radius: 16px; |
| z-index: 3; |
| color: #22c55e; |
| font-weight: 700; |
| font-size: 0.85rem; |
| } |
|
|
| |
| .demo-controls { |
| display: flex; |
| gap: 1rem; |
| flex-wrap: wrap; |
| } |
|
|
| .btn-demo { |
| flex: 1; |
| min-width: 150px; |
| padding: 1rem 1.5rem; |
| border: none; |
| border-radius: 12px; |
| font-weight: 600; |
| font-size: 1rem; |
| cursor: pointer; |
| transition: all 0.2s ease; |
| display: flex; |
| align-items: center; |
| justify-content: center; |
| gap: 0.5rem; |
| } |
|
|
| .btn-demo:disabled { |
| opacity: 0.5; |
| cursor: not-allowed; |
| } |
|
|
| .btn-primary { |
| background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); |
| color: white; |
| } |
|
|
| .btn-primary:hover:not(:disabled) { |
| transform: translateY(-2px); |
| box-shadow: 0 8px 20px rgba(102, 126, 234, 0.4); |
| } |
|
|
| .btn-secondary { |
| background: #1e293b; |
| color: #f1f5f9; |
| border: 2px solid #475569; |
| } |
|
|
| .btn-secondary:hover:not(:disabled) { |
| background: #334155; |
| border-color: #64748b; |
| } |
|
|
| .btn-ghost { |
| background: transparent; |
| color: #94a3b8; |
| border: 2px solid #334155; |
| } |
|
|
| .btn-ghost:hover:not(:disabled) { |
| background: #1e293b; |
| color: #f1f5f9; |
| } |
|
|
| |
| .response-box { |
| background: linear-gradient(135deg, #1e293b 0%, #334155 100%); |
| border: 2px solid #475569; |
| border-radius: 16px; |
| padding: 1rem; |
| min-height: 100px; |
| } |
|
|
| .response-label { |
| color: #94a3b8; |
| font-size: 0.9rem; |
| font-weight: 600; |
| margin-bottom: 0.75rem; |
| } |
|
|
| .response-text { |
| color: #f1f5f9; |
| font-size: 1.1rem; |
| line-height: 1; |
| font-style: italic; |
| } |
|
|
| .demo-section .section-subtitle { |
| max-width: 1500px; |
| line-height: 1.8; |
| } |
|
|
| .demo-section .section-title { |
| background: linear-gradient(135deg, var(--coral) 0%, var(--coral-light) 100%); |
| -webkit-background-clip: text; |
| -webkit-text-fill-color: transparent; |
| background-clip: text; |
| margin-top: -4rem; |
| } |
|
|
| |
| .hero-cta { |
| display: flex; |
| gap: 1rem; |
| margin-top: 2rem; |
| flex-wrap: nowrap; |
| } |
|
|
| .cta-button { |
| display: inline-flex; |
| align-items: center; |
| gap: 0.5rem; |
| padding: 0.5rem 1rem; |
| background: linear-gradient(135deg, var(--coral) 0%, var(--coral-light) 100%); |
| color: white; |
| text-decoration: none; |
| border-radius: 12px; |
| font-weight: 700; |
| font-size: 0.9rem; |
| transition: all 0.3s ease; |
| box-shadow: 0 4px 15px rgba(255, 107, 74, 0.3); |
| } |
|
|
| .cta-button:hover { |
| transform: translateY(-3px); |
| box-shadow: 0 8px 25px rgba(255, 107, 74, 0.5); |
| } |
|
|
|
|
| .cta-button-secondary { |
| display: inline-flex; |
| align-items: center; |
| gap: 0.5rem; |
| padding: 0.5rem 1rem; |
| background: rgba(255, 255, 255, 0.1); |
| border: 2px solid rgba(255, 255, 255, 0.3); |
| color: white; |
| text-decoration: none; |
| border-radius: 12px; |
| font-weight: 700; |
| font-size: 0.9rem; |
| transition: all 0.3s ease; |
| } |
|
|
| .cta-button-secondary:hover { |
| background: rgba(255, 255, 255, 0.15); |
| border-color: rgba(255, 255, 255, 0.5); |
| transform: translateY(-3px); |
| } |
|
|
|
|
| |
| .hero-section { |
| position: relative; |
| } |
|
|
| |
| .hero-section .container { |
| max-width: 1450px; |
| } |
|
|
| |
| .robot-bg { |
| background: #3DDE99; |
| border-radius: 20px; |
| box-shadow: 0 4px 15px rgba(61, 222, 153, 0.2); |
| display: flex; |
| align-items: center; |
| justify-content: center; |
| width: 250px; |
| height: 300px; |
| } |
|
|
| |
| .robot-svg { |
| width: 150%; |
| height: 150%; |
| display: block; |
| object-fit: cover; |
| transform-origin: center center; |
| margin: -25%; |
| animation: robot-idle 3s ease-in-out infinite; |
| } |
|
|
| .robot-label { |
| display: none; |
| color: #cbd5e1; |
| font-size: 0.85rem; |
| font-weight: 500; |
| text-align: center; |
| line-height: 1.5; |
| margin-bottom: 2rem; |
| } |
|
|
| @media (max-width: 640px) { |
| .robot-label { |
| display: block; |
| } |
| } |
|
|
| |
| @keyframes robot-idle { |
| 0%, 100% { |
| transform: translateY(0) scale(1); |
| } |
| 50% { |
| transform: translateY(-8px) scale(1.02); |
| } |
| } |
|
|
| @keyframes robot-shame { |
| 0%, 100% { |
| transform: rotate(0deg) scale(1); |
| } |
| 15% { |
| transform: rotate(-15deg) scale(0.95); |
| } |
| 30% { |
| transform: rotate(15deg) scale(0.95); |
| } |
| 45% { |
| transform: rotate(-15deg) scale(0.95); |
| } |
| 60% { |
| transform: rotate(15deg) scale(0.95); |
| } |
| 75% { |
| transform: rotate(-8deg) scale(0.95); |
| } |
| } |
|
|
| @keyframes robot-praise { |
| 0%, 100% { |
| transform: translateY(0) rotate(0deg) scale(1); |
| } |
| 25% { |
| transform: translateY(-15px) rotate(0deg) scale(1.1); |
| } |
| 50% { |
| transform: translateY(0) rotate(0deg) scale(1); |
| } |
| 75% { |
| transform: translateY(-10px) rotate(0deg) scale(1.05); |
| } |
| } |
|
|
| |
| .robot-svg.shaking { |
| animation: robot-shame 0.6s ease-in-out; |
| } |
|
|
| .robot-svg.nodding { |
| animation: robot-praise 0.8s ease-in-out; |
| } |
|
|
| |
| .robot-column, |
| .camera-column { |
| display: flex; |
| flex-direction: column; |
| gap: 1.5rem; |
| } |
|
|
| .robot-column { |
| flex: 0 0 auto; |
| } |
|
|
| .camera-column { |
| flex: 1; |
| max-width: 700px; |
| min-width: 500px; |
| } |
|
|
| |
| .demo-grid { |
| align-items: stretch; |
| } |
|
|
| |
| .loader-overlay { |
| position: absolute; |
| top: 0; |
| left: 0; |
| width: 100%; |
| height: 100%; |
| background: rgba(0, 0, 0, 0.9); |
| backdrop-filter: blur(8px); |
| display: flex; |
| flex-direction: column; |
| align-items: center; |
| justify-content: center; |
| z-index: 10; |
| opacity: 0; |
| visibility: hidden; |
| transition: opacity 0.3s ease, visibility 0.3s ease; |
| } |
|
|
| .loader-overlay.visible { |
| opacity: 1; |
| visibility: visible; |
| } |
|
|
| #loader-text { |
| color: #f1f5f9; |
| font-size: 1rem; |
| font-weight: 600; |
| margin-top: 1.5rem; |
| text-align: center; |
| } |
|
|
| |
| .spinner { |
| width: 50px; |
| height: 50px; |
| border: 4px solid rgba(255, 255, 255, 0.1); |
| border-top-color: #667eea; |
| border-radius: 50%; |
| animation: spin 1s linear infinite; |
| } |
|
|
| @keyframes spin { |
| to { |
| transform: rotate(360deg); |
| } |
| } |
|
|
| |
| @media (max-width: 768px) { |
| .demo-section { |
| padding: 3rem 1rem; |
| } |
|
|
| .hero-section { |
| padding: 3rem 1.5rem; |
| } |
|
|
| .hero-cta { |
| flex-direction: column; |
| width: 100%; |
| margin-bottom: 0.5rem; |
| margin-top: 2rem; |
| } |
|
|
| .hero-tech { |
| margin-bottom: 1rem; |
| } |
|
|
| .cta-button, |
| .cta-button-secondary { |
| width: 100%; |
| justify-content: center; |
| } |
|
|
| .hero-grid { |
| gap: 1rem; |
| } |
| } |
|
|
| |
| .robot-pip { |
| position: absolute; |
| bottom: 1rem; |
| right: 1rem; |
| z-index: 5; |
| pointer-events: none; |
| } |
|
|
| .robot-bg-pip { |
| background: transparent; |
| width: 180px; |
| height: 240px; |
| display: flex; |
| align-items: center; |
| justify-content: center; |
| filter: drop-shadow(0 4px 15px rgba(0, 0, 0, 0.5)); |
| } |
|
|
| .robot-svg-pip { |
| width: 150%; |
| height: 150%; |
| display: block; |
| object-fit: cover; |
| margin: -25%; |
| animation: robot-idle 3s ease-in-out infinite; |
| } |
|
|
| |
| .robot-svg-pip.shaking { |
| animation: robot-shame 0.6s ease-in-out; |
| } |
|
|
| .robot-svg-pip.nodding { |
| animation: robot-praise 0.8s ease-in-out; |
| } |
|
|
| |
| @media (max-width: 640px) { |
| .robot-bg-pip { |
| width: 100px; |
| height: 140px; |
| } |
|
|
| .robot-pip { |
| bottom: 0.5rem; |
| right: 0.5rem; |
| } |
| } |
|
|
| |
| @media (max-width: 640px) { |
| .hero-label { |
| font-size: 0.65rem; |
| padding: 0.35rem 0.75rem 0.35rem 0.5rem; |
| margin-bottom: 1rem; |
| } |
|
|
| .hero-label::before { |
| font-size: 0.9rem; |
| } |
|
|
| .hero-section { |
| padding: 2rem 0 2rem; |
| } |
|
|
| .hero-title { |
| font-size: 2.25rem; |
| margin-bottom: 1rem; |
| } |
|
|
| .hero-description { |
| font-size: 1rem; |
| margin-bottom: 1.5rem; |
| } |
| } |
|
|
| |
| @media (max-width: 640px) { |
| .demo-section .section-subtitle { |
| display: none; |
| } |
|
|
| .demo-status { |
| padding: 0.4rem 0.7rem; |
| font-size: 0.65rem; |
| gap: 0.4rem; |
| } |
|
|
| .status-dot { |
| width: 6px; |
| height: 6px; |
| } |
|
|
| #status-text { |
| font-size: 0.65rem; |
| } |
|
|
| .fps-counter { |
| padding: 0.3rem 0.6rem; |
| font-size: 0.6rem; |
| } |
| } |
|
|
|
|
| |
| @media (max-width: 640px) { |
| .hero-right > div { |
| margin-top: 1rem !important; |
| } |
|
|
| .hero-left { |
| margin-bottom: 1.5rem; |
| } |
| } |
|
|
| |
| @media (max-width: 640px) { |
| .demo-section { |
| padding-top: 0.2rem; |
| } |
|
|
| .demo-section .section-title { |
| margin-top: 1rem; |
| } |
| } |
|
|
| |
| @media (max-width: 640px) { |
| .demo-section .section-title { |
| margin-bottom: 0.5rem; |
| margin-top: 0; |
| } |
|
|
| .robot-label { |
| margin-bottom: 0.75rem; |
| margin-top: 0; |
| } |
|
|
| .demo-grid { |
| margin-top: 0; |
| } |
| } |
|
|
| |
| @media (max-width: 640px) { |
| .getting-started-section { |
| display: none; |
| } |
| } |
|
|
| |
| .setup-link { |
| color: var(--coral-light); |
| text-decoration: none; |
| border-bottom: 1px solid var(--coral-light); |
| transition: all 0.2s ease; |
| white-space: nowrap; |
| } |
|
|
| .setup-link:hover { |
| color: var(--coral); |
| border-bottom-color: var(--coral); |
| } |
|
|
| |
| .guide-list a { |
| color: var(--coral-light) !important; |
| text-decoration: none !important; |
| border: none !important; |
| padding: 0 !important; |
| margin: 0 !important; |
| display: inline !important; |
| background: none !important; |
| } |
|
|
| .guide-list a:hover { |
| text-decoration: underline !important; |
| } |
|
|
|
|
| |
| body { |
| font-weight: 400; |
| } |
|
|
| h1, h2, h3 { |
| font-weight: 700; |
| } |
|
|
| h4, h5, h6, strong { |
| font-weight: 600; |
| } |
|
|
| .section-subtitle, .text-muted { |
| font-weight: 300; |
| } |
|
|
| .btn-demo { |
| font-weight: 500; |
| } |
|
|
|
|
| |
| @media (max-width: 640px) { |
| * { |
| max-width: 100% !important; |
| overflow-wrap: break-word !important; |
| word-wrap: break-word !important; |
| } |
|
|
| .container { |
| padding: 0 0.75rem !important; |
| } |
|
|
| body { |
| overflow-x: hidden !important; |
| } |
|
|
| |
| section { |
| padding-left: 1rem !important; |
| padding-right: 1rem !important; |
| } |
| } |
|
|
| |
| @media (max-width: 640px) { |
| .config-section, |
| .features-section, |
| .personalities-section { |
| display: none; |
| } |
| } |
|
|
| |
| @media (max-width: 640px) { |
| .hero-tags { |
| gap: 0.4rem; |
| justify-content: center; |
| } |
|
|
| .tag { |
| padding: 0.35rem 0.65rem; |
| font-size: 0.7rem; |
| border-width: 1px; |
| } |
|
|
| .hero-tech-stack { |
| gap: 0.35rem; |
| justify-content: center; |
| } |
|
|
| .tech-pill { |
| padding: 0.3rem 0.55rem; |
| font-size: 0.65rem; |
| border-width: 1px; |
| } |
| } |
|
|
| |
| @media (max-width: 640px) { |
| .response-label { |
| font-size: 0.75rem; |
| } |
|
|
| .response-text { |
| font-size: 0.85rem; |
| } |
|
|
| .response-box { |
| padding: 1rem; |
| } |
| } |
|
|
| |
| .mode-toggle-bar { |
| display: flex; |
| justify-content: center; |
| padding: 0.75rem 1rem; |
| border-bottom: 1px solid var(--border-soft); |
| background: var(--bg-primary); |
| } |
|
|
| .mode-toggle { |
| display: flex; |
| background: var(--bg-card); |
| border: 1px solid var(--border-soft); |
| border-radius: 100px; |
| padding: 3px; |
| gap: 2px; |
| } |
|
|
| .toggle-option { |
| padding: 0.45rem 1.1rem; |
| border: none; |
| border-radius: 100px; |
| font-size: 0.875rem; |
| font-weight: 600; |
| cursor: pointer; |
| background: transparent; |
| color: var(--text-muted); |
| transition: all 0.2s ease; |
| font-family: 'Inter', sans-serif; |
| } |
|
|
| .toggle-option.active { |
| background: var(--coral); |
| color: #fff; |
| box-shadow: 0 2px 8px rgba(255, 107, 74, 0.4); |
| } |
|
|
| .toggle-option:not(.active):hover { |
| color: var(--text-primary); |
| background: rgba(255,255,255,0.06); |
| } |
|
|
| |
| .rv-container { |
| padding-top: 2.5rem; |
| padding-bottom: 4rem; |
| min-height: calc(100vh - 80px); |
| } |
|
|
| |
| .rv-connect-card { |
| max-width: 480px; |
| margin: 6rem auto; |
| text-align: center; |
| background: var(--bg-card); |
| border: 1px solid var(--border-soft); |
| border-radius: var(--radius-lg); |
| padding: 3rem 2.5rem; |
| } |
|
|
| .rv-connect-icon { font-size: 3rem; margin-bottom: 1rem; } |
|
|
| .rv-connect-title { |
| font-size: 1.75rem; |
| font-weight: 700; |
| margin-bottom: 0.75rem; |
| } |
|
|
| .rv-connect-desc { |
| color: var(--text-body); |
| margin-bottom: 2rem; |
| line-height: 1.6; |
| } |
|
|
| |
| .rv-picker-header { |
| text-align: center; |
| margin-bottom: 2rem; |
| } |
|
|
| .rv-picker-title { font-size: 1.75rem; font-weight: 700; margin-bottom: 0.5rem; } |
| .rv-picker-sub { color: var(--text-body); } |
|
|
| .rv-robot-list { |
| display: flex; |
| flex-direction: column; |
| gap: 0.75rem; |
| max-width: 560px; |
| margin: 0 auto; |
| } |
|
|
| .rv-robot-btn { |
| display: flex; |
| align-items: center; |
| gap: 1rem; |
| padding: 1.25rem 1.5rem; |
| background: var(--bg-card); |
| border: 1px solid var(--border-soft); |
| border-radius: var(--radius-md); |
| color: var(--text-primary); |
| font-size: 1rem; |
| cursor: pointer; |
| transition: all 0.2s ease; |
| text-align: left; |
| font-family: 'Inter', sans-serif; |
| } |
|
|
| .rv-robot-btn.selected { |
| border-color: var(--coral); |
| background: rgba(255, 107, 74, 0.08); |
| } |
|
|
| .rv-robot-btn:hover { |
| border-color: var(--coral); |
| box-shadow: 0 4px 16px rgba(255,107,74,0.15); |
| transform: translateY(-1px); |
| } |
|
|
| .rv-robot-mode { |
| margin-left: auto; |
| font-size: 0.75rem; |
| color: var(--text-muted); |
| background: rgba(255,255,255,0.06); |
| padding: 0.2rem 0.5rem; |
| border-radius: 100px; |
| } |
|
|
| .rv-no-robots { |
| text-align: center; |
| color: var(--text-muted); |
| padding: 2rem; |
| } |
|
|
| |
| .rv-topbar { |
| display: flex; |
| align-items: center; |
| justify-content: space-between; |
| margin-bottom: 1.5rem; |
| padding: 0.875rem 1.25rem; |
| background: var(--bg-card); |
| border: 1px solid var(--border-soft); |
| border-radius: var(--radius-sm); |
| } |
|
|
| .rv-topbar-left { display: flex; align-items: center; gap: 0.75rem; } |
| .rv-topbar-right { display: flex; align-items: center; gap: 0.5rem; } |
|
|
| .rv-badge { |
| padding: 0.3rem 0.85rem; |
| border-radius: 100px; |
| font-size: 0.8rem; |
| font-weight: 600; |
| background: rgba(107,203,119,0.15); |
| color: var(--mint); |
| border: 1px solid rgba(107,203,119,0.3); |
| } |
|
|
| .rv-robot-name { |
| font-weight: 600; |
| color: var(--text-primary); |
| } |
|
|
| .btn-icon-sm { |
| padding: 0.4rem 0.9rem; |
| background: var(--bg-darker); |
| border: 1px solid var(--border-soft); |
| border-radius: 8px; |
| color: var(--text-body); |
| font-size: 0.82rem; |
| cursor: pointer; |
| transition: all 0.2s; |
| font-family: 'Inter', sans-serif; |
| } |
|
|
| .btn-icon-sm:hover { color: var(--text-primary); border-color: rgba(255,255,255,0.2); } |
|
|
| .btn-danger-sm { |
| color: #ff6b6b; |
| border-color: rgba(255,107,107,0.3); |
| } |
|
|
| .btn-danger-sm:hover { background: rgba(255,107,107,0.1); border-color: #ff6b6b; } |
|
|
| |
| .rv-grid { |
| display: grid; |
| grid-template-columns: 1.2fr 1fr; |
| gap: 1.5rem; |
| align-items: start; |
| } |
|
|
| .rv-camera-col { display: flex; flex-direction: column; gap: 1rem; } |
| .rv-control-col { display: flex; flex-direction: column; gap: 1.25rem; } |
|
|
| |
| .rv-stats { |
| display: grid; |
| grid-template-columns: repeat(3, 1fr); |
| gap: 0.75rem; |
| } |
|
|
| .rv-stat-card { |
| background: var(--bg-card); |
| border: 1px solid var(--border-soft); |
| border-radius: var(--radius-sm); |
| padding: 1rem; |
| text-align: center; |
| border-top-width: 3px; |
| } |
|
|
| .rv-stat-value { |
| font-size: 1.75rem; |
| font-weight: 700; |
| color: var(--text-primary); |
| line-height: 1; |
| margin-bottom: 0.4rem; |
| } |
|
|
| .rv-stat-label { font-size: 0.75rem; color: var(--text-muted); font-weight: 500; } |
|
|
| |
| .rv-section-label { |
| font-size: 0.8rem; |
| font-weight: 700; |
| letter-spacing: 0.08em; |
| text-transform: uppercase; |
| color: var(--text-muted); |
| margin-bottom: 0.5rem; |
| } |
|
|
| .rv-personality-grid { |
| display: grid; |
| grid-template-columns: 1fr 1fr; |
| gap: 0.5rem; |
| } |
|
|
| .rv-personality-card { |
| padding: 0.6rem 0.85rem; |
| background: var(--bg-darker); |
| border: 1px solid var(--border-soft); |
| border-radius: 10px; |
| font-size: 0.82rem; |
| font-weight: 500; |
| color: var(--text-body); |
| cursor: pointer; |
| transition: all 0.2s; |
| text-align: center; |
| } |
|
|
| .rv-personality-card:hover { color: var(--text-primary); border-color: rgba(255,255,255,0.2); } |
|
|
| .rv-personality-card.active { |
| background: rgba(255,107,74,0.12); |
| border-color: var(--coral); |
| color: var(--coral-light); |
| } |
|
|
| |
| .modal-backdrop { |
| position: fixed; |
| inset: 0; |
| background: rgba(0,0,0,0.7); |
| backdrop-filter: blur(4px); |
| z-index: 1000; |
| display: flex; |
| align-items: center; |
| justify-content: center; |
| padding: 1rem; |
| } |
|
|
| .modal-box { |
| background: var(--bg-card); |
| border: 1px solid var(--border-soft); |
| border-radius: var(--radius-lg); |
| width: 100%; |
| max-width: 500px; |
| max-height: 80vh; |
| overflow-y: auto; |
| } |
|
|
| .modal-header { |
| display: flex; |
| align-items: center; |
| justify-content: space-between; |
| padding: 1.25rem 1.5rem; |
| border-bottom: 1px solid var(--border-soft); |
| } |
|
|
| .modal-header h3 { font-size: 1.1rem; font-weight: 700; } |
|
|
| .modal-close { |
| background: none; |
| border: none; |
| color: var(--text-muted); |
| font-size: 1.1rem; |
| cursor: pointer; |
| padding: 0.25rem 0.5rem; |
| border-radius: 6px; |
| transition: color 0.2s; |
| } |
|
|
| .modal-close:hover { color: var(--text-primary); } |
|
|
| .modal-body { padding: 1.5rem; display: flex; flex-direction: column; gap: 0.75rem; } |
|
|
| .modal-label { |
| font-size: 0.85rem; |
| font-weight: 600; |
| color: var(--text-body); |
| display: block; |
| } |
|
|
| .modal-input { |
| width: 100%; |
| padding: 0.65rem 1rem; |
| background: var(--bg-darker); |
| border: 1px solid var(--border-soft); |
| border-radius: 10px; |
| color: var(--text-primary); |
| font-size: 0.9rem; |
| font-family: 'Inter', sans-serif; |
| transition: border-color 0.2s; |
| } |
|
|
| .modal-input:focus { outline: none; border-color: var(--coral); } |
|
|
| .modal-range { width: 100%; accent-color: var(--coral); } |
|
|
| .modal-hint { font-size: 0.78rem; color: var(--text-muted); } |
| .modal-hint a { color: var(--coral-light); text-decoration: none; } |
| .modal-hint a:hover { text-decoration: underline; } |
|
|
| .modal-checkbox-label { |
| display: flex; |
| align-items: center; |
| gap: 0.6rem; |
| font-size: 0.88rem; |
| color: var(--text-body); |
| cursor: pointer; |
| } |
|
|
| .modal-footer { |
| padding: 1rem 1.5rem; |
| border-top: 1px solid var(--border-soft); |
| } |
|
|
| |
| .rv-voice-row { |
| display: grid; |
| grid-template-columns: 1fr 1fr 1fr; |
| gap: 0.5rem; |
| align-items: center; |
| padding: 0.5rem 0; |
| border-bottom: 1px solid var(--border-soft); |
| } |
|
|
| .rv-voice-row:last-child { border-bottom: none; } |
|
|
| .rv-voice-label { font-size: 0.82rem; font-weight: 600; color: var(--text-body); } |
|
|
| .rv-voice-input { |
| padding: 0.45rem 0.75rem; |
| background: var(--bg-darker); |
| border: 1px solid var(--border-soft); |
| border-radius: 8px; |
| color: var(--text-primary); |
| font-size: 0.78rem; |
| font-family: monospace; |
| } |
|
|
| .rv-voice-input:focus { outline: none; border-color: var(--coral); } |
|
|
| |
| .btn-danger { |
| background: linear-gradient(135deg, #e74c3c 0%, #c0392b 100%) !important; |
| border-color: #e74c3c !important; |
| } |
|
|
| |
| @media (max-width: 900px) { |
| .rv-grid { grid-template-columns: 1fr; } |
| .rv-stats { grid-template-columns: repeat(3, 1fr); } |
| .demo-controls { flex-wrap: nowrap; } |
| .btn-demo { min-width: 0; } |
| .rv-control-col { order: -1; } |
|
|
| |
| .rv-panel-title, .rv-panel-subtitle { display: none; } |
| .rv-personality-toggle { |
| display: flex; |
| align-items: center; |
| gap: 0.5rem; |
| width: 100%; |
| padding: 0.75rem 1rem; |
| background: var(--bg-card); |
| border: 1px solid var(--border-soft); |
| border-radius: var(--radius-sm); |
| color: var(--text-primary); |
| font-size: 0.95rem; |
| font-weight: 600; |
| cursor: pointer; |
| font-family: 'Inter', sans-serif; |
| } |
| .rv-personality-toggle-hint { |
| font-size: 0.75rem; |
| font-weight: 400; |
| color: var(--text-muted); |
| white-space: nowrap; |
| } |
| #rv-personality-toggle-label { flex: 1; text-align: left; } |
| .rv-personality-chevron { margin-left: auto; } |
| .rv-personality-collapsible { display: none; } |
| .rv-personality-panel.expanded .rv-personality-collapsible { display: flex; flex-direction: column; gap: 0.5rem; margin-top: 0.25rem; } |
| } |
|
|
|
|
| @media (max-width: 600px) { |
| .rv-mode-badge { display: none; } |
|
|
| |
| .rv-stats { |
| grid-template-columns: repeat(3, 1fr); |
| gap: 0.4rem; |
| } |
| .rv-stat-card { padding: 0.6rem 0.4rem; } |
| .rv-stat-value { font-size: 1.2rem; } |
| .rv-stat-label { font-size: 0.6rem; } |
|
|
| |
| .demo-controls { flex-wrap: nowrap; gap: 0.5rem; } |
| .btn-demo { min-width: 0; padding: 0.7rem 0.75rem; font-size: 0.85rem; } |
|
|
| .rv-personality-grid { grid-template-columns: repeat(3, 1fr); } |
| .rv-voice-row { grid-template-columns: 1fr; } |
| } |
|
|
| |
| .rv-dev-label { |
| font-size: 0.78rem; |
| color: var(--text-muted); |
| margin: 1.5rem 0 0.5rem; |
| } |
|
|
| .rv-dev-row { |
| display: flex; |
| gap: 0.5rem; |
| } |
|
|
| |
| #rv-dev-bar { |
| align-items: center; |
| gap: 0.5rem; |
| padding: 0.6rem 1rem; |
| margin-bottom: 1.25rem; |
| background: rgba(155,126,232,0.1); |
| border: 1px dashed rgba(155,126,232,0.4); |
| border-radius: 10px; |
| } |
|
|
| .rv-dev-bar-label { |
| font-size: 0.8rem; |
| color: var(--lavender); |
| font-weight: 600; |
| } |
|
|
| .rv-dev-state-btn { |
| padding: 0.3rem 0.8rem; |
| background: rgba(155,126,232,0.15); |
| border: 1px solid rgba(155,126,232,0.35); |
| border-radius: 6px; |
| color: var(--lavender); |
| font-size: 0.8rem; |
| cursor: pointer; |
| font-family: 'Inter', sans-serif; |
| transition: all 0.2s; |
| } |
|
|
| .rv-dev-state-btn:hover { |
| background: rgba(155,126,232,0.3); |
| } |
|
|
| |
| .rv-status-bar { |
| display: flex; |
| align-items: center; |
| gap: 0.75rem; |
| padding: 0.65rem 1rem; |
| background: var(--bg-card); |
| border: 1px solid var(--border-soft); |
| border-radius: var(--radius-sm); |
| } |
|
|
| .rv-status-badge { |
| display: flex; |
| align-items: center; |
| gap: 0.5rem; |
| font-size: 0.85rem; |
| font-weight: 600; |
| } |
|
|
| .rv-tech-badge { |
| font-size: 0.75rem; |
| padding: 0.25rem 0.65rem; |
| background: rgba(255,107,74,0.1); |
| border: 1px solid rgba(255,107,74,0.25); |
| border-radius: 100px; |
| color: var(--coral-light); |
| } |
|
|
| .rv-mode-badge { |
| font-size: 0.78rem; |
| color: var(--text-muted); |
| margin-left: auto; |
| white-space: nowrap; |
| } |
|
|
| |
| .rv-personality-panel { display: flex; flex-direction: column; gap: 0.75rem; } |
|
|
| .rv-personality-chevron { |
| transition: transform 0.2s ease; |
| font-size: 0.75rem; |
| } |
|
|
| .rv-personality-panel.expanded .rv-personality-chevron { |
| transform: rotate(180deg); |
| } |
|
|
| @media (min-width: 901px) { |
| .rv-personality-toggle { display: none; } |
| .rv-personality-collapsible { display: flex; flex-direction: column; gap: 0.5rem; } |
| } |
|
|
| .rv-panel-title { font-size: 1.1rem; font-weight: 700; } |
| .rv-panel-subtitle { font-size: 0.85rem; color: var(--text-muted); margin-top: -0.25rem; } |
|
|
| .rv-api-notice { |
| display: flex; |
| align-items: flex-start; |
| gap: 0.65rem; |
| padding: 0.75rem 1rem; |
| background: rgba(255,211,61,0.07); |
| border: 1px solid rgba(255,211,61,0.2); |
| border-radius: var(--radius-sm); |
| font-size: 0.82rem; |
| color: var(--text-body); |
| } |
|
|
| .notice-icon { font-size: 1rem; flex-shrink: 0; } |
| .notice-small { font-size: 0.76rem; color: var(--text-muted); } |
|
|
| |
| .rv-personality-list { |
| display: flex; |
| flex-direction: column; |
| gap: 0.35rem; |
| } |
|
|
| .rv-personality-item { |
| display: flex; |
| align-items: center; |
| padding: 0.65rem 0.85rem; |
| background: var(--bg-darker); |
| border: 1px solid var(--border-soft); |
| border-radius: 10px; |
| cursor: pointer; |
| transition: all 0.15s; |
| } |
|
|
| .rv-personality-item:hover { border-color: rgba(255,255,255,0.2); } |
|
|
| .rv-personality-item.active { |
| background: rgba(255,107,74,0.1); |
| border-color: var(--coral); |
| } |
|
|
| .rv-personality-name { |
| flex: 1; |
| font-size: 0.88rem; |
| font-weight: 500; |
| color: var(--text-body); |
| } |
|
|
| .rv-personality-item.active .rv-personality-name { color: var(--coral-light); } |
|
|
| .rv-voice-icon-btn { |
| background: none; |
| border: none; |
| cursor: pointer; |
| font-size: 0.85rem; |
| opacity: 0.4; |
| padding: 0.15rem 0.3rem; |
| border-radius: 4px; |
| transition: opacity 0.15s; |
| } |
|
|
| .rv-voice-icon-btn:hover { opacity: 1; } |
|
|
| |
| .video-placeholder { |
| position: absolute; |
| inset: 0; |
| display: flex; |
| flex-direction: column; |
| align-items: center; |
| justify-content: center; |
| gap: 0.5rem; |
| background: var(--bg-darker); |
| } |
|
|
| .camera-off-icon { |
| width: 48px; |
| height: 48px; |
| color: var(--text-muted); |
| opacity: 0.4; |
| } |
|
|
| .camera-status { font-size: 0.9rem; font-weight: 600; color: var(--text-muted); } |
| .camera-message { font-size: 0.78rem; color: var(--text-muted); opacity: 0.7; } |
|
|