/* Veil Registry Themes — presentation only */

.lpds-registry-shell {
    --veil-bg: #0b1018;
    --veil-surface: #111a26;
    --veil-surface-alt: #162131;
    --veil-border: rgba(176, 196, 222, 0.22);
    --veil-accent: #aebfd6;
    --veil-accent-strong: #dce8f7;
    --veil-text: #eef3f9;
    --veil-muted: #a7b2c0;
    --veil-glow: rgba(174, 191, 214, 0.18);
    --veil-shadow: rgba(0, 0, 0, 0.38);
}

/* Moonlit Veil */
.lpds-registry-shell.veil-theme-moonlit-veil {
    --veil-bg: #09111d;
    --veil-surface: #101b2b;
    --veil-surface-alt: #17263a;
    --veil-border: rgba(156, 188, 224, 0.28);
    --veil-accent: #8fb4dc;
    --veil-accent-strong: #d6e9ff;
    --veil-text: #eef6ff;
    --veil-muted: #9fb0c5;
    --veil-glow: rgba(111, 161, 218, 0.22);
}

/* Blood Moon */
.lpds-registry-shell.veil-theme-blood-moon {
    --veil-bg: #160708;
    --veil-surface: #240b0e;
    --veil-surface-alt: #351014;
    --veil-border: rgba(190, 66, 69, 0.34);
    --veil-accent: #c54b50;
    --veil-accent-strong: #ff9a9d;
    --veil-text: #fff0f0;
    --veil-muted: #c5a0a0;
    --veil-glow: rgba(190, 38, 45, 0.25);
}

/* Forbidden Archive */
.lpds-registry-shell.veil-theme-forbidden-archive {
    --veil-bg: #120e08;
    --veil-surface: #20180d;
    --veil-surface-alt: #2c2111;
    --veil-border: rgba(188, 148, 74, 0.34);
    --veil-accent: #b9914d;
    --veil-accent-strong: #e7c77e;
    --veil-text: #f5ead2;
    --veil-muted: #b9aa8d;
    --veil-glow: rgba(184, 142, 67, 0.22);
}

/* Rift Shadow */
.lpds-registry-shell.veil-theme-rift-shadow {
    --veil-bg: #0e0916;
    --veil-surface: #181023;
    --veil-surface-alt: #241632;
    --veil-border: rgba(143, 91, 181, 0.34);
    --veil-accent: #9a62c4;
    --veil-accent-strong: #d4a8f1;
    --veil-text: #f3eaff;
    --veil-muted: #b4a2c2;
    --veil-glow: rgba(135, 68, 181, 0.24);
}

/* Silver Flame */
.lpds-registry-shell.veil-theme-silver-flame {
    --veil-bg: #091416;
    --veil-surface: #102024;
    --veil-surface-alt: #172c31;
    --veil-border: rgba(158, 220, 225, 0.32);
    --veil-accent: #9bcdd1;
    --veil-accent-strong: #e1fbfc;
    --veil-text: #f1fbfc;
    --veil-muted: #a5bec1;
    --veil-glow: rgba(136, 213, 219, 0.22);
}

/* Theme application */
.lpds-registry-shell {
    background: var(--veil-bg);
    color: var(--veil-text);
    border: 1px solid var(--veil-border);
    box-shadow: 0 18px 55px var(--veil-shadow), 0 0 30px var(--veil-glow);
    transition: background-color .25s ease, border-color .25s ease, box-shadow .25s ease;
}

.lpds-registry-shell .lpds-registry-shell__hero {
    border-bottom: 1px solid var(--veil-border);
}

.lpds-registry-shell .lpds-registry-shell__body {
    background: linear-gradient(180deg, var(--veil-surface), var(--veil-bg));
}

.lpds-registry-shell .lpds-registry-shell__main,
.lpds-registry-shell .lpds-registry-shell__sidebar,
.lpds-registry-shell .veil-registry-card,
.lpds-registry-shell .veil-card,
.lpds-registry-shell .veil-panel {
    color: var(--veil-text);
}

.lpds-registry-shell .veil-registry-card,
.lpds-registry-shell .veil-card,
.lpds-registry-shell .veil-panel {
    background: var(--veil-surface);
    border-color: var(--veil-border);
    box-shadow: 0 12px 35px var(--veil-shadow);
}

.lpds-registry-shell h1,
.lpds-registry-shell h2,
.lpds-registry-shell h3,
.lpds-registry-shell h4 {
    color: var(--veil-accent-strong);
}

.lpds-registry-shell a {
    color: var(--veil-accent);
}

.lpds-registry-shell a:hover,
.lpds-registry-shell a:focus-visible {
    color: var(--veil-accent-strong);
}

.lpds-registry-shell .veil-label,
.lpds-registry-shell .veil-meta,
.lpds-registry-shell .veil-muted {
    color: var(--veil-muted);
}

.lpds-registry-shell hr,
.lpds-registry-shell .veil-divider {
    border-color: var(--veil-border);
}

