* { box-sizing: border-box; }
:root { color-scheme: dark; --bg:#050914; --panel:#111827; --muted:#a9adbb; --white:#f8f9fc; --line:#263047; --accent:#e9edf5; }
html, body { margin:0; min-height:100%; background:var(--bg); color:var(--white); font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
body { min-height:100svh; }
button, a { font:inherit; }
.shell { position:relative; min-height:100svh; overflow:hidden; display:flex; justify-content:center; align-items:center; padding:34px 22px max(34px, env(safe-area-inset-bottom)); isolation:isolate; }
.stars { position:fixed; inset:0; z-index:-1; pointer-events:none; background-image:
 radial-gradient(1.5px 1.5px at 12% 16%, #fff 98%, transparent),
 radial-gradient(1px 1px at 68% 12%, #dce6ff 98%, transparent),
 radial-gradient(2px 2px at 82% 34%, #fff 98%, transparent),
 radial-gradient(1px 1px at 24% 62%, #dce6ff 98%, transparent),
 radial-gradient(1.5px 1.5px at 90% 82%, #fff 98%, transparent),
 radial-gradient(1px 1px at 45% 90%, #fff 98%, transparent);
 background-size: 290px 310px, 370px 400px, 430px 390px, 510px 470px, 600px 560px, 700px 640px;
 opacity:.65; }
.screen { width:min(100%, 440px); text-align:center; animation:appear .35s ease both; }
.screen[hidden] { display:none; }
.profile { margin:0 auto 34px; }
.avatar { width:88px; height:88px; display:grid; place-items:center; margin:0 auto 20px; border-radius:50%; background:#1c2231; font-size:42px; font-weight:600; }
h1 { font-size:29px; letter-spacing:-.7px; margin:0 0 14px; }
.intro { max-width:330px; margin:0 auto; color:#b6b9c5; font-size:19px; line-height:1.5; }
.hold-button { width:100%; min-height:76px; border:0; border-radius:20px; background:#fbfbfd; color:#10131b; font-size:23px; font-weight:750; display:flex; align-items:center; justify-content:center; gap:13px; position:relative; overflow:hidden; box-shadow:0 5px 0 #bfc2ca; touch-action:none; user-select:none; -webkit-user-select:none; cursor:pointer; }
.hold-button:active, .hold-button.is-holding { transform:translateY(2px); box-shadow:0 3px 0 #bfc2ca; }
.hold-progress { position:absolute; left:0; bottom:0; height:5px; width:0; background:#7388b8; transition:width .04s linear; }
.hint { margin:29px 0 0; color:#9297a6; font-size:16px; }
.fineprint { margin-top:74px; color:#626b7e; font-size:11px; letter-spacing:1.2px; text-transform:uppercase; }
.modal-card, .step-card { padding:30px 23px; border:1px solid rgba(255,255,255,.09); border-radius:25px; background:rgba(15,22,37,.94); box-shadow:0 22px 70px rgba(0,0,0,.4); }
.modal-icon, .step-symbol { width:62px; height:62px; border-radius:50%; margin:0 auto 18px; display:grid; place-items:center; background:#202a40; font-size:30px; }
h2 { font-size:25px; margin:0 0 12px; letter-spacing:-.5px; }
.modal-card p, .step-copy { color:#b6bdcc; line-height:1.6; font-size:15px; margin:0 auto 22px; }
.primary-action, .secondary-action { width:100%; min-height:54px; display:flex; justify-content:center; align-items:center; border-radius:14px; text-decoration:none; font-weight:700; cursor:pointer; border:0; }
.primary-action { background:#f7f8fb; color:#0c1220; }
.primary-action:disabled { opacity:.45; cursor:not-allowed; }
.secondary-action { margin-top:12px; background:#202a40; color:#f7f8fb; border:1px solid #35415a; }
.small-note { color:#858da0; font-size:12px; line-height:1.55; margin:18px 0 0; }
.text-action { background:none; border:0; color:#c0c8d8; text-decoration:underline; padding:16px 10px 0; cursor:pointer; }
.eyebrow { color:#8895ad; font-size:10px; letter-spacing:2px; font-weight:700; margin:0 0 10px; }
.turnstile-box { display:flex; justify-content:center; min-height:66px; margin:12px 0; }
.status { color:#aeb9ca; min-height:22px; font-size:13px; }
.links-header { margin-bottom:28px; }
.small-avatar { width:66px; height:66px; font-size:30px; margin-bottom:17px; }
.links-header h2 { margin-bottom:8px; }
.link-list { display:grid; gap:12px; }
.destination { min-height:72px; display:flex; align-items:center; justify-content:space-between; text-align:left; gap:14px; padding:15px 18px; color:#f8f9fc; background:rgba(22,31,49,.94); border:1px solid #29344a; border-radius:16px; text-decoration:none; }
.destination-copy { display:grid; gap:5px; font-weight:700; }
.destination small { color:#9da7ba; font-size:12px; font-weight:400; }
.arrow { font-size:22px; color:#b7c3d8; }
.footer-note { margin-top:24px; text-align:center; }
.noscript { position:fixed; bottom:10px; left:10px; right:10px; text-align:center; color:#fff; }
@keyframes appear { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:translateY(0); } }
@media (max-height:650px) { .shell { align-items:flex-start; } .fineprint { margin-top:35px; } }
