@import "tailwindcss"; @theme { --font-sans: "Noto Sans", "Inter", system-ui, sans-serif; --font-inter: "Inter", system-ui, sans-serif; --color-eb-text: #24282f; --color-eb-orange: #ef8d1d; --color-eb-gray-5: #e5e5ea; --color-eb-gray-6: #f2f2f7; --color-eb-timeline: #c2deff; --color-eb-speaker-pill: #f0fbd7; --color-eb-moderator-pill: #fbefd7; --color-eb-session-tag: rgba(94, 147, 239, 0.14); } html { min-height: 100dvh; background-color: var(--theme-bg-color, #f2f2f7); background-image: var(--theme-bg-image, none); background-size: var(--theme-bg-size, auto); background-repeat: var(--theme-bg-repeat, no-repeat); background-position: var(--theme-bg-position, center center); background-attachment: fixed; } body { margin: 0; min-height: 100dvh; font-family: var(--theme-body-font, var(--font-sans)); color: var(--color-eb-text); background: transparent; -webkit-font-smoothing: antialiased; } #root { display: flex; flex-direction: column; min-height: 100dvh; background: transparent; } .eb-gradient-banner { background: linear-gradient( 34.8deg, var(--theme-primary-color, rgb(29, 102, 239)) 0%, var(--theme-primary-color, rgb(30, 121, 240)) 45%, var(--theme-secondary-color, rgb(189, 53, 230)) 100% ); } .eb-gradient-fab { background: linear-gradient( 65deg, var(--theme-primary-color, rgb(29, 102, 239)) 0%, var(--theme-primary-color, rgb(30, 121, 240)) 40%, var(--theme-secondary-color, rgb(189, 53, 230)) 100% ); } /* Auth / modal shells (Figma EventBuzz_Event_Mobile_V1_Register) */ .eb-gradient-auth { background-color: var(--theme-bg-color, transparent); background-image: var( --theme-bg-image, linear-gradient( 77.92deg, rgb(29, 102, 239) 0%, rgb(30, 121, 240) 45%, rgb(189, 53, 230) 100% ) ); background-size: var(--theme-bg-size, cover); background-repeat: var(--theme-bg-repeat, no-repeat); background-position: var(--theme-bg-position, center center); } /* Rewards / Leaderboard “Total Points” card */ .eb-rank-highlight { background: radial-gradient( 120% 180% at 50% 0%, rgb(135, 209, 239) 0%, rgb(29, 130, 239) 45%, rgb(63, 165, 255) 100% ); } /* Avoid Tailwind arbitrary `font-[family-name:…]` — can break parsing in v4 */ .font-inter { font-family: Inter, system-ui, sans-serif; } /* Reward points celebration (notifyRewardFromApiData / celebratePointsEarned) */ .eb-points-toast { position: fixed; left: 50%; top: 38%; transform: translate(-50%, -20px) scale(0.75); z-index: 10001; pointer-events: none; padding: 0.65rem 1.35rem; border-radius: 999px; font-family: Inter, system-ui, sans-serif; font-size: 1.35rem; font-weight: 800; letter-spacing: -0.02em; color: #fff; text-shadow: 0 2px 12px rgba(0, 0, 0, 0.35); background: linear-gradient(120deg, #16a34a, #22c55e, #fbbf24); box-shadow: 0 12px 40px rgba(22, 163, 74, 0.45), 0 4px 0 rgba(0, 0, 0, 0.08); opacity: 0; transition: opacity 0.35s ease, transform 0.45s cubic-bezier(0.34, 1.56, 0.64, 1); } .eb-points-toast--show { opacity: 1; transform: translate(-50%, 0) scale(1); } /* Live session indicator beside Join on event agenda */ .eb-live-dot { width: 8px; height: 8px; flex-shrink: 0; border-radius: 9999px; background-color: #14ae5c; box-shadow: 0 0 0 2px rgba(20, 174, 92, 0.25); animation: eb-live-blink 1.2s ease-in-out infinite; } .card-bg { background-color: var(--theme-card-color, #ffffff); color: var(--theme-card-text-color, #333333); backdrop-filter: blur(10px); } .theme-btn-bg { background-color: var(--theme-button-color, #ef8d1d); color: var(--theme-button-text-color, #ffffff); } .theme-btn-link { color: var(--theme-button-color, #ef8d1d); text-decoration: underline; text-underline-offset: 2px; text-decoration-thickness: 1px; text-decoration-color: var(--theme-button-color, #ef8d1d); text-decoration-style: solid; text-decoration-skip-ink: none; text-decoration-skip-ink: none; } /* @layer utilities { .btn-bg { background-color: var(--theme-button-color, #ef8d1d); color: var(--theme-button-text-color, #ffffff); } .btn-bg:hover { background-color: var(--theme-primary-color, #ef8d1d); color: var(--theme-button-text-color, #ffffff); } } */ @keyframes eb-live-blink { 0%, 100% { opacity: 1; transform: scale(1); } 50% { opacity: 0.35; transform: scale(0.85); } }