/* =========================================================
   REGISTRY THEME COMPONENT APPLICATION
   ========================================================= */

.lpds-registry-shell {
    position: relative;
    overflow: hidden;
    background: var(--veil-bg);
    color: var(--veil-text);
}

.lpds-registry-shell .lpds-registry-shell__hero {
    position: relative;
    border-bottom: 1px solid var(--veil-border);
}

.lpds-registry-shell .lpds-hero {
    border-color: var(--veil-border);
}

.lpds-registry-shell .lpds-hero-overlay {
    background: linear-gradient(180deg, rgba(0,0,0,.12), var(--veil-bg));
}

.lpds-registry-shell .lpds-hero-kicker,
.lpds-registry-shell .veil-registry-kicker,
.lpds-registry-shell .veil-registry-section-eyebrow {
    color: var(--veil-accent);
}

.lpds-registry-shell .lpds-hero-title {
    color: var(--veil-accent-strong);
    text-shadow: 0 0 24px var(--veil-glow);
}

.lpds-registry-shell .lpds-hero-description {
    color: var(--veil-muted);
}

/* Character sheet */
.lpds-registry-shell .veil-character-sheet,
.lpds-registry-shell .veil-character-panel,
.lpds-registry-shell .veil-character-record,
.lpds-registry-shell .veil-character-identity {
    background: var(--veil-surface);
    color: var(--veil-text);
    border-color: var(--veil-border);
    box-shadow: 0 12px 34px var(--veil-shadow);
}

.lpds-registry-shell .veil-character-section {
    border-color: var(--veil-border);
}

.lpds-registry-shell .veil-character-field,
.lpds-registry-shell .veil-character-stat {
    color: var(--veil-text);
}

.lpds-registry-shell .veil-registry-label {
    color: var(--veil-accent);
}

.lpds-registry-shell .veil-registry-description,
.lpds-registry-shell .veil-character-field small,
.lpds-registry-shell .veil-character-stat small {
    color: var(--veil-muted);
}

.lpds-registry-shell .veil-registry-divider {
    border-color: var(--veil-border);
    background: var(--veil-border);
}

/* Achievements */
.lpds-registry-shell .veil-achievements-panel {
    background: var(--veil-surface);
    border: 1px solid var(--veil-border);
    color: var(--veil-text);
    box-shadow: 0 12px 34px var(--veil-shadow);
}

.lpds-registry-shell .veil-achievements-header,
.lpds-registry-shell .veil-achievement-name {
    color: var(--veil-accent-strong);
}

.lpds-registry-shell .veil-achievement-description,
.lpds-registry-shell .veil-achievement-date,
.lpds-registry-shell .veil-achievement-progress-label,
.lpds-registry-shell .veil-achievements-empty {
    color: var(--veil-muted);
}

.lpds-registry-shell .veil-achievement-earned {
    border-color: var(--veil-border);
    background: var(--veil-surface-alt);
}

.lpds-registry-shell .veil-achievement-icon {
    color: var(--veil-accent-strong);
    border-color: var(--veil-border);
    box-shadow: 0 0 18px var(--veil-glow);
}

.lpds-registry-shell .veil-achievement-progress-track {
    background: var(--veil-bg);
    border: 1px solid var(--veil-border);
}

.lpds-registry-shell .veil-achievement-progress-fill {
    background: var(--veil-accent);
    box-shadow: 0 0 12px var(--veil-glow);
}

/* Registry badges */
.lpds-registry-shell .veil-registry-badges,
.lpds-registry-shell .veil-registry-badge-card {
    background: var(--veil-surface);
    border-color: var(--veil-border);
    color: var(--veil-text);
}

.lpds-registry-shell .veil-registry-badge-icon {
    color: var(--veil-accent-strong);
    border-color: var(--veil-border);
    box-shadow: 0 0 16px var(--veil-glow);
}

.lpds-registry-shell .veil-registry-badge-status,
.lpds-registry-shell .veil-registry-badge-copy {
    color: var(--veil-muted);
}

.lpds-registry-shell .veil-registry-badge-count,
.lpds-registry-shell .veil-registry-badge-count-current {
    color: var(--veil-accent);
}

/* Registry cards */
.lpds-registry-shell .lpds-registry-card {
    background: var(--veil-surface);
    border-color: var(--veil-border);
    color: var(--veil-text);
    box-shadow: 0 10px 30px var(--veil-shadow);
}

.lpds-registry-shell .lpds-registry-card__title {
    color: var(--veil-accent-strong);
}

.lpds-registry-shell .lpds-registry-card__meta {
    color: var(--veil-muted);
}

.lpds-registry-shell .lpds-registry-card__avatar {
    border-color: var(--veil-accent);
    box-shadow: 0 0 20px var(--veil-glow);
}

/* Sidebar */
.lpds-registry-shell .lpds-registry-shell__sidebar,
.lpds-registry-shell .veil-sidebar-card {
    background: var(--veil-surface);
    color: var(--veil-text);
    border-color: var(--veil-border);
}

