/* Page easter egg 418 (I'm a Teapot — RFC 2324) */ .tea-hero { text-align: center; padding: clamp(5rem, 12vh, 8rem) 0 4rem; position: relative; } .tea-hero::before { content: ""; position: absolute; inset: 0; background: radial-gradient(55% 45% at 50% 18%, var(--accent-soft) 0%, transparent 72%); pointer-events: none; } .tea-hero > * { position: relative; } .tea-hero h1 { font-family: var(--font-head); font-size: clamp(5rem, 18vw, 11rem); font-weight: 900; line-height: 1; letter-spacing: -0.04em; margin-bottom: 1.5rem; } .tea-hero .tea-sub { color: var(--text-muted); font-size: clamp(1rem, 2vw, 1.2rem); max-width: 44ch; margin: 0 auto 1.25rem; line-height: 1.6; } .tea-stage { position: relative; width: min(340px, 80vw); margin: 2rem auto; } .tea-pot { display: block; width: 100%; color: var(--text); } .tea-steam { position: absolute; pointer-events: none; } .tea-steam span { position: absolute; bottom: 0; display: block; width: 14px; height: 38px; border-radius: 999px; background: radial-gradient(circle at 50% 40%, var(--accent-soft) 0%, transparent 70%); animation: tea-rise 3s ease-in infinite; } .tea-steam .ts1 { left: 44%; animation-delay: 0s; } .tea-steam .ts2 { left: 52%; animation-delay: 1s; transform: scaleX(-1); } .tea-steam .ts3 { left: 60%; animation-delay: 2s; } @keyframes tea-rise { 0% { opacity: 0; transform: translateY(10px) scale(0.7); } 30% { opacity: 1; } 100% { opacity: 0; transform: translateY(-120px) scale(1.15); } } @media (prefers-reduced-motion: reduce) { .tea-steam span { animation: none; opacity: 0.35; } } .tea-actions { display: flex; justify-content: center; gap: 1rem; flex-wrap: wrap; } .tea-hint { color: var(--text-muted); opacity: 0.7; font-size: 0.85rem; margin-top: 2.25rem; } .tea-note { color: var(--text-muted); font-size: 0.9rem; letter-spacing: 0.02em; } .tea-toast { position: fixed; left: 50%; bottom: 2rem; transform: translateX(-50%); background: var(--bg-card); border: 1px solid var(--border); color: var(--text); padding: 0.8rem 1.2rem; border-radius: 10px; box-shadow: 0 8px 30px rgba(0, 0, 0, 0.35); opacity: 0; transition: opacity 0.25s ease; z-index: 50; pointer-events: none; max-width: 90vw; text-align: center; } .tea-toast.show { opacity: 1; }