/*
 * Shared Lumi-family visual treatment.
 *
 * Theme palette files provide the semantic color tokens consumed here.
 * Structural application rules remain in styles/app.css so this optional
 * family layer can be removed without affecting application behavior.
 */

:root[data-app-theme-family='lumi'] {
    --bs-primary: var(--gg-primary);
    --bs-primary-rgb: var(--gg-primary-rgb);
    --bs-primary-text-emphasis: var(--gg-primary-emphasis);
    --bs-primary-bg-subtle: var(--gg-primary-bg-subtle);
    --bs-primary-border-subtle: var(--gg-primary-border-subtle);
    --bs-link-color: var(--gg-primary-emphasis);
    --bs-link-color-rgb: var(--gg-primary-emphasis-rgb);
    --bs-link-hover-color: var(--gg-primary-emphasis-hover);
    --bs-body-color: var(--gg-ink);
    --bs-body-color-rgb: var(--gg-ink-rgb);
    --bs-body-bg: var(--gg-surface);
    --bs-body-bg-rgb: var(--gg-surface-rgb);
    --bs-emphasis-color: var(--gg-emphasis);
    --bs-emphasis-color-rgb: var(--gg-emphasis-rgb);
    --bs-secondary-color: var(--gg-muted);
    --bs-secondary-bg: var(--gg-secondary-bg);
    --bs-tertiary-bg: var(--gg-tertiary-bg);
    --bs-border-color: var(--gg-border);
    --bs-border-radius: 0.75rem;
    --bs-border-radius-sm: 0.55rem;
    --bs-border-radius-lg: 1rem;
    --bs-border-radius-xl: 1.25rem;
    --bs-focus-ring-color: var(--gg-focus-ring);
    --bs-box-shadow-sm: var(--gg-shadow-subtle);
    --bs-box-shadow: var(--gg-shadow);
    --bs-box-shadow-lg: var(--gg-shadow-floating);
}

[data-app-theme-family='lumi'] body {
    min-height: 100vh;
    color: var(--gg-ink);
    background:
        radial-gradient(circle at 92% 8%, var(--gg-glow-primary), transparent 32rem),
        radial-gradient(circle at 8% 24%, var(--gg-glow-secondary), transparent 34rem),
        var(--gg-surface);
    font-family: "Avenir Next", "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
}

[data-app-theme-family='lumi'] ::selection {
    color: var(--gg-on-primary);
    background: color-mix(in srgb, var(--gg-primary) 72%, white);
}

[data-app-theme-family='lumi'] h1,
[data-app-theme-family='lumi'] h2,
[data-app-theme-family='lumi'] h3,
[data-app-theme-family='lumi'] h4,
[data-app-theme-family='lumi'] h5,
[data-app-theme-family='lumi'] h6,
[data-app-theme-family='lumi'] .app-brand-name {
    letter-spacing: -0.015em;
}

[data-app-theme-family='lumi'] a {
    text-underline-offset: 0.18em;
}

[data-app-theme-family='lumi'] .navbar {
    background: var(--gg-navbar) !important;
    border-color: var(--gg-border) !important;
    box-shadow: 0 0.35rem 1.4rem var(--gg-navbar-shadow);
    backdrop-filter: blur(14px) saturate(130%);
}

[data-app-theme-family='lumi'] .navbar .nav-link {
    border-radius: 0.65rem;
    color: color-mix(in srgb, var(--gg-ink) 82%, transparent);
    font-weight: 550;
}

[data-app-theme-family='lumi'] .navbar .nav-link:hover,
[data-app-theme-family='lumi'] .navbar .nav-link:focus-visible,
[data-app-theme-family='lumi'] .navbar .nav-link.show {
    color: var(--gg-primary-emphasis);
    background: var(--gg-primary-soft);
}

[data-app-theme-family='lumi'] .navbar-toggler {
    border-color: var(--gg-border-strong);
    border-radius: 0.75rem;
}

[data-app-theme-family='lumi'] .card {
    --bs-card-bg: color-mix(in srgb, var(--gg-surface-raised) 97%, transparent);
    --bs-card-border-color: var(--gg-border);
    --bs-card-border-radius: 1rem;
    --bs-card-cap-bg: color-mix(in srgb, var(--gg-surface-soft) 48%, var(--gg-surface-raised));
    box-shadow: var(--gg-shadow-subtle);
}

