aboutsummaryrefslogtreecommitdiff
path: root/static/css
diff options
context:
space:
mode:
Diffstat (limited to 'static/css')
-rw-r--r--static/css/anime/anime.css20
-rw-r--r--static/css/anime/single_anime.css256
-rw-r--r--static/css/anime/video_player.css415
-rw-r--r--static/css/shared/core.css3
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;
}