diff --git a/dist/css/styles.css b/dist/css/styles.css index 3704b1a..a2b273b 100644 --- a/dist/css/styles.css +++ b/dist/css/styles.css @@ -1074,15 +1074,14 @@ button:focus-visible { .nav-overlay { position: fixed; inset: 0; - background: rgba(0, 0, 0, 0.4); + background: rgba(0, 0, 0, 0.5); z-index: 120; opacity: 0; visibility: hidden; - transition: opacity 0.3s ease, visibility 0.3s ease; + transition: opacity 0.25s ease, visibility 0.25s ease; pointer-events: none; - -webkit-tap-highlight-color: transparent; - backdrop-filter: blur(10px); - -webkit-backdrop-filter: blur(10px); + backdrop-filter: blur(4px); + -webkit-backdrop-filter: blur(4px); } .nav-open .nav-overlay { @@ -1095,50 +1094,34 @@ button:focus-visible { @media (max-width: 900px) { .nav-toggle { display: inline-flex; - width: 48px !important; - height: 48px !important; + width: 44px !important; + height: 44px !important; } .header-nav { display: none; position: fixed; - inset: 0; - padding: var(--space-xl) var(--space-xl) var(--space-3xl); - padding-top: calc(var(--space-xl) + env(safe-area-inset-top, 0px)); - background: linear-gradient(180deg, rgba(248, 250, 255, 0.96) 0%, rgba(255, 255, 255, 0.98) 55%, rgba(255, 255, 255, 0.94) 100%); - border: none; - box-shadow: none; + top: 0; + right: 0; + bottom: 0; + width: min(85vw, 400px); + padding: var(--space-3xl) var(--space-xl); + padding-top: calc(var(--space-3xl) + env(safe-area-inset-top, 0px)); + background: var(--bg-elevated); + border-left: 1px solid var(--border-primary); display: flex; flex-direction: column; - gap: var(--space-sm); + gap: var(--space-md); overflow-y: auto; overflow-x: hidden; - overscroll-behavior: contain; - -webkit-overflow-scrolling: touch; - transform: translateX(105%); - transition: transform 0.32s cubic-bezier(0.4, 0, 0.2, 1); + transform: translateX(100%); + transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1); z-index: 140; - will-change: transform; - backdrop-filter: blur(18px); - -webkit-backdrop-filter: blur(18px); - } - - .header-nav::before { - content: ''; - position: absolute; - inset: 0; - pointer-events: none; - background: radial-gradient(120% 120% at 50% 0%, rgba(99, 102, 241, 0.08) 0%, rgba(59, 130, 246, 0.04) 45%, rgba(15, 23, 42, 0) 100%); - z-index: -1; + box-shadow: -4px 0 24px rgba(0, 0, 0, 0.1); } [data-theme="dark"] .header-nav { - background: linear-gradient(180deg, rgba(15, 23, 42, 0.96) 0%, rgba(15, 23, 42, 0.98) 60%, rgba(15, 23, 42, 0.94) 100%); - box-shadow: none; - } - - [data-theme="dark"] .header-nav::before { - background: radial-gradient(120% 120% at 50% 0%, rgba(37, 99, 235, 0.2) 0%, rgba(59, 130, 246, 0.12) 45%, rgba(15, 23, 42, 0) 100%); + box-shadow: -4px 0 24px rgba(0, 0, 0, 0.5); } .nav-open .header-nav { @@ -1155,27 +1138,21 @@ button:focus-visible { align-items: center; justify-content: space-between; gap: var(--space-lg); - padding: 0 0 var(--space-xl); + padding-bottom: var(--space-xl); margin-bottom: var(--space-lg); - border-bottom: 1px solid rgba(148, 163, 184, 0.4); - } - - [data-theme="dark"] .nav-mobile-header { - border-bottom-color: rgba(71, 85, 105, 0.4); + border-bottom: 1px solid var(--border-primary); } .nav-mobile-brand { display: flex; flex-direction: column; - gap: var(--space-2xs); + gap: var(--space-xs); } .nav-mobile-title { - font-size: clamp(1rem, 2.8vw, 1.15rem); - font-weight: 600; + font-size: var(--text-lg); + font-weight: var(--font-semibold); color: var(--text-primary); - letter-spacing: 0.08em; - text-transform: uppercase; } .nav-mobile-subtitle { @@ -1187,33 +1164,20 @@ button:focus-visible { display: inline-flex; align-items: center; justify-content: center; - width: 44px; - height: 44px; - border-radius: var(--radius-full); - border: 1px solid rgba(148, 163, 184, 0.5); - background: rgba(255, 255, 255, 0.92); + width: 40px; + height: 40px; + border-radius: var(--radius-md); + border: 1px solid var(--border-primary); + background: var(--bg-secondary); color: var(--text-primary); - box-shadow: 0 14px 32px rgba(15, 23, 42, 0.12); - transition: transform var(--transition-fast), background var(--transition-fast), border-color var(--transition-fast); + transition: all var(--transition-fast); } .nav-close:hover, .nav-close:focus-visible { - transform: scale(1.05); - background: rgba(255, 255, 255, 1); - border-color: rgba(99, 102, 241, 0.55); - } - - [data-theme="dark"] .nav-close { - background: rgba(30, 41, 59, 0.9); - border-color: rgba(71, 85, 105, 0.7); - box-shadow: 0 14px 32px rgba(0, 0, 0, 0.4); - color: var(--text-primary); - } - - [data-theme="dark"] .nav-close:hover, - [data-theme="dark"] .nav-close:focus-visible { - border-color: rgba(147, 197, 253, 0.6); + background: var(--bg-tertiary); + border-color: var(--primary); + color: var(--primary); } .nav-close svg { @@ -1222,36 +1186,28 @@ button:focus-visible { .nav-open a.nav-link { width: 100%; - justify-content: space-between; - font-size: clamp(1.05rem, 3vw, 1.2rem); - font-weight: 600; - padding: var(--space-lg) var(--space-xl); - border-radius: var(--radius-xl); - min-height: 52px; - background: rgba(99, 102, 241, 0.1); + font-size: var(--text-base); + font-weight: var(--font-medium); + padding: var(--space-md) var(--space-lg); + border-radius: var(--radius-md); + background: transparent; color: var(--text-primary); - box-shadow: 0 16px 36px rgba(15, 23, 42, 0.12); - margin-bottom: var(--space-sm); - text-align: left; + border: 1px solid transparent; + transition: all var(--transition-fast); } .nav-open a.nav-link:hover, .nav-open a.nav-link:focus-visible { - background: rgba(99, 102, 241, 0.18); + background: var(--bg-secondary); + border-color: var(--border-primary); color: var(--primary); - box-shadow: 0 20px 42px rgba(15, 23, 42, 0.16); } - [data-theme="dark"] .nav-open a.nav-link { - background: rgba(59, 130, 246, 0.18); - color: var(--text-primary); - box-shadow: 0 20px 48px rgba(0, 0, 0, 0.45); - } - - [data-theme="dark"] .nav-open a.nav-link:hover, - [data-theme="dark"] .nav-open a.nav-link:focus-visible { - background: rgba(59, 130, 246, 0.26); - color: var(--primary-light); + .nav-open a.nav-link[aria-current="page"] { + background: var(--bg-secondary); + border-color: var(--primary); + color: var(--primary); + font-weight: var(--font-semibold); } .nav-open .nav-link::before, @@ -1261,13 +1217,9 @@ button:focus-visible { .dark-mode-toggle { display: flex; - flex: 0 0 auto; width: 40px !important; height: 40px !important; - order: 3; - align-self: flex-start; margin-left: auto; - z-index: 150; } .nav-toggle {