/* CSS Custom Properties for Theme Switching */ :root[data-theme="dark"] { --bg-primary: linear-gradient(135deg, #0a0a0a 0%, #1a1a1a 100%); --bg-secondary: rgba(15, 15, 15, 0.95); --bg-tertiary: rgba(255, 255, 255, 0.02); --bg-quaternary: rgba(20, 20, 20, 0.95); --text-primary: #ffffff; --text-secondary: #e0e0e0; --text-tertiary: #a0a0a0; --text-muted: rgba(255, 255, 255, 0.5); --accent-primary: #e74c3c; --accent-secondary: #3498db; --accent-tertiary: #95a5a6; --border-primary: rgba(255, 255, 255, 0.1); --border-secondary: rgba(255, 255, 255, 0.08); --border-tertiary: rgba(255, 255, 255, 0.05); --input-bg: rgba(255, 255, 255, 0.05); --hover-bg: rgba(231, 76, 60, 0.05); --gradient-red: linear-gradient(135deg, rgba(231, 76, 60, 0.1) 0%, rgba(231, 76, 60, 0.05) 100%); --gradient-blue: linear-gradient(135deg, rgba(52, 152, 219, 0.1) 0%, rgba(52, 152, 219, 0.05) 100%); --gradient-gray: linear-gradient(135deg, rgba(149, 165, 166, 0.1) 0%, rgba(149, 165, 166, 0.05) 100%); --gradient-header: linear-gradient(135deg, rgba(231, 76, 60, 0.1) 0%, rgba(231, 76, 60, 0.05) 100%); --scrollbar-track: rgba(255, 255, 255, 0.05); --scrollbar-thumb: rgba(231, 76, 60, 0.3); --text-glow: 0 0 10px rgba(231, 76, 60, 0.5); } :root[data-theme="light"] { --bg-primary: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%); --bg-secondary: rgba(255, 255, 255, 0.95); --bg-tertiary: rgba(255, 255, 255, 0.8); --bg-quaternary: rgba(255, 255, 255, 0.98); --text-primary: #212529; --text-secondary: #495057; --text-tertiary: #6c757d; --text-muted: rgba(0, 0, 0, 0.5); --accent-primary: #dc3545; --accent-secondary: #007bff; --accent-tertiary: #6c757d; --border-primary: rgba(0, 0, 0, 0.1); --border-secondary: rgba(0, 0, 0, 0.08); --border-tertiary: rgba(0, 0, 0, 0.05); --input-bg: rgba(0, 0, 0, 0.05); --hover-bg: rgba(220, 53, 69, 0.05); --gradient-red: linear-gradient(135deg, rgba(220, 53, 69, 0.1) 0%, rgba(220, 53, 69, 0.05) 100%); --gradient-blue: linear-gradient(135deg, rgba(0, 123, 255, 0.1) 0%, rgba(0, 123, 255, 0.05) 100%); --gradient-gray: linear-gradient(135deg, rgba(108, 117, 125, 0.1) 0%, rgba(108, 117, 125, 0.05) 100%); --gradient-header: linear-gradient(135deg, rgba(220, 53, 69, 0.1) 0%, rgba(220, 53, 69, 0.05) 100%); --scrollbar-track: rgba(0, 0, 0, 0.05); --scrollbar-thumb: rgba(220, 53, 69, 0.3); --text-glow: 0 0 10px rgba(220, 53, 69, 0.5); } * { margin: 0; padding: 0; box-sizing: border-box; } body { font-family: 'Source Sans Pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; background: var(--bg-primary); color: var(--text-secondary); line-height: 1.6; min-height: 100vh; } /* Wrapper */ .tracker-wrapper { min-height: 100vh; background: var(--bg-primary); } /* Navigation */ .tracker-navbar { background: var(--bg-secondary); backdrop-filter: blur(10px); border-bottom: 1px solid var(--border-primary); padding: 1rem 0; position: sticky; top: 0; z-index: 100; } .tracker-navbar__container { margin: 0 auto; padding: 0 2rem; display: flex; justify-content: space-between; align-items: center; } .tracker-navbar__actions { display: flex; align-items: center; gap: 1rem; } .tracker-navbar__title { font-family: 'Yanone Kaffeesatz', sans-serif; font-size: 2.5rem; font-weight: 600; color: var(--text-primary); } .tracker-navbar__icon { color: var(--accent-primary); margin-right: 0.75rem; } .tracker-navbar__links { list-style: none; margin: 0; padding: 0; } .tracker-navbar__dropdown { position: relative; cursor: pointer; } .tracker-navbar__dropdown > span { color: var(--text-primary); font-weight: 500; padding: 0.75rem 1.5rem; border-radius: 8px; transition: all 0.3s ease; display: block; } .tracker-navbar__dropdown:hover > span { background: var(--hover-bg); color: var(--accent-primary); } .tracker-navbar__dropdown-menu { position: absolute; top: 100%; right: 0; background: var(--bg-quaternary); backdrop-filter: blur(15px); border: 1px solid var(--border-primary); border-radius: 12px; min-width: 250px; opacity: 0; visibility: hidden; transform: translateY(-10px); transition: all 0.3s ease; box-shadow: 0 10px 40px rgba(0, 0, 0, 0.5); } .tracker-navbar__dropdown:hover .tracker-navbar__dropdown-menu { opacity: 1; visibility: visible; transform: translateY(0); } .tracker-navbar__dropdown-menu li { list-style: none; } .tracker-navbar__dropdown-menu a { display: block; padding: 0.75rem 1.25rem; color: var(--text-secondary); text-decoration: none; transition: all 0.3s ease; border-radius: 8px; margin: 0.25rem; } .tracker-navbar__dropdown-menu a:hover { background: var(--hover-bg); color: var(--accent-primary); transform: translateX(5px); } /* Theme Switcher */ .theme-switcher { position: relative; display: flex; gap: 0.5rem; } .theme-switcher__button { background: none; border: 1px solid var(--border-primary); color: var(--text-primary); padding: 0.5rem; border-radius: 8px; cursor: pointer; transition: all 0.3s ease; font-size: 1.1rem; width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; } .theme-switcher__button:hover { background: var(--hover-bg); border-color: var(--accent-primary); color: var(--accent-primary); transform: scale(1.05); } .theme-switcher__button--accent { color: var(--accent-primary); border-color: var(--accent-primary); } /* Color Picker */ .color-picker { position: absolute; top: calc(100% + 10px); right: 0; background: var(--bg-quaternary); backdrop-filter: blur(15px); border: 1px solid var(--border-primary); border-radius: 12px; padding: 1rem; box-shadow: 0 10px 40px rgba(0, 0, 0, 0.5); z-index: 1000; } .color-picker__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0.5rem; } .color-picker__swatch { width: 32px; height: 32px; border-radius: 50%; border: 2px solid transparent; cursor: pointer; transition: all 0.3s ease; position: relative; } .color-picker__swatch:hover { transform: scale(1.1); border-color: var(--text-primary); } .color-picker__swatch--active { border-color: var(--text-primary); box-shadow: 0 0 0 2px var(--bg-quaternary), 0 0 0 4px var(--text-primary); } .color-picker__swatch--active::after { content: '✓'; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); color: white; font-size: 0.8rem; font-weight: bold; text-shadow: 0 0 3px rgba(0, 0, 0, 0.8); } /* Main Content */ .tracker-main { width: 100%; padding: 2rem; } /* Contribute Section - Keep constrained */ .tracker-contribute { margin-bottom: 3rem; max-width: 1400px; margin-left: auto; margin-right: auto; } .tracker-contribute__message { background: var(--gradient-red); border: 1px solid var(--accent-primary); border-radius: 12px; padding: 1.5rem; text-align: center; font-size: 1.1rem; color: var(--text-secondary); } .tracker-contribute__link { color: var(--accent-primary); text-decoration: none; font-weight: 600; transition: all 0.3s ease; } .tracker-contribute__link:hover { color: var(--accent-primary); text-shadow: var(--text-glow); filter: brightness(1.2); } /* Table Sections - Full width */ .tracker-table, .tracker-jackett { margin-bottom: 4rem; width: 100%; } .tracker-table__controls, .tracker-jackett__controls { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1.5rem; gap: 1rem; flex-wrap: wrap; } .tracker-table__search, .tracker-jackett__search { flex: 1; max-width: 400px; padding: 1rem 1.5rem; background: var(--input-bg); border: 1px solid var(--border-primary); border-radius: 12px; color: var(--text-primary); font-size: 1rem; transition: all 0.3s ease; } .tracker-table__search:focus, .tracker-jackett__search:focus { outline: none; border-color: var(--accent-primary); box-shadow: 0 0 0 3px rgba(231, 76, 60, 0.1); background: var(--input-bg); filter: brightness(1.2); } .tracker-table__search::placeholder, .tracker-jackett__search::placeholder { color: var(--text-muted); } .tracker-table__info, .tracker-jackett__info { color: var(--text-tertiary); font-size: 0.9rem; white-space: nowrap; } /* Table Container */ .tracker-table__container { background: var(--bg-tertiary); border: 1px solid var(--border-secondary); border-radius: 16px; overflow-x: auto; overflow-y: visible; box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3); width: 100%; } .tracker-jackett__container { background: var(--bg-tertiary); border: 1px solid var(--border-secondary); border-radius: 16px; overflow: hidden; box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3); width: 100%; } /* Tables */ .tracker-table__main { width: 100%; min-width: 1400px; border-collapse: collapse; background: transparent; } .tracker-jackett__table { width: 100%; border-collapse: collapse; background: transparent; } .tracker-table__main th, .tracker-jackett__table th { background: var(--gradient-header); color: var(--text-primary); padding: 1rem 0.8rem; text-align: left; font-weight: 600; font-size: 0.85rem; text-transform: uppercase; letter-spacing: 0.5px; border-bottom: 2px solid var(--accent-primary); cursor: pointer; transition: all 0.3s ease; user-select: none; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; box-sizing: border-box; border-right: 1px solid var(--border-tertiary); position: sticky; top: 0; z-index: 10; } .tracker-table__main th:last-child, .tracker-jackett__table th:last-child { border-right: none; } .tracker-table__sortable, .tracker-jackett__sortable { cursor: pointer; transition: all 0.3s ease; user-select: none; } .tracker-table__sortable:hover, .tracker-jackett__sortable:hover { background: var(--hover-bg); color: var(--accent-primary); filter: brightness(1.5); } .tracker-table__sortable .icon, .tracker-jackett__sortable .icon { margin-left: 0.3rem; opacity: 0.6; transition: all 0.3s ease; } .tracker-table__sortable:hover .icon, .tracker-jackett__sortable:hover .icon { opacity: 1; color: var(--accent-primary); } .tracker-table__row, .tracker-jackett__row { transition: all 0.3s ease; border-bottom: 1px solid var(--border-tertiary); } .tracker-table__row:hover, .tracker-jackett__row:hover { background: var(--hover-bg); transform: scale(1.001); } .tracker-table__cell, .tracker-jackett__cell { padding: 1rem; border-bottom: 1px solid var(--border-tertiary); font-size: 0.9rem; color: var(--text-secondary); } .tracker-table__cell--name, .tracker-jackett__cell--name { font-weight: 600; color: var(--text-primary); } /* Yes/No value styling */ .tracker-table__cell--yes { position: relative; } .tracker-table__cell--yes::after { content: attr(data-value); display: inline-block; padding: 1px; background-color: rgba(46, 204, 113, 0.1); color: #2ecc71; border: 1px solid #2ecc71; border-radius: 5px; font-weight: 600; font-size: 0.8rem; text-align: center; min-width: 40px; } .tracker-table__cell--no { position: relative; } .tracker-table__cell--no::after { content: attr(data-value); display: inline-block; padding: 1px; background-color: rgba(231, 76, 60, 0.1); color: #e74c3c; border: 1px solid #e74c3c; border-radius: 5px; font-weight: 600; font-size: 0.8rem; text-align: center; min-width: 40px; } /* Difficulty level styling */ .tracker-table__cell--easy { position: relative; } .tracker-table__cell--easy::after { content: attr(data-value); display: inline-block; padding: 1px; background-color: rgba(46, 204, 113, 0.1); color: #2ecc71; border: 1px solid #2ecc71; border-radius: 5px; font-weight: 600; font-size: 0.8rem; text-align: center; min-width: 50px; } .tracker-table__cell--moderate { position: relative; } .tracker-table__cell--moderate::after { content: attr(data-value); display: inline-block; padding: 1px; background-color: rgba(255, 193, 7, 0.1); color: #ffc107; border: 1px solid #ffc107; border-radius: 5px; font-weight: 600; font-size: 0.8rem; text-align: center; min-width: 50px; } .tracker-table__cell--tough { position: relative; } .tracker-table__cell--tough::after { content: attr(data-value); display: inline-block; padding: 1px; background-color: rgba(231, 76, 60, 0.1); color: #e74c3c; border: 1px solid #e74c3c; border-radius: 5px; font-weight: 600; font-size: 0.8rem; text-align: center; min-width: 50px; } /* Mozilla Observatory Grade styling */ .tracker-table__cell--grade-a-plus { position: relative; } .tracker-table__cell--grade-a-plus::after { content: attr(data-value); display: inline-block; padding: 1px; color: #22c55e; border-radius: 5px; font-weight: 600; font-size: 0.8rem; text-align: center; min-width: 40px; } .tracker-table__cell--grade-a { position: relative; } .tracker-table__cell--grade-a::after { content: attr(data-value); display: inline-block; padding: 1px; color: #2ecc71; border-radius: 5px; font-weight: 600; font-size: 0.8rem; text-align: center; min-width: 40px; } .tracker-table__cell--grade-a-minus { position: relative; } .tracker-table__cell--grade-a-minus::after { content: attr(data-value); display: inline-block; padding: 1px; color: #65a30d; border-radius: 5px; font-weight: 600; font-size: 0.8rem; text-align: center; min-width: 40px; } .tracker-table__cell--grade-b-plus { position: relative; } .tracker-table__cell--grade-b-plus::after { content: attr(data-value); display: inline-block; padding: 1px; color: #84cc16; border-radius: 5px; font-weight: 600; font-size: 0.8rem; text-align: center; min-width: 40px; } .tracker-table__cell--grade-b { position: relative; } .tracker-table__cell--grade-b::after { content: attr(data-value); display: inline-block; padding: 1px; color: #a3e635; border-radius: 5px; font-weight: 600; font-size: 0.8rem; text-align: center; min-width: 40px; } .tracker-table__cell--grade-b-minus { position: relative; } .tracker-table__cell--grade-b-minus::after { content: attr(data-value); display: inline-block; padding: 1px; color: #ffc107; border-radius: 5px; font-weight: 600; font-size: 0.8rem; text-align: center; min-width: 40px; } .tracker-table__cell--grade-c-plus { position: relative; } .tracker-table__cell--grade-c-plus::after { content: attr(data-value); display: inline-block; padding: 1px; color: #fb923c; border-radius: 5px; font-weight: 600; font-size: 0.8rem; text-align: center; min-width: 40px; } .tracker-table__cell--grade-c { position: relative; } .tracker-table__cell--grade-c::after { content: attr(data-value); display: inline-block; padding: 1px; color: #f97316; border-radius: 5px; font-weight: 600; font-size: 0.8rem; text-align: center; min-width: 40px; } .tracker-table__cell--grade-c-minus { position: relative; } .tracker-table__cell--grade-c-minus::after { content: attr(data-value); display: inline-block; padding: 1px; color: #ea580c; border-radius: 5px; font-weight: 600; font-size: 0.8rem; text-align: center; min-width: 40px; } .tracker-table__cell--grade-d-plus { position: relative; } .tracker-table__cell--grade-d-plus::after { content: attr(data-value); display: inline-block; padding: 1px; color: #ef4444; border-radius: 5px; font-weight: 600; font-size: 0.8rem; text-align: center; min-width: 40px; } .tracker-table__cell--grade-d { position: relative; } .tracker-table__cell--grade-d::after { content: attr(data-value); display: inline-block; padding: 1px; color: #dc2626; border-radius: 5px; font-weight: 600; font-size: 0.8rem; text-align: center; min-width: 40px; } .tracker-table__cell--grade-d-minus { position: relative; } .tracker-table__cell--grade-d-minus::after { content: attr(data-value); display: inline-block; padding: 1px; color: #b91c1c; border-radius: 5px; font-weight: 600; font-size: 0.8rem; text-align: center; min-width: 40px; } .tracker-table__cell--grade-f { position: relative; } .tracker-table__cell--grade-f::after { content: attr(data-value); display: inline-block; padding: 1px; color: #991b1b; border-radius: 5px; font-weight: 600; font-size: 0.8rem; text-align: center; min-width: 40px; } /* Light theme adjustments for yes/no values */ :root[data-theme="light"] .tracker-table__cell--yes::after { background-color: rgba(39, 174, 96, 0.08); color: #27ae60; border-color: #27ae60; } :root[data-theme="light"] .tracker-table__cell--no::after { background-color: rgba(220, 53, 69, 0.08); color: #dc3545; border-color: #dc3545; } /* Light theme adjustments for difficulty levels */ :root[data-theme="light"] .tracker-table__cell--easy::after { background-color: rgba(39, 174, 96, 0.08); color: #27ae60; border-color: #27ae60; } :root[data-theme="light"] .tracker-table__cell--moderate::after { background-color: rgba(255, 193, 7, 0.1); color: #e6ac00; border-color: #e6ac00; } :root[data-theme="light"] .tracker-table__cell--tough::after { background-color: rgba(220, 53, 69, 0.08); color: #dc3545; border-color: #dc3545; } /* Jackett Section */ .tracker-jackett__message { background: var(--gradient-red); border: 1px solid var(--accent-primary); border-radius: 12px; padding: 1.5rem; text-align: center; margin-bottom: 2rem; font-size: 1.1rem; color: var(--text-secondary); } .tracker-jackett__link { color: var(--accent-secondary); text-decoration: none; font-weight: 600; transition: all 0.3s ease; } .tracker-jackett__link:hover { color: var(--accent-secondary); text-shadow: 0 0 10px rgba(52, 152, 219, 0.5); filter: brightness(1.2); } /* Privacy Section - Keep constrained */ .tracker-privacy { margin-top: 4rem; max-width: 1400px; margin-left: auto; margin-right: auto; } .tracker-privacy__panel { background: var(--gradient-red); border: 1px solid var(--accent-primary); border-radius: 12px; padding: 2rem; } .tracker-privacy__title { font-family: 'Yanone Kaffeesatz', sans-serif; font-size: 1.8rem; font-weight: 600; margin-bottom: 1rem; color: var(--text-primary); } .tracker-privacy__body { font-size: 1rem; line-height: 1.6; color: var(--text-secondary); } .tracker-privacy__body a { color: var(--accent-tertiary); text-decoration: none; font-weight: 600; transition: all 0.3s ease; } .tracker-privacy__body a:hover { color: var(--accent-tertiary); filter: brightness(1.2); } /* AlpineJS Tooltips */ .alpine-tooltip { position: fixed; background: var(--bg-quaternary); backdrop-filter: blur(10px); color: var(--text-primary); padding: 0.75rem 1rem; border-radius: 8px; font-size: 0.8rem; font-weight: 400; z-index: 9999; border: 1px solid var(--accent-primary); box-shadow: 0 8px 32px rgba(0, 0, 0, 0.6); max-width: 280px; text-align: center; line-height: 1.4; pointer-events: none; font-family: 'Source Sans Pro', sans-serif; } .alpine-tooltip::after { content: ''; position: absolute; top: 100%; left: 50%; transform: translateX(-50%); border: 6px solid transparent; border-top-color: var(--bg-quaternary); pointer-events: none; } /* Scrollbar Styling */ ::-webkit-scrollbar { width: 8px; height: 8px; } ::-webkit-scrollbar-track { background: var(--scrollbar-track); border-radius: 4px; } ::-webkit-scrollbar-thumb { background: var(--scrollbar-thumb); border-radius: 4px; transition: all 0.3s ease; } ::-webkit-scrollbar-thumb:hover { background: var(--scrollbar-thumb); filter: brightness(1.5); } /* Loading Animation */ @keyframes pulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.5; } } .loading { animation: pulse 1.5s ease-in-out infinite; } /* SVG Icons - Replace Font Awesome */ .icon { display: inline-block; width: 1em; height: 1em; fill: currentColor; vertical-align: middle; } .icon-skull-crossbones { mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 640'%3E%3Cpath d='M480 208C480 128.5 408.4 64 320 64C231.6 64 160 128.5 160 208C160 255.1 185.1 296.9 224 323.2L224 352C224 369.7 238.3 384 256 384L384 384C401.7 384 416 369.7 416 352L416 323.2C454.9 296.9 480 255.1 480 208zM256 192C273.7 192 288 206.3 288 224C288 241.7 273.7 256 256 256C238.3 256 224 241.7 224 224C224 206.3 238.3 192 256 192zM352 224C352 206.3 366.3 192 384 192C401.7 192 416 206.3 416 224C416 241.7 401.7 256 384 256C366.3 256 352 241.7 352 224zM541.5 403.7C534.7 387.4 516 379.7 499.7 386.5L320 461.3L140.3 386.5C124 379.7 105.3 387.4 98.5 403.7C91.7 420 99.4 438.7 115.7 445.5L236.8 496L115.7 546.5C99.4 553.3 91.7 572 98.5 588.3C105.3 604.6 124 612.3 140.3 605.5L320 530.7L499.7 605.5C516 612.3 534.7 604.6 541.5 588.3C548.3 572 540.6 553.3 524.3 546.5L403.2 496L524.3 445.5C540.6 438.7 548.3 420 541.5 403.7z'/%3E%3C/svg%3E") no-repeat center; mask-size: contain; background-color: currentColor; } .icon-palette { mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M204.3 5C104.9 24.4 24.8 104.3 5.2 203.4c-37 187 131.7 326.4 258.8 306.7 41.2-6.4 61.4-54.6 42.5-91.7-23.1-45.4 9.9-98.4 60.9-98.4h79.7c35.8 0 64.8-29.6 64.9-65.3C511.5 97.1 368.1-26.9 204.3 5zM96 320c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm32-128c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm128-64c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm128 64c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z'/%3E%3C/svg%3E") no-repeat center; mask-size: contain; background-color: currentColor; } .icon-sun { mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M256 160c-52.9 0-96 43.1-96 96s43.1 96 96 96 96-43.1 96-96-43.1-96-96-96zm246.4 80.5l-94.7-47.3 33.5-100.4c4.5-13.6-8.4-26.5-21.9-21.9l-100.4 33.5-47.4-94.8c-6.4-12.8-24.6-12.8-31 0l-47.3 94.7L92.7 70.8c-13.6-4.5-26.5 8.4-21.9 21.9l33.5 100.4-94.7 47.4c-12.8 6.4-12.8 24.6 0 31l94.7 47.3-33.5 100.5c-4.5 13.6 8.4 26.5 21.9 21.9l100.4-33.5 47.3 94.7c6.4 12.8 24.6 12.8 31 0l47.3-94.7 100.4 33.5c13.6 4.5 26.5-8.4 21.9-21.9l-33.5-100.4 94.7-47.3c13-6.5 13-24.7.2-31.1zm-155.9 106c-49.9 49.9-131.1 49.9-181 0-49.9-49.9-49.9-131.1 0-181 49.9-49.9 131.1-49.9 181 0 49.9 49.9 49.9 131.1 0 181z'/%3E%3C/svg%3E") no-repeat center; mask-size: contain; background-color: currentColor; } .icon-moon { mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M283.211 512c78.962 0 151.079-35.925 198.857-94.792 7.068-8.708-.639-21.43-11.562-19.35-124.203 23.654-238.262-71.576-238.262-196.954 0-72.222 38.662-138.635 101.498-174.394 9.686-5.512 7.25-20.197-3.756-22.23A258.156 258.156 0 0 0 283.211 0c-141.309 0-256 114.511-256 256 0 141.309 114.511 256 256 256z'/%3E%3C/svg%3E") no-repeat center; mask-size: contain; background-color: currentColor; } .icon-sort { mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 320 512'%3E%3Cpath d='M41 288h238c21.4 0 32.1 25.9 17 41L177 448c-9.4 9.4-24.6 9.4-33.9 0L24 329c-15.1-15.1-4.4-41 17-41zm255-105L177 64c-9.4-9.4-24.6-9.4-33.9 0L24 183c-15.1 15.1-4.4 41 17 41h238c21.4 0 32.1-25.9 17-41z'/%3E%3C/svg%3E") no-repeat center; mask-size: contain; background-color: currentColor; } /* Sticky Header */ .tracker-table__sticky-header { position: fixed; top: 85px; /* Just below the navbar */ z-index: 50; background: var(--bg-secondary); backdrop-filter: blur(15px); border: 1px solid var(--border-primary); border-radius: 12px; box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3); overflow: hidden; } .tracker-table__sticky-table { width: 100%; border-collapse: collapse; background: transparent; table-layout: fixed; /* Force column widths to be respected */ } .tracker-table__sticky-table th { background: var(--gradient-header); color: var(--text-primary); padding: 1rem 0.8rem; text-align: left; font-weight: 600; font-size: 0.85rem; text-transform: uppercase; letter-spacing: 0.5px; border-bottom: 2px solid var(--accent-primary); cursor: pointer; transition: all 0.3s ease; user-select: none; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; box-sizing: border-box; /* Ensure consistent sizing */ border-right: 1px solid var(--border-tertiary); } .tracker-table__sticky-table th:last-child { border-right: none; } .tracker-table__sticky-table th:hover { background: var(--hover-bg); color: var(--accent-primary); filter: brightness(1.5); } .tracker-table__sticky-table .icon { margin-left: 0.3rem; opacity: 0.6; transition: all 0.3s ease; } .tracker-table__sticky-table th:hover .icon { opacity: 1; color: var(--accent-primary); } /* Responsive adjustments for sticky header */ @media (max-width: 768px) { .tracker-table__sticky-header { top: 140px; /* Account for taller mobile navbar */ left: 1rem !important; right: 1rem; width: calc(100vw - 2rem) !important; } .tracker-table__sticky-table th { padding: 0.75rem 0.5rem; font-size: 0.8rem; } } /* Responsive Design */ @media (max-width: 1200px) { .tracker-main { padding: 1.5rem; } .tracker-navbar__container { padding: 0 1.5rem; } .tracker-table__main { min-width: 1600px; } .tracker-contribute { margin-left: 1.5rem; margin-right: 1.5rem; max-width: calc(100% - 3rem); } .tracker-privacy { margin-left: 1.5rem; margin-right: 1.5rem; max-width: calc(100% - 3rem); } } @media (max-width: 768px) { .tracker-navbar__container { flex-direction: column; gap: 1rem; padding: 0 1rem; } .tracker-navbar__title { font-size: 2rem; text-align: center; } .tracker-main { padding: 1rem; } .tracker-table__controls, .tracker-jackett__controls { flex-direction: column; align-items: stretch; } .tracker-table__search, .tracker-jackett__search { max-width: none; } .tracker-table__container, .tracker-jackett__container { margin: 0 -1rem; border-radius: 0; border-left: none; border-right: none; width: calc(100% + 2rem); } .tracker-table__main { min-width: 1800px; } .tracker-jackett__table { min-width: auto; } .tracker-table__cell, .tracker-jackett__cell { padding: 0.75rem 0.5rem; font-size: 0.85rem; } .tracker-table__main th, .tracker-jackett__table th { padding: 1rem 0.5rem; font-size: 0.85rem; } .tracker-jackett__cell--description { max-width: 200px; } .tracker-contribute { margin-left: 1rem; margin-right: 1rem; max-width: calc(100% - 2rem); } .tracker-privacy { margin-left: 1rem; margin-right: 1rem; max-width: calc(100% - 2rem); } } @media (max-width: 480px) { .tracker-navbar__title { font-size: 1.5rem; } .tracker-contribute__message, .tracker-jackett__message { padding: 1rem; font-size: 1rem; } .tracker-privacy__panel { padding: 1.5rem; } .tracker-privacy__title { font-size: 1.5rem; } .tracker-table__main { min-width: 2000px; } }