:root {
            --header-height: 80px;
        }
        .glass {
            background: rgba(255, 255, 255, 0.88);
            backdrop-filter: blur(12px);
            -webkit-backdrop-filter: blur(12px);
        }
        html { scroll-behavior: smooth; }
        body { overflow-x: hidden; }
        section[id], footer[id] { scroll-margin-top: calc(var(--header-height) + 20px); }
        .hero-grid {
            background-image:
                linear-gradient(rgba(37,99,235,0.06) 1px, transparent 1px),
                linear-gradient(90deg, rgba(37,99,235,0.06) 1px, transparent 1px);
            background-size: 22px 22px;
        }
        .mobile-menu-panel {
            max-height: calc(100vh - var(--header-height));
            overflow-y: auto;
        }
        .touch-target {
            min-height: 48px;
        }
        .safe-bottom {
            padding-bottom: max(1rem, env(safe-area-inset-bottom));
        }
        #notification-content {
            max-height: min(90vh, 720px);
            overflow-y: auto;
        }
        @media (max-width: 767px) {
            :root {
                --header-height: 72px;
            }
            .hero-grid {
                background-size: 16px 16px;
            }
        }
        @media (prefers-reduced-motion: reduce) {
            *, *::before, *::after {
                animation-duration: 0.01ms !important;
                animation-iteration-count: 1 !important;
                transition-duration: 0.01ms !important;
                scroll-behavior: auto !important;
            }
        }
