#chapters-editor-root { /* Tooltip styles - only on desktop where hover is available */ @media (hover: hover) and (pointer: fine) { [data-tooltip] { position: relative; } [data-tooltip]:before { content: attr(data-tooltip); position: absolute; bottom: 100%; left: 50%; transform: translateX(-50%); margin-bottom: 5px; background-color: rgba(0, 0, 0, 0.8); color: white; text-align: center; padding: 5px 10px; border-radius: 3px; font-size: 12px; white-space: nowrap; opacity: 0; visibility: hidden; transition: opacity 0.2s, visibility 0.2s; z-index: 1000; pointer-events: none; } [data-tooltip]:after { content: ""; position: absolute; bottom: 100%; left: 50%; transform: translateX(-50%); border-width: 5px; border-style: solid; border-color: rgba(0, 0, 0, 0.8) transparent transparent transparent; opacity: 0; visibility: hidden; transition: opacity 0.2s, visibility 0.2s; pointer-events: none; } [data-tooltip]:hover:before, [data-tooltip]:hover:after { opacity: 1; visibility: visible; } } /* Hide button tooltips on touch devices */ @media (pointer: coarse) { [data-tooltip]:before, [data-tooltip]:after { display: none !important; content: none !important; opacity: 0 !important; visibility: hidden !important; pointer-events: none !important; } } .clip-segments-container { margin-top: 1rem; background-color: white; border-radius: 0.5rem; padding: 1rem; box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05); } .clip-segments-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 0.75rem; } .clip-segments-title { font-size: 0.875rem; font-weight: 500; color: var(--foreground, #333); margin-bottom: 0.75rem; } .save-chapters-button { color: #ffffff; background: #059669; border-radius: 0.25rem; font-size: 0.75rem; padding: 0.25rem 0.5rem; cursor: pointer; border: none; white-space: nowrap; transition: background-color 0.2s; min-width: fit-content; &:hover { background-color: #059669; box-shadow: 0 4px 6px -1px rgba(5, 150, 105, 0.3); } &.has-changes { background-color: #10b981; animation: pulse-green 2s infinite; } &.has-changes:hover { background-color: #059669; } svg { width: 1rem; height: 1rem; } } @keyframes pulse-green { 0%, 100% { background-color: #10b981; } 50% { background-color: #34d399; } } .chapter-editor { background-color: #f8fafc; border: 2px solid #3b82f6; border-radius: 0.5rem; padding: 1rem; margin-bottom: 1rem; transition: all 0.2s ease; } .chapter-editor-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 0.75rem; } .chapter-editor-header h4 { margin: 0; font-size: 0.875rem; font-weight: 600; color: #1f2937; } .chapter-editor-segment { font-size: 0.75rem; color: #6b7280; background-color: #e5e7eb; padding: 0.25rem 0.5rem; border-radius: 0.25rem; } .chapter-title-input { width: 100%; padding: 0.75rem; border: 1px solid #d1d5db; border-radius: 0.375rem; font-size: 0.875rem; resize: vertical; transition: border-color 0.2s ease, box-shadow 0.2s ease; &:focus { outline: none; border-color: #3b82f6; box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1); } &::placeholder { color: #9ca3af; } } .chapter-editor-info { margin-top: 0.5rem; font-size: 0.75rem; color: #6b7280; font-style: italic; } .segment-item { display: flex; align-items: center; justify-content: space-between; padding: 0.5rem; border: 1px solid #e5e7eb; border-radius: 0.25rem; margin-bottom: 0.5rem; transition: all 0.2s ease; &:hover { box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1); } &.selected { border-color: #059669; box-shadow: 0 0 0 3px rgba(5, 150, 105, 0.1); background-color: rgba(5, 150, 105, 0.05); } } .segment-content { display: flex; align-items: center; } .segment-info { display: flex; flex-direction: column; } .segment-title { font-weight: 500; font-size: 0.875rem; color: black; } .chapter-title { color: #1f2937; font-weight: 600; } .default-title { color: #6b7280; font-style: italic; } .segment-time { font-size: 0.75rem; color: black; } .segment-duration { font-size: 0.75rem; margin-top: 0.25rem; display: inline-block; background-color: #f3f4f6; padding: 0 0.5rem; border-radius: 0.25rem; color: black; } .segment-actions { display: flex; align-items: center; gap: 0.5rem; } .delete-button { padding: 0.375rem; color: #4b5563; background-color: #e5e7eb; border-radius: 9999px; border: none; cursor: pointer; transition: background-color 0.2s, color 0.2s; min-width: auto; &:hover { color: black; background-color: #d1d5db; } svg { height: 1rem; width: 1rem; } } .empty-message { padding: 1rem; text-align: center; color: rgba(51, 51, 51, 0.7); } /* Generate 20 shades of #059669 (rgb(5, 150, 105)) */ /* Base color: #059669 = rgb(5, 150, 105) */ /* Creating variations from lighter to darker */ .segment-color-1 { background-color: rgba(167, 243, 208, 0.2); } .segment-color-2 { background-color: rgba(134, 239, 172, 0.2); } .segment-color-3 { background-color: rgba(101, 235, 136, 0.2); } .segment-color-4 { background-color: rgba(68, 231, 100, 0.2); } .segment-color-5 { background-color: rgba(35, 227, 64, 0.2); } .segment-color-6 { background-color: rgba(20, 207, 54, 0.2); } .segment-color-7 { background-color: rgba(15, 187, 48, 0.2); } .segment-color-8 { background-color: rgba(10, 167, 42, 0.2); } .segment-color-9 { background-color: rgba(5, 150, 105, 0.2); } .segment-color-10 { background-color: rgba(4, 135, 95, 0.2); } .segment-color-11 { background-color: rgba(3, 120, 85, 0.2); } .segment-color-12 { background-color: rgba(2, 105, 75, 0.2); } .segment-color-13 { background-color: rgba(2, 90, 65, 0.2); } .segment-color-14 { background-color: rgba(1, 75, 55, 0.2); } .segment-color-15 { background-color: rgba(1, 66, 48, 0.2); } .segment-color-16 { background-color: rgba(1, 57, 41, 0.2); } .segment-color-17 { background-color: rgba(1, 48, 34, 0.2); } .segment-color-18 { background-color: rgba(0, 39, 27, 0.2); } .segment-color-19 { background-color: rgba(0, 30, 20, 0.2); } .segment-color-20 { background-color: rgba(0, 21, 13, 0.2); } /* Responsive styles */ @media (max-width: 768px) { .clip-segments-header { flex-direction: column; gap: 0.75rem; align-items: stretch; } .save-chapters-button { justify-content: center; } .chapter-editor-header { flex-direction: column; gap: 0.5rem; align-items: flex-start; } .chapter-editor-segment { align-self: stretch; text-align: center; } } }