:root{
    --bg:#070713;
    --bg2:#111225;
    --sheet:#111322;
    --sheet2:rgba(255,255,255,.075);
    --stroke:rgba(255,255,255,.13);
    --text:#fff;
    --muted:rgba(255,255,255,.63);
    --soft:rgba(255,255,255,.42);
    --gold:#f5c86a;
    --rose:#ff4f8b;
    --violet:#8f6cff;
    --cyan:#5ce1e6;
    --danger:#ff6b86;
    --radius:28px;
    --shadow:0 26px 90px rgba(0,0,0,.45);
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html{height:100%;background:var(--bg);overscroll-behavior:none}
body{
    min-height:100%;margin:0;color:var(--text);background:var(--bg);
    font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    overflow-x:hidden;-webkit-font-smoothing:antialiased;text-rendering:geometricPrecision;
}
a{color:inherit;text-decoration:none}button,input,select{font:inherit}button{border:0}
.sels-register-app{
    min-height:100svh;display:flex;justify-content:center;overflow:hidden;
    background:
        radial-gradient(circle at 18% 0%, rgba(245,200,106,.15), transparent 30%),
        radial-gradient(circle at 88% 20%, rgba(143,108,255,.26), transparent 33%),
        linear-gradient(180deg,#070713 0%,#0a0b18 44%,#05050b 100%);
}
.register-screen{
    position:relative;width:100%;max-width:520px;min-height:100svh;isolation:isolate;overflow:hidden;
    padding:calc(14px + env(safe-area-inset-top)) 16px calc(14px + env(safe-area-inset-bottom));
}
.app-bg-grid{position:absolute;inset:0;z-index:-3;opacity:.11;background-image:linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px);background-size:36px 36px;mask-image:linear-gradient(to bottom,transparent,#000 13%,#000 80%,transparent)}
.ambient{position:absolute;z-index:-2;border-radius:999px;filter:blur(30px);opacity:.8;animation:orbFloat 9s ease-in-out infinite}
.ambient-one{width:220px;height:220px;background:rgba(143,108,255,.34);top:72px;right:-110px}.ambient-two{width:170px;height:170px;background:rgba(255,79,139,.2);left:-78px;top:42%}.ambient-three{width:150px;height:150px;background:rgba(245,200,106,.17);right:22px;bottom:230px;animation-delay:-3s}
.register-topbar{height:48px;display:flex;align-items:center;justify-content:space-between;gap:10px;position:relative;z-index:4}
.back-pill,.login-pill,.brand-mark{border:1px solid var(--stroke);background:rgba(255,255,255,.075);backdrop-filter:blur(18px);box-shadow:0 12px 32px rgba(0,0,0,.18)}
.back-pill{width:43px;height:43px;border-radius:17px;display:grid;place-items:center;font-size:28px;line-height:1;color:#fff}.login-pill{height:43px;padding:0 13px;border-radius:17px;display:flex;align-items:center;font-size:12px;font-weight:900;color:rgba(255,255,255,.84)}
.brand-mark{min-width:0;height:43px;display:flex;align-items:center;gap:9px;padding:5px 10px 5px 6px;border-radius:18px}.brand-mark img{border-radius:13px;object-fit:cover}.brand-mark span{display:flex;flex-direction:column;line-height:1}.brand-mark strong{font-size:13px;letter-spacing:.16em}.brand-mark em{font-style:normal;font-size:9px;color:var(--muted);margin-top:3px;white-space:nowrap}
.register-hero{position:relative;text-align:center;padding:18px 2px 14px;display:flex;flex-direction:column;align-items:center}
.logo-motion{width:116px;height:116px;position:relative;display:grid;place-items:center;margin-top:2px;animation:logoBreath 3.2s ease-in-out infinite}
.logo-motion img{width:78px;height:78px;border-radius:24px;object-fit:cover;position:relative;z-index:2;box-shadow:0 20px 66px rgba(143,108,255,.34),0 0 0 1px rgba(255,255,255,.16)}
.motion-ring{position:absolute;inset:7px;border-radius:50%;border:1px solid rgba(255,255,255,.14);animation:spin 12s linear infinite}.ring-b{inset:20px;border-color:rgba(245,200,106,.25);animation-duration:8s;animation-direction:reverse}.motion-dot{position:absolute;width:7px;height:7px;border-radius:50%;background:var(--gold);box-shadow:0 0 20px var(--gold)}.dot-a{top:8px;left:50%}.dot-b{right:8px;bottom:34px;background:var(--rose);box-shadow:0 0 18px var(--rose)}.dot-c{left:16px;bottom:18px;background:var(--cyan);box-shadow:0 0 18px var(--cyan)}
.age-badge{margin:12px 0 10px;padding:8px 13px;border-radius:999px;border:1px solid rgba(245,200,106,.28);background:linear-gradient(135deg,rgba(245,200,106,.16),rgba(255,255,255,.055));color:var(--gold);font-size:12px;font-weight:950;letter-spacing:.08em;text-transform:uppercase;box-shadow:0 14px 40px rgba(245,200,106,.08)}
h1{max-width:390px;margin:0;font-size:clamp(28px,7.3vw,42px);line-height:1.02;letter-spacing:-.05em;text-wrap:balance;text-shadow:0 22px 60px rgba(143,108,255,.28)}
.hero-copy{max-width:360px;margin:12px auto 0;color:var(--muted);font-size:14px;line-height:1.48}
.register-card{position:relative;margin-top:8px;border:1px solid rgba(255,255,255,.14);border-radius:34px;padding:12px 14px 18px;background:linear-gradient(180deg,rgba(255,255,255,.12),rgba(255,255,255,.065) 28%,rgba(11,12,25,.92));backdrop-filter:blur(24px);box-shadow:var(--shadow)}
.sheet-handle{width:46px;height:5px;border-radius:999px;background:rgba(255,255,255,.22);margin:2px auto 14px}.form-head{display:flex;flex-direction:column;align-items:flex-start;text-align:left;margin-bottom:12px}.form-head span{color:var(--gold);font-size:11px;font-weight:950;text-transform:uppercase;letter-spacing:.12em}.form-head h2{margin:5px 0 3px;font-size:25px;letter-spacing:-.04em}.form-head p{margin:0;color:var(--muted);font-size:12px;line-height:1.35}.alert-box{display:grid;gap:7px;margin:0 0 12px;padding:11px;border-radius:18px;border:1px solid rgba(255,107,134,.28);background:rgba(255,107,134,.105);color:#ffd3dc;font-size:12px;font-weight:750}.photo-picker{display:flex;align-items:center;gap:12px;margin-bottom:12px;cursor:pointer}.photo-picker input{position:absolute;opacity:0;pointer-events:none}.photo-preview{width:78px;height:78px;flex:0 0 78px;border-radius:25px;border:1px dashed rgba(245,200,106,.42);background:rgba(245,200,106,.08);display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden;box-shadow:inset 0 1px 0 rgba(255,255,255,.12)}.photo-preview b{font-size:28px;line-height:1;color:var(--gold)}.photo-preview small{margin-top:4px;font-size:10px;color:rgba(255,255,255,.72);font-weight:850}.photo-preview img{width:100%;height:100%;object-fit:cover}.photo-picker em{font-style:normal;color:var(--muted);font-size:12px;line-height:1.35;text-align:left}
.field-grid{display:grid;gap:10px;margin-bottom:10px}.field-grid.two{grid-template-columns:1fr 1fr}.field{position:relative;display:flex;flex-direction:column;gap:7px;margin-bottom:10px;text-align:left}.field span{font-size:11px;font-weight:900;color:rgba(255,255,255,.72);padding-left:4px}.field input,.field select{width:100%;height:54px;border:1px solid rgba(255,255,255,.13);border-radius:19px;padding:0 15px;background:rgba(255,255,255,.075);color:#fff;outline:0;box-shadow:inset 0 1px 0 rgba(255,255,255,.08);transition:border-color .18s ease,background .18s ease,transform .18s ease}.field select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,rgba(255,255,255,.7) 50%),linear-gradient(135deg,rgba(255,255,255,.7) 50%,transparent 50%);background-position:calc(100% - 18px) 23px,calc(100% - 13px) 23px;background-size:5px 5px,5px 5px;background-repeat:no-repeat}.field input::placeholder{color:rgba(255,255,255,.34)}.field input:focus,.field select:focus{border-color:rgba(245,200,106,.46);background:rgba(255,255,255,.105);transform:translateY(-1px)}.field select option{background:#111225;color:#fff}.rules-strip{display:flex;gap:7px;overflow-x:auto;scrollbar-width:none;margin:0 0 13px;padding-bottom:1px}.rules-strip::-webkit-scrollbar{display:none}.rules-strip span{flex:0 0 auto;min-height:30px;display:inline-flex;align-items:center;padding:0 10px;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.06);color:rgba(255,255,255,.76);font-size:11px;font-weight:850}.submit-btn{width:100%;height:64px;border-radius:23px;background:linear-gradient(135deg,#f5c86a 0%,#ff4f8b 52%,#8f6cff 100%);color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 19px;box-shadow:0 22px 60px rgba(255,79,139,.24);font-weight:950;cursor:pointer}.submit-btn span{font-size:16px}.submit-btn em{font-style:normal;font-size:34px;line-height:1}.submit-btn:active{transform:scale(.985)}.legal-copy{margin:12px auto 0;max-width:330px;text-align:center;color:rgba(255,255,255,.48);font-size:10.5px;line-height:1.4}.legal-copy a{color:rgba(255,255,255,.72);font-weight:800}.switch-link{margin:13px 0 0;text-align:center;color:rgba(255,255,255,.58);font-size:13px}.switch-link a{color:var(--gold);font-weight:950}
@media (max-height:760px){.register-hero{padding-top:8px}.logo-motion{width:94px;height:94px}.logo-motion img{width:66px;height:66px;border-radius:20px}.age-badge{margin-top:8px}.hero-copy{display:none}.register-card{margin-top:2px}.field input,.field select{height:50px}.photo-preview{width:68px;height:68px;flex-basis:68px}.submit-btn{height:58px}.store-safe-note{display:none}}
@media (max-width:370px){.register-screen{padding-left:12px;padding-right:12px}.field-grid.two{grid-template-columns:1fr}.brand-mark em{display:none}.photo-picker{align-items:flex-start}.register-card{border-radius:30px}}
@media (min-width:700px){.sels-register-app{align-items:center;padding:26px}.register-screen{min-height:min(920px,calc(100svh - 52px));border:1px solid rgba(255,255,255,.12);border-radius:42px;box-shadow:0 34px 110px rgba(0,0,0,.42)}}
@media (prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes logoBreath{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-4px) scale(1.035)}}
@keyframes orbFloat{0%,100%{transform:translate3d(0,0,0) scale(1)}50%{transform:translate3d(12px,-15px,0) scale(1.06)}}
.oauth-divider {
    display: flex;
    align-items: center;
    gap: 14px;
    margin: 18px 0 14px;
    color: rgba(255, 255, 255, .62);
    font-size: 13px;
    font-weight: 700;
}

.oauth-divider::before,
.oauth-divider::after {
    content: "";
    flex: 1;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,.18), transparent);
}

.oauth-divider span {
    white-space: nowrap;
}

.google-auth-btn {
    display: grid;
    grid-template-columns: 24px 1fr auto;
    align-items: center;
    gap: 12px;
    width: 100%;
    min-height: 56px;
    padding: 13px 16px;
    margin-bottom: 16px;
    border-radius: 20px;
    background: #ffffff;
    color: #111827;
    text-decoration: none;
    font-weight: 900;
    box-shadow: 0 16px 40px rgba(0, 0, 0, .22);
    border: 1px solid rgba(255, 255, 255, .35);
    transition: transform .18s ease, box-shadow .18s ease, opacity .18s ease;
}

.google-auth-btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 20px 50px rgba(0, 0, 0, .28);
}

.google-auth-btn:active {
    transform: translateY(0) scale(.99);
    opacity: .9;
}

.google-auth-btn .google-icon {
    width: 24px;
    height: 24px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.google-auth-btn span:not(.google-icon) {
    color: #111827;
}

.google-auth-btn em {
    font-style: normal;
    font-size: 12px;
    color: #6b7280;
    font-weight: 800;
}