.lpds-registry-shell .veil-sidebar__identity {
    color: var(--veil-accent-strong);
}

.lpds-registry-shell .veil-sidebar__tier {
    color: var(--veil-accent);
}

/* Buttons */
.lpds-registry-shell .lpds-registry-card__button,
.lpds-registry-shell .veil-registry-submit {
    background: var(--veil-accent);
    border-color: var(--veil-accent);
    color: var(--veil-bg);
}

.lpds-registry-shell .lpds-registry-card__button:hover,
.lpds-registry-shell .veil-registry-submit:hover {
    background: var(--veil-accent-strong);
    border-color: var(--veil-accent-strong);
    color: var(--veil-bg);
    box-shadow: 0 0 20px var(--veil-glow);
}

/* Theme-specific atmosphere */
.lpds-registry-shell.veil-theme-moonlit-veil {
    background-image: radial-gradient(circle at 50% 0%, rgba(100,150,210,.13), transparent 42%);
}

.lpds-registry-shell.veil-theme-blood-moon {
    background-image: radial-gradient(circle at 50% 0%, rgba(170,25,32,.18), transparent 44%);
}

.lpds-registry-shell.veil-theme-forbidden-archive {
    background-image: radial-gradient(circle at 50% 0%, rgba(185,145,77,.14), transparent 46%);
}

.lpds-registry-shell.veil-theme-rift-shadow {
    background-image: radial-gradient(circle at 50% 0%, rgba(135,70,180,.17), transparent 44%);
}

.lpds-registry-shell.veil-theme-silver-flame {
    background-image: radial-gradient(circle at 50% 0%, rgba(140,215,220,.15), transparent 44%);
}

/* Registry typography emphasis */
.lpds-registry-shell .lpds-hero-title,
.lpds-registry-shell .lpds-registry-card__title,
.lpds-registry-shell .veil-achievements-header,
.lpds-registry-shell .veil-achievement-name,
.lpds-registry-shell .veil-character-panel h2,
.lpds-registry-shell .veil-character-panel h3,
.lpds-registry-shell .veil-character-section h2,
.lpds-registry-shell .veil-character-section h3,
.lpds-registry-shell .veil-registry-section-header h2,
.lpds-registry-shell .veil-registry-section-header h3,
.lpds-registry-shell .veil-registry-badges-header h2,
.lpds-registry-shell .veil-registry-badges-header h3 {
    color: var(--veil-accent-strong) !important;
    font-weight: 700;
    letter-spacing: .035em;
    text-shadow: 0 0 16px var(--veil-glow);
}

.lpds-registry-shell .veil-registry-section-eyebrow,
.lpds-registry-shell .veil-registry-kicker,
.lpds-registry-shell .veil-registry-label {
    color: var(--veil-accent) !important;
    font-weight: 700;
    letter-spacing: .06em;
}

.lpds-registry-shell .veil-registry-badge-count,
.lpds-registry-shell .veil-registry-badge-count-current,
.lpds-registry-shell .veil-registry-badge-status,
.lpds-registry-shell .veil-achievement-progress-label,
.lpds-registry-shell .veil-achievement-date,
.lpds-registry-shell .lpds-registry-card__meta {
    font-size: .95rem !important;
    line-height: 1.45;
}

.lpds-registry-shell .veil-registry-badge-count,
.lpds-registry-shell .veil-registry-badge-count-current {
    color: var(--veil-accent-strong) !important;
    font-weight: 700;
}

/* Registry card/body typography */
.lpds-registry-shell .veil-character-field,
.lpds-registry-shell .veil-character-stat,
.lpds-registry-shell .veil-character-record,
.lpds-registry-shell .veil-achievement-description,
.lpds-registry-shell .veil-achievement-progress-label,
.lpds-registry-shell .veil-registry-description,
.lpds-registry-shell .veil-registry-badge-copy span,
.lpds-registry-shell .veil-registry-badge-status,
.lpds-registry-shell .lpds-registry-card__meta,
.lpds-registry-shell .veil-sidebar-card,
.lpds-registry-shell .veil-sidebar__identity,
.lpds-registry-shell .veil-sidebar__tier {
    font-size: 1.05rem !important;
    line-height: 1.65 !important;
}

.lpds-registry-shell .veil-character-field,
.lpds-registry-shell .veil-character-stat,
.lpds-registry-shell .veil-character-record,
.lpds-registry-shell .veil-achievement-description,
.lpds-registry-shell .veil-registry-description,
.lpds-registry-shell .veil-registry-badge-copy span {
    color: var(--veil-text) !important;
}

.lpds-registry-shell .veil-registry-badge-count,
.lpds-registry-shell .veil-registry-badge-count-current,
.lpds-registry-shell .veil-registry-badge-status,
.lpds-registry-shell .veil-achievement-progress-label,
.lpds-registry-shell .veil-achievement-date,
.lpds-registry-shell .lpds-registry-card__meta {
    font-size: 1rem !important;
}
