.pwa-install-overlay,
.pwa-install-overlay *,
.pwa-app-chrome,
.pwa-app-chrome *,
.pwa-launch-splash,
.pwa-launch-splash * {
    box-sizing: border-box;
}

.pwa-share-toast {
    position: fixed;
    left: 50%;
    bottom: calc(90px + env(safe-area-inset-bottom));
    z-index: 2147483600;
    max-width: calc(100% - 32px);
    padding: 10px 16px;
    color: #fff;
    background: #132238;
    border: 1px solid rgba(212, 175, 55, 0.6);
    border-radius: 12px;
    box-shadow: 0 10px 28px rgba(0, 0, 0, 0.28);
    font: 700 12px/1.6 Tahoma, Arial, sans-serif;
    text-align: center;
    transform: translateX(-50%);
}

.pwa-install-overlay {
    position: fixed;
    inset: 0;
    z-index: 2147483000;
    display: none;
    align-items: center;
    justify-content: center;
    min-height: 100vh;
    min-height: 100svh;
    min-height: 100dvh;
    padding:
        max(20px, env(safe-area-inset-top))
        max(20px, env(safe-area-inset-right))
        max(20px, env(safe-area-inset-bottom))
        max(20px, env(safe-area-inset-left));
    background: rgba(2, 8, 20, 0.78);
    -webkit-backdrop-filter: blur(12px);
    backdrop-filter: blur(12px);
    opacity: 0;
    transition: opacity 0.28s ease;
}

.pwa-install-overlay.is-open {
    display: flex;
    opacity: 1;
}

body.pwa-install-open {
    overflow: hidden !important;
}