[data-app-theme-family='lumi'] .card.shadow,
[data-app-theme-family='lumi'] .card.shadow-sm {
    box-shadow: var(--gg-shadow-subtle) !important;
}

[data-app-theme-family='lumi'] .card-header:first-child {
    border-radius: calc(1rem - 1px) calc(1rem - 1px) 0 0;
}

[data-app-theme-family='lumi'] .btn {
    --bs-btn-border-radius: 0.65rem;
    --bs-btn-focus-box-shadow: 0 0 0 0.22rem color-mix(in srgb, var(--gg-primary) 32%, transparent);
    font-weight: 600;
    transition: color 140ms ease, background-color 140ms ease, border-color 140ms ease, box-shadow 140ms ease;
}

[data-app-theme-family='lumi'] .btn-primary {
    --bs-btn-color: var(--gg-on-primary);
    --bs-btn-bg: var(--gg-primary);
    --bs-btn-border-color: var(--gg-primary);
    --bs-btn-hover-color: var(--gg-on-primary);
    --bs-btn-hover-bg: var(--gg-primary-hover);
    --bs-btn-hover-border-color: var(--gg-primary-hover);
    --bs-btn-active-color: var(--gg-on-primary);
    --bs-btn-active-bg: var(--gg-primary-active);
    --bs-btn-active-border-color: var(--gg-primary-active);
    --bs-btn-disabled-color: var(--gg-on-primary);
    --bs-btn-disabled-bg: var(--gg-primary);
    --bs-btn-disabled-border-color: var(--gg-primary);
    --bs-btn-focus-shadow-rgb: var(--gg-primary-rgb);
}

[data-app-theme-family='lumi'] .btn-outline-primary {
    --bs-btn-color: var(--gg-primary-emphasis);
    --bs-btn-border-color: var(--gg-border-strong);
    --bs-btn-hover-color: var(--gg-on-primary);
    --bs-btn-hover-bg: var(--gg-primary);
    --bs-btn-hover-border-color: var(--gg-primary);
    --bs-btn-active-color: var(--gg-on-primary);
    --bs-btn-active-bg: var(--gg-primary-active);
    --bs-btn-active-border-color: var(--gg-primary-active);
    --bs-btn-disabled-color: var(--gg-primary-emphasis);
    --bs-btn-disabled-border-color: var(--gg-border-strong);
    --bs-btn-focus-shadow-rgb: var(--gg-primary-rgb);
}

[data-app-theme-family='lumi'] .form-control,
[data-app-theme-family='lumi'] .form-select,
[data-app-theme-family='lumi'] .input-group-text {
    border-color: var(--gg-border);
    border-radius: 0.7rem;
    background-color: color-mix(in srgb, var(--gg-surface-raised) 96%, var(--gg-surface));
}

[data-app-theme-family='lumi'] .form-control:focus,
[data-app-theme-family='lumi'] .form-select:focus,
[data-app-theme-family='lumi'] .form-check-input:focus {
    border-color: var(--gg-primary);
    box-shadow: 0 0 0 0.22rem color-mix(in srgb, var(--gg-primary) 26%, transparent);
}

[data-app-theme-family='lumi'] .form-check-input:checked {
    border-color: var(--gg-primary-emphasis);
    background-color: var(--gg-primary-emphasis);
}

[data-app-theme-family='lumi'] .dropdown-menu {
    --bs-dropdown-bg: color-mix(in srgb, var(--gg-surface-raised) 98%, transparent);
    --bs-dropdown-border-color: var(--gg-border);
    --bs-dropdown-border-radius: 0.85rem;
    --bs-dropdown-link-hover-bg: var(--gg-primary-soft);
    --bs-dropdown-link-active-color: var(--gg-on-primary);
    --bs-dropdown-link-active-bg: var(--gg-primary);
    padding: 0.45rem;
    box-shadow: var(--gg-shadow-floating);
}

[data-app-theme-family='lumi'] .dropdown-item {
    border-radius: 0.55rem;
}

