.welcome-screen { transition:opacity .7s ease, transform .7s ease; }
.welcome-screen.leaving { opacity:0; transform:scale(1.03); pointer-events:none; }
.eyebrow { margin:0 0 22px; color:#aabff8; font:500 11px/1.2 ui-monospace,monospace; letter-spacing:.28em; }
h1 { margin:0; font-size:clamp(27px,4vw,54px); font-weight:400; line-height:1.5; letter-spacing:.07em; text-shadow:0 0 24px rgba(174,191,255,.45); }
h1 span { color:#fff2bd; text-shadow:0 0 17px #ffe29d; }
.actions { display:flex; gap:14px; margin-top:42px; }
.magic-button,.gesture-button { padding:13px 25px; min-width:142px; border-radius:999px; transition:transform .25s,background .25s; }
.magic-button { border:1px solid rgba(238,227,255,.72); background:linear-gradient(120deg,rgba(120,127,245,.65),rgba(236,142,219,.45)); box-shadow:0 0 28px rgba(126,127,255,.34); }
.gesture-button { border:1px solid rgba(166,195,255,.34); background:rgba(12,25,68,.48); }
.magic-button:hover,.gesture-button:hover { transform:translateY(-3px); }
.gesture-status { min-height:24px; margin:19px 0 0; color:#bfd0ff; font-size:14px; letter-spacing:.08em; }
.phase-one-copy { opacity:0; pointer-events:none; z-index:3; justify-content:flex-end; padding-bottom:10vh; transition:opacity 1.8s ease; }
.phase-one-copy.visible { opacity:1; }
.phase-one-copy.transitioning-out { opacity:0; transform:scale(1.025); transition:opacity 1.9s ease,transform 1.9s ease; }
#three-stage { opacity:1; transition:opacity 1.9s ease,filter 1.9s ease; }
#three-stage.phase-one-fading { opacity:0; filter:blur(4px); }
.nineteen-message { margin:0; font-size:clamp(18px,2.2vw,27px); letter-spacing:.16em; color:#f2eaff; text-shadow:0 0 20px rgba(213,168,255,.75); }
.phase-complete { margin:16px 0 0; opacity:.55; font-size:12px; letter-spacing:.24em; color:#a8c5ff; }
.enter-phase-two { margin-top:22px; padding:10px 20px; border:1px solid rgba(190,207,255,.38); border-radius:999px; background:rgba(12,21,55,.46); opacity:0; pointer-events:none; transform:translateY(8px); transition:opacity 1s ease,transform 1s ease,background .25s ease; }
.enter-phase-two.visible { opacity:1; pointer-events:auto; transform:translateY(0); }
.enter-phase-two:hover,.enter-phase-two.gesture-hover { color:#fff; border-color:rgba(224,213,255,.82); background:rgba(116,104,204,.58); box-shadow:0 0 15px rgba(188,173,255,.48),0 0 36px rgba(146,125,255,.24); }
.phase-one-entry-cursor { position:fixed; z-index:7; left:0; top:0; width:20px; height:20px; border:1px solid rgba(247,238,255,.95); border-radius:50%; opacity:0; pointer-events:none; transform:translate(-50%,-50%); box-shadow:0 0 7px #fff,0 0 21px #ad96ff; transition:opacity .12s; }
.phase-one-entry-cursor.visible { opacity:1; }
.phase-one-entry-cursor::after { content:""; position:absolute; inset:5px; border-radius:50%; background:#fff; box-shadow:0 0 7px #fff; }
