4747
4848 /* ─── Timing ─────────────────────────────────────── */
4949 --ease : 150ms ease;
50+ --ease-in-out : cubic-bezier (0.4 , 0 , 0.2 , 1 );
5051
5152 /* ─── Responsive Multipliers ─────────────────────── */
5253 --font-scale : 1 ;
54+
55+ /* ─── Premium Glass ──────────────────────────────── */
56+ --glass-bg : rgba (15 , 15 , 15 , 0.7 );
57+ --glass-border : rgba (255 , 255 , 255 , 0.08 );
58+ --glass-blur : 12px ;
5359}
5460
5561/* ─── Responsive Scaling ────────────────────────────── */
@@ -151,52 +157,25 @@ select {
151157 font-family : inherit;
152158}
153159
154- /* ═══ Animations (subtle, 150ms only) ════════════════════════════ */
160+ /* ═══ Animations ═════════════════════ ════════════════════════════ */
155161@keyframes fadeIn {
156- from {
157- opacity : 0
158- }
159-
160- to {
161- opacity : 1
162- }
162+ from { opacity : 0 }
163+ to { opacity : 1 }
163164}
164165
165166@keyframes fadeUp {
166- from {
167- opacity : 0 ;
168- transform : translateY (4px )
169- }
170-
171- to {
172- opacity : 1 ;
173- transform : translateY (0 )
174- }
167+ from { opacity : 0 ; transform : translateY (4px ) }
168+ to { opacity : 1 ; transform : translateY (0 ) }
175169}
176170
177171@keyframes scaleIn {
178- from {
179- opacity : 0 ;
180- transform : scale (0.97 )
181- }
182-
183- to {
184- opacity : 1 ;
185- transform : scale (1 )
186- }
187- }
188-
189- .fade-in {
190- animation : fadeIn var (--ease )
191- }
192-
193- .fade-up {
194- animation : fadeUp var (--ease )
172+ from { opacity : 0 ; transform : scale (0.97 ) }
173+ to { opacity : 1 ; transform : scale (1 ) }
195174}
196175
197- .scale -in {
198- animation : scaleIn var (--ease )
199- }
176+ .fade -in { animation : fadeIn var ( --ease ) }
177+ . fade-up { animation : fadeUp var (--ease ) }
178+ . scale-in { animation : scaleIn var ( --ease ) }
200179
201180.grid-bg {
202181 background-image :
@@ -217,50 +196,69 @@ select {
217196}
218197
219198@keyframes pulse {
220- 0% {
221- transform : scale (0.95 );
222- opacity : 0.5 ;
223- }
224-
225- 50% {
226- transform : scale (1.1 );
227- opacity : 1 ;
228- }
229-
230- 100% {
231- transform : scale (0.95 );
232- opacity : 0.5 ;
233- }
199+ 0% { transform : scale (0.95 ); opacity : 0.5 ; }
200+ 50% { transform : scale (1.1 ); opacity : 1 ; }
201+ 100% { transform : scale (0.95 ); opacity : 0.5 ; }
234202}
235203
236204/* ═══ Modal animation ═════════════════════════════════════════════ */
237205@keyframes modalIn {
238- from {
239- opacity : 0 ;
240- transform : scale (0.96 )
241- }
242-
243- to {
244- opacity : 1 ;
245- transform : scale (1 )
246- }
206+ from { opacity : 0 ; transform : scale (0.96 ) }
207+ to { opacity : 1 ; transform : scale (1 ) }
247208}
248209
249210@keyframes spin {
250- to {
251- transform : rotate (360deg )
252- }
211+ to { transform : rotate (360deg ) }
253212}
254213
255214.animate-spin {
256215 animation : spin 1s linear infinite;
257216}
258217
218+ /* ═══ Premium Effects ══════════════════════════════════════════════ */
219+ .glass {
220+ background : var (--glass-bg ) !important ;
221+ backdrop-filter : blur (var (--glass-blur )) !important ;
222+ -webkit-backdrop-filter : blur (var (--glass-blur )) !important ;
223+ border : 1px solid var (--glass-border ) !important ;
224+ }
225+
226+ .btn-primary-glow {
227+ position : relative;
228+ overflow : hidden;
229+ }
230+
231+ .btn-primary-glow ::after {
232+ content : '' ;
233+ position : absolute;
234+ top : -50% ;
235+ left : -50% ;
236+ width : 200% ;
237+ height : 200% ;
238+ background : radial-gradient (circle, rgba (255 , 255 , 255 , 0.1 ) 0% , transparent 70% );
239+ opacity : 0 ;
240+ transition : opacity 0.3s ease;
241+ pointer-events : none;
242+ }
243+
244+ .btn-primary-glow : hover ::after {
245+ opacity : 1 ;
246+ }
247+
248+ .hover-fade : hover {
249+ background : rgba (255 , 255 , 255 , 0.08 ) !important ;
250+ color : # FFFFFF !important ;
251+ border-color : rgba (255 , 255 , 255 , 0.2 ) !important ;
252+ }
253+
254+ .section-transition {
255+ transition : all 0.3s var (--ease-in-out );
256+ }
257+
259258/* ═══════════════════════════════════════════════════════════════════
260259 PAGE BREAKS & PDF EXPORT
261260 ═══════════════════════════════════════════════════════════════════ */
262261
263- /* Ensure the page break node actually breaks the page in PDF/Print */
264262.page-break-node {
265263 page-break-after : always !important ;
266264 break-after : page !important ;
@@ -274,7 +272,6 @@ select {
274272 border : none !important ;
275273 height : 0 !important ;
276274 }
277-
278275 .page-break-content {
279276 display : none !important ;
280277 }
@@ -302,6 +299,15 @@ select {
302299 .toc-endpoints-container { border-left : 2px solid # EEE !important ; }
303300}
304301
302+ /* Tiptap specific overrides for TOC */
303+ .ProseMirror .toc-container p ,
304+ .ProseMirror .toc-container div {
305+ margin : 0 !important ;
306+ padding : 0 !important ;
307+ }
308+ .ProseMirror .toc-container .toc-title-bar h2 {
309+ margin : 0 !important ;
310+ }
305311
306312/* -------------------------------------------------------------------
307313 API COMPONENT STYLING (METHODS & STATUS CODES)
@@ -488,4 +494,3 @@ select {
488494 color : # FFFFFF ;
489495 background : # 2A2A2A ;
490496}
491-
0 commit comments