[data-app-theme-family='lumi'] .table {
    --bs-table-color: var(--gg-ink);
    --bs-table-bg: transparent;
    --bs-table-border-color: var(--gg-border);
    --bs-table-striped-bg: var(--gg-table-stripe);
    --bs-table-hover-bg: var(--gg-table-hover);
    --bs-table-hover-color: var(--gg-ink);
}

[data-app-theme-family='lumi'] .table > thead > tr > th {
    color: color-mix(in srgb, var(--gg-ink) 78%, transparent);
    background: color-mix(in srgb, var(--gg-surface-soft) 52%, transparent);
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.035em;
    text-transform: uppercase;
}

[data-app-theme-family='lumi'] .nav-tabs {
    --bs-nav-tabs-border-color: var(--gg-border);
    --bs-nav-tabs-link-hover-border-color: transparent transparent var(--gg-border-strong);
    --bs-nav-tabs-link-active-color: var(--gg-primary-emphasis);
    --bs-nav-tabs-link-active-bg: var(--gg-surface-raised);
    --bs-nav-tabs-link-active-border-color: var(--gg-border) var(--gg-border) var(--gg-surface-raised);
    gap: 0.2rem;
}

[data-app-theme-family='lumi'] .nav-tabs .nav-link {
    border-radius: 0.7rem 0.7rem 0 0;
    font-weight: 600;
}

[data-app-theme-family='lumi'] .nav-pills {
    --bs-nav-pills-link-active-color: var(--gg-on-primary);
    --bs-nav-pills-link-active-bg: var(--gg-primary);
}

[data-app-theme-family='lumi'] .pagination {
    --bs-pagination-color: var(--gg-primary-emphasis);
    --bs-pagination-bg: var(--gg-surface-raised);
    --bs-pagination-border-color: var(--gg-border);
    --bs-pagination-hover-color: var(--gg-primary-emphasis-hover);
    --bs-pagination-hover-bg: var(--gg-primary-soft);
    --bs-pagination-hover-border-color: var(--gg-border-strong);
    --bs-pagination-focus-color: var(--gg-primary-emphasis-hover);
    --bs-pagination-focus-bg: var(--gg-primary-soft);
    --bs-pagination-focus-box-shadow: 0 0 0 0.22rem color-mix(in srgb, var(--gg-primary) 28%, transparent);
    --bs-pagination-active-color: var(--gg-on-primary);
    --bs-pagination-active-bg: var(--gg-primary);
    --bs-pagination-active-border-color: var(--gg-primary);
    gap: 0.2rem;
}

[data-app-theme-family='lumi'] .page-link {
    border-radius: 0.55rem !important;
}

[data-app-theme-family='lumi'] .alert {
    border-radius: 0.85rem;
    box-shadow: 0 0.35rem 1rem var(--gg-alert-shadow);
}

[data-app-theme-family='lumi'] .alert-primary {
    --bs-alert-color: var(--gg-primary-emphasis);
    --bs-alert-bg: var(--gg-primary-soft);
    --bs-alert-border-color: var(--gg-border-strong);
    --bs-alert-link-color: var(--gg-primary-emphasis-hover);
}

[data-app-theme-family='lumi'] .badge {
    border-radius: 0.55rem;
    font-weight: 650;
    letter-spacing: 0.01em;
}

[data-app-theme-family='lumi'] .text-bg-primary,
[data-app-theme-family='lumi'] .bg-primary {
    color: var(--gg-on-primary) !important;
    background-color: var(--gg-primary) !important;
}

[data-app-theme-family='lumi'] .text-primary,
[data-app-theme-family='lumi'] .link-primary {
    color: var(--gg-primary-emphasis) !important;
}

[data-app-theme-family='lumi'] .list-group {
    --bs-list-group-bg: var(--gg-surface-raised);
    --bs-list-group-border-color: var(--gg-border);
    --bs-list-group-action-hover-bg: var(--gg-primary-soft);
    --bs-list-group-active-color: var(--gg-on-primary);
    --bs-list-group-active-bg: var(--gg-primary);
    --bs-list-group-active-border-color: var(--gg-primary);
    border-radius: 0.85rem;
}

[data-app-theme-family='lumi'] .progress {
    --bs-progress-bg: var(--gg-surface-soft);
    --bs-progress-bar-bg: var(--gg-primary);
    border-radius: 999px;
}

