Spaces:
Build error
Build error
| body { | |
| margin: 0; | |
| font-family: | |
| 'Nunito', -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', | |
| 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', | |
| sans-serif; | |
| -webkit-font-smoothing: antialiased; | |
| -moz-osx-font-smoothing: grayscale; | |
| } | |
| code { | |
| font-family: | |
| source-code-pro, Menlo, Monaco, Consolas, 'Courier New', monospace; | |
| } | |
| :root { | |
| --font-family: 'Nunito', sans-serif; | |
| /* Theme Colors */ | |
| --bg-main: #fffaf0; /* Floral White */ | |
| --bg-secondary: #ffffff; | |
| --text-primary: #5d4037; /* Brownish */ | |
| --text-secondary: #8d6e63; | |
| --border-color: #d7ccc8; | |
| --shadow-color: rgba(93, 64, 55, 0.1); | |
| --accent-blue: #81d4fa; | |
| --accent-green: #a5d6a7; | |
| --accent-red: #ef9a9a; | |
| --accent-yellow: #fff59d; | |
| --accent-purple: #ce93d8; | |
| --button-primary-bg: #4db6ac; /* Teal */ | |
| --button-primary-text: white; | |
| --button-primary-hover: #26a69a; | |
| --button-secondary-bg: #f5f5f5; | |
| --button-secondary-text: var(--text-primary); | |
| --button-secondary-hover: #eeeeee; | |
| --mic-active: #ff7043; /* Deep Orange */ | |
| --mic-inactive: #bcaaa4; | |
| /* Original variables (some might be unused now) */ | |
| --text: var(--text-primary); | |
| --gray-200: #e0e0e0; | |
| --gray-300: #bdbdbd; | |
| --gray-500: #9e9e9e; | |
| --gray-600: #757575; | |
| --gray-700: #616161; | |
| --gray-800: #424242; | |
| --gray-900: #212121; | |
| --gray-1000: #000000; | |
| --border-stroke: var(--border-color); | |
| --background: var(--bg-main); | |
| --color: var(--text-primary); | |
| scrollbar-color: var(--gray-500) var(--bg-main); | |
| scrollbar-width: thin; | |
| --card-border-radius: 24px; | |
| --breakpoint-md: 768px; | |
| } | |
| * { | |
| margin: 0; | |
| padding: 0; | |
| box-sizing: border-box; | |
| } | |
| body { | |
| font-family: var(--font-family); | |
| background: var(--bg-main); | |
| color: var(--text-primary); | |
| } | |
| h1, | |
| h2, | |
| h3, | |
| h4, | |
| h5, | |
| h6 { | |
| font-weight: 700; | |
| color: var(--text-primary); | |
| } | |
| li { | |
| list-style: none; | |
| } | |
| input, | |
| textarea { | |
| font-family: var(--font-family); | |
| background: var(--bg-secondary); | |
| color: var(--text-primary); | |
| border: 1px solid var(--border-color); | |
| outline: none; | |
| font-size: 16px; | |
| resize: none; | |
| -webkit-user-select: text; | |
| user-select: text; | |
| border-radius: 12px; | |
| padding: 12px; | |
| } | |
| input::placeholder, | |
| textarea::placeholder { | |
| user-select: none; | |
| color: var(--text-secondary); | |
| } | |
| select { | |
| font-family: inherit; | |
| padding: 10px; | |
| border: 1px solid var(--border-color); | |
| background: var(--bg-secondary); | |
| color: var(--text-primary); | |
| border-radius: 12px; | |
| font-size: 16px; | |
| cursor: pointer; | |
| accent-color: var(--button-primary-bg); | |
| } | |
| select:focus-visible { | |
| outline: 2px solid var(--button-primary-bg); | |
| } | |
| button { | |
| font-family: var(--font-family); | |
| background: none; | |
| color: var(--text-primary); | |
| border: none; | |
| font-size: 16px; | |
| font-weight: 700; | |
| cursor: pointer; | |
| user-select: none; | |
| display: flex; | |
| align-items: center; | |
| gap: 5px; | |
| border-radius: 12px; | |
| padding: 10px 15px; | |
| transition: all 0.2s ease-in-out; | |
| } | |
| button.primary { | |
| background: var(--button-primary-bg); | |
| color: var(--button-primary-text); | |
| } | |
| button.primary:hover { | |
| background: var(--button-primary-hover); | |
| } | |
| button.icon { | |
| font-size: 1.2em; | |
| } | |
| .button { | |
| background: var(--button-secondary-bg); | |
| color: var(--button-secondary-text); | |
| display: inline-flex; | |
| padding: 10px; | |
| border-radius: 12px; | |
| gap: 4px; | |
| align-items: center; | |
| justify-content: center; | |
| font-weight: 700; | |
| } | |
| .button:hover { | |
| background: var(--button-secondary-hover); | |
| } | |
| .button .icon { | |
| font-size: 1.2em; | |
| } | |
| button:focus { | |
| outline: none; | |
| } | |
| button:focus-visible { | |
| box-shadow: 0 0 0 3px var(--accent-blue); | |
| } | |
| button[disabled] { | |
| opacity: 0.5; | |
| cursor: not-allowed; | |
| } | |
| button .icon { | |
| display: block; | |
| } | |
| .icon { | |
| font-family: 'Material Symbols Outlined'; | |
| font-weight: 300; | |
| line-height: 1; | |
| } | |
| .hidden { | |
| display: none; | |
| } | |
| header { | |
| padding: 20px; | |
| display: flex; | |
| align-items: center; | |
| justify-content: space-between; | |
| position: fixed; | |
| width: 100%; | |
| z-index: 999; | |
| } | |
| .streaming-console { | |
| background: transparent; | |
| color: var(--text-secondary); | |
| display: flex; | |
| height: 100vh; | |
| width: 100vw; | |
| } | |
| .streaming-console main { | |
| position: relative; | |
| display: flex; | |
| flex-direction: column; | |
| align-items: center; | |
| justify-content: center; | |
| flex-grow: 1; | |
| gap: 1rem; | |
| max-width: 100%; | |
| overflow: hidden; | |
| } | |
| .streaming-console .main-app-area { | |
| display: flex; | |
| flex: 1; | |
| align-items: center; | |
| justify-content: center; | |
| position: relative; | |
| width: 100%; | |
| } | |
| .action-button { | |
| display: flex; | |
| align-items: center; | |
| justify-content: center; | |
| background: var(--bg-secondary); | |
| color: var(--mic-inactive); | |
| font-size: 1.5rem; | |
| cursor: pointer; | |
| transition: all 0.2s ease-in-out; | |
| width: 64px; | |
| height: 64px; | |
| border-radius: 50%; | |
| border: 2px solid var(--border-color); | |
| user-select: none; | |
| box-shadow: 0 4px 10px var(--shadow-color); | |
| } | |
| .action-button:hover { | |
| transform: translateY(-2px); | |
| box-shadow: 0 6px 15px var(--shadow-color); | |
| } | |
| .action-button:focus { | |
| border: 2px solid var(--button-primary-bg); | |
| outline: none; | |
| } | |
| .action-button.connected { | |
| background: var(--mic-active); | |
| color: white; | |
| border-color: transparent; | |
| } | |
| .mic-button { | |
| position: relative; | |
| background-color: var(--mic-active); | |
| z-index: 1; | |
| color: white; | |
| width: 80px; | |
| height: 80px; | |
| font-size: 2rem; | |
| border-radius: 50%; | |
| } | |
| .mic-button.bot-speaking { | |
| background-color: var(--mic-inactive); | |
| } | |
| .mic-button:focus { | |
| border: none; | |
| outline: 3px solid var(--accent-red); | |
| } | |
| .mic-button:hover { | |
| background-color: #ff8a65; | |
| } | |
| .mic-button.bot-speaking:hover { | |
| background-color: var(--mic-inactive); | |
| } | |
| .connect-button { | |
| font-size: 1.5rem; | |
| padding: 1rem 2rem; | |
| border-radius: 99px; | |
| background-color: var(--button-primary-bg); | |
| color: var(--button-primary-text); | |
| } | |
| .connect-button:hover { | |
| background-color: var(--button-primary-hover); | |
| } | |
| .control-tray { | |
| position: absolute; | |
| bottom: 0; | |
| left: 50%; | |
| transform: translate(-50%, 0); | |
| display: inline-flex; | |
| justify-content: center; | |
| align-items: center; | |
| gap: 1.5rem; | |
| padding: 1rem; | |
| margin-bottom: 2rem; | |
| background-color: rgba(255, 255, 255, 0.7); | |
| backdrop-filter: blur(10px); | |
| border-radius: 99px; | |
| box-shadow: 0 4px 20px var(--shadow-color); | |
| z-index: 12; | |
| transition: all 0.3s ease-in-out; | |
| } | |
| .control-tray.connected { | |
| width: 80%; | |
| max-width: 900px; | |
| gap: 1rem; | |
| padding: 1rem 1.5rem; | |
| border-radius: 3rem; | |
| align-items: center; | |
| } | |
| .caption-display { | |
| flex-grow: 1; | |
| text-align: center; | |
| overflow: hidden; | |
| } | |
| .caption-display p { | |
| font-size: 1.5rem; | |
| font-weight: 700; | |
| color: var(--text-primary); | |
| margin: 0; | |
| opacity: 0; | |
| transform: translateY(10px); | |
| transition: opacity 0.3s ease-out, transform 0.3s ease-out; | |
| white-space: normal; | |
| line-height: 1.3; | |
| } | |
| .caption-display p.visible { | |
| opacity: 1; | |
| transform: translateY(0); | |
| } | |
| .end-session-button { | |
| background-color: var(--accent-red); | |
| color: white; | |
| padding: 0.8rem 1.5rem; | |
| border-radius: 99px; | |
| flex-shrink: 0; | |
| } | |
| .end-session-button:hover { | |
| background-color: #d32f2f; | |
| } | |
| .control-tray .disabled .action-button, | |
| .control-tray .action-button.disabled { | |
| background: #f5f5f5; | |
| border: 2px solid #e0e0e0; | |
| color: #bdbdbd; | |
| box-shadow: none; | |
| } | |
| .actions-nav { | |
| background: transparent; | |
| border: none; | |
| display: inline-flex; | |
| align-items: center; | |
| transition: all 0.6s ease-in; | |
| } | |
| /* Modal */ | |
| .modalShroud { | |
| position: fixed; | |
| inset: 0; | |
| display: flex; | |
| justify-content: center; | |
| align-items: center; | |
| z-index: 9999; | |
| background: rgba(93, 64, 55, 0.3); | |
| backdrop-filter: blur(5px); | |
| } | |
| .modalShroud .modal { | |
| background: var(--bg-secondary); | |
| border: 1px solid var(--border-color); | |
| border-radius: var(--card-border-radius); | |
| padding: 40px; | |
| position: relative; | |
| width: 100%; | |
| box-shadow: 0 10px 30px var(--shadow-color); | |
| } | |
| @media (min-width: 768px) { | |
| .modalShroud .modal { | |
| max-width: 500px; | |
| } | |
| } | |
| .modalShroud .modal { | |
| max-height: 80vh; | |
| overflow: auto; | |
| margin: 20px; | |
| } | |
| .modalClose { | |
| position: absolute; | |
| top: 15px; | |
| right: 15px; | |
| color: var(--text-secondary); | |
| font-size: 30px; | |
| border-radius: 50%; | |
| width: 40px; | |
| height: 40px; | |
| justify-content: center; | |
| padding: 0; | |
| } | |
| .modalClose:hover { | |
| background-color: #f5f5f5; | |
| color: var(--text-primary); | |
| } | |
| /* UserSettings */ | |
| .userSettings { | |
| max-width: 480px; | |
| display: flex; | |
| flex-direction: column; | |
| gap: 15px; | |
| text-align: center; | |
| } | |
| .userSettings h2 { | |
| font-size: 24px; | |
| margin-bottom: 0; | |
| } | |
| .userSettings p { | |
| font-size: 16px; | |
| line-height: 1.6; | |
| color: var(--text-secondary); | |
| } | |
| @media (min-width: 768px) { | |
| .userSettings p { | |
| font-size: 18px; | |
| } | |
| } | |
| .userSettings form { | |
| margin-top: 10px; | |
| padding-top: 10px; | |
| text-align: left; | |
| } | |
| .userSettings form .divider { | |
| height: 1px; | |
| background-color: var(--border-color); | |
| margin: 20px 0; | |
| } | |
| form > div p { | |
| font-weight: 700; | |
| color: var(--text-primary); | |
| font-size: 14px; | |
| } | |
| .userSettingsButton { | |
| display: flex; | |
| align-items: center; | |
| gap: 8px; | |
| color: var(--text-secondary); | |
| transition: all 0.3s; | |
| font-size: 16px; | |
| background-color: var(--bg-secondary); | |
| padding: 8px 16px; | |
| border-radius: 99px; | |
| box-shadow: 0 2px 8px var(--shadow-color); | |
| } | |
| @media (min-width: 768px) { | |
| .userSettingsButton { | |
| font-size: 18px; | |
| } | |
| } | |
| .userSettingsButton .user-name { | |
| display: block; | |
| } | |
| .userSettingsButton .icon { | |
| font-size: 24px; | |
| } | |
| .sticky-header { | |
| position: -webkit-sticky; /* Safari */ | |
| position: sticky; | |
| top: 0; | |
| background-color: var(--bg-main); | |
| border-bottom: 1px solid var(--border-color); | |
| box-shadow: 0 2px 4px var(--shadow-color); | |
| } | |
| .userSettingsButton:hover { | |
| color: var(--text-primary); | |
| box-shadow: 0 4px 12px var(--shadow-color); | |
| } | |
| /* Form */ | |
| form { | |
| display: flex; | |
| flex-direction: column; | |
| gap: 20px; | |
| } | |
| form .largeInput { | |
| font-size: 16px; | |
| border-bottom: 1px solid var(--border-color); | |
| border-radius: 0; | |
| background: transparent; | |
| border-left: none; | |
| border-right: none; | |
| border-top: none; | |
| } | |
| @media (min-width: 768px) { | |
| form .largeInput { | |
| font-size: 28px; | |
| } | |
| } | |
| form > div, | |
| form label { | |
| display: flex; | |
| flex-direction: column; | |
| gap: 10px; | |
| user-select: none; | |
| } | |
| form input, | |
| form textarea { | |
| font-size: 14px; | |
| line-height: 1.4; | |
| } | |
| @media (min-width: 768px) { | |
| form input, | |
| form textarea { | |
| font-size: 18px; | |
| } | |
| } | |
| form input:focus, | |
| form textarea:focus { | |
| border-color: var(--button-primary-bg); | |
| box-shadow: 0 0 0 3px rgba(77, 182, 172, 0.3); | |
| background: white; | |
| } | |
| form textarea { | |
| resize: none; | |
| } | |
| form button.primary { | |
| margin-top: 10px; | |
| padding: 15px; | |
| font-size: 18px; | |
| } | |
| /* agenst */ | |
| .roomInfo { | |
| position: relative; | |
| } | |
| .roomInfo h1 { | |
| font-size: 22px; | |
| font-weight: 700; | |
| display: flex; | |
| align-items: center; | |
| opacity: 0.8; | |
| transition: all 0.2s; | |
| text-align: left; | |
| color: var(--text-primary); | |
| } | |
| @media (min-width: 768px) { | |
| .roomInfo h1 { | |
| font-size: 28px; | |
| } | |
| } | |
| .roomInfo h1:hover, | |
| .roomInfo h1.active { | |
| opacity: 1; | |
| } | |
| .roomList { | |
| display: flex; | |
| flex-direction: column; | |
| gap: 10px; | |
| position: absolute; | |
| background: var(--bg-secondary); | |
| border: 1px solid var(--border-color); | |
| padding: 20px; | |
| border-radius: var(--card-border-radius); | |
| width: 300px; | |
| margin-top: 10px; | |
| opacity: 0; | |
| pointer-events: none; | |
| transition: all 0.1s; | |
| user-select: none; | |
| max-height: 70vh; | |
| overflow: auto; | |
| box-shadow: 0 5px 20px var(--shadow-color); | |
| } | |
| .roomList.active { | |
| opacity: 1; | |
| pointer-events: auto; | |
| } | |
| .roomList h3 { | |
| font-size: 16px; | |
| font-weight: 700; | |
| margin-bottom: 10px; | |
| color: var(--text-secondary); | |
| } | |
| .roomList ul { | |
| display: flex; | |
| flex-direction: column; | |
| gap: 5px; | |
| border-bottom: 1px solid var(--border-color); | |
| padding-bottom: 15px; | |
| margin-bottom: 5px; | |
| } | |
| .roomList li { | |
| font-size: 20px; | |
| } | |
| .roomList li button { | |
| color: var(--text-secondary); | |
| transition: all 0.2s; | |
| width: 100%; | |
| justify-content: flex-start; | |
| padding: 10px; | |
| } | |
| .roomList li.active button, | |
| .roomList li:hover button { | |
| color: var(--text-primary); | |
| background-color: var(--bg-main); | |
| } | |
| .error-screen { | |
| display: flex; | |
| flex-direction: column; | |
| align-items: center; | |
| justify-content: center; | |
| height: 100dvh; | |
| width: 100%; | |
| background: var(--bg-main); | |
| color: var(--text-primary); | |
| gap: 48px; | |
| position: absolute; | |
| top: 50%; | |
| left: 50%; | |
| transform: translate(-50%, -50%); | |
| z-index: 99991; | |
| } | |
| .error-screen .error-message-container, | |
| .error-screen .error-raw-message-container { | |
| width: 100%; | |
| text-align: center; | |
| max-width: 650px; | |
| padding-left: 0.5rem; | |
| padding-right: 0.5rem; | |
| } | |
| .error-screen .close-button { | |
| color: var(--text-primary); | |
| font-size: 24px; | |
| } | |
| /* Remove unused styles for simplicity */ | |
| .agentPreview, | |
| .editAgent, | |
| .voicePicker, | |
| .colorPicker { | |
| display: none; | |
| } | |
| .keynote-companion { | |
| align-items: center; | |
| display: flex; | |
| height: 100%; | |
| justify-content: center; | |
| position: relative; | |
| width: 100%; | |
| z-index: 1; | |
| } | |
| .keynote-companion .basic-face-container { | |
| position: relative; | |
| z-index: 5; | |
| transition: all 0.8s cubic-bezier(0.2, 0.8, 0.2, 1); | |
| } | |
| .keynote-companion .basic-face { | |
| box-shadow: 0px 10px 30px var(--shadow-color); | |
| transition: transform 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275); | |
| } | |
| /* "Thinking" animation for the face */ | |
| .basic-face-container.generating .basic-face { | |
| animation: pulse-shadow 2s infinite; | |
| } | |
| @keyframes pulse-shadow { | |
| 0%, | |
| 100% { | |
| box-shadow: 0px 10px 30px var(--shadow-color); | |
| } | |
| 50% { | |
| box-shadow: 0px 15px 45px var(--accent-blue); | |
| } | |
| } | |
| /* When images are visible, move face to the side */ | |
| .keynote-companion.images-visible .basic-face-container { | |
| position: absolute; | |
| bottom: 20px; | |
| left: 20px; | |
| transform: scale(0.6); | |
| transform-origin: bottom left; | |
| } | |
| /* AuthWrapper Styles */ | |
| .auth-loading-container { | |
| display: flex; | |
| align-items: center; | |
| justify-content: center; | |
| min-height: 100vh; | |
| background: linear-gradient(135deg, #dbeafe 0%, #e0e7ff 100%); | |
| } | |
| .auth-loading-content { | |
| text-align: center; | |
| } | |
| .auth-spinner { | |
| width: 48px; | |
| height: 48px; | |
| border: 2px solid transparent; | |
| border-bottom: 2px solid #2563eb; | |
| border-radius: 50%; | |
| animation: spin 1s linear infinite; | |
| margin: 0 auto 16px; | |
| } | |
| .auth-loading-text { | |
| font-size: 18px; | |
| color: #374151; | |
| font-weight: 500; | |
| } | |
| .auth-signin-container { | |
| display: flex; | |
| align-items: center; | |
| justify-content: center; | |
| min-height: 100vh; | |
| background: linear-gradient(135deg, #dbeafe 0%, #e0e7ff 50%, #ede9fe 100%); | |
| } | |
| .auth-signin-card { | |
| background: white; | |
| padding: 40px; | |
| border-radius: 16px; | |
| box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25); | |
| text-align: center; | |
| max-width: 448px; | |
| width: 100%; | |
| margin: 16px; | |
| border: 1px solid #f3f4f6; | |
| } | |
| .auth-logo-container { | |
| margin-bottom: 32px; | |
| } | |
| .auth-logo { | |
| width: 64px; | |
| height: 64px; | |
| background: linear-gradient(135deg, #2563eb 0%, #4f46e5 100%); | |
| border-radius: 50%; | |
| display: flex; | |
| align-items: center; | |
| justify-content: center; | |
| margin: 0 auto 16px; | |
| } | |
| .auth-logo svg { | |
| width: 32px; | |
| height: 32px; | |
| color: white; | |
| } | |
| .auth-title { | |
| font-size: 30px; | |
| font-weight: bold; | |
| color: #111827; | |
| margin-bottom: 8px; | |
| } | |
| .auth-subtitle { | |
| color: #6b7280; | |
| font-size: 18px; | |
| } | |
| .auth-signin-content { | |
| margin-bottom: 24px; | |
| } | |
| .auth-signin-text { | |
| color: #374151; | |
| margin-bottom: 16px; | |
| } | |
| .auth-error { | |
| background: #fef2f2; | |
| border: 1px solid #fecaca; | |
| color: #dc2626; | |
| padding: 12px 16px; | |
| border-radius: 8px; | |
| margin-bottom: 16px; | |
| font-size: 14px; | |
| } | |
| .auth-warning { | |
| background: #fffbeb; | |
| border: 1px solid #fed7aa; | |
| color: #d97706; | |
| padding: 12px 16px; | |
| border-radius: 8px; | |
| margin-bottom: 16px; | |
| font-size: 14px; | |
| } | |
| .auth-google-button { | |
| width: 100%; | |
| background: white; | |
| border: 2px solid #d1d5db; | |
| color: #374151; | |
| font-weight: 600; | |
| padding: 12px 24px; | |
| border-radius: 12px; | |
| cursor: pointer; | |
| transition: all 0.2s; | |
| display: flex; | |
| align-items: center; | |
| justify-content: center; | |
| gap: 12px; | |
| box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1); | |
| } | |
| .auth-google-button:hover { | |
| background: #f9fafb; | |
| border-color: #9ca3af; | |
| } | |
| .auth-google-button:focus { | |
| outline: none; | |
| box-shadow: 0 0 0 4px rgba(59, 130, 246, 0.1); | |
| } | |
| .auth-google-button:disabled { | |
| opacity: 0.5; | |
| cursor: not-allowed; | |
| } | |
| .auth-button-spinner { | |
| width: 20px; | |
| height: 20px; | |
| border: 2px solid transparent; | |
| border-bottom: 2px solid #4b5563; | |
| border-radius: 50%; | |
| animation: spin 1s linear infinite; | |
| } | |
| .auth-google-icon { | |
| width: 20px; | |
| height: 20px; | |
| } | |
| .auth-terms { | |
| margin-top: 24px; | |
| font-size: 12px; | |
| color: #6b7280; | |
| } | |
| .auth-header { | |
| background: white; | |
| box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1); | |
| border-bottom: 1px solid #e5e7eb; | |
| } | |
| .auth-header-content { | |
| max-width: 1280px; | |
| margin: 0 auto; | |
| padding: 0 16px; | |
| } | |
| .auth-header-inner { | |
| display: flex; | |
| justify-content: space-between; | |
| align-items: center; | |
| padding: 16px 0; | |
| } | |
| .auth-brand { | |
| display: flex; | |
| align-items: center; | |
| gap: 12px; | |
| } | |
| .auth-brand-logo { | |
| width: 40px; | |
| height: 40px; | |
| background: linear-gradient(135deg, #2563eb 0%, #4f46e5 100%); | |
| border-radius: 8px; | |
| display: flex; | |
| align-items: center; | |
| justify-content: center; | |
| } | |
| .auth-brand-logo svg { | |
| width: 24px; | |
| height: 24px; | |
| color: white; | |
| } | |
| .auth-brand-text { | |
| font-size: 20px; | |
| font-weight: bold; | |
| color: #111827; | |
| } | |
| .auth-user-section { | |
| display: flex; | |
| align-items: center; | |
| gap: 16px; | |
| } | |
| .auth-warning-indicator { | |
| display: flex; | |
| align-items: center; | |
| gap: 8px; | |
| color: #d97706; | |
| } | |
| .auth-warning-indicator svg { | |
| width: 16px; | |
| height: 16px; | |
| } | |
| .auth-warning-text { | |
| font-size: 14px; | |
| font-weight: 500; | |
| } | |
| .auth-user-info { | |
| display: flex; | |
| align-items: center; | |
| gap: 12px; | |
| background: #f9fafb; | |
| border-radius: 8px; | |
| padding: 8px 12px; | |
| } | |
| .auth-user-avatar { | |
| width: 32px; | |
| height: 32px; | |
| border-radius: 50%; | |
| border: 2px solid white; | |
| box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1); | |
| } | |
| .auth-user-details { | |
| text-align: left; | |
| } | |
| .auth-user-name { | |
| font-size: 14px; | |
| font-weight: 500; | |
| color: #111827; | |
| } | |
| .auth-user-email { | |
| font-size: 12px; | |
| color: #6b7280; | |
| } | |
| .auth-logout-button { | |
| background: linear-gradient(135deg, #ef4444 0%, #dc2626 100%); | |
| color: white; | |
| font-weight: 500; | |
| padding: 8px 16px; | |
| border-radius: 8px; | |
| font-size: 14px; | |
| cursor: pointer; | |
| border: none; | |
| transition: all 0.2s; | |
| box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1); | |
| } | |
| .auth-logout-button:hover { | |
| background: linear-gradient(135deg, #dc2626 0%, #b91c1c 100%); | |
| box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1); | |
| } | |
| .auth-logout-button:focus { | |
| outline: none; | |
| box-shadow: 0 0 0 2px #ef4444, 0 0 0 4px rgba(239, 68, 68, 0.1); | |
| } | |
| .auth-main-container { | |
| min-height: 100vh; | |
| background: #f9fafb; | |
| } | |
| .auth-content { | |
| flex: 1; | |
| } | |
| @keyframes spin { | |
| from { | |
| transform: rotate(0deg); | |
| } | |
| to { | |
| transform: rotate(360deg); | |
| } | |
| } | |
| @media (min-width: 640px) { | |
| .auth-header-content { | |
| padding: 0 24px; | |
| } | |
| } | |
| @media (min-width: 1024px) { | |
| .auth-header-content { | |
| padding: 0 32px; | |
| } | |
| } | |
| /* Clean up unnecessary old styles that are not in the provided files */ | |
| .control-tray .connection-container, | |
| .top, | |
| .roomDescription, | |
| .createButton, | |
| .deleteRoomButton, | |
| .roomList .newRoomButton, | |
| .counter-container, | |
| .streaming-console .function-call, | |
| .actions-nav > *, | |
| .mic-button:before, | |
| .connect-toggle:not(.connected) { | |
| display: none ; | |
| } | |
| .actions-nav { | |
| padding: 0; | |
| gap: 0; | |
| } | |
| .control-tray { | |
| padding: 1rem; | |
| } | |
| /* Loading Indicator */ | |
| .loading-indicator { | |
| position: absolute; | |
| top: 50%; | |
| left: 50%; | |
| transform: translate(-50%, -50%); | |
| z-index: 10; | |
| display: flex; | |
| align-items: center; | |
| justify-content: center; | |
| } | |
| .loading-indicator.large { | |
| display: flex; | |
| flex-direction: column; | |
| gap: 20px; | |
| align-items: center; | |
| color: var(--text-secondary); | |
| font-size: 1.2rem; | |
| font-weight: 700; | |
| } | |
| .loading-indicator.large .spinner { | |
| width: 80px; | |
| height: 80px; | |
| border-width: 6px; | |
| } | |
| .spinner { | |
| width: 60px; | |
| height: 60px; | |
| border: 5px solid rgba(93, 64, 55, 0.2); | |
| border-top-color: var(--text-primary); | |
| border-radius: 50%; | |
| animation: spin 1s linear infinite; | |
| } | |
| @keyframes spin { | |
| to { | |
| transform: rotate(360deg); | |
| } | |
| } | |
| /* Image Collage Styles */ | |
| .image-collage-container { | |
| position: absolute; | |
| top: 0; | |
| left: 0; | |
| width: 100%; | |
| height: 100%; | |
| z-index: 2; /* Sits above the slideshow but below UI elements */ | |
| display: grid; | |
| grid-template-columns: repeat(10, 1fr); | |
| grid-template-rows: repeat(10, 1fr); | |
| gap: 8px; | |
| background-color: var(--bg-main); | |
| overflow: hidden; | |
| } | |
| .collage-item { | |
| overflow: hidden; | |
| border-radius: 12px; | |
| box-shadow: 0 4px 15px var(--shadow-color); | |
| transition: transform 0.3s ease-in-out; | |
| animation: fade-in 0.5s ease-out forwards; | |
| opacity: 0; | |
| } | |
| @keyframes fade-in { | |
| to { opacity: 1; } | |
| } | |
| .collage-item:hover { | |
| transform: scale(1.05) ; | |
| z-index: 10; | |
| } | |
| .collage-item img { | |
| width: 100%; | |
| height: 100%; | |
| object-fit: cover; | |
| } | |
| /* Quiz Styles */ | |
| .quiz-container { | |
| position: absolute; | |
| top: 50%; | |
| left: 50%; | |
| transform: translate(-50%, -50%); | |
| width: 90%; | |
| max-width: 700px; | |
| background: rgba(255, 255, 255, 0.85); | |
| backdrop-filter: blur(10px); | |
| border-radius: var(--card-border-radius); | |
| padding: 2rem; | |
| box-shadow: 0 8px 32px 0 var(--shadow-color); | |
| border: 1px solid rgba(255, 255, 255, 0.18); | |
| z-index: 10; | |
| } | |
| .quiz-header { | |
| display: flex; | |
| justify-content: space-between; | |
| align-items: center; | |
| margin-bottom: 1.5rem; | |
| border-bottom: 2px solid var(--border-color); | |
| padding-bottom: 1rem; | |
| } | |
| .quiz-header h2 { | |
| font-size: 2rem; | |
| color: var(--text-primary); | |
| margin: 0; | |
| } | |
| .quiz-score { | |
| font-size: 1.25rem; | |
| font-weight: 700; | |
| color: var(--text-secondary); | |
| background: var(--bg-main); | |
| padding: 0.5rem 1rem; | |
| border-radius: 99px; | |
| } | |
| .quiz-score span { | |
| color: var(--text-primary); | |
| } | |
| .quiz-card { | |
| text-align: center; | |
| } | |
| .quiz-question { | |
| font-size: 1.75rem; | |
| font-weight: 700; | |
| color: var(--text-primary); | |
| line-height: 1.4; | |
| margin-bottom: 2rem; | |
| } | |
| .quiz-options { | |
| display: flex; | |
| flex-direction: column; | |
| gap: 1rem; | |
| } | |
| .quiz-options li { | |
| background-color: var(--bg-secondary); | |
| border: 2px solid var(--border-color); | |
| border-radius: 12px; | |
| padding: 1rem; | |
| font-size: 1.25rem; | |
| color: var(--text-secondary); | |
| font-weight: 700; | |
| transition: all 0.2s ease-in-out; | |
| } | |
| .quiz-option-button { | |
| background-color: var(--bg-secondary); | |
| border: 2px solid var(--border-color); | |
| border-radius: 12px; | |
| padding: 1rem; | |
| font-size: 1.25rem; | |
| color: var(--text-primary); | |
| font-weight: 700; | |
| transition: all 0.2s ease-in-out; | |
| width: 100%; | |
| text-align: left; | |
| justify-content: flex-start; | |
| } | |
| .quiz-option-button:not(:disabled):hover { | |
| border-color: var(--button-primary-bg); | |
| color: var(--text-primary); | |
| transform: translateY(-2px); | |
| box-shadow: 0 4px 10px var(--shadow-color); | |
| } | |
| .quiz-option-button:disabled { | |
| cursor: not-allowed; | |
| opacity: 0.7; | |
| } | |
| .quiz-option-button.selected.incorrect { | |
| background-color: #ffebee; /* Light red */ | |
| border-color: var(--accent-red); | |
| color: #c62828; /* Dark red */ | |
| opacity: 1; | |
| } | |
| .quiz-option-button.correct { | |
| background-color: #e8f5e9; /* Light green */ | |
| border-color: var(--accent-green); | |
| color: #2e7d32; /* Dark green */ | |
| opacity: 1; | |
| } | |
| .quiz-option-button.correct::after { | |
| content: '✔'; | |
| margin-left: auto; | |
| font-weight: bold; | |
| color: #2e7d32; | |
| } | |
| .quiz-option-button.selected.incorrect::after { | |
| content: '✖'; | |
| margin-left: auto; | |
| font-weight: bold; | |
| color: #c62828; | |
| } | |
| /* End Screen Styles */ | |
| .end-screen-container { | |
| position: relative; | |
| z-index: 10; | |
| background: rgba(255, 255, 255, 0.85); | |
| backdrop-filter: blur(10px); | |
| border-radius: var(--card-border-radius); | |
| padding: 2.5rem; | |
| box-shadow: 0 8px 32px 0 var(--shadow-color); | |
| text-align: center; | |
| display: flex; | |
| flex-direction: column; | |
| gap: 1rem; | |
| max-width: 500px; | |
| } | |
| .end-screen-container h2 { | |
| font-size: 2.5rem; | |
| color: var(--text-primary); | |
| margin: 0; | |
| } | |
| .end-screen-container p { | |
| font-size: 1.25rem; | |
| color: var(--text-secondary); | |
| margin-bottom: 1rem; | |
| } | |
| .end-screen-buttons { | |
| display: flex; | |
| flex-direction: column; | |
| gap: 1rem; | |
| justify-content: center; | |
| } | |
| @media (min-width: 768px) { | |
| .end-screen-buttons { | |
| flex-direction: row; | |
| } | |
| } | |
| .end-screen-buttons .button { | |
| font-size: 1.1rem; | |
| padding: 0.8rem 1.5rem; | |
| } |