
        html, body { overflow-x: hidden; max-width: 100vw; }
        body {
            background-image: url('seba.jpg') !important;
            background-attachment: fixed !important;
            background-position: center center !important;
            background-repeat: no-repeat !important;
            background-size: cover !important;
        }
        .background-overlay {
            position: fixed; inset: 0;
            background: transparent !important;
            backdrop-filter: none !important;
            z-index: -1;
        }
        .glass-card {
            background: rgba(255, 255, 255, 0.78);
            backdrop-filter: blur(16px) saturate(160%);
            -webkit-backdrop-filter: blur(16px) saturate(160%);
            border: 1px solid rgba(255, 255, 255, 0.6);
            box-shadow: 0 8px 24px rgba(0, 0, 0, 0.18);
            border-radius: 20px;
            color: #2d3748;
        }
        .glass-card * { color: #2d3748; }
        .year-pill {
            border: 1px solid rgba(0, 0, 0, 0.15);
            background: rgba(0, 0, 0, 0.04);
            color: #2d3748;
            border-radius: 20px;
            padding: 6px 18px;
            font-weight: 600;
            cursor: pointer;
            transition: all 0.2s ease;
        }
        .year-pill:hover {
            background: rgba(0, 0, 0, 0.08);
        }
        .year-pill.active,
        .year-pill.active * {
            background: #E53935;
            border-color: #E53935;
            color: #ffffff;
        }
        .archive-recipient-header {
            font-weight: 700;
            font-size: 17px;
            margin: 20px 0 8px;
            display: flex;
            align-items: center;
            gap: 8px;
        }
        .archive-present {
            background: #ffffff;
            border: 1px solid rgba(0, 0, 0, 0.08);
            box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
            border-radius: 10px;
            padding: 10px 14px;
            margin-bottom: 8px;
            /* Long words and URLs must wrap instead of overflowing */
            overflow-wrap: anywhere;
            word-break: break-word;
            min-width: 0;
        }
        .archive-present .status { font-size: 13px; color: #6b7280; }
        /* Spoiler: blurred fake name so the recipient can't see who bought/reserved */
        .spoiler-name {
            filter: blur(5px);
            user-select: none;
            -webkit-user-select: none;
            pointer-events: none;
        }
        /* Modal is on white background - normal colors */
        .modal-content, .modal-content * { color: #212529; text-shadow: none; }
    