[data-app-theme-family='lumi'] .modal-content,
[data-app-theme-family='lumi'] .offcanvas {
    color: var(--gg-ink);
    background: var(--gg-surface-raised);
    border-color: var(--gg-border);
    box-shadow: var(--gg-shadow-floating);
}

[data-app-theme-family='lumi'] .modal-content {
    border-radius: 1.1rem;
}

[data-app-theme-family='lumi'] .modal-header,
[data-app-theme-family='lumi'] .modal-footer,
[data-app-theme-family='lumi'] .offcanvas-header {
    border-color: var(--gg-border);
}

[data-app-theme-family='lumi'] code,
[data-app-theme-family='lumi'] pre {
    color: color-mix(in srgb, var(--gg-primary-emphasis) 78%, var(--gg-ink));
}

[data-app-theme-family='lumi'] pre {
    border: 1px solid var(--gg-border);
    border-radius: 0.8rem;
    padding: 1rem;
    background: color-mix(in srgb, var(--gg-surface-soft) 56%, transparent);
}

[data-app-theme-family='lumi'] .admin-nav-link:hover,
[data-app-theme-family='lumi'] .admin-nav-link:focus-visible,
[data-app-theme-family='lumi'] .admin-nav-link.active {
    background-color: var(--gg-primary-soft);
    color: var(--gg-primary-emphasis);
}

[data-app-theme-family='lumi'] .admin-sidebar-card {
    background:
        linear-gradient(180deg, var(--gg-primary-soft), transparent 24%),
        var(--gg-surface-raised);
}

[data-app-theme-family='lumi'] .admin-sidebar-badge,
[data-app-theme-family='lumi'] .admin-card-icon {
    background-color: var(--gg-primary-soft);
}

[data-app-theme-family='lumi'] .admin-dashboard-hero {
    border-color: var(--gg-border-strong);
    background:
        radial-gradient(circle at top right, var(--gg-primary-soft), transparent 30rem),
        linear-gradient(135deg, var(--gg-surface-raised), color-mix(in srgb, var(--gg-primary-soft) 55%, transparent));
}

[data-app-theme-family='lumi'] .admin-dashboard-card:hover {
    transform: translateY(-1px);
    box-shadow: var(--gg-shadow) !important;
}

[data-app-theme-family='lumi'] .home-lumi-artwork {
    filter: drop-shadow(0 1rem 1.5rem color-mix(in srgb, var(--gg-primary-emphasis) 18%, transparent));
}

[data-app-theme-family='lumi'] .home-hero-panel {
    border-color: var(--gg-border-strong);
    background:
        radial-gradient(circle at 12% 8%, var(--gg-primary-soft), transparent 20rem),
        radial-gradient(circle at 88% 100%, var(--gg-glow-secondary), transparent 24rem),
        color-mix(in srgb, var(--gg-surface-raised) 96%, transparent);
    box-shadow: var(--gg-shadow);
}

[data-app-theme-family='lumi'] .home-hero-authenticated .home-hero-panel {
    background:
        radial-gradient(circle at 80% 10%, var(--gg-primary-soft), transparent 24rem),
        linear-gradient(145deg, var(--gg-surface-raised), color-mix(in srgb, var(--gg-surface-soft) 48%, var(--gg-surface-raised)));
}

[data-app-theme-family='lumi'] .home-hero-eyebrow {
    color: var(--gg-primary-emphasis);
}

[data-app-theme-family='lumi'] .auth-page {
    background:
        radial-gradient(circle at 8% 18%, var(--gg-primary-soft), transparent 26rem),
        radial-gradient(circle at 92% 82%, var(--gg-glow-secondary), transparent 30rem);
}

[data-app-theme-family='lumi'] .auth-brand-panel,
[data-app-theme-family='lumi'] .auth-card {
    border-color: var(--gg-border-strong);
    box-shadow: var(--gg-shadow);
}

[data-app-theme-family='lumi'] .auth-brand-panel {
    background:
        radial-gradient(circle at 18% 18%, var(--gg-primary-soft), transparent 44%),
        radial-gradient(circle at 92% 88%, var(--gg-glow-secondary), transparent 46%),
        color-mix(in srgb, var(--gg-surface-raised) 92%, transparent);
    backdrop-filter: blur(16px);
}

