/* Burgundy identity */
.auth-story{background:radial-gradient(ellipse at 10% 10%,#b92a5555,transparent 64%),linear-gradient(155deg,#420c22,#240b17 70%,#130b15);color:#fff1f6}.auth-story .brand small,.auth-manifest>.eyebrow{color:#e7a8be}.auth-manifest h1 i{color:#f78eaf}.auth-manifest p{color:#d8bac7}.auth-signature{color:#d3a8b9}.auth-sculpture{border-color:#f6a3c533;background:linear-gradient(120deg,transparent,#ff9ab70d);animation:pp-orbit 10s ease-in-out infinite alternate}.auth-sculpture:before,.auth-sculpture:after{border-color:#f6a3c525}
.identity-card{color:#fff1f6;background:radial-gradient(ellipse at 100% 0%,#982d5355,transparent 70%),linear-gradient(135deg,#4b122b,#220b18);border-color:#f9bfd124;box-shadow:inset 0 1px 1px #ffffff22,0 15px 30px #39102717}.identity-card>.eyebrow,.identity-card>p,.identity-footer,.identity-balance>small{color:#e8bdd0}.identity-avatar{background:#ffffff0d;border-color:#f4cad440}.identity-top .verified-mark{color:#f3b6d0}
.auth-entry{perspective:1200px}.auth-box,.auth-mobile-brand{animation:pp-auth-in .65s cubic-bezier(.16,1,.3,1) both}.auth-manifest>.eyebrow,.auth-manifest h1,.auth-manifest p{animation:pp-auth-in .85s cubic-bezier(.16,1,.3,1) both}.auth-manifest h1{animation-delay:.08s}.auth-manifest p{animation-delay:.15s}.auth-box input{transition:border-color .18s,box-shadow .18s}.auth-box input:focus{outline:0;border-color:#bd4267;box-shadow:0 0 0 3px #e03b6418}
.pp-password{position:relative;display:block;width:100%;margin:0}.pp-password input{width:100%;padding-right:54px!important;margin-bottom:0!important}.pp-password .pp-password-eye{position:absolute;right:4px;top:50%;transform:translateY(-50%);width:44px;height:44px;display:grid;place-items:center;padding:0;border:0;border-radius:10px;background:transparent;color:var(--muted);z-index:2}.pp-password-eye svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.7}.pp-password-eye:active{transform:translateY(-50%)!important}.pp-password-eye[aria-pressed=true]{color:var(--accent)}.auth-box .pp-password+button{margin-top:22px}.auth-box input:-webkit-autofill{-webkit-text-fill-color:var(--ink);-webkit-box-shadow:0 0 0 1000px var(--surface) inset;caret-color:var(--ink)}.auth-box .auth-help button{font-size:inherit;color:var(--accent);text-decoration:underline;text-underline-offset:4px;padding:4px 0}
/* Logo assembly → particle burst → dimensional entrance */
.pp-splash{position:fixed;inset:0;z-index:10000;overflow:hidden;display:grid;place-items:center;background:radial-gradient(ellipse at 50% 40%,#52203d 0%,#210e21 36%,#100b18 75%);color:white;perspective:1000px}.pp-splash:before{content:'';position:absolute;width:min(90vw,700px);aspect-ratio:1;border-radius:50%;border:1px solid #ed94c012;box-shadow:0 0 90px #a14dc01c,inset 0 0 90px #c555a012;transform:rotateX(60deg) rotateZ(-20deg);animation:pp-cosmos 2.6s ease-out both;pointer-events:none}.pp-splash-particles{position:absolute;width:100%;height:100%;inset:0}.pp-splash-word{position:absolute;top:46%;left:50%;transform:translate(-50%,-50%);font:700 clamp(38px,10vw,78px)/1 Onest,sans-serif;letter-spacing:-3px;white-space:nowrap}.pp-splash-word span{color:#f3a7c6}.pp-splash.pp-canvas-ready .pp-splash-word{opacity:0}.pp-splash-caption{position:absolute;top:calc(46% + 58px);left:0;width:100%;text-align:center;font-size:10px;letter-spacing:2.2px;color:#ebbacf;animation:pp-caption 1.6s ease both;pointer-events:none}.pp-splash-footer{position:absolute;bottom:calc(24px + env(safe-area-inset-bottom));font-size:9px;letter-spacing:2px;color:#c2a5bb}.pp-splash-skip{position:absolute;top:calc(18px + env(safe-area-inset-top));right:18px;padding:12px 16px;border-radius:30px;border:1px solid #ffffff20;background:#ffffff08;color:#dcc6d4;font-size:12px;z-index:2}.pp-splash.pp-burst{animation:pp-space-exit .7s cubic-bezier(.7,0,.2,1) forwards}.pp-booting #app{visibility:hidden}.pp-arrived #app{animation:pp-world-enter .6s cubic-bezier(.16,1,.3,1) both;transform-origin:center 35%}.pp-static:before,.pp-static .pp-splash-caption{animation:none}
/* Keep current page intact while slow requests complete. */
.pp-wait[hidden]{display:none}.pp-wait{position:fixed;inset:0;z-index:2500;display:grid;place-items:center;padding:24px;background:color-mix(in srgb,var(--bg) 78%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);pointer-events:none;animation:pp-wait-in .22s ease both}.pp-wait-card{width:min(310px,100%);text-align:center;padding:26px 20px 16px;border:1px solid var(--line);border-radius:28px;background:var(--surface);box-shadow:inset 0 1px #ffffff12,0 24px 70px #180c2120}.pp-wait-pet{width:108px;height:118px;margin:0 auto 16px;filter:drop-shadow(0 6px 15px #b257b530)}.pp-wait-pet:empty{width:52px;height:52px;border:3px solid #e03b6430;border-top-color:#e03b64;border-radius:50%;animation:pp-loader-spin 1s linear infinite}.pp-wait-pet svg{display:block;width:100%;height:100%;overflow:visible}.pp-wait-pet .pixel-body{animation:pp-shark-bob 1.6s ease-in-out infinite;transform-origin:center}.pp-wait-pet .pet-fin{animation:pp-fin-wave .65s steps(2,end) infinite}.pp-wait-pet .pet-eye{animation:pp-eye-blink 3s steps(1,end) infinite}.pp-wait-card strong{font-size:17px;display:block;line-height:1.4}.pp-wait-card p{font-size:12px;color:var(--muted);margin:8px 0 14px}.pp-wait-dots{display:flex;justify-content:center;gap:6px}.pp-wait-dots i{display:block;width:4px;height:4px;border-radius:1px;background:var(--accent);animation:pp-dot 1s ease infinite}.pp-wait-dots i:nth-child(2){animation-delay:.16s}.pp-wait-dots i:nth-child(3){animation-delay:.32s}.pp-wait-card>button{pointer-events:auto;margin-top:16px;font-size:11px;color:var(--muted);min-height:40px;padding:8px 14px;border-radius:16px}.pp-recovery-note{font-size:13px;color:var(--muted);line-height:1.6}.pp-recovery-form input{font-size:16px}.pp-recovery-error{color:var(--accent);font-size:13px}
@keyframes pp-auth-in{from{opacity:0;transform:translateY(14px) rotateX(3deg)}to{opacity:1;transform:none}}@keyframes pp-orbit{from{transform:rotate(24deg) translateY(-10px)}to{transform:rotate(30deg) translateY(14px)}}@keyframes pp-cosmos{from{opacity:0;scale:.7}to{opacity:1;scale:1.3}}@keyframes pp-caption{0%,30%{opacity:0;translate:0 8px}100%{opacity:1;translate:0 0}}@keyframes pp-space-exit{from{opacity:1;filter:blur(0)}to{opacity:0;filter:blur(6px);transform:perspective(900px) translateZ(100px)}}@keyframes pp-world-enter{from{opacity:.2;transform:perspective(1200px) translateZ(-50px) rotateX(2deg)}to{opacity:1;transform:none}}@keyframes pp-wait-in{from{opacity:0}to{opacity:1}}@keyframes pp-shark-bob{50%{translate:0 -1px}}@keyframes pp-fin-wave{50%{translate:0 -1px}}@keyframes pp-eye-blink{0%,92%,100%{opacity:1}94%,97%{opacity:0}}@keyframes pp-dot{50%{opacity:.3;translate:0 -3px}}@keyframes pp-loader-spin{to{rotate:360deg}}
@media(prefers-reduced-motion:reduce){.pp-splash:before,.pp-splash-caption,.pp-arrived #app,.auth-box,.auth-mobile-brand,.auth-manifest>*,.auth-sculpture,.pp-wait,.pp-wait *{animation:none!important;transition:none!important}.pp-splash.pp-burst{animation:none}}
html[data-motion=reduced] .pp-splash:before,html[data-motion=reduced] .pp-splash-caption,html[data-motion=reduced] .pp-arrived #app,html[data-motion=reduced] .auth-box,html[data-motion=reduced] .auth-mobile-brand,html[data-motion=reduced] .auth-manifest>*,html[data-motion=reduced] .auth-sculpture,html[data-motion=reduced] .pp-wait,html[data-motion=reduced] .pp-wait *{animation:none!important;transition:none!important}
