Spaces:
Running
Running
| /* ════════════════════════════════════════════════════════════ */ | |
| /* CLAY MORPHISM DESIGN SYSTEM */ | |
| /* ════════════════════════════════════════════════════════════ */ | |
| :root { | |
| --clay-shadow: 0 4px 12px rgba(0, 0, 0, 0.08), inset 0 1px 0 rgba(255, 255, 255, 0.5); | |
| --clay-shadow-hover: 0 8px 20px rgba(0, 0, 0, 0.12), inset 0 1px 0 rgba(255, 255, 255, 0.5); | |
| --clay-shadow-inset: inset 0 8px 16px rgba(0, 0, 0, 0.06), inset -2px -2px 8px rgba(0, 0, 0, 0.04); | |
| } | |
| /* Typography overrides */ | |
| html { | |
| scroll-behavior: smooth; | |
| } | |
| body { | |
| font-family: "Plus Jakarta Sans", sans-serif; | |
| -webkit-font-smoothing: antialiased; | |
| -moz-osx-font-smoothing: grayscale; | |
| } | |
| h1, h2, h3, h4, h5, h6 { | |
| font-family: "Cormorant Garamond", serif; | |
| letter-spacing: -0.02em; | |
| } | |
| /* ════════════════════════════════════════════════════════════ */ | |
| /* CLAY MORPHISM CARDS */ | |
| /* ════════════════════════════════════════════════════════════ */ | |
| .clay-card { | |
| background: linear-gradient(145deg, #FAF7F1, #F5F0E8); | |
| border: 1px solid rgba(255, 255, 255, 0.6); | |
| box-shadow: var(--clay-shadow); | |
| transition: all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94); | |
| } | |
| .clay-card:hover { | |
| box-shadow: var(--clay-shadow-hover); | |
| border-color: rgba(255, 255, 255, 0.8); | |
| transform: translateY(-2px); | |
| } | |
| .clay-card:active { | |
| box-shadow: var(--clay-shadow-inset); | |
| transform: translateY(0); | |
| } | |
| .clay-puffy { | |
| background: linear-gradient(145deg, #F8F5F0, #F2EDE5); | |
| border: 1px solid rgba(255, 255, 255, 0.7); | |
| box-shadow: 0 8px 16px rgba(0, 0, 0, 0.06), inset 0 1px 0 rgba(255, 255, 255, 0.6), inset -2px -2px 8px rgba(0, 0, 0, 0.04); | |
| } | |
| .clay-inset { | |
| background: linear-gradient(to bottom right, rgba(255, 255, 255, 0.3), rgba(0, 0, 0, 0.03)); | |
| border: 1px solid rgba(0, 0, 0, 0.06); | |
| box-shadow: inset 0 2px 8px rgba(0, 0, 0, 0.04); | |
| } | |
| .clay-inset:focus-within { | |
| box-shadow: inset 0 2px 8px rgba(0, 0, 0, 0.06), 0 0 0 3px rgba(21, 51, 40, 0.1); | |
| } | |
| /* Inputs inside inset */ | |
| .clay-inset textarea, | |
| .clay-inset input { | |
| background: transparent ; | |
| border: none ; | |
| outline: none ; | |
| color: #1d1c17; | |
| } | |
| .clay-inset textarea::placeholder, | |
| .clay-inset input::placeholder { | |
| color: #c1c8c3; | |
| } | |
| /* ════════════════════════════════════════════════════════════ */ | |
| /* CLAY BUTTONS */ | |
| /* ════════════════════════════════════════════════════════════ */ | |
| .clay-btn-primary { | |
| background: linear-gradient(145deg, #1f4335, #153328); | |
| border: none; | |
| box-shadow: 0 4px 12px rgba(21, 51, 40, 0.2), inset 0 1px 0 rgba(255, 255, 255, 0.2); | |
| font-weight: 600; | |
| transition: all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94); | |
| cursor: pointer; | |
| position: relative; | |
| overflow: hidden; | |
| } | |
| .clay-btn-primary:hover { | |
| box-shadow: 0 8px 20px rgba(21, 51, 40, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.3); | |
| transform: translateY(-2px); | |
| } | |
| .clay-btn-primary:active { | |
| transform: translateY(0); | |
| box-shadow: inset 0 4px 8px rgba(0, 0, 0, 0.2), 0 2px 6px rgba(0, 0, 0, 0.1); | |
| } | |
| .clay-btn-primary:disabled { | |
| opacity: 0.5; | |
| cursor: not-allowed; | |
| } | |
| .clay-btn-secondary { | |
| background: linear-gradient(145deg, #FCF4E5, #F8EDD6); | |
| border: 2px solid #d8a95e; | |
| box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04); | |
| font-weight: 600; | |
| color: #795900; | |
| transition: all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94); | |
| cursor: pointer; | |
| } | |
| .clay-btn-secondary:hover { | |
| box-shadow: 0 6px 16px rgba(0, 0, 0, 0.08); | |
| transform: translateY(-2px); | |
| border-color: #c4934d; | |
| } | |
| .clay-btn-secondary:active { | |
| transform: translateY(0); | |
| } | |
| .clay-btn-ghost { | |
| background: transparent; | |
| border: 1px solid #c1c8c3; | |
| box-shadow: none; | |
| color: #1d1c17; | |
| font-weight: 600; | |
| cursor: pointer; | |
| transition: all 0.3s ease; | |
| } | |
| .clay-btn-ghost:hover { | |
| background: #f2ede5; | |
| border-color: #1d1c17; | |
| } | |
| /* ════════════════════════════════════════════════════════════ */ | |
| /* BANNER STYLES */ | |
| /* ════════════════════════════════════════════════════════════ */ | |
| .clay-banner-warning { | |
| background: linear-gradient(145deg, #FFF4E0, #FCE5CC); | |
| border: 1px solid #fed174; | |
| box-shadow: 0 4px 12px rgba(254, 209, 116, 0.2), inset 0 1px 0 rgba(255, 255, 255, 0.6); | |
| animation: slideInUp 0.4s cubic-bezier(0.34, 1.56, 0.64, 1); | |
| } | |
| /* ════════════════════════════════════════════════════════════ */ | |
| /* INPUTS */ | |
| /* ════════════════════════════════════════════════════════════ */ | |
| .clay-input { | |
| background: linear-gradient(to bottom right, rgba(255, 255, 255, 0.4), rgba(0, 0, 0, 0.02)); | |
| border: 1px solid #d4cfc7; | |
| box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.04); | |
| color: #1d1c17; | |
| font-family: "Plus Jakarta Sans", sans-serif; | |
| transition: all 0.3s ease; | |
| } | |
| .clay-input:focus { | |
| outline: none; | |
| border-color: #153328; | |
| box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.04), 0 0 0 3px rgba(21, 51, 40, 0.1); | |
| } | |
| .clay-input::placeholder { | |
| color: #a9a9a2; | |
| } | |
| /* ════════════════════════════════════════════════════════════ */ | |
| /* ANIMATIONS */ | |
| /* ════════════════════════════════════════════════════════════ */ | |
| @keyframes fadeIn { | |
| from { | |
| opacity: 0; | |
| } | |
| to { | |
| opacity: 1; | |
| } | |
| } | |
| @keyframes fadeInUp { | |
| from { | |
| opacity: 0; | |
| transform: translateY(16px); | |
| } | |
| to { | |
| opacity: 1; | |
| transform: translateY(0); | |
| } | |
| } | |
| @keyframes slideInUp { | |
| from { | |
| transform: translateY(100%); | |
| opacity: 0; | |
| } | |
| to { | |
| transform: translateY(0); | |
| opacity: 1; | |
| } | |
| } | |
| @keyframes slideInDown { | |
| from { | |
| transform: translateY(-100%); | |
| opacity: 0; | |
| } | |
| to { | |
| transform: translateY(0); | |
| opacity: 1; | |
| } | |
| } | |
| @keyframes pulse { | |
| 0%, 100% { | |
| transform: scale(1); | |
| } | |
| 50% { | |
| transform: scale(1.1); | |
| } | |
| } | |
| @keyframes spin { | |
| from { | |
| transform: rotate(0deg); | |
| } | |
| to { | |
| transform: rotate(360deg); | |
| } | |
| } | |
| .pulsing { | |
| animation: pulse 2s ease-in-out infinite; | |
| } | |
| /* ════════════════════════════════════════════════════════════ */ | |
| /* SCREEN MANAGEMENT */ | |
| /* ════════════════════════════════════════════════════════════ */ | |
| .screen { | |
| display: none; | |
| width: 100%; | |
| min-height: 100vh; | |
| overflow-y: auto; | |
| overflow-x: hidden; | |
| } | |
| .screen.active { | |
| display: flex; | |
| flex-direction: column; | |
| animation: fadeIn 0.3s ease-out; | |
| } | |
| /* ════════════════════════════════════════════════════════════ */ | |
| /* SETUP WIZARD */ | |
| /* ════════════════════════════════════════════════════════════ */ | |
| .setup-step { | |
| animation: fadeInUp 0.4s cubic-bezier(0.34, 1.56, 0.64, 1); | |
| } | |
| .setup-step.hidden { | |
| display: none; | |
| } | |
| .step-indicator { | |
| display: flex; | |
| flex-direction: column; | |
| align-items: center; | |
| gap: 8px; | |
| opacity: 0.4; | |
| transition: all 0.3s ease; | |
| } | |
| .step-indicator.active { | |
| opacity: 1; | |
| } | |
| .step-num { | |
| display: flex; | |
| align-items: center; | |
| justify-content: center; | |
| width: 40px; | |
| height: 40px; | |
| border-radius: 50%; | |
| background: linear-gradient(145deg, #2c4a3e, #153328); | |
| color: white; | |
| font-weight: bold; | |
| font-size: 18px; | |
| box-shadow: var(--clay-shadow); | |
| } | |
| .step-indicator.active .step-num { | |
| background: linear-gradient(145deg, #1f4335, #0f2620); | |
| box-shadow: 0 6px 16px rgba(21, 51, 40, 0.3); | |
| transform: scale(1.1); | |
| } | |
| .side-card { | |
| border: 2px solid transparent; | |
| transition: all 0.3s ease; | |
| cursor: pointer; | |
| } | |
| .side-card:hover { | |
| border-color: rgba(21, 51, 40, 0.2); | |
| } | |
| .side-card.selected { | |
| border-color: #153328; | |
| box-shadow: 0 8px 20px rgba(21, 51, 40, 0.15), inset 0 1px 0 rgba(255, 255, 255, 0.5); | |
| background: linear-gradient(145deg, #F2F8F6, #EAF0ED); | |
| } | |
| .option-card { | |
| padding: 16px; | |
| border-radius: 12px; | |
| border: 2px solid #d4cfc7; | |
| background: #f8f3eb; | |
| cursor: pointer; | |
| transition: all 0.3s ease; | |
| text-align: center; | |
| font-weight: 500; | |
| } | |
| .option-card:hover { | |
| border-color: #153328; | |
| box-shadow: 0 4px 12px rgba(21, 51, 40, 0.1); | |
| } | |
| .option-card.selected { | |
| background: linear-gradient(145deg, #2c4a3e, #153328); | |
| color: white; | |
| border-color: #153328; | |
| box-shadow: 0 6px 16px rgba(21, 51, 40, 0.2); | |
| } | |
| /* ════════════════════════════════════════════════════════════ */ | |
| /* TOGGLE SWITCH */ | |
| /* ════════════════════════════════════════════════════════════ */ | |
| .toggle-switch { | |
| position: relative; | |
| display: inline-block; | |
| width: 56px; | |
| height: 32px; | |
| } | |
| .toggle-switch input { | |
| opacity: 0; | |
| width: 0; | |
| height: 0; | |
| } | |
| .toggle-slider { | |
| position: absolute; | |
| cursor: pointer; | |
| top: 0; | |
| left: 0; | |
| right: 0; | |
| bottom: 0; | |
| background-color: #d4cfc7; | |
| transition: 0.4s; | |
| border-radius: 32px; | |
| box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.06); | |
| } | |
| .toggle-slider:before { | |
| position: absolute; | |
| content: ""; | |
| height: 26px; | |
| width: 26px; | |
| left: 3px; | |
| bottom: 3px; | |
| background-color: white; | |
| transition: 0.4s; | |
| border-radius: 50%; | |
| box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); | |
| } | |
| input:checked + .toggle-slider { | |
| background-color: #153328; | |
| } | |
| input:checked + .toggle-slider:before { | |
| transform: translateX(24px); | |
| } | |
| /* ════════════════════════════════════════════════════════════ */ | |
| /* COURTROOM LAYOUT */ | |
| /* ════════════════════════════════════════════════════════════ */ | |
| #argument-input { | |
| font-size: 18px; | |
| letter-spacing: -0.01em; | |
| } | |
| #argument-input::placeholder { | |
| color: #c1c8c3; | |
| opacity: 0.6; | |
| } | |
| /* ════════════════════════════════════════════════════════════ */ | |
| /* TRANSCRIPT STYLING */ | |
| /* ════════════════════════════════════════════════════════════ */ | |
| .transcript-entry { | |
| display: grid; | |
| grid-template-columns: 80px 1fr; | |
| gap: 12px; | |
| padding: 12px 0; | |
| border-bottom: 1px solid rgba(0, 0, 0, 0.04); | |
| animation: fadeInUp 0.4s ease-out; | |
| } | |
| .transcript-entry:last-child { | |
| border-bottom: none; | |
| } | |
| .speaker-pill { | |
| display: inline-flex; | |
| align-items: center; | |
| justify-content: center; | |
| padding: 6px 12px; | |
| border-radius: 20px; | |
| font-size: 11px; | |
| font-weight: bold; | |
| margin-bottom: 8px; | |
| width: fit-content; | |
| font-family: "JetBrains Mono", monospace; | |
| text-transform: uppercase; | |
| letter-spacing: 0.5px; | |
| } | |
| .speaker-judge { | |
| background: linear-gradient(145deg, #e8f1ef, #d4e8e3); | |
| color: #0b3b2d; | |
| border: 1px solid rgba(21, 51, 40, 0.2); | |
| } | |
| .speaker-opposing { | |
| background: linear-gradient(145deg, #ffe8e8, #ffc7c7); | |
| color: #8b2500; | |
| border: 1px solid rgba(186, 26, 26, 0.2); | |
| } | |
| .speaker-user { | |
| background: linear-gradient(145deg, #e0e8ff, #c7d7ff); | |
| color: #0a3366; | |
| border: 1px solid rgba(33, 99, 204, 0.2); | |
| } | |
| .speaker-registrar { | |
| background: linear-gradient(145deg, #f0e8f8, #e8d4f0); | |
| color: #4a2971; | |
| border: 1px solid rgba(52, 37, 84, 0.2); | |
| } | |
| .transcript-text { | |
| font-family: "Cormorant Garamond", serif; | |
| font-size: 18px; | |
| line-height: 1.6; | |
| color: #1d1c17; | |
| text-align: left; | |
| } | |
| .transcript-text em { | |
| font-style: italic; | |
| color: #153328; | |
| } | |
| .transcript-text strong { | |
| font-weight: 700; | |
| color: #153328; | |
| } | |
| /* ════════════════════════════════════════════════════════════ */ | |
| /* CONCESSION TRACKER */ | |
| /* ════════════════════════════════════════════════════════════ */ | |
| .concession-item { | |
| padding: 8px; | |
| border-left: 3px solid #ba1a1a; | |
| background: rgba(186, 26, 26, 0.05); | |
| border-radius: 4px; | |
| font-size: 13px; | |
| line-height: 1.4; | |
| animation: slideInUp 0.3s ease; | |
| } | |
| /* ════════════════════════════════════════════════════════════ */ | |
| /* MODALS */ | |
| /* ════════════════════════════════════════════════════════════ */ | |
| .modal-overlay { | |
| position: fixed; | |
| top: 0; | |
| left: 0; | |
| right: 0; | |
| bottom: 0; | |
| background: rgba(0, 0, 0, 0.4); | |
| display: flex; | |
| align-items: center; | |
| justify-content: center; | |
| z-index: 1000; | |
| backdrop-filter: blur(4px); | |
| animation: fadeIn 0.2s ease-out; | |
| } | |
| .modal-overlay.hidden { | |
| display: none; | |
| animation: none; | |
| } | |
| .modal-overlay .clay-card { | |
| max-height: 90vh; | |
| overflow-y: auto; | |
| box-shadow: 0 20px 60px rgba(0, 0, 0, 0.2); | |
| } | |
| /* ════════════════════════════════════════════════════════════ */ | |
| /* ANALYSIS ACCORDION */ | |
| /* ════════════════════════════════════════════════════════════ */ | |
| .accordion-item { | |
| border: 1px solid #d4cfc7; | |
| border-radius: 12px; | |
| margin-bottom: 12px; | |
| overflow: hidden; | |
| box-shadow: 0 2px 6px rgba(0, 0, 0, 0.04); | |
| transition: all 0.3s ease; | |
| } | |
| .accordion-item.open { | |
| box-shadow: 0 6px 16px rgba(0, 0, 0, 0.08); | |
| } | |
| .accordion-header { | |
| display: flex; | |
| justify-content: space-between; | |
| align-items: center; | |
| padding: 16px; | |
| cursor: pointer; | |
| background: linear-gradient(145deg, #f8f3eb, #f2ede5); | |
| border-bottom: 1px solid transparent; | |
| transition: all 0.3s ease; | |
| user-select: none; | |
| } | |
| .accordion-item.open .accordion-header { | |
| background: linear-gradient(145deg, #f2ede5, #ece8e0); | |
| border-bottom-color: #d4cfc7; | |
| } | |
| .accordion-header:hover { | |
| background: linear-gradient(145deg, #f5f0e8, #ece8e0); | |
| } | |
| .accordion-title { | |
| font-weight: 600; | |
| color: #1d1c17; | |
| font-family: "Cormorant Garamond", serif; | |
| font-size: 18px; | |
| } | |
| .accordion-icon { | |
| transition: transform 0.3s ease; | |
| color: #153328; | |
| } | |
| .accordion-item.open .accordion-icon { | |
| transform: rotate(180deg); | |
| } | |
| .accordion-content { | |
| display: none; | |
| padding: 16px; | |
| background: #fef9f1; | |
| font-size: 15px; | |
| line-height: 1.7; | |
| color: #1d1c17; | |
| } | |
| .accordion-item.open .accordion-content { | |
| display: block; | |
| animation: slideInDown 0.3s ease-out; | |
| } | |
| .accordion-content ul { | |
| list-style: none; | |
| padding: 0; | |
| } | |
| .accordion-content li { | |
| padding: 8px 0; | |
| padding-left: 24px; | |
| position: relative; | |
| } | |
| .accordion-content li:before { | |
| content: "▸"; | |
| position: absolute; | |
| left: 0; | |
| color: #795900; | |
| font-weight: bold; | |
| } | |
| /* ════════════════════════════════════════════════════════════ */ | |
| /* ANALYSIS TABS */ | |
| /* ════════════════════════════════════════════════════════════ */ | |
| .analysis-tab { | |
| cursor: pointer; | |
| transition: all 0.2s ease; | |
| border: none; | |
| background: transparent; | |
| color: #1d1c17; | |
| text-transform: none; | |
| } | |
| .analysis-tab:hover { | |
| opacity: 0.7; | |
| } | |
| .analysis-tab.active { | |
| color: #153328; | |
| font-weight: 700; | |
| border-bottom: 2px solid #153328; | |
| } | |
| /* ════════════════════════════════════════════════════════════ */ | |
| /* SESSION CARDS */ | |
| /* ════════════════════════════════════════════════════════════ */ | |
| .session-card { | |
| cursor: pointer; | |
| transition: all 0.3s ease; | |
| border: 2px solid transparent; | |
| } | |
| .session-card:hover { | |
| border-color: #153328; | |
| box-shadow: var(--clay-shadow-hover); | |
| transform: translateY(-4px); | |
| } | |
| .session-meta { | |
| display: grid; | |
| grid-template-columns: 1fr 1fr; | |
| gap: 8px; | |
| font-size: 13px; | |
| margin-top: 12px; | |
| padding-top: 12px; | |
| border-top: 1px solid #d4cfc7; | |
| } | |
| .meta-item { | |
| display: flex; | |
| align-items: center; | |
| gap: 6px; | |
| color: #153328; | |
| font-weight: 500; | |
| } | |
| /* ════════════════════════════════════════════════════════════ */ | |
| /* LOADING SCREEN */ | |
| /* ════════════════════════════════════════════════════════════ */ | |
| .loading-step { | |
| display: flex; | |
| align-items: center; | |
| gap: 16px; | |
| padding: 16px; | |
| background: #f8f3eb; | |
| border-radius: 12px; | |
| animation: fadeInUp 0.5s ease-out; | |
| } | |
| .step-icon { | |
| width: 48px; | |
| height: 48px; | |
| border-radius: 50%; | |
| background: linear-gradient(145deg, #2c4a3e, #153328); | |
| display: flex; | |
| align-items: center; | |
| justify-content: center; | |
| color: white; | |
| flex-shrink: 0; | |
| } | |
| .step-content { | |
| flex: 1; | |
| } | |
| .progress-bar { | |
| width: 100%; | |
| height: 6px; | |
| background: #d4cfc7; | |
| border-radius: 3px; | |
| overflow: hidden; | |
| margin-top: 4px; | |
| } | |
| .progress-fill { | |
| height: 100%; | |
| background: linear-gradient(90deg, #153328, #2c4a3e); | |
| transition: width 0.6s ease-out; | |
| border-radius: 3px; | |
| } | |
| /* ════════════════════════════════════════════════════════════ */ | |
| /* WATERCOLOR BG */ | |
| /* ════════════════════════════════════════════════════════════ */ | |
| .watercolor-bg { | |
| position: absolute; | |
| top: 0; | |
| left: 0; | |
| width: 100%; | |
| height: 100%; | |
| background: radial-gradient(ellipse 900px 600px at 20% 30%, rgba(44, 74, 62, 0.06), transparent), | |
| radial-gradient(ellipse 800px 400px at 80% 70%, rgba(254, 209, 116, 0.04), transparent), | |
| radial-gradient(ellipse 600px 500px at 50% 10%, rgba(232, 221, 255, 0.05), transparent); | |
| pointer-events: none; | |
| z-index: 0; | |
| } | |
| /* ════════════════════════════════════════════════════════════ */ | |
| /* RESPONSIVE */ | |
| /* ════════════════════════════════════════════════════════════ */ | |
| @media (max-width: 1024px) { | |
| #screen-courtroom { | |
| display: flex ; | |
| flex-direction: column; | |
| } | |
| #screen-courtroom > aside { | |
| width: 100% ; | |
| flex-direction: row ; | |
| padding: 12px; | |
| } | |
| #screen-courtroom > main { | |
| flex: 1 ; | |
| } | |
| } | |
| @media (max-width: 768px) { | |
| body { | |
| font-size: 14px; | |
| } | |
| .transcript-text { | |
| font-size: 16px; | |
| } | |
| .modal-overlay .clay-card { | |
| margin: 16px; | |
| max-width: none; | |
| } | |
| /* Improve responsiveness for setup screens */ | |
| header nav { | |
| padding: 16px ; | |
| } | |
| main { | |
| padding: 16px ; | |
| } | |
| .max-w-4xl { | |
| max-width: none ; | |
| width: 100% ; | |
| } | |
| .px-12 { | |
| padding-left: 16px ; | |
| padding-right: 16px ; | |
| } | |
| .pt-28 { | |
| padding-top: 80px ; | |
| } | |
| header.fixed { | |
| position: relative; | |
| } | |
| } | |
| @media (max-width: 480px) { | |
| body { | |
| font-size: 13px; | |
| } | |
| .font-serif.text-4xl { | |
| font-size: 28px ; | |
| } | |
| .font-serif.text-2xl { | |
| font-size: 20px ; | |
| } | |
| header nav { | |
| flex-direction: column; | |
| gap: 8px; | |
| } | |
| header nav a, | |
| header nav span { | |
| font-size: 14px ; | |
| } | |
| main { | |
| padding: 12px ; | |
| gap: 16px ; | |
| } | |
| .grid.grid-cols-2 { | |
| grid-template-columns: 1fr ; | |
| } | |
| .clay-card { | |
| padding: 16px ; | |
| } | |
| } | |
| /* ════════════════════════════════════════════════════════════ */ | |
| /* UTILITY CLASSES */ | |
| /* ════════════════════════════════════════════════════════════ */ | |
| .flex { | |
| display: flex; | |
| } | |
| .items-center { | |
| align-items: center; | |
| } | |
| .justify-center { | |
| justify-content: center; | |
| } | |
| .gap-2 { | |
| gap: 8px; | |
| } | |
| .gap-3 { | |
| gap: 12px; | |
| } | |
| .gap-4 { | |
| gap: 16px; | |
| } | |
| .gap-6 { | |
| gap: 24px; | |
| } | |
| .truncate { | |
| white-space: nowrap; | |
| overflow: hidden; | |
| text-overflow: ellipsis; | |
| } | |
| .italic { | |
| font-style: italic; | |
| } | |
| .font-bold { | |
| font-weight: 700; | |
| } | |
| .text-sm { | |
| font-size: 14px; | |
| } | |
| .text-xs { | |
| font-size: 12px; | |
| } | |
| .opacity-50 { | |
| opacity: 0.5; | |
| } | |
| .cursor-pointer { | |
| cursor: pointer; | |
| } | |
| .transition-colors { | |
| transition: color 0.3s ease, background-color 0.3s ease; | |
| } | |
| .transition-transform { | |
| transition: transform 0.3s ease; | |
| } | |