:root { --ink: #0b1f2a; --ink-soft: #123041; --primary: #0f766e; --primary-strong: #0b5f59; --secondary: #f59e0b; --accent: #ea580c; --surface: #ffffff; --surface-muted: #f4f7f7; --line: rgba(12, 42, 58, 0.12); --glow: rgba(15, 118, 110, 0.25); } * { box-sizing: border-box; } body.app-body { margin: 0; font-family: "Work Sans", sans-serif; color: var(--ink); background: radial-gradient(circle at top, #e9f2f1 0%, #f7faf9 40%, #ffffff 100%); } body.app-body::before { content: ""; position: fixed; inset: 0; background-image: radial-gradient(circle at 20% 20%, rgba(15, 118, 110, 0.1), transparent 45%), radial-gradient(circle at 90% 10%, rgba(245, 158, 11, 0.12), transparent 40%), linear-gradient(120deg, rgba(15, 118, 110, 0.07), transparent 50%); z-index: -2; } .hero-shell { position: relative; background: linear-gradient(160deg, #0b1f2a 0%, #0f2f3d 60%, #113844 100%); color: #f8fbfb; overflow: hidden; } .hero-shell::after { content: ""; position: absolute; inset: 0; background-image: radial-gradient(circle at 10% 20%, rgba(245, 158, 11, 0.2), transparent 40%), radial-gradient(circle at 80% 20%, rgba(15, 118, 110, 0.3), transparent 45%); opacity: 0.8; pointer-events: none; } .site-header { position: relative; z-index: 1; padding: 1.5rem 0 0.5rem; } .navbar-brand.brand { font-family: "Space Grotesk", sans-serif; font-size: 1.4rem; font-weight: 700; color: #fdfdfd; letter-spacing: 0.02em; } .navbar .nav-link { color: rgba(248, 251, 251, 0.85); font-weight: 500; } .navbar .nav-link:hover, .navbar .nav-link:focus { color: #ffffff; } .btn-brand { background: linear-gradient(130deg, var(--secondary), var(--accent)); border: none; color: #1b1b1b; font-weight: 600; box-shadow: 0 10px 30px rgba(234, 88, 12, 0.3); } .btn-brand:hover, .btn-brand:focus { color: #1b1b1b; transform: translateY(-1px); box-shadow: 0 14px 35px rgba(234, 88, 12, 0.35); } .btn-ghost { border: 1px solid rgba(248, 251, 251, 0.3); color: #f8fbfb; background: rgba(255, 255, 255, 0.05); } .btn-ghost:hover, .btn-ghost:focus { color: #f8fbfb; border-color: rgba(248, 251, 251, 0.6); } .site-main { position: relative; z-index: 1; padding: 2rem 0 5rem; } .hero-section { padding: 2rem 0 4rem; } .eyebrow { text-transform: uppercase; letter-spacing: 0.24em; font-size: 0.75rem; color: rgba(248, 251, 251, 0.6); margin-bottom: 1rem; } .hero-title { font-family: "Space Grotesk", sans-serif; font-size: clamp(2.5rem, 3.5vw, 3.6rem); font-weight: 700; line-height: 1.1; margin-bottom: 1.5rem; } .hero-lead { font-size: 1.1rem; color: rgba(248, 251, 251, 0.75); max-width: 36rem; margin-bottom: 2rem; } .hero-actions { display: flex; gap: 1rem; flex-wrap: wrap; margin-bottom: 2rem; } .hero-stats { display: grid; gap: 1rem; } .stat-card { background: rgba(255, 255, 255, 0.08); border: 1px solid rgba(255, 255, 255, 0.08); padding: 1rem 1.25rem; border-radius: 16px; } .stat-value { display: block; font-weight: 600; } .stat-label { font-size: 0.9rem; color: rgba(248, 251, 251, 0.7); } .card-glass { background: rgba(255, 255, 255, 0.08); border: 1px solid rgba(255, 255, 255, 0.12); border-radius: 20px; padding: 2rem; box-shadow: 0 24px 50px rgba(3, 19, 29, 0.4); backdrop-filter: blur(18px); } .card-glass-header { margin-bottom: 1.5rem; } .card-title { font-family: "Space Grotesk", sans-serif; font-size: 1.5rem; margin-bottom: 0.5rem; } .card-subtitle { color: rgba(248, 251, 251, 0.7); font-size: 0.95rem; } .generator-form .form-label, .generator-form .form-text { color: rgba(248, 251, 251, 0.75); } .generator-form .form-select, .generator-form .form-control { background: rgba(255, 255, 255, 0.12); border: 1px solid rgba(255, 255, 255, 0.2); color: #fdfdfd; } .generator-form .form-select:focus, .generator-form .form-control:focus { border-color: var(--secondary); box-shadow: 0 0 0 0.2rem rgba(245, 158, 11, 0.2); } .form-actions { margin-top: 1.5rem; } .insights-section, .games-section, .process-section, .cta-section { padding: 4rem 0; } .section-header { margin-bottom: 2rem; } .section-header h2 { font-family: "Space Grotesk", sans-serif; font-size: 2rem; margin-bottom: 0.5rem; } .section-header p { color: var(--ink-soft); max-width: 36rem; } .card-soft { background: var(--surface); border-radius: 20px; padding: 2rem; box-shadow: 0 18px 40px rgba(11, 31, 42, 0.08); border: 1px solid var(--line); height: 100%; } .card-soft-header { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 1.5rem; } .pill { display: inline-flex; align-items: center; padding: 0.35rem 0.8rem; border-radius: 999px; background: rgba(15, 118, 110, 0.1); color: var(--primary-strong); font-size: 0.8rem; font-weight: 600; } .metrics { display: grid; gap: 1rem; margin-bottom: 1.5rem; } .metric { display: flex; align-items: center; justify-content: space-between; padding: 0.75rem 1rem; background: var(--surface-muted); border-radius: 12px; } .metric-label { color: var(--ink-soft); font-size: 0.9rem; } .metric-value { font-weight: 600; } .number-groups { display: grid; gap: 1rem; } .group-title { font-weight: 600; margin-bottom: 0.5rem; } .badge-grid { display: flex; flex-wrap: wrap; gap: 0.5rem; } .badge { border-radius: 999px; padding: 0.3rem 0.7rem; font-size: 0.85rem; font-weight: 600; } .badge-hot { background: rgba(234, 88, 12, 0.15); color: #c2410c; } .badge-cold { background: rgba(15, 118, 110, 0.12); color: var(--primary-strong); } .suggestions-grid { display: grid; gap: 1rem; } .suggestion { display: flex; flex-wrap: wrap; gap: 0.5rem; padding: 0.75rem; background: var(--surface-muted); border-radius: 12px; } .ball-hot { background: #198754 !important; color: white !important; border-color: #146c43 !important; box-shadow: 0 0 10px rgba(25, 135, 84, 0.4); } .ball-cold { background: #dc3545 !important; color: white !important; border-color: #a71d2a !important; box-shadow: 0 0 10px rgba(220, 53, 69, 0.4); } .ball { width: 36px; height: 36px; border-radius: 999px; display: inline-flex; align-items: center; justify-content: center; background: #ffffff; border: 1px solid var(--line); font-weight: 600; } .placeholder-card { display: flex; gap: 1.5rem; align-items: center; background: var(--surface-muted); } .placeholder-icon { font-size: 2.4rem; color: var(--primary); } .games-section { background: #f9fbfb; } .game-card { background: #ffffff; border-radius: 18px; padding: 1.75rem; border: 1px solid var(--line); box-shadow: 0 14px 30px rgba(11, 31, 42, 0.08); height: 100%; display: flex; flex-direction: column; gap: 1rem; } .game-card-header h3 { font-family: "Space Grotesk", sans-serif; font-size: 1.4rem; } .game-meta { display: flex; justify-content: space-between; color: var(--ink-soft); font-size: 0.9rem; } .game-odds { font-weight: 600; color: var(--ink); } .process-card { background: #ffffff; border-radius: 18px; padding: 2rem; border: 1px solid var(--line); box-shadow: 0 12px 28px rgba(11, 31, 42, 0.08); height: 100%; } .process-card h3 { font-family: "Space Grotesk", sans-serif; font-size: 1.2rem; margin-bottom: 0.6rem; } .step { display: inline-flex; align-items: center; justify-content: center; width: 42px; height: 42px; border-radius: 12px; background: rgba(15, 118, 110, 0.15); color: var(--primary-strong); font-weight: 700; margin-bottom: 1rem; } .cta-section { background: linear-gradient(140deg, rgba(15, 118, 110, 0.12), rgba(245, 158, 11, 0.18)); } .cta-card { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 2rem; padding: 2.5rem; border-radius: 20px; background: #ffffff; box-shadow: 0 18px 40px rgba(11, 31, 42, 0.08); border: 1px solid var(--line); } .cta-card h2 { font-family: "Space Grotesk", sans-serif; font-size: 1.8rem; margin-bottom: 0.5rem; } .site-footer { padding: 2rem 0 3rem; color: var(--ink-soft); } .site-footer .container { display: flex; flex-wrap: wrap; gap: 1rem; justify-content: space-between; } .footer-meta { font-size: 0.9rem; } @media (max-width: 992px) { .hero-actions { flex-direction: column; } .card-glass { margin-top: 2rem; } } @media (max-width: 768px) { .hero-shell { text-align: left; } .stat-card { padding: 0.9rem 1rem; } .card-soft-header { flex-direction: column; align-items: flex-start; } }