:root{--bg:#fff;--fg:#111;--muted:#5b5b5f;--line:#e2e2e6;--soft:#f4f4f6;--plus:#e8352b;--error:#b42318;--error-bg:#fef3f2;--info-bg:#f0f6ff;--info:#1d4ed8;--ok:#067647;--ok-bg:#ecfdf3;--radius:10px;--font:-apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--fg);font-family:var(--font);-webkit-text-size-adjust:100%;margin:0;font-size:17px;line-height:1.5}a{color:inherit}:focus-visible{outline-offset:2px;outline:3px solid #3b82f6}.page{min-height:100dvh;padding-inline:20px;padding-block:env(safe-area-inset-top,0px) env(safe-area-inset-bottom,0px);flex-direction:column;display:flex}.top{justify-content:flex-end;padding-block:12px;display:flex}.content{flex-direction:column;gap:20px;width:100%;max-width:420px;margin:0 auto;padding-block:24px 48px;display:flex}.logo{letter-spacing:-.03em;align-self:center;font-weight:800;line-height:1}.logo--large{margin-block:8px 12px;font-size:3rem}.logo--small{font-size:1.4rem}.logo__plus{color:var(--plus)}.title{letter-spacing:-.01em;margin:0;font-size:1.6rem;line-height:1.2}.subtitle{margin:0;font-size:1.1rem}.lead{margin:0;font-size:1.15rem}.muted{color:var(--muted);margin:0}.fine{color:var(--muted);margin:0;font-size:.82rem}.fine a{text-decoration:underline}.center{text-align:center}.stack{flex-direction:column;gap:16px;display:flex}.row{flex-wrap:wrap;justify-content:space-between;gap:12px;display:flex}.primary{border-radius:var(--radius);color:#fff;width:100%;min-height:52px;font:600 1rem var(--font);cursor:pointer;background:#111;border:0;justify-content:center;align-items:center;gap:8px;padding:12px 20px;text-decoration:none;display:flex}.primary:disabled{opacity:.6;cursor:progress}.secondary{border-radius:var(--radius);color:#111;min-height:44px;font:600 .95rem var(--font);text-align:center;cursor:pointer;background:#fff;border:1.5px solid #111;flex:1;justify-content:center;align-items:center;padding:8px 16px;text-decoration:none;display:inline-flex}.link-button{font:500 .95rem var(--font);color:var(--fg);cursor:pointer;background:0 0;border:0;padding:8px 0;text-decoration:underline}.link{align-self:center;font-weight:600}.field{flex-direction:column;gap:6px;display:flex}.field__label{font-size:.95rem;font-weight:600}.field__hint{color:var(--muted);font-size:.9rem}.field__error{color:var(--error);font-size:.9rem;font-weight:500}.input{border-radius:var(--radius);width:100%;min-height:52px;font:400 1.05rem var(--font);color:var(--fg);background:#fff;border:1.5px solid #c9c9cf;padding:12px 14px}.input[aria-invalid=true]{border-color:var(--error)}.input--code{letter-spacing:.4em;text-align:center;font-variant-numeric:tabular-nums;font-size:1.6rem}.phone{align-items:stretch;gap:8px;display:flex}.phone__prefix{border-radius:var(--radius);background:var(--soft);white-space:nowrap;border:1.5px solid #c9c9cf;align-items:center;padding:0 12px;display:inline-flex}.phone .input{flex:1;min-width:0}.alert{border-radius:var(--radius);margin:0;padding:12px 14px;font-size:.95rem}.alert--error{background:var(--error-bg);color:var(--error)}.alert--info{background:var(--info-bg);color:var(--info)}.points{flex-direction:column;gap:18px;margin:0;padding:0;list-style:none;display:flex}.points li{grid-template-columns:28px 1fr;align-items:start;gap:10px;display:grid}.points p{color:var(--muted);margin:4px 0 0;font-size:.95rem}.points__icon{font-size:1.2rem;line-height:1.4}.card{border:1px solid var(--line);border-radius:14px;padding:18px}.invite-link{background:var(--soft);overflow-wrap:anywhere;border-radius:8px;padding:10px 12px;font-size:.9rem;display:block}.invites{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.invites li{justify-content:space-between;align-items:center;font-size:.95rem;display:flex}.invites__code{font-variant-numeric:tabular-nums;color:var(--muted)}.badge{background:var(--soft);border-radius:999px;padding:2px 10px;font-size:.8rem}.badge--used{background:var(--ok-bg);color:var(--ok)}.badge--expired{color:var(--muted)}.spinner{border:3px solid var(--line);border-top-color:#111;border-radius:50%;width:36px;height:36px;margin:32px auto;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.spinner{animation-duration:3s}}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}
