:root, .dark { --background:#ffffff; --foreground:#351529; --primary:#bf2268; --primary-foreground:#ffffff; --card:#ffffff; --card-foreground:#351529; --muted:#fcebf3; --muted-foreground:#785769; --border:#efcddd; --ring:#bf2268; --radius:1rem; }
* { box-sizing:border-box; }
body { margin:0; background:var(--background); color:var(--foreground); font-family:Arial,Helvetica,sans-serif; }
.gate { min-height:100svh; display:flex; flex-direction:column; align-items:center; padding:36px 24px 26px; background:radial-gradient(ellipse at 50% 43%,#fff0f7 0%,#ffffff 68%); }
.wordmark { font-size:1.125rem; font-weight:700; letter-spacing:-.04em; }
.wordmark span { color:var(--primary); }
.confirmation { text-align:center; margin:auto; padding:44px 0; width:100%; max-width:430px; }
.age-mark { display:inline-block; font-size:5rem; line-height:1; font-weight:800; letter-spacing:-.085em; color:var(--primary); }
.age-mark span { font-size:2.5rem; vertical-align:top; line-height:1.3; margin-left:6px; }
.eyebrow { font-size:.875rem; font-weight:700; letter-spacing:.18em; color:var(--primary); margin:20px 0 24px; }
h1 { font-size:clamp(2.25rem,8vw,3rem); line-height:1.08; letter-spacing:-.055em; font-weight:600; margin:0; }
.instruction { font-size:1.0625rem; line-height:1.6; color:#785769; margin:24px 0 32px; }
.continue { box-shadow:0 12px 28px #bf226822; display:flex; align-items:center; justify-content:center; gap:28px; width:100%; min-height:62px; padding:18px 22px; border-radius:14px; color:var(--primary-foreground); background:var(--primary); text-decoration:none; font-size:1.0625rem; font-weight:700; transition:background .15s,transform .15s; }
.continue:hover { background:#a91c5b; transform:translateY(-2px); }
.continue:focus-visible { outline:3px solid #351529; outline-offset:5px; }
.continue span { font-size:1.5rem; line-height:1; }
.destination { color:#785769; font-size:.875rem; margin:18px 0 0; }
footer { color:#785769; text-align:center; font-size:.875rem; line-height:1.5; max-width:330px; }
@media (prefers-reduced-motion:reduce) { .continue { transition:none; } }
@media (max-width:360px) { .gate { padding-inline:20px; } .continue { gap:14px; } }


