*{box-sizing:border-box;margin:0;padding:0}
:root{--a:#ff2d75;--b:#8b3dff;--bg:#0e0b16}
body{min-height:100vh;font-family:"Segoe UI",Arial,sans-serif;color:#eee;background:radial-gradient(900px 500px at 50% -10%,#3b1260 0,transparent 60%),radial-gradient(600px 400px at 90% 100%,#5c0f34 0,transparent 60%),var(--bg);display:grid;place-items:center;padding:24px}
body.modal-open{overflow:hidden}
.bot-rule{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.wrap{width:100%;max-width:520px;text-align:center;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.04);border-radius:24px;padding:42px 28px;backdrop-filter:blur(8px);box-shadow:0 0 60px rgba(139,61,255,.18)}
.age{width:104px;height:104px;margin:0 auto 22px;border-radius:50%;display:grid;place-items:center;font-size:38px;font-weight:800;background:#000;border:4px solid transparent;background-image:linear-gradient(#000,#000),linear-gradient(135deg,var(--a),var(--b));background-origin:border-box;background-clip:padding-box,border-box;box-shadow:0 0 30px rgba(255,45,117,.5)}
h1{font-size:26px;line-height:1.35;font-weight:700;margin-bottom:10px}
.brand-logo{display:block;width:240px;max-width:80%;height:auto;margin:0 auto 10px}
.lead{color:#b9b3c9;font-size:16px;line-height:1.6;margin-bottom:28px}
.cta{width:100%;padding:18px;border:0;border-radius:14px;background:linear-gradient(90deg,var(--a),var(--b));color:#fff;font-size:20px;font-weight:600;cursor:pointer;transition:.15s;box-shadow:0 8px 28px rgba(255,45,117,.35)}
.cta:hover{transform:translateY(-2px);filter:brightness(1.1)}
.exit{display:inline-block;margin-top:20px;color:#9d96b3;font-size:15px}
.legal{margin-top:28px;padding-top:20px;border-top:1px solid rgba(255,255,255,.08);color:#8d86a3;font-size:13px;line-height:1.6;text-align:left}
.legal p+p{margin-top:10px}
#modal{position:fixed;inset:0;background:rgba(5,3,10,.78);backdrop-filter:blur(6px);display:grid;place-items:center;padding:18px;z-index:9}
#modal[hidden]{display:none}
.card{position:relative;width:100%;max-width:430px;background:#17122a;border:1px solid rgba(255,255,255,.12);border-radius:20px;padding:28px 24px 24px;animation:pop .2s ease}
@keyframes pop{from{transform:scale(.94);opacity:0}}
.card h2{font-size:20px;margin-bottom:6px}
.card .sub{color:#a79fbd;font-size:14px;line-height:1.5;margin-bottom:18px}
.x{position:absolute;top:10px;right:16px;background:none;border:0;font-size:26px;color:#8d86a3;cursor:pointer}
#slide-track{position:relative;height:54px;border-radius:12px;background:#0e0a1c;border:1px solid rgba(255,255,255,.14);overflow:hidden;user-select:none;touch-action:none}
#slide-fill{position:absolute;left:0;top:0;bottom:0;width:0;background:linear-gradient(90deg,rgba(255,45,117,.35),rgba(139,61,255,.35))}
#slide-label{position:absolute;inset:0;display:grid;place-items:center;color:#8d86a3;font-size:15px;pointer-events:none;padding-left:50px}
#slide-handle{position:absolute;left:4px;top:4px;width:44px;height:44px;border-radius:9px;background:linear-gradient(135deg,var(--a),var(--b));display:grid;place-items:center;cursor:grab;color:#fff;font-size:20px;border:0;touch-action:none}
#slide-handle:focus-visible{outline:2px solid #fff}
#slide-track.done #slide-label{color:#5df29a}
#slide-track.done #slide-handle{background:#22b358;cursor:default}
.agree{display:flex;gap:10px;margin:18px 0 12px;font-size:14px;line-height:1.5;color:#c9c3da;cursor:pointer}
.agree input{margin-top:3px;width:18px;height:18px;accent-color:var(--a);flex:none}
.msg{min-height:20px;font-size:14px;margin-bottom:8px}.msg.ok{color:#5df29a}.msg.err{color:#ff6b84}
.go{width:100%;padding:15px;border:0;border-radius:12px;background:linear-gradient(90deg,var(--a),var(--b));color:#fff;font-size:17px;font-weight:600;cursor:pointer}
.go:disabled{opacity:.35;cursor:not-allowed}
#fallback{margin-top:10px;font-size:14px;text-align:center}#fallback a{color:var(--a)}
