1212 .sidebar-item {
1313 @apply flex items-center px-4 py-3 text-gray-700 dark:text-dark-200 hover:text-primary-600 dark:hover:text-primary-300 hover:bg-primary-50 dark:hover:bg-primary-900/20 rounded-lg mx-2 transition-all duration-200;
1414 }
15-
15+
1616 .sidebar-item-active {
1717 @apply bg-primary-600 text-white shadow-lg;
1818 }
19-
19+
2020 .sidebar-item-modern {
2121 @apply flex items-center space-x-3 px-4 py-3 rounded-lg mx-2 transition-all duration-200 hover:bg-primary-50 dark:hover:bg-primary-900/20;
2222 }
23-
23+
2424 .sidebar-item-modern-active {
2525 @apply bg-primary-50 dark:bg-primary-900/30 border border-primary-200 dark:border-primary-700/50 shadow-sm;
2626 }
27-
27+
2828 .nav-item {
2929 @apply text-gray-600 dark:text-dark-300 hover:text-gray-900 dark:hover:text-white transition-all duration-200;
3030 }
31-
31+
3232 .nav-item-active {
3333 @apply text-primary-400 bg-gray-100/60 dark:bg-dark-700/60;
3434 }
35-
35+
3636 .book-card {
3737 @apply relative bg-white dark:bg-dark-800 rounded-lg overflow-hidden transition-all duration-300 hover:scale-105 hover:shadow-2xl;
3838 }
39-
39+
4040 .book-progress-bar {
4141 @apply absolute bottom-0 left-0 h-1 bg-gradient-to-r transition-all duration-300;
4242 }
43-
43+
4444 .progress-reading {
4545 @apply from-primary-500 to-primary-400;
4646 }
47-
47+
4848 .progress-complete {
4949 @apply from-green-500 to-green-400;
5050 }
51-
51+
5252 .search-input {
5353 @apply w-full bg-gray-100 dark:bg-dark-700 border border-gray-300 dark:border-dark-600 rounded-lg px-4 py-2 text-gray-900 dark:text-white placeholder-gray-500 dark:placeholder-dark-400 focus:outline-none focus:ring-2 focus:ring-primary-500 focus:border-transparent;
5454 }
55-
55+
5656 .filter-button {
5757 @apply px-4 py-2 bg-gray-100 dark:bg-dark-700 hover:bg-gray-200 dark:hover:bg-dark-600 text-gray-600 dark:text-dark-300 hover:text-gray-900 dark:hover:text-white rounded-lg transition-all duration-200 shadow;
5858 }
59-
59+
6060 .filter-button-active {
6161 @apply bg-primary-600 text-white;
6262 }
63-
63+
6464 .book-description p {
6565 @apply mb-4;
6666 }
67-
67+
6868 .book-description p : last-child {
6969 @apply mb-0;
7070 }
71-
71+
7272 .book-description h1 ,
7373 .book-description h2 ,
7474 .book-description h3 ,
7777 .book-description h6 {
7878 @apply mt-6 mb-3;
7979 }
80-
80+
8181 .book-description h1 : first-child ,
8282 .book-description h2 : first-child ,
8383 .book-description h3 : first-child ,
8686 .book-description h6 : first-child {
8787 @apply mt-0;
8888 }
89-
89+
9090 .book-description ul ,
9191 .book-description ol {
9292 @apply mb-4;
9393 }
94-
94+
9595 .book-description blockquote {
9696 @apply my-4;
9797 }
98-
98+
9999 /* EventCalendar Custom Styles */
100100 .ec {
101101 @apply font-sans;
102102 }
103-
103+
104104 /* Custom EC-Dark Theme */
105105 .ec-dark .ec {
106106 --ec-bg-fallback-color : theme ('calendar.darkBg' );
119119 --ec-list-day-bg-color : theme ('calendar.darkButtonBg' );
120120 --ec-now-indicator-color : theme ('calendar.primaryLight' );
121121 }
122-
122+
123123 /* Specific EC Elements Styling */
124- .ec-dark .ec-button : not (: disabled ): hover ,
124+ .ec-dark .ec-button : not (: disabled ): hover ,
125125 .ec-dark .ec-button .ec-active {
126126 @apply bg-primary-600 border-primary-700 text-white;
127127 }
128-
129- .ec-dark .ec-header ,
130- .ec-dark .ec-all-day ,
131- .ec-dark .ec-body ,
132- .ec-dark .ec-days ,
133- .ec-dark .ec-day ,
128+
129+ .ec-dark .ec-header ,
130+ .ec-dark .ec-all-day ,
131+ .ec-dark .ec-body ,
132+ .ec-dark .ec-days ,
133+ .ec-dark .ec-day ,
134134 .ec-dark .ec-day-head ,
135135 .ec-dark .ec-sidebar ,
136136 .ec-dark .ec-popup {
137137 @apply border-gray-200 dark:border-dark-700;
138138 }
139-
139+
140140 /* Calendar container specific styles */
141141 .calendar-container {
142142 @apply w-full overflow-x-auto;
143143 }
144-
144+
145145 .calendar-container .ec {
146146 @apply min-w-[700px ];
147147 border : none;
148148 background-color : transparent;
149149 }
150-
150+
151151 .calendar-container .ec .ec-header ,
152152 .calendar-container .ec .ec-all-day ,
153153 .calendar-container .ec .ec-body ,
154154 .calendar-container .ec .ec-sidebar {
155155 border : none;
156156 background-color : transparent;
157157 }
158-
158+
159159 /* Improve the overall calendar appearance */
160160 .calendar-container .ec {
161161 margin : 0 ;
164164 .calendar-container .ec .ec-toolbar {
165165 display : none;
166166 }
167-
167+
168168 .calendar-container .ec .ec-header .ec-days {
169169 margin : 0 ;
170170 @apply bg-gray-200 dark:bg-dark-800 shadow-sm border-b border-gray-200 dark:border-dark-700 rounded-t-lg;
171171 @apply text-gray-800 dark:text-primary-300 text-sm md:text-base lg:text-lg xl:text-xl py-2 font-medium;
172172 }
173-
173+
174174 .calendar-container .ec .ec-header .ec-day {
175175 @apply border-gray-300 dark:border-dark-700/50 py-3 font-medium text-primary-800 dark:text-primary-300;
176176 border-right-width : 1px ;
177177 border-right-style : solid;
178178 }
179-
179+
180180 .calendar-container .ec .ec-header .ec-day : last-child {
181181 border-right : none;
182182 }
183-
183+
184184 /* Fix day cells to have no outer border */
185185 .calendar-container .ec .ec-day : last-child {
186186 border-right : none;
187187 }
188-
188+
189189 .calendar-container .ec .ec-days : last-child .ec-day {
190190 border-bottom : none;
191191 }
192-
192+
193193 /* Style the calendar body */
194194 .calendar-container .ec .ec-body {
195195 @apply bg-gray-50 dark:bg-dark-850/50 mt-1 border border-gray-200 dark:border-dark-700 shadow-sm;
196196 border-top : none;
197197 }
198-
198+
199199 /* Day cell borders and hover */
200200 .calendar-container .ec .ec-day {
201201 @apply border-gray-300 dark:border-dark-700/50 transition-colors duration-200;
202202 }
203-
203+
204204 /* Today highlighting */
205205 .calendar-container .ec .ec-today {
206206 @apply bg-primary-200/60 dark:bg-primary-900/30 font-medium border border-primary-400;
207207 }
208-
208+
209209 /* Event styling */
210210 .calendar-container .ec-event {
211211 @apply shadow-lg rounded-md md:rounded-lg px-1 md:py-1 md:px-2 text-2xs md:text-xs lg:text-sm;
212212 @apply mb-1 mx-0.5;
213213 }
214-
214+
215215 /* Scrollbar styling */
216216 .ec-dark .ec ::-webkit-scrollbar-thumb {
217217 @apply bg-dark-700 border-4 border-transparent rounded-lg;
218218 }
219-
219+
220220 .ec-dark .ec : hover ::-webkit-scrollbar-thumb {
221221 @apply bg-dark-600;
222222 }
230230 from {
231231 opacity : 0 ;
232232 }
233+
233234 to {
234235 opacity : 1 ;
235236 }
256257 .week-stats {
257258 transition : opacity 0.3s ease-out, transform 0.3s ease-out;
258259 }
259-
260+
260261 .week-stats .transition-out {
261262 opacity : 0.3 ;
262263 }
263-
264+
264265 .week-stats .transition-in {
265266 opacity : 1 ;
266267 transform : translateY (0 );
267268 }
268-
269+
269270 # statsLoadingIndicator {
270271 transition : opacity 0.25s ease-in-out;
271272 opacity : 0 ;
272273 }
273-
274+
274275 # statsLoadingIndicator .active {
275276 opacity : 1 ;
276277 }
279280 .recap-timeline {
280281 position : relative;
281282 }
283+
282284 .recap-timeline : before {
283285 content : "" ;
284286 position : absolute;
285287 left : 12px ;
286- top : -100px ; /* extend upward to touch header */
287- bottom : -50px ; /* extend below the last event toward page bottom */
288+ top : -100px ;
289+ /* extend upward to touch header */
290+ bottom : -50px ;
291+ /* extend below the last event toward page bottom */
288292 width : 2px ;
289293 background : theme (colors.gray.200);
290294 }
295+
291296 .dark .recap-timeline : before {
292297 background : theme (colors.gray.700);
293298 }
299+
294300 .recap-dot {
295301 position : absolute;
296302 left : 7px ;
301307 border-radius : 9999px ;
302308 box-shadow : 0 0 0 3px rgb (59 130 246 / 0.2 );
303309 }
310+
304311 @screen md {
305312 .recap-dot {
306313 top : 50% ;
307314 transform : translateY (-50% );
308315 }
309316 }
317+
310318 /* Yearly summary dot stays aligned with the title, not centered */
311319 .recap-dot-top {
312320 top : 0.5rem ;
313321 transform : none;
314322 }
323+
315324 @screen md {
316325 .recap-dot-top {
317326 top : 0.75rem ;
318327 transform : none;
319328 }
320329 }
321-
330+
322331 /* Recap cover max height: slightly larger on mobile, full on md+ */
323332 .recap-cover-max {
324333 max-height : 20rem ;
325334 }
335+
326336 @screen md {
327337 .recap-cover-max {
328338 max-height : 100% ;
329339 }
330340 }
331- }
341+
342+ /* PWA Update Toggling */
343+ body .update-available .update-hidden {
344+ display : none !important ;
345+ }
346+
347+ body .update-available .update-visible {
348+ display : block !important ;
349+ }
350+
351+ .update-visible {
352+ display : none;
353+ }
354+ }
0 commit comments