:root{--bg: #111315;--surface: #191c1f;--text: #f2f4f5;--muted: #9ca4aa;--accent: #35b7a0;--accent-deep: #2a9d88;--danger: #f06a62;--ok: #55b96b;--divider: rgba(255, 255, 255, .08);--font-display: "Outfit", "PingFang SC", "Noto Sans SC", sans-serif;--font-body: "Source Sans 3", "PingFang SC", "Noto Sans SC", system-ui, sans-serif;--ease: cubic-bezier(.22, 1, .36, 1)}*{box-sizing:border-box}html,body{margin:0;min-height:100%}body{font-family:var(--font-body);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased}.stage{position:relative;min-height:100vh;display:grid;place-items:center;padding:28px 20px;overflow:hidden}.stage__glow{position:absolute;top:-20%;right:-10%;bottom:-20%;left:-10%;pointer-events:none;background:radial-gradient(42% 36% at 18% 12%,rgba(53,183,160,.22),transparent 70%),radial-gradient(38% 32% at 86% 18%,rgba(92,169,255,.12),transparent 68%),radial-gradient(50% 40% at 50% 100%,rgba(53,183,160,.08),transparent 70%);animation:glow-drift 12s var(--ease) infinite alternate}.stage__grid{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:.18;background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);background-size:48px 48px;-webkit-mask-image:radial-gradient(ellipse at center,#000 35%,transparent 78%);mask-image:radial-gradient(ellipse at center,#000 35%,transparent 78%)}@keyframes glow-drift{0%{transform:translate3d(-1.5%,-1%,0) scale(1)}to{transform:translate3d(1.5%,1.5%,0) scale(1.04)}}.card{position:relative;z-index:1;width:min(420px,100%);background:color-mix(in srgb,var(--surface) 94%,transparent);border:1px solid var(--divider);border-radius:16px;padding:32px 28px 28px;box-shadow:0 24px 64px #00000059;animation:card-in .48s var(--ease) both}@keyframes card-in{0%{opacity:0;transform:translateY(14px) scale(.985)}to{opacity:1;transform:none}}.brand{margin:0 0 6px;font-family:var(--font-display);font-size:30px;font-weight:700;letter-spacing:-.03em}.sub{margin:0 0 22px;color:var(--muted);font-size:14px;line-height:1.5}label{display:block;margin:12px 0 6px;font-size:13px;color:var(--muted)}input{width:100%;padding:11px 12px;border-radius:10px;border:1px solid rgba(255,255,255,.12);background:#00000047;color:var(--text);font:inherit;transition:border-color .16s var(--ease),box-shadow .16s var(--ease)}input:focus{outline:none;border-color:color-mix(in srgb,var(--accent) 70%,#fff);box-shadow:0 0 0 3px #35b7a02e}button,.linkbtn{margin-top:18px;width:100%;padding:12px;border:0;border-radius:10px;background:linear-gradient(180deg,var(--accent),var(--accent-deep));color:#041018;font:inherit;font-weight:600;cursor:pointer;transition:transform .14s var(--ease),filter .14s var(--ease),opacity .14s var(--ease)}button:hover:not(:disabled){filter:brightness(1.05)}button:active:not(:disabled){transform:translateY(1px)}button:disabled{opacity:.72;cursor:default}.msg{margin-top:12px;font-size:13px}.msg.err{color:var(--danger)}.msg.ok{color:var(--ok)}.links{margin-top:16px;display:flex;gap:12px;flex-wrap:wrap;font-size:13px}.links a{color:var(--accent);text-decoration:none}.links a:hover{text-decoration:underline}.success{position:relative;z-index:1;width:min(440px,100%);text-align:center;padding:36px 28px 32px;border-radius:18px;background:color-mix(in srgb,var(--surface) 94%,transparent);border:1px solid var(--divider);box-shadow:0 28px 70px #0006;animation:card-in .52s var(--ease) both}.success__mark{width:72px;height:72px;margin:0 auto 18px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 35% 30%,#35b7a059,#35b7a014);border:1px solid rgba(53,183,160,.35);animation:mark-pop .56s var(--ease) both}.success__mark svg{width:34px;height:34px}.success__check{stroke:var(--accent);stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round;fill:none;stroke-dasharray:36;stroke-dashoffset:36;animation:check-draw .52s .18s var(--ease) forwards}@keyframes mark-pop{0%{opacity:0;transform:scale(.7)}70%{transform:scale(1.06)}to{opacity:1;transform:scale(1)}}@keyframes check-draw{to{stroke-dashoffset:0}}.success__brand{margin:0 0 8px;font-family:var(--font-display);font-size:28px;font-weight:700;letter-spacing:-.03em;animation:fade-up .48s .12s var(--ease) both}.success__title{margin:0 0 8px;font-size:18px;font-weight:600;animation:fade-up .48s .18s var(--ease) both}.success__desc{margin:0;color:var(--muted);font-size:14px;line-height:1.6;animation:fade-up .48s .24s var(--ease) both}.success__bar{margin:22px auto 0;width:min(220px,70%);height:3px;border-radius:999px;background:#ffffff14;overflow:hidden;animation:fade-up .48s .3s var(--ease) both}.success__bar>span{display:block;height:100%;width:0;border-radius:inherit;background:linear-gradient(90deg,transparent,var(--accent),transparent);background-size:200% 100%;animation:bar-fill 1.25s .36s var(--ease) forwards,bar-shine 1.1s .36s linear infinite}@keyframes fade-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes bar-fill{to{width:100%}}@keyframes bar-shine{0%{background-position:100% 0}to{background-position:-100% 0}}@media (prefers-reduced-motion: reduce){.stage__glow,.card,.success,.success__mark,.success__check,.success__brand,.success__title,.success__desc,.success__bar,.success__bar>span{animation:none!important}.success__check{stroke-dashoffset:0}.success__bar>span{width:100%}}
