diff options
| author | Bobby <[email protected]> | 2024-12-23 03:35:18 -0500 |
|---|---|---|
| committer | Bobby <[email protected]> | 2024-12-23 03:35:18 -0500 |
| commit | 4feba2452a151ed999d52d4a0d53b0b0584bf70e (patch) | |
| tree | cd8474cd1287dac1839b5ceac24be987e25961cc /static/css | |
| parent | 2ab87058f41e07724757b944834da0a52de4b105 (diff) | |
| download | thatcomputerscientist-4feba2452a151ed999d52d4a0d53b0b0584bf70e.tar.xz thatcomputerscientist-4feba2452a151ed999d52d4a0d53b0b0584bf70e.zip | |
anime streams are a thing baby
Diffstat (limited to 'static/css')
| -rw-r--r-- | static/css/anime/anime.css | 20 | ||||
| -rw-r--r-- | static/css/anime/single_anime.css | 256 | ||||
| -rw-r--r-- | static/css/anime/video_player.css | 415 | ||||
| -rw-r--r-- | static/css/shared/core.css | 3 |
4 files changed, 690 insertions, 4 deletions
diff --git a/static/css/anime/anime.css b/static/css/anime/anime.css index a68e0ee8..2171dee9 100644 --- a/static/css/anime/anime.css +++ b/static/css/anime/anime.css @@ -214,7 +214,7 @@ position: relative; display: flex; justify-content: center; - align-items: center; + align-items: end; } .overlay-bottom-radial { @@ -223,7 +223,7 @@ left: 0; width: 780px; height: 195px; - background: radial-gradient(ellipse 600px 195px at center bottom, rgba(13, 20, 28, 0.95) 0%, rgba(19, 26, 44, 0.8) 50%, transparent 100%); + background: radial-gradient(ellipse 600px 195px at center bottom, rgb(0 0 0 / 100%) 0%, rgb(0 0 0 / 70%) 50%, transparent 100%); z-index: 1; } @@ -375,4 +375,20 @@ input[type="radio"][name="order"]+label:hover { .page-ellipsis { color: #7ee8c7; padding: 6px 12px; +} + +.section-title-area { + display: flex; + justify-content: space-between; + align-items: center; +} + +.anime-footer { + margin: 12px 0; + padding: 8px 0; + border-top: 1px solid rgba(141, 141, 255, 0.8); +} + +.anime-footer ul { + padding: 0 0 0 24px; }
\ No newline at end of file diff --git a/static/css/anime/single_anime.css b/static/css/anime/single_anime.css new file mode 100644 index 00000000..acb445ea --- /dev/null +++ b/static/css/anime/single_anime.css @@ -0,0 +1,256 @@ +.content-section { + display: flex; + flex-direction: column; + gap: 12px; +} + +.synopsis { + background: rgba(13, 20, 28, 0.95); + padding: 15px; + border-radius: 4px; +} + +/* Episode List Styles */ +.episodes-list { + background: rgba(13, 20, 28, 0.95); + border: 1px solid #2a3b4d; + border-radius: 4px; +} + +.episodes-header { + padding: 10px; + border-bottom: 1px solid #2a3b4d; + display: flex; + justify-content: space-between; + align-items: center; +} + +.episodes-scroll { + max-height: 300px; + overflow-y: auto; +} + +.episode-item { + display: flex; + gap: 10px; + padding: 10px; + border-bottom: 1px solid rgba(42, 59, 77, 0.5); + align-items: center; + color: #fff; + transition: background 0.2s; +} + +.episode-item:last-child { + border-bottom: none; +} + +.episode-preview { + width: 80px; + height: 45px; + flex-shrink: 0; +} + +.episode-preview img { + width: 100%; + height: 100%; + object-fit: cover; + border-radius: 2px; +} + +.episode-text { + flex: 1; + min-width: 0; + display: flex; + flex-direction: row; + gap: 4px; +} + +.ep-number { + font-size: 12px; + color: #8d8dff; +} + +.ep-title { + display: block; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + font-size: 13px; +} + +.episode-item:hover { + background: rgba(141, 141, 255, 0.1); + text-decoration: none; +} + +.episode-item.active { + background: rgba(141, 141, 255, 0.2); +} + +/* Details Layout */ +.anime-details { + margin-top: 30px; +} + +.details-grid { + display: grid; + grid-template-columns: 180px 580px; + gap: 20px; + margin-bottom: 30px; +} + +/* Info Section */ +.info-list { + display: flex; + flex-direction: column; + gap: 8px; +} + +.info-item { + display: flex; + justify-content: space-between; +} + +.info-item .label { + color: #8d8dff; +} + +/* Characters Section */ +.characters-grid { + display: grid; + grid-template-columns: repeat(3, 1fr); + gap: 15px; + margin: 20px 0; +} + +.character-card { + display: flex; + gap: 10px; + background: rgba(13, 20, 28, 0.95); + padding: 10px; + border-radius: 4px; +} + +.character-image { + width: 60px; + height: 60px; + flex-shrink: 0; +} + +.character-image img { + width: 100%; + height: 100%; + object-fit: cover; + border-radius: 4px; +} + +.character-info { + flex: 1; + min-width: 0; + display: flex; + flex-direction: column; + justify-content: center; +} + +.character-name { + font-size: 13px; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; +} + +.character-role { + font-size: 11px; + color: #8d8dff; +} + +/* Section spacing */ +.recommendations-section { + margin-top: 30px; +} + +.genres-list { + display: flex; + flex-wrap: wrap; + gap: 8px; + margin-top: 20px; + align-items: center; +} + +.genres-label { + color: rgba(255, 255, 255, 0.7); + font-size: 13px; +} + +.genre-link { + font-size: 12px; + padding: 3px 12px; + border-radius: 12px; + transition: all 0.2s ease; +} + +/* Genre-specific styles */ +.genre-link[href*="Action"] { + background: rgba(255, 64, 64, 0.15); + border: 1px solid #ff4040; + color: #ff4040; +} + +.genre-link[href*="Adventure"] { + background: rgba(255, 168, 0, 0.15); + border: 1px solid #ffa800; + color: #ffa800; +} + +/* Add all other genre styles here */ + +/* Hover effect */ +.genre-link:hover { + text-decoration: none; + filter: brightness(1.2); + transform: translateY(-1px); +} + +/* Authentication warning */ +.unauth-warning { + display: flex; + align-items: center; + gap: 20px; + padding: 20px; + width: 360px; + background: #3b3b3b; + border: 2px solid #858585; + border-radius: 2px; + box-shadow: + inset -1px -1px #0a0a0a, + inset 1px 1px #dfdfdf, + inset -2px -2px #808080, + inset 2px 2px #ffffff; +} + +.warning-icon { + width: 48px; + height: 48px; + flex-shrink: 0; +} + +.warning-icon svg { + width: 100%; + height: 100%; +} + +.warning-message { + color: #ffffff; +} + +.warning-title { + font-size: 14px; + font-weight: bold; + margin-bottom: 4px; + color: #ffdd00; +} + +.warning-text { + font-size: 11px; + color: #cccccc; +}
\ No newline at end of file diff --git a/static/css/anime/video_player.css b/static/css/anime/video_player.css new file mode 100644 index 00000000..39abb527 --- /dev/null +++ b/static/css/anime/video_player.css @@ -0,0 +1,415 @@ +/* Player Area */ +.player-area { + margin: 8px 0 0 0 +} + +/* Video container */ +.video-container, +.unauth-video { + position: relative; + display: flex; + align-items: center; + justify-content: center; + height: 560.5px; +} + +#video-player { + width: 100%; + height: 100%; + background-color: #000; + height: 436.5px; + position: relative; +} + +/* Windows 98 Player Base */ +.win98-player { + width: 780px; + background: #C0C0C0; + border: 2px solid; + border-color: #FFFFFF #808080 #808080 #FFFFFF; + box-shadow: 1px 1px 0 0 #000; +} + +/* Fullscreen styles */ +.win98-player:fullscreen { + width: 100%; + height: 100%; + background: #000; + border: none; + box-shadow: none; +} + +.win98-player:fullscreen .win98-title-bar, +.win98-player:fullscreen .episode-title { + display: none; +} + +.win98-player:fullscreen .win98-player-content { + height: 100%; + position: relative; +} + +.win98-player:fullscreen #video-player { + width: 100%; + height: 100%; +} + +.win98-player:fullscreen .win98-controls { + position: fixed; + bottom: 0px; + width: 100%; + opacity: 0; + transition: opacity 0.3s ease; + background: rgba(192, 192, 192, 0.95); + z-index: 15; +} + +.win98-player:fullscreen.controls-visible .win98-controls { + opacity: 1; +} + +/* Title Bar */ +.win98-title-bar { + background: rgb(3, 31, 106); + background: linear-gradient(90deg, rgba(3, 31, 106, 1) 0%, rgba(163, 192, 227, 1) 100%); + padding: 3px 2px 3px 3px; + display: flex; + justify-content: space-between; + align-items: center; +} + +.title-bar-text { + color: #FFF; + font-weight: bold; + margin-left: 3px; +} + +/* Episode Title */ +.episode-title { + padding: 4px 8px; + background: #000; + color: #1EFF1E; + font-family: "DOS", "Consolas", monospace; +} + +/* Controls Area */ +.win98-controls { + padding: 8px; + background: #C0C0C0; + display: flex; + flex-direction: column; + gap: 8px; + color: #000; +} + +/* Seek Bar */ +.seek-control { + display: flex; + align-items: center; + gap: 8px; + color: #000; +} + +.seek-slider-container { + position: relative; + height: 12px; + flex: 1; + background: #fff; + border: 2px solid; + border-color: #808080 #FFFFFF #FFFFFF #808080; +} + +input[type="range"].seek-slider { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + margin: 0; + opacity: 0; + cursor: pointer; + z-index: 2; +} + +.seek-track { + position: absolute; + top: 0; + left: 0; + height: 100%; + width: 100%; + background: #C0C0C0; +} + +.seek-fill { + position: absolute; + top: 0; + left: 0; + height: 100%; + width: 0%; + background: #000080; +} + +.seek-buffer { + position: absolute; + top: 0; + left: 0; + height: 100%; + width: 0%; + background: rgba(0, 0, 128, 0.3); +} + +/* Controls and Volume */ +.controls-and-volume { + display: flex; + align-items: center; + justify-content: space-between; + gap: 8px; +} + +/* Control Buttons */ +.control-buttons { + display: flex; + align-items: center; + gap: 4px; +} + +.win98-btn { + height: 22px; + min-width: 22px; + border: none; + background: transparent; + padding: 2px; + position: relative; + display: flex; + align-items: center; + justify-content: center; + color: #000; +} + +.win98-btn:hover { + color: #FFF; + background: #000080; +} + +.win98-btn:active { + color: #FFF; + background: #0000FF; +} + +.win98-btn:hover .win98-icon>* { + color: #FFF; +} + +.win98-icon { + width: 14px; + height: 14px; +} + +.win98-icon>* { + color: #000; +} + +/* Volume Control */ +.volume-control { + display: flex; + align-items: center; + gap: 4px; +} + +.volume-slider-container { + position: relative; + width: 70px; + height: 24px; + background: transparent; +} + +.volume-slider-container::before { + content: ''; + position: absolute; + top: 50%; + left: 0; + width: 100%; + height: 2px; + background: linear-gradient(to right, #000 0%, transparent 100%); + transform: translateY(-50%); +} + +input[type="range"].volume-slider { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + margin: 0; + opacity: 0; + cursor: pointer; + z-index: 2; +} + +.volume-track { + position: absolute; + top: 50%; + left: 0; + width: 100%; + height: 4px; + background: #C0C0C0; + transform: translateY(-50%); +} + +.volume-fill { + position: absolute; + top: 0; + left: 0; + height: 100%; + width: 100%; + background: #000080; +} + +/* Quality Menu and Dropdowns */ +.quality-control, +.sub-dub-control, +.caption-control { + position: relative; +} + +.quality-menu, +.sub-dub-menu, +.caption-menu { + display: none; + position: absolute; + bottom: 100%; + left: 50%; + transform: translateX(-50%); + background: #C0C0C0; + border: 2px solid; + border-color: #FFFFFF #808080 #808080 #FFFFFF; + padding: 2px; + min-width: 100px; + margin-bottom: 4px; + z-index: 10; +} + +.quality-menu.show, +.sub-dub-menu.show, +.caption-menu.show { + display: block; +} + +.quality-menu button, +.sub-dub-menu button, +.caption-menu button { + display: block; + width: 100%; + text-align: left; + padding: 4px 8px; + border: none; + background: none; + color: #000; + cursor: pointer; +} + +.quality-menu button:hover, +.sub-dub-menu button:hover, +.caption-menu button:hover { + background: #000080; + color: #FFFFFF; +} + +/* Slider thumbs */ +.seek-thumb { + position: absolute; + width: 10px; + height: 16px; + background: #000; + border: 2px solid; + border-color: #FFFFFF #808080 #808080 #FFFFFF; + top: 50%; + left: 0%; + transform: translate(-50%, -50%); + pointer-events: none; + z-index: 3; +} + +.volume-thumb { + position: absolute; + width: 8px; + height: 16px; + background: #000; + border: 2px solid; + border-color: #FFFFFF #808080 #808080 #FFFFFF; + top: 50%; + left: 100%; + transform: translate(-50%, -50%); + pointer-events: none; + z-index: 3; +} + +/* Subtitle styles */ +video::-webkit-media-controls { + display: none !important; +} + +video::-webkit-media-controls-enclosure { + display: none !important; +} + +.win98-controls:hover { + opacity: 1; +} + +.custom-subtitles { + position: absolute; + bottom: 20%; + left: 50%; + transform: translateX(-50%); + z-index: 4; + text-align: center; + pointer-events: none; + width: 80%; +} + +.custom-subtitles span { + background: none; + color: white; + font-size: 24px; + -webkit-text-stroke: 4px black; + paint-order: stroke fill; + padding: 4px; + display: inline-block; + white-space: pre-line; + -webkit-font-smoothing: antialiased; +} + +.win98-player:fullscreen .custom-subtitles { + bottom: 30px; + transition: bottom 0.3s ease; +} + +.win98-player:fullscreen .custom-subtitles span { + font-size: 48px; + -webkit-text-stroke: 8px black; + padding: 8px; +} + +.win98-player:fullscreen.controls-visible .custom-subtitles { + bottom: 96px; +} + +/* Hide native subtitles */ +::cue { + opacity: 0 !important; + visibility: hidden !important; + display: none !important; +} + +video::-webkit-media-text-track-display { + display: none !important; +} + +video::-webkit-media-text-track-container { + display: none !important; +} + +video::-webkit-media-text-track { + display: none !important; +}
\ No newline at end of file diff --git a/static/css/shared/core.css b/static/css/shared/core.css index c02be71e..41924bbb 100644 --- a/static/css/shared/core.css +++ b/static/css/shared/core.css @@ -19,7 +19,6 @@ box-sizing: border-box; outline: none; border: none; - color: #fff; } /* HTML and Body Base */ @@ -193,7 +192,7 @@ img { width: 100vw; height: 100vh; pointer-events: none; - z-index: 300; + z-index: 9; opacity: 0.18; } |
