* { box-sizing: border-box; margin: 0; padding: 0; font-family: var(--font); } body, html { width: 100%; height: 100%; } .page { width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; } .app-shell { width: 1100px; border-radius: 14px; background: var(--bg-4); box-shadow: 0px 0px 1px 0px var(--white-1); overflow: hidden; color: var(--white); } .top-bar { height: 70px; border-bottom: 1px solid var(--bg-7); display: flex; align-items: center; justify-content: space-between; padding: 0 24px; } .title { font-size: 35px; text-transform: uppercase; letter-spacing: 2px; font-weight: 900; } .title .highlight { color: var(--accent); } .title-box small { display: block; margin-top: 6px; color: var(--text-4); font-size: 12px; } .close-btn { width: 36px; height: 36px; border: none; border-radius: 50%; background: var(--bg-6); color: var(--white); cursor: pointer; font-weight: 700; } .content { padding: 24px; display: flex; flex-direction: column; gap: 24px; } .benefits-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; } .benefit-card { background: var(--bg-5); box-shadow: 0px 0px 1px 0px var(--white-1); border-radius: 12px; overflow: hidden; } .benefit-card img { width: 100%; height: 220px; object-fit: cover; display: block; } .benefit-info { padding: 16px; display: flex; flex-direction: column; gap: 12px; } .benefit-info h3 { font-size: 20px; text-transform: uppercase; } .benefit-info p { color: var(--text-4); line-height: 1.45; } .badge { display: inline-flex; width: fit-content; padding: 6px 10px; border-radius: 8px; font-size: 11px; font-weight: 900; letter-spacing: 1px; text-transform: uppercase; background: var(--bg-10); } .badge.unlocked { background: var(--accent); } .benefit-card.locked { opacity: 0.5; filter: grayscale(1); } .benefit-info small { color: var(--text-5); } .claim-btn { height: 40px; border: none; border-radius: 9px; background: var(--accent); color: var(--white); font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: 1px; cursor: pointer; } .claim-btn:disabled { background: var(--bg-10); color: var(--text-4); cursor: not-allowed; } @media (max-width: 1400px) { .page { zoom: 0.7; } }