/* 3ee6df67.css - purple/violet hacker theme with frosted glass and responsive layout */ /* Root theme tokens */ :root{ --bg1: #2a0a4b; --bg2: #6a1b9a; --bg3: #7b5cff; --glass: rgba(255,255,255,.14); --glass-border: rgba(255,255,255,.28); --text: #ffffff; --text-dim: rgba(255,255,255,.92); --focus: #9af0d8; --shadow: 0 8px 22px rgba(0,0,0,.25); --cta: linear-gradient(135deg, #ffd166 0%, #f0c050 60%, #e6a900 100%); } /* Reset-lite for small file */ * { box-sizing: border-box; } html, body { height: 100%; margin: 0; } /* Page base: gradient background with subtle pattern overlay (purple vibes) */ body { font-family: Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif; color: var(--text); background: linear-gradient(135deg, var(--bg2) 0%, var(--bg1) 60%, var(--bg3) 100%); min-height: 100vh; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; position: relative; } body::before { content: ""; position: fixed; inset: 0; pointer-events: none; /* light holographic sheen for depth */ background: radial-gradient(circle at 70% 20%, rgba(255,255,255,.08), transparent 40px), radial-gradient(circle at 20% 70%, rgba(255,255,255,.05), transparent 40px); mix-blend-mode: overlay; opacity: .9; z-index: 0; } /* Content layer sits above the decorative overlay */ #content, main { position: relative; z-index: 1; } /* Header */ header { padding: 1rem; } .brand { display: inline-block; padding: .5rem .8rem; border-radius: 8px; background: rgba(255,255,255,.14); border: 1px solid rgba(255,255,255,.28); color: #fff; font-weight: 700; letter-spacing: .4px; box-shadow: var(--shadow); } /* Hero grid: mobile-first, single column layout */ main { width: 100%; } .hero-grid { display: grid; grid-template-columns: 1fr; grid-template-areas: "media" "title" "subhead" "cta"; justify-items: center; align-items: center; text-align: center; gap: 1.75rem; padding: 2rem 1rem 3rem; max-width: 1100px; margin: 0 auto; } .hero-media { grid-area: media; display: flex; justify-content: center; width: 100%; } .hero-media img { width: min(580px, 92%); height: auto; border-radius: 16px; box-shadow: 0 18px 40px rgba(0,0,0,.28); display: block; } .hero-grid > h1, .hero-grid > .subhead, .hero-grid > .cta { background: rgba(255,255,255,.14); border: 1px solid rgba(255,255,255,.28); border-radius: 12px; padding: 0.25rem 0.6rem; backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); color: var(--text); } h1 { font-size: clamp(1.95rem, 4vw + 0.75rem, 3rem); line-height: 1.08; margin: 0; color: #fff; text-shadow: 0 1px 2px rgba(0,0,0,.25); } .subhead { font-size: clamp(1rem, 2vw + .6rem, 1.25rem); color: var(--text-dim); } /* CTA styling */ .cta { display: inline-block; padding: 0.9rem 1.6rem; font-weight: 800; color: #0b0f12; text-decoration: none; border-radius: 999px; background: var(--cta); border: 1px solid rgba(255,255,255,.65); box-shadow: 0 8px 20px rgba(0,0,0,.25); transition: transform .18s ease, box-shadow .18s ease; } .cta:focus-visible { outline: 3px solid var(--focus); outline-offset: 2px; } .cta:hover { transform: translateY(-2px); box-shadow: 0 14px 28px rgba(0,0,0,.32); } /* Footer with small ad + gratitude */ footer { padding: 1rem; text-align: center; color: #e9fbfb; } .footer-ad { display: inline-block; padding: .25rem .6rem; margin-bottom: .5rem; background: rgba(255,255,255,.08); border-radius: 8px; border: 1px solid rgba(255,255,255,.22); } .footer-ad a { color: #fff; font-weight: 700; text-decoration: none; } .footer-ad a:hover { text-decoration: underline; } /* Desktop: two-column layout with image on left and text on right */ @media (min-width: 760px) { .hero-grid { grid-template-columns: 1.05fr 0.95fr; grid-template-areas: "media title" "media subhead" "media CTA"; text-align: left; gap: 2rem; padding: 3rem 2rem; } .hero-media { justify-content: flex-end; padding-right: 1rem; } h1 { font-size: clamp(2.5rem, 1.2rem + 4vw, 4rem); } .subhead { font-size: 1.25rem; } .cta { align-self: center; justify-self: start; } } /* Extra-large screens: fix image size for prominence */ @media (min-width: 1100px) { .hero-media img { width: 580px; } } /* Small devices: tighten paddings */ @media (max-width: 420px) { .hero-grid { padding: 1.75rem 0.75rem 2.25rem; } .cta { width: max-content; padding: 0.9rem 1.4rem; } }