-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathstyles.css
More file actions
149 lines (129 loc) · 7.48 KB
/
styles.css
File metadata and controls
149 lines (129 loc) · 7.48 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
:root {
--bg: #06060a;
--text: #f2f2f2;
--muted: #9aa0a6;
--accent: #ff79c6; /* pink */
--accent-2: #8be9fd; /* cyan */
--accent-3: #ffd369; /* gold */
--panel: #0d0d0d;
--panel-2: #141414;
--border: rgba(255,255,255,0.08);
/* background stops */
--bg1: #4b1f6f; /* warm violet */
--bg2: #0e6792; /* teal-blue */
--bg3: #b3204b; /* rose/magenta */
/* halo colors (tweak these to match your images) */
--halo-center-1: rgba(255, 105, 180, 0.40); /* warmer pink */
--halo-center-2: rgba(72, 209, 204, 0.30); /* warmer teal */
--halo-left: rgba(255, 105, 180, 0.32); /* left image glow */
--halo-right: rgba(72, 209, 204, 0.30); /* right image glow */
}
* { box-sizing: border-box; }
html, body { height: 100%; }
body {
margin: 0;
/* Layered colorful background with subtle motion */
background:
radial-gradient(1200px 800px at 15% 20%, color-mix(in srgb, var(--bg1), black 40%) 0%, transparent 60%),
radial-gradient(900px 700px at 85% 30%, color-mix(in srgb, var(--bg2), black 30%) 0%, transparent 60%),
radial-gradient(1000px 900px at 50% 90%, color-mix(in srgb, var(--bg3), black 35%) 0%, transparent 60%),
conic-gradient(from 210deg at 50% 50%, var(--bg1), var(--bg2), var(--bg3), var(--bg1));
background-size: 140% 140%, 140% 140%, 140% 140%, 180% 180%;
animation: bgShift 28s ease-in-out infinite alternate;
color: var(--text);
font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji", "Segoe UI Emoji";
}
/* twinkling dots */
body::before {
content: "";
position: fixed;
inset: 0;
pointer-events: none;
background:
radial-gradient(2px 2px at 20% 30%, rgba(255,255,255,0.05) 0 99%, transparent 100%),
radial-gradient(2px 2px at 70% 60%, rgba(255,255,255,0.04) 0 99%, transparent 100%),
radial-gradient(1.5px 1.5px at 40% 80%, rgba(255,255,255,0.03) 0 99%, transparent 100%);
}
/* screen-blended color overlay to better match images */
body::after {
content: "";
position: fixed;
inset: -20% -10% -10% -20%;
pointer-events: none;
mix-blend-mode: screen;
opacity: 0.45;
background:
radial-gradient(40% 45% at 20% 30%, rgba(255, 121, 198, 0.25), transparent 70%),
radial-gradient(35% 40% at 80% 25%, rgba(139, 233, 253, 0.22), transparent 70%),
radial-gradient(45% 50% at 50% 85%, rgba(255, 211, 105, 0.22), transparent 70%);
}
@keyframes bgShift {
0% { background-position: 10% 20%, 80% 30%, 50% 90%, 40% 40%; }
100% { background-position: 30% 40%, 60% 20%, 60% 70%, 60% 60%; }
}
/* Tabs */
.site-header { position: sticky; top: 0; z-index: 10; background: linear-gradient(180deg, rgba(0,0,0,0.9), rgba(0,0,0,0.6)); backdrop-filter: blur(6px); }
.tabs { display: flex; gap: 16px; padding: 16px 20px; border-bottom: 1px solid var(--border); }
.tab { color: var(--muted); cursor: pointer; padding: 8px 12px; border-radius: 8px; transition: color .2s ease, background .2s ease; background: transparent; border: none; font: inherit; }
.tab:hover, .tab.is-active { color: #fff; background: rgba(255,255,255,0.08); }
/* Show/hide panels based on radio state */
.panel { display: none !important; }
.panel.active { display: block !important; }
.panel.panel-anime.active { display: grid !important; }
/* Home Panel */
.panel-home { min-height: calc(100vh - 56px); position: relative; }
.hero { position: relative; min-height: calc(100vh - 56px); }
.gif-circle { position: absolute; top: 40px; left: 50%; transform: translateX(-50%); width: 220px; height: 220px; border-radius: 50%; overflow: hidden; border: 2px solid var(--border); box-shadow: 0 10px 40px rgba(255, 121, 198, 0.22), 0 0 0 10px rgba(255, 121, 198, 0.08); }
.gif-circle img { width: 100%; height: 100%; object-fit: cover; display: block; }
.gif-circle::after { content: ""; position: absolute; inset: -8%; border-radius: 50%; background: radial-gradient(closest-side, var(--halo-center-1), var(--halo-center-2), transparent 70%); filter: blur(8px); z-index: -1; }
.side { position: absolute; bottom: 0; width: 28vw; max-width: 420px; opacity: 0.98; filter: drop-shadow(0 12px 30px rgba(0,0,0,0.6)); }
.side img { width: 100%; height: auto; object-fit: contain; display: block; }
.side-left { left: 1.5rem; }
.side-right { right: 1.5rem; }
.side::after { content: ""; position: absolute; inset: auto; bottom: -8px; left: 50%; transform: translateX(-50%); width: 85%; height: 60%; filter: blur(18px); pointer-events: none; z-index: -1; }
.side-left::after { background: radial-gradient(60% 70% at 50% 85%, var(--halo-left), rgba(255, 211, 105, 0.18), transparent 70%); }
.side-right::after { background: radial-gradient(60% 70% at 50% 85%, var(--halo-right), rgba(255, 211, 105, 0.18), transparent 70%); }
.home-body { position: absolute; inset: 0; background: transparent; display: grid; place-items: center; padding-top: 240px; }
.greeting { margin: 0; font-weight: 800; letter-spacing: -0.02em; font-size: clamp(22px, 4vw, 36px); text-shadow: 0 6px 24px rgba(0,0,0,0.45); }
/* Anime Panel */
.panel-anime { grid-template-columns: 280px 1fr; min-height: calc(100vh - 56px); }
.sidebar { border-right: 1px solid var(--border); background: var(--panel); padding: 16px 12px; }
.sidebar details { border: 1px solid var(--border); background: var(--panel-2); border-radius: 10px; padding: 8px 10px; margin-bottom: 10px; }
.sidebar summary { cursor: pointer; color: #fff; font-weight: 600; list-style: none; }
.sidebar summary::-webkit-details-marker { display: none; }
.menu { margin: 8px 0 0; padding-left: 14px; }
.menu li { margin: 6px 0; }
.menu a { color: var(--muted); text-decoration: none; }
.menu a:hover { color: #fff; }
.anime-list { padding: 20px; }
.anime-list h2 { margin: 0 0 12px; font-weight: 800; letter-spacing: -0.02em; }
.cards { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 14px; }
.card { position: relative; display: block; text-decoration: none; color: #fff; border-radius: 18px; overflow: hidden; background: var(--panel-2); border: 1px solid var(--border); min-height: 140px; }
.card-cover { isolation: isolate; }
.card-cover::before { content: ""; position: absolute; inset: 0; background-image: var(--card-bg); background-size: cover; background-position: center; filter: saturate(1.1) brightness(0.7) blur(0.2px); transform: scale(1.02); z-index: -2; }
.card-cover::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,0,0,0.1), rgba(0,0,0,0.45)); z-index: -1; }
.card-title { position: absolute; left: 12px; bottom: 10px; right: 12px; font-weight: 800; letter-spacing: -0.02em; text-shadow: 0 2px 10px rgba(0,0,0,0.6); }
.card:hover { box-shadow: 0 12px 30px rgba(0,0,0,0.35), 0 0 0 6px rgba(255, 121, 198, 0.08); transform: translateY(-2px); transition: transform .15s ease, box-shadow .15s ease; }
@media (max-width: 900px) {
.gif-circle { width: 180px; height: 180px; top: 28px; }
.side { width: 36vw; }
}
@media (max-width: 720px) {
.panel-anime { grid-template-columns: 1fr; }
.sidebar { border-right: 0; border-bottom: 1px solid var(--border); }
}
/* Phone optimizations */
@media (max-width: 540px) {
.tabs { padding: 12px 14px; gap: 12px; }
.gif-circle { width: 150px; height: 150px; top: 18px; }
.home-body { padding-top: 190px; }
.cards { grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: 10px; }
.card { min-height: 120px; border-radius: 14px; }
}
@media (max-width: 480px) {
.side { display: none; }
}
/* Respect reduced motion */
@media (prefers-reduced-motion: reduce) {
body { animation: none; }
}