.pwa-install-card {
    position: relative;
    overflow: hidden;
    width: min(100%, 430px);
    padding: 28px;
    color: var(--pwa-text, #f8fafc);
    background: var(--pwa-surface, #10213a);
    background:
        radial-gradient(circle at 88% 5%, color-mix(in srgb, var(--pwa-accent) 20%, transparent), transparent 34%),
        linear-gradient(155deg, color-mix(in srgb, var(--pwa-surface) 95%, #000), var(--pwa-bg));
    border: 1px solid var(--pwa-accent, #d4af37);
    border: 1px solid color-mix(in srgb, var(--pwa-accent) 48%, transparent);
    border-radius: 28px;
    box-shadow: 0 30px 90px rgba(0, 0, 0, 0.46);
    text-align: center;
    transform: translateY(18px) scale(0.98);
    transition: transform 0.32s cubic-bezier(0.2, 0.8, 0.2, 1);
}

.pwa-install-overlay.is-open .pwa-install-card {
    transform: translateY(0) scale(1);
}

.pwa-install-mark {
    width: 84px;
    height: 84px;
    margin: 0 auto 18px;
    padding: 8px;
    border: 1px solid color-mix(in srgb, var(--pwa-accent) 58%, transparent);
    border-radius: 24px;
    display: grid;
    place-items: center;
    color: var(--pwa-accent, #d4af37);
    background: var(--pwa-bg, #07111f);
    background: color-mix(in srgb, var(--pwa-accent) 9%, var(--pwa-bg));
    box-shadow: 0 14px 35px rgba(0, 0, 0, 0.25);
}

.pwa-install-mark img {
    width: 100%;
    height: 100%;
    border-radius: 17px;
    object-fit: contain;
}

.pwa-install-mark span {
    font-size: 38px;
}

.pwa-install-kicker {
    display: block;
    margin-bottom: 6px;
    color: var(--pwa-accent, #d4af37);
    font-size: 11px;
    font-weight: 800;
}

.pwa-install-copy h2 {
    margin: 0 0 10px;
    color: var(--pwa-text, #f8fafc);
    font-size: clamp(21px, 5vw, 27px);
    line-height: 1.4;
}

.pwa-install-copy p {
    margin: 0;
    color: #cbd5e1;
    color: color-mix(in srgb, var(--pwa-text) 68%, transparent);
    font-size: 13px;
    line-height: 1.9;
}

.pwa-install-actions {
    display: grid;
    grid-template-columns: 1.15fr 0.85fr;
    gap: 10px;
    margin-top: 24px;
}

.pwa-install-actions button {
    min-height: 49px;
    border-radius: 15px;
    font: 800 12px/1.4 inherit;
    cursor: pointer;
    transition: transform 0.2s ease, border-color 0.2s ease, background 0.2s ease;
}

.pwa-install-actions button:active {
    transform: scale(0.98);
}

.pwa-install-primary {
    border: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    color: #07111f;
    background: var(--pwa-accent, #d4af37);
    background: linear-gradient(135deg, color-mix(in srgb, var(--pwa-accent) 70%, #fff), var(--pwa-accent));
    box-shadow: 0 11px 27px color-mix(in srgb, var(--pwa-accent) 25%, transparent);
}

.pwa-install-primary svg {
    width: 19px;
    height: 19px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.pwa-install-primary:disabled {
    cursor: wait;
    opacity: 0.65;
}

.pwa-install-primary.is-waiting {
    position: relative;
    cursor: progress;
}

.pwa-install-primary.is-waiting::after {
    content: "";
    width: 15px;
    height: 15px;
    border: 2px solid rgba(7, 17, 31, 0.28);
    border-top-color: #07111f;
    border-radius: 50%;
    animation: pwaInstallSpin 0.85s linear infinite;
}

@keyframes pwaInstallSpin {
    to { transform: rotate(360deg); }
}

.pwa-install-secondary {
    color: var(--pwa-text, #f8fafc);
    border: 1px solid rgba(248, 250, 252, 0.22);
    background: rgba(248, 250, 252, 0.06);
    border: 1px solid color-mix(in srgb, var(--pwa-text) 20%, transparent);
    background: color-mix(in srgb, var(--pwa-text) 5%, transparent);
}

.pwa-install-help {
    margin-top: 18px;
    padding: 15px;
    border: 1px solid color-mix(in srgb, var(--pwa-accent) 30%, transparent);
    border-radius: 16px;
    color: #e2e8f0;
    color: color-mix(in srgb, var(--pwa-text) 82%, transparent);
    background: rgba(212, 175, 55, 0.08);
    background: color-mix(in srgb, var(--pwa-accent) 7%, transparent);
    text-align: right;
    font-size: 12px;
    line-height: 1.8;
}

.pwa-install-overlay[dir="ltr"] .pwa-install-help {
    text-align: left;
}

.pwa-install-help strong {
    display: block;
    margin-bottom: 6px;
    color: var(--pwa-accent, #d4af37);
}

.pwa-install-help ol {
    margin: 0;
    padding-inline-start: 22px;
}

.pwa-install-help p {
    margin: 0;
}

.pwa-install-help .pwa-ios-browser-note {
    margin-top: 9px;
    padding-top: 9px;
    border-top: 1px solid rgba(212, 175, 55, 0.22);
}

.pwa-install-help [hidden] {
    display: none !important;
}

.pwa-share-icon {
    display: inline-grid;
    place-items: center;
    width: 22px;
    height: 22px;
    border: 1px solid currentColor;
    border-radius: 6px;
    font-family: Arial, sans-serif !important;
    font-size: 16px;
}

.pwa-app-chrome,
.pwa-launch-splash {
    display: none;
}

@media (max-width: 600px) {
    .pwa-install-overlay {
        align-items: flex-end;
        padding:
            max(12px, env(safe-area-inset-top))
            max(12px, env(safe-area-inset-right))
            max(12px, env(safe-area-inset-bottom))
            max(12px, env(safe-area-inset-left));
    }

    .pwa-install-card {
        width: 100%;
        max-height: calc(100vh - 24px - env(safe-area-inset-top) - env(safe-area-inset-bottom));
        max-height: calc(100svh - 24px - env(safe-area-inset-top) - env(safe-area-inset-bottom));
        max-height: calc(100dvh - 24px - env(safe-area-inset-top) - env(safe-area-inset-bottom));
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        padding: 25px 20px calc(20px + env(safe-area-inset-bottom));
        border-radius: 27px 27px 20px 20px;
        transform: translateY(45px);
    }

    .pwa-install-actions {
        grid-template-columns: 1fr;
    }

    .pwa-install-primary {
        order: 1;
    }

    .pwa-install-secondary {
        order: 2;
    }
}

html.pwa-mobile-locked,
html.pwa-mobile-locked body {
    overscroll-behavior-x: none;
    overscroll-behavior-y: none;
}

html.pwa-mobile-locked {
    touch-action: pan-x pan-y;
}

html.pwa-mobile-locked img,
html.pwa-mobile-locked video {
    touch-action: pan-x pan-y;
    -webkit-user-drag: none;
}

html[data-pwa-theme="light"],
html[data-pwa-theme="light"] body {
    --bg-color: #f1f5f9;
    --surface-color: rgba(255, 255, 255, 0.8);
    --surface-border: rgba(212, 175, 55, 0.6);
    --gold-main: #b8860b;
    --gold-light: #8b6508;
    --text-main: #0f172a;
    --text-muted: #475569;
    --pwa-app-bg: #f4efe5;
    --pwa-app-surface: #fffaf0;
    --pwa-app-text: #132238;
    --pwa-bg: #f4efe5;
    --pwa-surface: #fffaf0;
    --pwa-text: #132238;
    --app-bg: #f4efe5;
    --app-surface: #fffaf0;
    --app-text: #132238;
    color: #132238;
    color-scheme: light;
    background-color: #f4efe5 !important;
    background: #f4efe5 !important;
}

html[data-pwa-theme="dark"],
html[data-pwa-theme="dark"] body {
    --bg-color: #0b1120;
    --surface-color: rgba(15, 23, 42, 0.72);
    --surface-border: rgba(212, 175, 55, 0.3);
    --gold-main: #d4af37;
    --gold-light: #f3e5ab;
    --text-main: #f8fafc;
    --text-muted: #94a3b8;
    --pwa-app-bg: #07111f;
    --pwa-app-surface: #10213a;
    --pwa-app-text: #f8fafc;
    --pwa-bg: #07111f;
    --pwa-surface: #10213a;
    --pwa-text: #f8fafc;
    --app-bg: #07111f;
    --app-surface: #10213a;
    --app-text: #f8fafc;
    color: #f8fafc;
    color-scheme: dark;
    background-color: #07111f !important;
    background: var(--pwa-app-bg, #07111f) !important;
}

html[data-pwa-theme="light"] body.pwa-app-home {
    --app-bg: #f4efe5;
    --app-surface: #fffaf0;
    --app-text: #132238;
    --app-brand-line-1: #132238;
    --app-brand-line-2: #7b5b07;
    color: #132238 !important;
    background-color: #f4efe5 !important;
    background: #f4efe5 !important;
    background:
        radial-gradient(circle at 88% 3%, color-mix(in srgb, var(--app-accent, #d4af37) 9%, transparent), transparent 25rem),
        radial-gradient(circle at 8% 34%, rgba(255, 255, 255, 0.72), transparent 26rem),
        #f4efe5 !important;
}

html[data-pwa-theme="dark"] body.pwa-app-home {
    --app-bg: #07111f;
    --app-surface: #10213a;
    --app-text: #f8fafc;
    color: #f8fafc !important;
    background-color: #07111f !important;
    background: #07111f !important;
    background:
        radial-gradient(circle at 88% 3%, color-mix(in srgb, var(--app-accent, #d4af37) 12%, transparent), transparent 25rem),
        radial-gradient(circle at 8% 34%, color-mix(in srgb, #2563eb 10%, transparent), transparent 26rem),
        #07111f !important;
}

html[data-pwa-theme="light"] body .bg-layer {
    opacity: 0.34 !important;
    filter: blur(5px) saturate(0.45) brightness(1.4) !important;
}

html[data-pwa-theme="light"] body .bg-layer::after {
    background-color: #f4efe5 !important;
    opacity: 0.9 !important;
}

html[data-pwa-theme="dark"] body .bg-layer {
    opacity: 1 !important;
    filter: blur(5px) saturate(0.78) brightness(0.62) !important;
}

html[data-pwa-theme="dark"] body .bg-layer::after {
    background-color: #020617 !important;
    opacity: 0.84 !important;
}

html[data-pwa-theme="light"] body.pwa-auth-page {
    background: #f4efe5 !important;
}

html[data-pwa-theme="dark"] body.pwa-auth-page {
    background: var(--pwa-app-bg, #07111f) !important;
}

html[data-pwa-theme="dark"] body header,
html[data-pwa-theme="dark"] body .nav-submenu,
html[data-pwa-theme="dark"] body.pwa-auth-page .auth-box,
html[data-pwa-theme="dark"] body.pwa-auth-page .glass-panel,
html[data-pwa-theme="dark"] body .profile-card,
html[data-pwa-theme="dark"] body .nice-card,
html[data-pwa-theme="dark"] body .article-card,
html[data-pwa-theme="dark"] body .book-modal,
html[data-pwa-theme="dark"] body .contact-modal-box,
html[data-pwa-theme="dark"] body .video-modal-box,
html[data-pwa-theme="dark"] body .video-modal-sidebar,
html[data-pwa-theme="dark"] body .video-modal-desc,
html[data-pwa-theme="dark"] body .calendar-hero__copy,
html[data-pwa-theme="dark"] body .clock-card,
html[data-pwa-theme="dark"] body .date-summary__card,
html[data-pwa-theme="dark"] body .date-converter,
html[data-pwa-theme="dark"] body .month-card,
html[data-pwa-theme="dark"] body .today-events,
html[data-pwa-theme="dark"] body .events-panel,
html[data-pwa-theme="dark"] body .main-footer {
    color: var(--text-main) !important;
    background: rgba(15, 23, 42, 0.72) !important;
    border-color: rgba(212, 175, 55, 0.3) !important;
}

html[data-pwa-theme="dark"] body .glass-panel::after,
html[data-pwa-theme="dark"] body .feat-item::after {
    background: rgba(15, 23, 42, 0.72) !important;
    border-color: rgba(212, 175, 55, 0.3) !important;
}

html[data-pwa-theme="light"] body header,
html[data-pwa-theme="light"] body .nav-submenu,
html[data-pwa-theme="light"] body.pwa-auth-page .auth-box,
html[data-pwa-theme="light"] body.pwa-auth-page .glass-panel,
html[data-pwa-theme="light"] body .profile-card,
html[data-pwa-theme="light"] body .nice-card,
html[data-pwa-theme="light"] body .article-card,
html[data-pwa-theme="light"] body .book-modal,
html[data-pwa-theme="light"] body .contact-modal-box,
html[data-pwa-theme="light"] body .video-modal-box,
html[data-pwa-theme="light"] body .video-modal-sidebar,
html[data-pwa-theme="light"] body .video-modal-desc,
html[data-pwa-theme="light"] body .calendar-hero__copy,
html[data-pwa-theme="light"] body .clock-card,
html[data-pwa-theme="light"] body .date-summary__card,
html[data-pwa-theme="light"] body .date-converter,
html[data-pwa-theme="light"] body .month-card,
html[data-pwa-theme="light"] body .today-events,
html[data-pwa-theme="light"] body .events-panel,
html[data-pwa-theme="light"] body .main-footer {
    color: var(--text-main) !important;
    background: rgba(255, 255, 255, 0.84) !important;
    border-color: rgba(212, 175, 55, 0.55) !important;
}

html[data-pwa-theme="light"] body .glass-panel::after,
html[data-pwa-theme="light"] body .feat-item::after {
    background: rgba(255, 255, 255, 0.84) !important;
    border-color: rgba(212, 175, 55, 0.55) !important;
}

html[data-pwa-theme="dark"] body .video-modal-main {
    background: #020617 !important;
}

html[data-pwa-theme="light"] body .video-modal-main {
    background: #f1f5f9 !important;
}

html[data-pwa-theme="dark"] body .form-control {
    color: var(--text-main) !important;
    background: rgba(15, 23, 42, 0.58) !important;
    border-color: rgba(212, 175, 55, 0.28) !important;
}

html[data-pwa-theme="light"] body .form-control {
    color: var(--text-main) !important;
    background: rgba(255, 255, 255, 0.68) !important;
    border-color: rgba(212, 175, 55, 0.42) !important;
}

html[data-pwa-theme="dark"] body.pwa-app-home .pwa-home-identity,
html[data-pwa-theme="dark"] body.pwa-app-home .pwa-home-slider,
html[data-pwa-theme="dark"] body.pwa-app-home .pwa-home-search,
html[data-pwa-theme="dark"] body.pwa-app-home .pwa-home-browser,
html[data-pwa-theme="dark"] body.pwa-app-home .pwa-home-card,
html[data-pwa-theme="dark"] .pwa-app-topbar,
html[data-pwa-theme="dark"] .pwa-app-bottom-nav {
    color: #f8fafc !important;
    background-color: #10213a !important;
    background: #10213a !important;
    border-color: rgba(212, 175, 55, 0.35) !important;
}

html[data-pwa-theme="light"] body.pwa-app-home .pwa-home-identity,
html[data-pwa-theme="light"] body.pwa-app-home .pwa-home-slider,
html[data-pwa-theme="light"] body.pwa-app-home .pwa-home-search,
html[data-pwa-theme="light"] body.pwa-app-home .pwa-home-browser,
html[data-pwa-theme="light"] body.pwa-app-home .pwa-home-card,
html[data-pwa-theme="light"] .pwa-app-topbar,
html[data-pwa-theme="light"] .pwa-app-bottom-nav {
    color: #132238 !important;
    background-color: #fffaf0 !important;
    background: #fffaf0 !important;
    border-color: rgba(212, 175, 55, 0.55) !important;
}

html[data-pwa-theme="dark"] body.pwa-app-home .pwa-home-socials a,
html[data-pwa-theme="dark"] body.pwa-app-home .pwa-theme-toggle,
html[data-pwa-theme="dark"] body.pwa-app-home .pwa-native-share,
html[data-pwa-theme="dark"] .pwa-app-socials a,
html[data-pwa-theme="dark"] .pwa-app-socials button,
html[data-pwa-theme="dark"] .pwa-app-actions .pwa-theme-toggle {
    color: var(--pwa-app-accent, #d4af37) !important;
    background: rgba(212, 175, 55, 0.08) !important;
    border-color: rgba(212, 175, 55, 0.3) !important;
}

html[data-pwa-theme="dark"] body.pwa-app-home .pwa-home-socials img,
html[data-pwa-theme="dark"] .pwa-app-socials img {
    filter: brightness(0) invert(1) !important;
    opacity: 0.96;
}

html[data-pwa-theme="dark"] body.pwa-app-home .pwa-home-socials svg [fill]:not([fill="none"]),
html[data-pwa-theme="dark"] .pwa-app-socials svg [fill]:not([fill="none"]) {
    fill: currentColor !important;
}

html[data-pwa-theme="dark"] body.pwa-app-home .pwa-home-socials a svg,
html[data-pwa-theme="dark"] body.pwa-app-home .pwa-home-socials a svg *,
html[data-pwa-theme="dark"] .pwa-app-socials a svg,
html[data-pwa-theme="dark"] .pwa-app-socials a svg * {
    color: currentColor !important;
    fill: currentColor !important;
}

html[data-pwa-theme="dark"] body.pwa-app-home .pwa-home-socials a svg [fill="none"],
html[data-pwa-theme="dark"] .pwa-app-socials a svg [fill="none"] {
    fill: none !important;
}

html[data-pwa-theme="dark"] body.pwa-app-home .pwa-home-socials svg [stroke]:not([stroke="none"]),
html[data-pwa-theme="dark"] .pwa-app-socials svg [stroke]:not([stroke="none"]) {
    stroke: currentColor !important;
}

html[data-pwa-theme="light"] body.pwa-app-home .pwa-home-socials a,
html[data-pwa-theme="light"] body.pwa-app-home .pwa-theme-toggle,
html[data-pwa-theme="light"] body.pwa-app-home .pwa-native-share,
html[data-pwa-theme="light"] .pwa-app-socials a,
html[data-pwa-theme="light"] .pwa-app-socials button,
html[data-pwa-theme="light"] .pwa-app-actions .pwa-theme-toggle {
    color: var(--pwa-app-accent, #b8860b) !important;
    background: rgba(255, 255, 255, 0.86) !important;
    border-color: rgba(212, 175, 55, 0.42) !important;
}

html[data-pwa-theme="light"] body.pwa-app-home .pwa-home-socials img,
html[data-pwa-theme="light"] .pwa-app-socials img {
    filter: brightness(0) saturate(100%) invert(21%) sepia(14%) saturate(1647%) hue-rotate(177deg) brightness(91%) contrast(92%) !important;
    opacity: 0.9;
}

html[data-pwa-theme="light"] body.pwa-app-home .pwa-home-socials svg [fill]:not([fill="none"]),
html[data-pwa-theme="light"] .pwa-app-socials svg [fill]:not([fill="none"]) {
    fill: currentColor !important;
}

html[data-pwa-theme="light"] body.pwa-app-home .pwa-home-socials a svg,
html[data-pwa-theme="light"] body.pwa-app-home .pwa-home-socials a svg *,
html[data-pwa-theme="light"] .pwa-app-socials a svg,
html[data-pwa-theme="light"] .pwa-app-socials a svg * {
    color: currentColor !important;
    fill: currentColor !important;
}

html[data-pwa-theme="light"] body.pwa-app-home .pwa-home-socials a svg [fill="none"],
html[data-pwa-theme="light"] .pwa-app-socials a svg [fill="none"] {
    fill: none !important;
}

html[data-pwa-theme="light"] body.pwa-app-home .pwa-home-socials svg [stroke]:not([stroke="none"]),
html[data-pwa-theme="light"] .pwa-app-socials svg [stroke]:not([stroke="none"]) {
    stroke: currentColor !important;
}

html[data-pwa-theme="light"] body.pwa-app-home input,
html[data-pwa-theme="light"] body.pwa-app-home textarea,
html[data-pwa-theme="light"] body.pwa-app-home select {
    color: #132238 !important;
}

html[data-pwa-theme="dark"] body.pwa-app-home input,
html[data-pwa-theme="dark"] body.pwa-app-home textarea,
html[data-pwa-theme="dark"] body.pwa-app-home select {
    color: #f8fafc !important;
}

html[data-pwa-theme="light"] body.pwa-app-home .pwa-home-card small,
html[data-pwa-theme="light"] body.pwa-app-home .pwa-home-heading div > span,
html[data-pwa-theme="light"] body.pwa-app-home .pwa-home-empty {
    color: #7b5b07 !important;
}

html[data-pwa-theme="dark"] body.pwa-app-home .pwa-home-card small,
html[data-pwa-theme="dark"] body.pwa-app-home .pwa-home-heading div > span {
    color: #d4af37 !important;
}

html[data-pwa-theme="dark"] body.pwa-app-home .pwa-home-empty {
    color: #cbd5e1 !important;
}

@media (display-mode: standalone) and (max-width: 900px),
       (display-mode: fullscreen) and (max-width: 900px) {
    html.pwa-standalone,
    html.pwa-standalone body {
        min-height: 100%;
        background-color: var(--pwa-app-bg, #07111f);
    }

    header.reader-bottom-nav {
        display: none !important;
    }
}

@media (max-width: 900px) {
    body.pwa-standalone.pwa-shell-enabled {
        padding-top: var(--pwa-topbar-space, calc(126px + env(safe-area-inset-top))) !important;
        padding-bottom: var(--pwa-bottom-nav-space, calc(72px + env(safe-area-inset-bottom))) !important;
    }

    body.pwa-standalone.pwa-shell-enabled > .site-header,
    body.pwa-standalone.pwa-shell-enabled > .main-footer-wrapper {
        display: none !important;
    }

    body.pwa-standalone.pwa-reader-mode header.reader-bottom-nav {
        display: none !important;
        visibility: hidden !important;
        pointer-events: none !important;
    }

    body.pwa-auth-page.pwa-standalone.pwa-shell-enabled .auth-container {
        min-height: calc(100vh - 184px) !important;
        min-height: calc(100svh - 184px) !important;
        min-height: calc(100dvh - 184px) !important;
        padding: 16px 12px 30px !important;
        align-items: flex-start !important;
    }

    body.pwa-auth-page.pwa-standalone .auth-box {
        margin: 10px auto 24px !important;
    }

    body.pwa-auth-page.pwa-standalone .auth-toolbar {
        margin-bottom: 16px !important;
    }

    body.pwa-auth-page.pwa-standalone .auth-identity {
        margin-bottom: 18px !important;
    }

    body.pwa-auth-page.pwa-standalone .auth-identity .main-logo {
        max-height: 64px !important;
        margin-bottom: 10px !important;
    }

    body.pwa-auth-page.pwa-standalone .auth-identity > div {
        margin-bottom: 14px !important;
    }

    body.pwa-auth-page.pwa-standalone .auth-identity h2 {
        padding-top: 14px !important;
    }

    body.pwa-standalone.pwa-shell-enabled .calendar-shell {
        padding-top: 28px !important;
    }

    body.pwa-standalone.pwa-shell-enabled .library-wrapper {
        margin-top: 30px !important;
    }

    body.pwa-standalone.pwa-shell-enabled .content-wrapper {
        padding-top: 28px !important;
    }

    body.pwa-standalone.pwa-shell-enabled .pwa-app-chrome {
        display: contents;
    }

    .pwa-app-topbar {
        position: fixed;
        top: 0 !important;
        left: 0 !important;
        right: 0 !important;
        z-index: 2147482000;
        width: 100% !important;
        max-width: none !important;
        min-height: calc(126px + env(safe-area-inset-top));
        height: auto;
        padding: calc(7px + env(safe-area-inset-top)) 15px 8px;
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        grid-template-rows: auto auto;
        align-items: center;
        gap: 10px;
        color: var(--pwa-text);
        transform: none !important;
        background: var(--pwa-bg, #07111f);
        background:
            radial-gradient(circle at 90% 0, color-mix(in srgb, var(--pwa-accent) 13%, transparent), transparent 35%),
            color-mix(in srgb, var(--pwa-bg) 96%, transparent);
        border-bottom: 1px solid rgba(212, 175, 55, 0.35) !important;
        border: 0 !important;
        border-bottom: 1px solid color-mix(in srgb, var(--pwa-accent) 35%, transparent) !important;
        border-radius: 0 !important;
        -webkit-backdrop-filter: blur(18px);
        backdrop-filter: blur(18px);
        box-shadow: 0 8px 28px rgba(0, 0, 0, 0.22);
    }

    .pwa-app-back {
        position: absolute;
        left: 14px;
        bottom: 10px;
        width: 38px;
        height: 38px;
        border: 1px solid color-mix(in srgb, var(--pwa-accent) 34%, transparent);
        border-radius: 12px;
        display: grid;
        place-items: center;
        color: var(--pwa-accent);
        background: rgba(212, 175, 55, 0.06);
        background: color-mix(in srgb, var(--pwa-accent) 6%, transparent);
    }

    .pwa-app-back svg {
        width: 21px;
        height: 21px;
        fill: none;
        stroke: currentColor;
        stroke-width: 2;
        stroke-linecap: round;
        stroke-linejoin: round;
    }

    .pwa-app-brand {
        width: 100%;
        min-width: 0;
        max-width: 100%;
        padding-inline: 48px;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 9px;
        color: var(--pwa-text);
        text-decoration: none;
    }

    .pwa-app-brand img,
    .pwa-app-brand > span {
        flex: 0 0 39px;
        width: 39px;
        height: 39px;
        border-radius: 12px;
        object-fit: contain;
    }

    .pwa-app-brand > span {
        display: grid;
        place-items: center;
        color: var(--pwa-accent);
        border: 1px solid color-mix(in srgb, var(--pwa-accent) 40%, transparent);
        font-size: 22px;
    }

    .pwa-app-brand-copy .pwa-brand-line {
        max-width: 100%;
        overflow: visible;
        overflow-wrap: anywhere;
        text-overflow: clip;
        white-space: normal;
    }

    .pwa-app-brand-copy .pwa-brand-line[hidden] {
        display: none !important;
    }

    .pwa-app-brand-copy .pwa-brand-line-1 {
        color: var(--pwa-brand-line-1, #f8fafc);
        line-height: 1.25;
    }

    .pwa-app-brand-copy .pwa-brand-line-2 {
        color: var(--pwa-brand-line-2, #d4af37);
        line-height: 1.3;
    }

    .pwa-app-brand-copy .pwa-brand-line-1.pwa-brand-size-small { font-size: 11px; }
    .pwa-app-brand-copy .pwa-brand-line-1.pwa-brand-size-normal { font-size: 13px; }
    .pwa-app-brand-copy .pwa-brand-line-1.pwa-brand-size-large { font-size: 15px; }
    .pwa-app-brand-copy .pwa-brand-line-1.pwa-brand-size-xlarge { font-size: 17px; }
    .pwa-app-brand-copy .pwa-brand-line-2.pwa-brand-size-small { font-size: 7px; }
    .pwa-app-brand-copy .pwa-brand-line-2.pwa-brand-size-normal { font-size: 8px; }
    .pwa-app-brand-copy .pwa-brand-line-2.pwa-brand-size-large { font-size: 10px; }
    .pwa-app-brand-copy .pwa-brand-line-2.pwa-brand-size-xlarge { font-size: 12px; }

    .pwa-app-brand-copy {
        width: min(100%, 320px);
        min-width: 0;
        max-width: calc(100% - 48px);
        display: grid;
        justify-items: center;
        text-align: center;
        gap: 1px;
    }

    .pwa-app-actions {
        width: 100%;
        min-width: 0;
        margin: 0 auto;
        position: static;
        display: flex;
        text-align: center;
        align-items: center;
        justify-content: center;
        gap: 6px;
    }

    .pwa-app-socials {
        position: static;
        left: auto;
        right: auto;
        width: 100%;
        max-width: 100%;
        margin: 0 auto;
        padding-inline: 48px;
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: center;
        gap: 5px;
        overflow: hidden;
        scrollbar-width: none;
        transform: none;
    }

    .pwa-app-socials::-webkit-scrollbar {
        display: none;
    }

    .pwa-app-socials [hidden],
    .pwa-app-bottom-nav [hidden] {
        display: none !important;
    }

    .pwa-app-socials a,
    .pwa-app-socials button,
    .pwa-app-actions .pwa-theme-toggle {
        flex: 0 0 31px;
        width: 31px;
        height: 31px;
        padding: 6px;
        display: grid;
        place-items: center;
        color: var(--pwa-accent);
        background: rgba(212, 175, 55, 0.06);
        background: color-mix(in srgb, var(--pwa-accent) 6%, transparent);
        border: 1px solid color-mix(in srgb, var(--pwa-accent) 30%, transparent);
        border-radius: 10px;
    }

    .pwa-app-socials img,
    .pwa-app-socials svg,
    .pwa-app-actions .pwa-theme-toggle svg {
        width: 100%;
        height: 100%;
        object-fit: contain;
    }

    .pwa-app-actions .pwa-theme-toggle svg,
    .pwa-app-actions .pwa-native-share svg {
        fill: none;
        stroke: currentColor;
        stroke-width: 1.8;
        stroke-linecap: round;
        stroke-linejoin: round;
    }

    .pwa-theme-sun {
        display: none;
    }

    .pwa-language-label {
        font: 800 10px/1 Arial, sans-serif;
    }

    html[data-pwa-theme="light"] .pwa-theme-moon {
        display: none;
    }

    html[data-pwa-theme="light"] .pwa-theme-sun {
        display: block;
    }

    .pwa-app-bottom-nav {
        position: fixed;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 2147482000;
        min-height: calc(69px + env(safe-area-inset-bottom));
        padding: 7px 10px env(safe-area-inset-bottom);
        display: grid;
        grid-template-columns: repeat(var(--pwa-nav-count, 4), minmax(0, 1fr));
        align-items: center;
        color: var(--pwa-text);
        background: var(--pwa-surface, #10213a);
        background: color-mix(in srgb, var(--pwa-surface) 96%, transparent);
        border-top: 1px solid color-mix(in srgb, var(--pwa-accent) 40%, transparent);
        -webkit-backdrop-filter: blur(18px);
        backdrop-filter: blur(18px);
        box-shadow: 0 -10px 30px rgba(0, 0, 0, 0.25);
    }

    .pwa-app-bottom-nav a {
        min-width: 0;
        min-height: 54px;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 3px;
        color: color-mix(in srgb, var(--pwa-text) 58%, transparent);
        text-decoration: none;
        font-size: 9px;
        font-weight: 700;
    }

    .pwa-app-bottom-nav a svg {
        width: 21px;
        height: 21px;
        fill: none;
        stroke: currentColor;
        stroke-width: 1.8;
        stroke-linecap: round;
        stroke-linejoin: round;
    }

    .pwa-app-bottom-nav a.is-active {
        color: var(--pwa-accent);
    }

    .pwa-app-bottom-nav a.is-active svg {
        filter: drop-shadow(0 0 7px color-mix(in srgb, var(--pwa-accent) 55%, transparent));
    }

    body.pwa-reader-mode .pwa-app-bottom-nav {
        display: none !important;
    }

    body.pwa-reader-mode.pwa-shell-enabled {
        padding-bottom: env(safe-area-inset-bottom) !important;
    }

    body.pwa-standalone.pwa-shell-enabled.pwa-no-bottom-nav {
        padding-bottom: env(safe-area-inset-bottom) !important;
    }

    body.pwa-app-home.pwa-standalone.pwa-shell-enabled {
        padding-top: env(safe-area-inset-top) !important;
    }

    body.pwa-app-home.pwa-standalone.pwa-shell-enabled .pwa-app-topbar {
        display: none !important;
    }
}

.pwa-support-fab {
    display: none;
}

@media (display-mode: standalone) and (max-width: 900px),
       (display-mode: fullscreen) and (max-width: 900px) {
    .pwa-support-fab {
        position: fixed;
        right: 13px;
        bottom: calc(82px + env(safe-area-inset-bottom));
        z-index: 2147481900;
        width: 44px;
        height: 44px;
        padding: 7px;
        display: grid;
        place-items: center;
        color: #fff;
        background: #22a65a;
        border: 1px solid color-mix(in srgb, var(--pwa-accent, #d4af37) 45%, transparent);
        border-radius: 50%;
        box-shadow: 0 10px 24px rgba(0, 0, 0, 0.3);
    }

    .pwa-support-fab img,
    .pwa-support-fab svg {
        width: 100%;
        height: 100%;
        object-fit: contain;
    }

    .pwa-support-fab svg {
        fill: none;
        stroke: currentColor;
        stroke-width: 1.6;
        stroke-linecap: round;
        stroke-linejoin: round;
    }

    body.pwa-no-bottom-nav .pwa-support-fab {
        bottom: calc(16px + env(safe-area-inset-bottom));
    }
}

html[data-pwa-theme="light"] .pwa-app-chrome {
    --pwa-bg: #f4efe5 !important;
    --pwa-surface: #fffaf0 !important;
    --pwa-text: #132238 !important;
    --pwa-brand-line-1: #132238 !important;
    --pwa-brand-line-2: #7b5b07 !important;
}

.pwa-launch-splash {
    position: fixed;
    inset: 0;
    z-index: 2147483640;
    overflow: hidden;
    align-items: center;
    justify-content: center;
    min-height: 100vh;
    min-height: 100svh;
    min-height: 100dvh;
    padding:
        max(18px, env(safe-area-inset-top))
        max(18px, env(safe-area-inset-right))
        max(18px, env(safe-area-inset-bottom))
        max(18px, env(safe-area-inset-left));
    color: var(--pwa-text);
    background: var(--pwa-splash-bg);
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.4s ease, visibility 0.4s ease;
}

.pwa-launch-splash.is-visible {
    display: flex;
    opacity: 1;
    visibility: visible;
}

.pwa-launch-splash.is-leaving {
    opacity: 0;
    visibility: hidden;
}

.pwa-splash-art {
    position: absolute;
    top: 50%;
    left: 50%;
    width: min(92vw, 720px);
    width: min(92dvw, 720px);
    height: min(72vh, 620px);
    height: min(72svh, 620px);
    height: min(72dvh, 620px);
    object-fit: contain;
    opacity: 0.92;
    transform: translate(-50%, -50%);
}

.pwa-splash-art.pwa-splash-video {
    opacity: 1;
}

/* The application splash video is a separate, full-screen asset. */
.pwa-launch-splash.has-splash-video {
    padding: 0;
}

.pwa-launch-splash.has-splash-video .pwa-splash-art {
    inset: 0;
    width: 100vw;
    width: 100dvw;
    height: 100vh;
    height: 100dvh;
    max-width: none;
    max-height: none;
    object-fit: cover;
    transform: none;
}

.pwa-launch-splash.is-video-fallback .pwa-splash-video {
    display: none;
}

.pwa-launch-splash.has-playing-video .pwa-video-fallback {
    opacity: 0;
    visibility: hidden;
}

.pwa-launch-splash::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 50% 38%, color-mix(in srgb, var(--pwa-accent) 13%, transparent), transparent 36%),
        linear-gradient(to bottom, color-mix(in srgb, var(--pwa-splash-bg) 12%, transparent), color-mix(in srgb, var(--pwa-splash-bg) 72%, transparent));
}

.pwa-splash-content {
    position: relative;
    z-index: 1;
    width: min(78vw, 310px);
    max-height: calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 36px);
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.pwa-splash-logo,
.pwa-splash-fallback {
    width: 120px;
    height: 120px;
    width: clamp(76px, min(31vw, 25svh), 138px);
    height: clamp(76px, min(31vw, 25svh), 138px);
    margin-bottom: 18px;
    object-fit: contain;
}

.pwa-splash-fallback {
    border: 1px solid color-mix(in srgb, var(--pwa-accent) 45%, transparent);
    border-radius: 30px;
    display: grid;
    place-items: center;
    color: var(--pwa-accent);
    font-size: 58px;
}

.pwa-splash-content strong {
    color: var(--pwa-text);
    font-size: clamp(17px, 5vw, 22px);
}

.pwa-splash-loader {
    position: relative;
    overflow: hidden;
    width: 92px;
    height: 3px;
    margin-top: 25px;
    border-radius: 999px;
    background: color-mix(in srgb, var(--pwa-text) 13%, transparent);
}

.pwa-launch-splash.has-playing-video .pwa-splash-content {
    position: absolute;
    right: 50%;
    bottom: max(22px, calc(env(safe-area-inset-bottom) + 14px));
    transform: translateX(50%);
}

.pwa-launch-splash.has-playing-video .pwa-splash-loader {
    margin-top: 0;
    background: color-mix(in srgb, var(--pwa-text) 26%, transparent);
    box-shadow: 0 2px 14px color-mix(in srgb, var(--pwa-splash-bg) 70%, transparent);
}

@media (orientation: landscape) and (max-height: 520px) {
    .pwa-launch-splash:not(.has-splash-video) .pwa-splash-art {
        width: min(76vw, 720px);
        height: min(76dvh, 420px);
    }

    .pwa-splash-logo,
    .pwa-splash-fallback {
        width: clamp(58px, 22dvh, 100px);
        height: clamp(58px, 22dvh, 100px);
        margin-bottom: 9px;
    }

    .pwa-splash-loader {
        margin-top: 12px;
    }
}

.pwa-splash-loader::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    width: 45%;
    border-radius: inherit;
    background: var(--pwa-accent);
    animation: pwaSplashProgress 1.1s ease-in-out infinite;
}

@keyframes pwaSplashProgress {
    from { right: -45%; }
    to { right: 100%; }
}

@media (prefers-reduced-motion: reduce) {
    .pwa-install-card,
    .pwa-install-overlay,
    .pwa-launch-splash {
        transition-duration: 0.01ms !important;
    }
    .pwa-splash-loader::after {
        animation: none;
        right: 0;
        width: 100%;
    }
}