[data-app-theme-family='lumi'] .auth-card {
    background: color-mix(in srgb, var(--gg-surface-raised) 96%, transparent);
    backdrop-filter: blur(18px);
}

[data-app-theme-family='lumi'] .auth-hero-art {
    filter: drop-shadow(0 1rem 1.5rem color-mix(in srgb, var(--gg-primary-emphasis) 20%, transparent));
}

[data-app-theme-family='lumi'] .auth-brand-eyebrow,
[data-app-theme-family='lumi'] .auth-eyebrow {
    color: var(--gg-primary-emphasis);
}

[data-app-theme-family='lumi'] .auth-icon {
    background: linear-gradient(145deg, var(--gg-primary), color-mix(in srgb, var(--gg-primary) 68%, var(--gg-accent-secondary)));
    color: var(--gg-on-primary);
    box-shadow: 0 0.75rem 1.6rem color-mix(in srgb, var(--gg-primary) 28%, transparent);
}

[data-app-theme-family='lumi'] .auth-accent {
    border-color: var(--gg-border-strong);
    background: color-mix(in srgb, var(--gg-primary-soft) 58%, transparent);
}

[data-app-theme-family='lumi'] .site-footer {
    border-color: var(--gg-border);
    background: color-mix(in srgb, var(--gg-surface-raised) 82%, transparent);
    backdrop-filter: blur(12px);
}

[data-app-theme-family='lumi'] .legal-document-header,
[data-app-theme-family='lumi'] .legal-document,
[data-app-theme-family='lumi'] .legal-document-nav,
[data-app-theme-family='lumi'] .legal-acceptance {
    border-color: var(--gg-border-strong);
}

[data-app-theme-family='lumi'] .legal-document-header {
    background:
        radial-gradient(circle at 90% 8%, var(--gg-primary-soft), transparent 24rem),
        linear-gradient(145deg, var(--gg-surface-raised), color-mix(in srgb, var(--gg-surface-soft) 42%, var(--gg-surface-raised)));
    box-shadow: var(--gg-shadow);
}

[data-app-theme-family='lumi'] .legal-document-art,
[data-app-theme-family='lumi'] .legal-acceptance-art img {
    filter: drop-shadow(0 0.85rem 1.25rem color-mix(in srgb, var(--gg-primary-emphasis) 18%, transparent));
}

[data-app-theme-family='lumi'] .legal-document-eyebrow {
    color: var(--gg-primary-emphasis);
}

[data-app-theme-family='lumi'] .legal-document-nav .nav-link:hover,
[data-app-theme-family='lumi'] .legal-document-nav .nav-link:focus-visible {
    color: var(--gg-primary-emphasis);
    background: var(--gg-primary-soft);
}

[data-app-theme-family='lumi'] .legal-acceptance {
    background:
        radial-gradient(circle at 8% 100%, var(--gg-primary-soft), transparent 18rem),
        var(--gg-surface-raised);
    box-shadow: var(--gg-shadow);
}

[data-app-theme-family='lumi'] .legal-acceptance-art {
    background: linear-gradient(160deg, var(--gg-primary-soft), transparent 80%);
}

[data-app-theme-family='lumi'] .vrc-user-hero {
    border: 1px solid var(--gg-border-strong) !important;
    background:
        radial-gradient(circle at 8% 10%, var(--gg-primary-soft), transparent 22rem),
        radial-gradient(circle at 96% 90%, var(--gg-glow-secondary), transparent 26rem),
        linear-gradient(145deg, var(--gg-surface-raised), color-mix(in srgb, var(--gg-surface-soft) 44%, var(--gg-surface-raised)));
    box-shadow: var(--gg-shadow);
}

[data-app-theme-family='lumi'] .vrc-user-portrait-wrap {
    padding: 0.4rem;
    border: 1px solid var(--gg-border-strong);
    border-radius: 2.1rem;
    background: color-mix(in srgb, var(--gg-surface-raised) 88%, transparent);
    box-shadow: var(--gg-shadow-floating);
}

[data-app-theme-family='lumi'] .vrc-user-portrait-placeholder {
    color: var(--gg-primary-emphasis);
    background: linear-gradient(145deg, var(--gg-primary-soft), var(--gg-surface-soft));
}

