:root {
    --web-bg: #f7f5f2;
    --web-surface: rgba(255, 255, 255, 0.88);
    --web-text: #17181b;
    --web-muted: #64748b;
    --web-border: #ded8d1;
    --web-bronze: #b87333;
    --web-bronze-light: #c2884d;
    --web-bronze-dark: #a16226;
}

html.dark {
    --web-bg: #121316;
    --web-surface: rgba(26, 27, 32, 0.9);
    --web-text: #f5f5f4;
    --web-muted: #a8a29e;
    --web-border: #2a2c34;
}

body {
    background: var(--web-bg);
    color: var(--web-text);
}

.web-shell-nav {
    background: color-mix(in srgb, var(--web-bg) 88%, transparent);
    border-color: var(--web-border);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
}

.web-shell-footer {
    background: color-mix(in srgb, var(--web-surface) 94%, transparent);
    border-color: var(--web-border);
}

.legal-disclaimer {
    border: 1px solid color-mix(in srgb, var(--web-bronze-light) 38%, var(--web-border));
    background: color-mix(in srgb, var(--web-bronze-light) 8%, var(--web-surface));
}

.cookie-notice {
    position: fixed;
    z-index: 1000;
    right: 1rem;
    bottom: 1rem;
    width: min(25rem, calc(100vw - 2rem));
    padding: 0.85rem;
    border: 1px solid rgba(194, 136, 77, 0.42);
    border-radius: 0.75rem;
    background: rgba(18, 19, 22, 0.96);
    color: #f5f5f4;
    box-shadow: 0 24px 54px -20px rgba(0, 0, 0, 0.72);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
}

.cookie-notice__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-top: 0.6rem;
}

.cookie-notice__button {
    padding: 0.55rem 0.8rem;
    border-radius: 0.5rem;
    background: linear-gradient(135deg, var(--web-bronze-light), var(--web-bronze-dark));
    color: white;
    font-size: 0.75rem;
    font-weight: 800;
}

.cookie-notice__link {
    padding: 0.55rem 0.4rem;
    color: #d7aa7b;
    font-size: 0.75rem;
    font-weight: 700;
}

@media (max-width: 640px) {
    .cookie-notice { left: 1rem; right: 1rem; width: auto; }
    .cookie-notice__actions { align-items: center; }
}
