Spaces:
Paused
Paused
| /* Dark theme page background */ | |
| body { | |
| margin: 0; | |
| font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', | |
| sans-serif; | |
| background: #0b1020; | |
| color: #f5f5f5; | |
| } | |
| body.no-scroll { | |
| overflow: hidden; | |
| } | |
| button { | |
| font-size: 1rem; | |
| user-select: none; | |
| } | |
| a { | |
| color: #4da6ff; | |
| } | |
| label, select, legend { | |
| user-select: none; | |
| } | |
| .unselectable { | |
| user-select: none; | |
| } | |
| /* SVG ICONS */ | |
| svg { | |
| width: 16px; | |
| height: 16px; | |
| } | |
| /* Spinning animation for the uploading button */ | |
| @keyframes spin { | |
| from { transform: rotate(0deg); } | |
| to { transform: rotate(360deg); } | |
| } | |
| .spinning { | |
| animation: spin 1s linear infinite; | |
| } | |
| /* Generic buttons */ | |
| .ok-button { | |
| padding: 8px 18px; | |
| border-radius: 10px; | |
| border: none; | |
| background: #4c6fff; | |
| color: white; | |
| font-weight: 600; | |
| cursor: pointer; | |
| transition: all 0.2s ease; | |
| max-width: 200px; | |
| } | |
| .ok-button:hover { | |
| background: #3453e6; | |
| } | |
| .no-button { | |
| padding: 8px 18px; | |
| border-radius: 10px; | |
| border: none; | |
| background: #dc2626; | |
| color: white; | |
| font-weight: 600; | |
| cursor: pointer; | |
| transition: all 0.2s ease; | |
| max-width: 200px; | |
| } | |
| .no-button:hover { | |
| background-color: #b91c1c; | |
| } | |
| .disabled-button { | |
| padding: 8px 18px; | |
| border-radius: 10px; | |
| border: none; | |
| font-weight: 600; | |
| background-color: #e5e7eb; | |
| color: #9ca3af; | |
| cursor: not-allowed; | |
| max-width: 200px; | |
| } | |
| .cancelBtn { | |
| background: #0d132475; | |
| color: #9ca3af; | |
| border: 1px solid #2c3554; | |
| padding: 8px 18px; | |
| border-radius: 10px; | |
| font-weight: 600; | |
| cursor: pointer; | |
| transition: all 0.2s ease; | |
| max-width: 200px; | |
| } | |
| .cancelBtn:hover { | |
| background: #0d1324; | |
| color: #f5f5f5; | |
| border-color: #4a5f8f; | |
| } | |
| .center-button { | |
| text-align: center; | |
| } | |
| /* Modals */ | |
| .modal { | |
| /* Covers the entier view port */ | |
| position: fixed; | |
| left: 0; | |
| top: 0; | |
| width: 100%; | |
| height: 100%; | |
| /* Center the content of the modal */ | |
| display: flex; | |
| align-items: center; | |
| justify-content: center; | |
| /* Put the modal in front */ | |
| z-index: 1; | |
| /* Mask what is behind the modal */ | |
| background-color: rgba(0, 0, 0, 0.8); | |
| } | |
| .modal h2 { | |
| margin-top: 0; | |
| margin-bottom: 0; | |
| } | |
| /* Dark theme overlay box */ | |
| .modal-content { | |
| /* Snap this slide to the left edge of the slider */ | |
| scroll-snap-align: start; | |
| /* Center the content of the modal */ | |
| display: flex; | |
| justify-content: flex-start; | |
| /* Looks */ | |
| background: #141b2f; /* CHANGED: match theme */ | |
| color: #f5f5f5; /* NEW: readable on dark bg */ | |
| padding: 24px; | |
| border-radius: 12px; | |
| box-shadow: 0 4px 12px rgba(0, 0, 0, 0.4); | |
| box-sizing: border-box; | |
| margin: 0 auto; | |
| /* Enable scrolling */ | |
| overflow-y: auto; | |
| } | |
| /* Modals with slider animation */ | |
| .slider { | |
| /* Smooth scrolling */ | |
| scroll-snap-type: x mandatory; | |
| scroll-behavior: smooth; | |
| /* Clip slides that are off-screen */ | |
| overflow-x: hidden; | |
| /* Constrain the slider so children can scroll */ | |
| max-height: 90dvh; | |
| /* Place the elements next to the others horizontally*/ | |
| display: flex; | |
| } | |
| .slide { | |
| /* Each slide fills the full width of the slider */ | |
| min-width: 100%; | |
| } | |
| .modal-content.slide { | |
| max-width: 400px; | |
| } | |
| .language-modal, | |
| .consent-box, | |
| .profile, | |
| .feedback-modal { | |
| display: flex; | |
| flex-direction: column; | |
| justify-content: space-between; | |
| } | |
| .language-modal, | |
| .consent-box { | |
| max-height: 350px; | |
| } | |
| /* Checkbox & Radio Groups */ | |
| .form-group { | |
| margin-bottom: 1.5rem; | |
| } | |
| label, .group-label { | |
| display: block; | |
| font-weight: 600; | |
| margin-bottom: 0.5rem; | |
| font-size: 0.95rem; | |
| } | |
| .radio-group { | |
| display: flex; | |
| flex-wrap: wrap; | |
| gap: 1rem; | |
| } | |
| .checkbox-grid { | |
| display: grid; | |
| grid-template-columns: repeat(2, 1fr); /* Creates two equal columns */ | |
| gap: 12px; | |
| margin-top: 8px; | |
| } | |
| .checkbox-grid-lang { | |
| display: grid; | |
| grid-template-columns: repeat(1, 1fr); | |
| gap: 12px; | |
| margin-top: 8px; | |
| } | |
| .checkbox-grid-lang label, | |
| .checkbox-grid label { | |
| font-weight: 400; | |
| display: flex; | |
| align-items: center; | |
| gap: 10px; | |
| padding: 8px; | |
| border: 1px solid #eee; /* Light border makes it look like a contained element */ | |
| border-radius: 6px; | |
| cursor: pointer; | |
| transition: background 0.2s; | |
| } | |
| .checkbox-grid-lang label:hover, | |
| .checkbox-grid label:hover { | |
| background-color: #ffffff; /* The white background you wanted */ | |
| color: #111111; /* Forces the text to be dark/visible */ | |
| border-color: #007bff; /* Optional: adds a blue border to show it's active */ | |
| box-shadow: 0 2px 8px rgba(0,0,0,0.1); /* Optional: adds a soft depth */ | |
| } | |
| .radio-group label, .checkbox-grid label, .checkbox-grid-lang label { | |
| font-weight: 400; | |
| display: flex; | |
| align-items: center; | |
| gap: 0.5rem; | |
| cursor: pointer; | |
| } | |
| /* Modern Inputs */ | |
| input[type="checkbox"] { | |
| width: 18px; | |
| height: 18px; | |
| cursor: pointer; | |
| accent-color: #007bff; /* Modern way to color native inputs */ | |
| } | |
| select, input[type="text"] { | |
| width: 100%; | |
| box-sizing: border-box; | |
| padding: 12px 6px 12px 6px; | |
| border: 1px solid #ddd; | |
| border-radius: 8px; | |
| font-size: 1rem; | |
| outline: none; | |
| transition: border-color 0.2s; | |
| } | |
| select:focus, input[type="text"]:focus { | |
| border-color: #007bff; | |
| } | |
| /* Close button (X) */ | |
| .closeBtn { | |
| position: absolute; | |
| top: 15px; | |
| right: 15px; | |
| width: 28px; /* Explicit small width */ | |
| height: 28px; /* Explicit small height */ | |
| padding: 0; | |
| background: transparent; | |
| color: #6b7280; | |
| border: none; | |
| border-radius: 4px; | |
| font-size: 20px; | |
| line-height: 28px; /* Center the × vertically */ | |
| text-align: center; /* Center the × horizontally */ | |
| cursor: pointer; | |
| transition: all 0.2s ease; | |
| } | |
| /* RESPONSIVE DESIGN */ | |
| @media (max-width: 460px) { | |
| /* Hide the text descriptions of the file action buttons */ | |
| .file-actions button span { | |
| display: none; | |
| } | |
| /* Enlarge the chat container on mobile */ | |
| .chat-container { | |
| margin: 0; | |
| width: 100dvw; | |
| height: 100dvh; | |
| } | |
| /* Reduce the font size of the title on mobile */ | |
| /* Also, add a gap between the title and the details */ | |
| .chat-header h1 { | |
| margin: 0 0 10px 0; | |
| font-size: 1.4rem; | |
| } | |
| /* Increase the size of the modals on mobile */ | |
| .modal-content { | |
| width: 90%; | |
| } | |
| } | |
| @media (max-height: 720px) { | |
| /* Enlarge the chat container on small screens */ | |
| .chat-container { | |
| margin: 0; | |
| width: 100dvw; | |
| height: 100dvh; | |
| } | |
| /* Reduce the font size of the title */ | |
| .chat-header h1 { | |
| font-size: 1.4rem; | |
| } | |
| /* Increase the size of the modals */ | |
| .modal-content { | |
| width: 90%; | |
| } | |
| } | |
| @media (min-width: 460px) { | |
| details { | |
| display: block; | |
| } | |
| details[open] { | |
| display: block; | |
| } | |
| details summary { | |
| display: none; | |
| } | |
| } |