[data-app-theme-family='lumi'] .vrc-entity-thumbnail {
    border-color: var(--gg-border-strong);
    background: var(--gg-surface-soft);
    box-shadow: var(--gg-shadow-subtle);
}

[data-app-theme-family='lumi'] .vrc-entity-thumbnail-placeholder {
    color: var(--gg-primary-emphasis);
    background:
        radial-gradient(circle at 22% 16%, var(--gg-primary-soft), transparent 5rem),
        linear-gradient(145deg, var(--gg-surface-soft), color-mix(in srgb, var(--gg-primary-soft) 48%, var(--gg-surface-raised)));
}

[data-app-theme-family='lumi'] .linked-account-provider {
    border: 1px solid var(--gg-border) !important;
    background: color-mix(in srgb, var(--gg-surface-raised) 96%, transparent);
    box-shadow: var(--gg-shadow);
}

[data-app-theme-family='lumi'] .linked-account-provider-icon,
[data-app-theme-family='lumi'] .linked-account-empty {
    color: var(--gg-primary-emphasis);
    border-color: var(--gg-border-strong) !important;
    background: linear-gradient(145deg, var(--gg-primary-soft), var(--gg-surface-soft)) !important;
}

[data-app-theme-family='lumi'] .linked-account-row {
    border-color: var(--gg-border) !important;
    background: color-mix(in srgb, var(--gg-surface-soft) 45%, var(--gg-surface-raised));
}

[data-app-theme-family='lumi'] .admin-status-card {
    border: 1px solid var(--gg-border) !important;
    background: color-mix(in srgb, var(--gg-surface-raised) 96%, transparent);
    box-shadow: var(--gg-shadow);
}

[data-app-theme-family='lumi'] .vrc-user-eyebrow,
[data-app-theme-family='lumi'] .vrc-user-section-kicker {
    color: var(--gg-primary-emphasis);
}

[data-app-theme-family='lumi'] .vrc-user-metric-card,
[data-app-theme-family='lumi'] .vrc-user-section-card,
[data-app-theme-family='lumi'] .vrc-user-badge-card {
    border: 1px solid var(--gg-border) !important;
    background: color-mix(in srgb, var(--gg-surface-raised) 96%, transparent);
    box-shadow: var(--gg-shadow-subtle);
}

[data-app-theme-family='lumi'] .vrc-user-metric-card {
    transition: border-color 140ms ease, box-shadow 140ms ease, transform 140ms ease;
}

[data-app-theme-family='lumi'] .vrc-user-metric-card:hover,
[data-app-theme-family='lumi'] .vrc-user-metric-card:focus-visible {
    border-color: var(--gg-border-strong) !important;
    box-shadow: var(--gg-shadow);
    transform: translateY(-2px);
}

[data-app-theme-family='lumi'] .vrc-user-metric-icon,
[data-app-theme-family='lumi'] .vrc-user-section-icon,
[data-app-theme-family='lumi'] .vrc-user-empty-icon,
[data-app-theme-family='lumi'] .vrc-user-badge-placeholder {
    color: var(--gg-primary-emphasis);
    background: var(--gg-primary-soft);
}

[data-app-theme-family='lumi'] .vrc-user-detail-list > div,
[data-app-theme-family='lumi'] .vrc-user-membership-details > div,
[data-app-theme-family='lumi'] .vrc-user-avatar-tags {
    border-color: var(--gg-border);
}

[data-app-theme-family='lumi'] .vrc-user-badge-image-wrap {
    background: linear-gradient(145deg, var(--gg-primary-soft), var(--gg-surface-soft));
}

[data-app-theme-family='lumi'] .vrc-user-badge-card.is-showcased {
    border-color: var(--gg-border-strong) !important;
    background:
        linear-gradient(145deg, var(--gg-primary-soft), transparent 72%),
        var(--gg-surface-raised);
}

[data-app-theme-family='lumi'] .vrc-entity-hero {
    border: 1px solid var(--gg-border-strong) !important;
    background: var(--gg-surface-raised);
    box-shadow: var(--gg-shadow);
}

[data-app-theme-family='lumi'] .vrc-entity-cover-placeholder,
[data-app-theme-family='lumi'] .vrc-instance-hero-visual,
[data-app-theme-family='lumi'] .vrc-entity-relation-placeholder {
    color: var(--gg-primary-emphasis);
    background:
        radial-gradient(circle at 20% 15%, var(--gg-primary-soft), transparent 15rem),
        linear-gradient(145deg, var(--gg-surface-soft), color-mix(in srgb, var(--gg-primary-soft) 45%, var(--gg-surface-raised)));
}

[data-app-theme-family='lumi'] .vrc-entity-cover-shade {
    background: linear-gradient(180deg, transparent 42%, color-mix(in srgb, var(--gg-surface-raised) 46%, transparent));
}

[data-app-theme-family='lumi'] .vrc-entity-emblem {
    border-color: var(--gg-surface-raised);
    color: var(--gg-primary-emphasis);
    background: linear-gradient(145deg, var(--gg-primary-soft), var(--gg-surface-soft));
    box-shadow: var(--gg-shadow-floating);
}

[data-app-theme-family='lumi'] .vrc-entity-eyebrow,
[data-app-theme-family='lumi'] .vrc-entity-section-kicker {
    color: var(--gg-primary-emphasis);
}

[data-app-theme-family='lumi'] .vrc-entity-stat-card,
[data-app-theme-family='lumi'] .vrc-entity-section-card {
    border: 1px solid var(--gg-border) !important;
    background: color-mix(in srgb, var(--gg-surface-raised) 96%, transparent);
    box-shadow: var(--gg-shadow-subtle);
}

[data-app-theme-family='lumi'] .vrc-entity-stat-icon,
[data-app-theme-family='lumi'] .vrc-entity-section-icon,
[data-app-theme-family='lumi'] .vrc-entity-empty-icon,
[data-app-theme-family='lumi'] .vrc-entity-group-summary > span {
    color: var(--gg-primary-emphasis);
    background: var(--gg-primary-soft);
}

[data-app-theme-family='lumi'] .vrc-entity-detail-list > div {
    border-color: var(--gg-border);
}

[data-app-theme-family='lumi'] .vrc-entity-relation-image,
[data-app-theme-family='lumi'] .vrc-instance-hero-visual img {
    background: var(--gg-surface-soft);
}

[data-app-theme-family='lumi'] .vrc-world-artwork,
[data-app-theme-family='lumi'] .vrc-world-artwork-placeholder {
    border-color: var(--gg-border);
    background:
        radial-gradient(circle at 18% 12%, var(--gg-primary-soft), transparent 16rem),
        color-mix(in srgb, var(--gg-surface-soft) 62%, var(--gg-surface-raised));
}

[data-app-theme-family='lumi'] .vrc-world-artwork-placeholder {
    color: var(--gg-primary-emphasis);
}

[data-app-theme-family='lumi'] .vrc-world-author {
    border-color: var(--gg-border);
}

[data-app-theme-family='lumi'] .vrc-world-quick-details > div {
    border-color: var(--gg-border);
    background: color-mix(in srgb, var(--gg-primary-soft) 45%, var(--gg-surface-raised));
}

[data-app-theme-family='lumi'] .vrc-entity-group-summary > img,
[data-app-theme-family='lumi'] .vrc-entity-group-summary > span {
    border: 1px solid var(--gg-border-strong);
    box-shadow: var(--gg-shadow-subtle);
}

[data-app-theme-family='lumi'] button[data-copy-state='success'] {
    color: var(--bs-success-text-emphasis);
    border-color: var(--bs-success-border-subtle);
    background: var(--bs-success-bg-subtle);
}

[data-app-theme-family='lumi'] button[data-copy-state='error'] {
    color: var(--bs-danger-text-emphasis);
    border-color: var(--bs-danger-border-subtle);
    background: var(--bs-danger-bg-subtle);
}

[data-app-theme-family='lumi'] :focus-visible {
    outline-color: var(--gg-primary-emphasis);
}

@media (prefers-reduced-motion: reduce) {
    [data-app-theme-family='lumi'] *,
    [data-app-theme-family='lumi'] *::before,
    [data-app-theme-family='lumi'] *::after {
        scroll-behavior: auto !important;
        transition-duration: 0.01ms !important;
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
    }
}
