.auth-frame{--frame-faded:#8a8a8a;--frame-line-strong:#d3d1cf;--frame-error:#dc2626;--frame-ok:#059669;--frame-card-bg:linear-gradient(180deg, var(--chx-surface-2), #fcfbfa);--frame-shadow:inset 0 1px 0 #fff9, var(--chx-shadow-md);--frame-halo:0 0 0 3px #1a18151a, var(--chx-shadow-md);--frame-ease:.15s var(--ease-out)}.auth-frame .frame-focus:focus-visible{outline:2px solid var(--chx-text-1);outline-offset:2px}.auth-frame .frame-btn{border-radius:var(--chx-radius-button);cursor:pointer;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:0 22px;font-size:14px;font-weight:600;text-decoration:none;display:inline-flex}.auth-frame .frame-btn-primary{background:var(--chx-text-1);color:#fff;border:0}.auth-frame .frame-btn-secondary{border:1px solid var(--frame-line-strong);color:var(--chx-text-1);background:#fff}.auth-frame .frame-btn:disabled{opacity:.5;cursor:default}.auth-frame .frame-link{color:var(--chx-text-2);font-size:14px;font-weight:500;text-decoration:none}.auth-frame .frame-link:hover{text-decoration:underline}.auth-frame .frame-note{color:var(--chx-text-2);font-size:14px;line-height:1.5}.auth-frame .frame-note-error{color:var(--frame-error)}.auth-frame .frame-note-ok{color:var(--frame-ok)}.auth-frame .frame-field{border:1px solid var(--frame-line-strong);border-radius:var(--chx-radius-card);box-shadow:var(--frame-shadow);transition:border-color var(--frame-ease), box-shadow var(--frame-ease);background:#fff;position:relative}.auth-frame .frame-field:focus-within{border-color:var(--chx-text-1);box-shadow:var(--frame-halo)}.auth-frame .frame-field-invalid{border-color:var(--frame-error)}.auth-frame .frame-field-button{border-radius:calc(var(--chx-radius-card) - 4px)}.auth-frame .frame-field-input{box-sizing:border-box;min-width:0;height:52px;color:var(--chx-text-1);background:0 0;border:0;outline:none;flex:1;padding:18px 0 0;font-size:16px;line-height:1.25}.auth-frame .frame-field-input::placeholder{color:#0000;transition:color var(--frame-ease)}.auth-frame .frame-field-input:focus::placeholder{color:var(--frame-faded)}.auth-frame .frame-field-label{pointer-events:none;color:var(--chx-text-3);font-size:16px;line-height:1.25;transition:top .18s cubic-bezier(.2,0,0,1),transform .18s cubic-bezier(.2,0,0,1),font-size .18s cubic-bezier(.2,0,0,1);position:absolute;top:50%;left:16px;transform:translateY(-50%)}:-webkit-any(.auth-frame .frame-field-input:focus~.frame-field-label,.auth-frame .frame-field-input:not(:placeholder-shown)~.frame-field-label,.auth-frame .frame-field-input:-webkit-autofill~.frame-field-label){font-family:var(--font-dm-mono,"DM Mono"), "SF Mono", monospace;letter-spacing:.02em;font-size:11px;line-height:1;top:9px;transform:none}:is(.auth-frame .frame-field-input:focus~.frame-field-label,.auth-frame .frame-field-input:not(:placeholder-shown)~.frame-field-label,.auth-frame .frame-field-input:autofill~.frame-field-label){font-family:var(--font-dm-mono,"DM Mono"), "SF Mono", monospace;letter-spacing:.02em;font-size:11px;line-height:1;top:9px;transform:none}.auth-frame .frame-code{gap:12px;width:100%;display:flex;position:relative}.auth-frame .frame-code-input{z-index:1;opacity:0;color:#0000;caret-color:#0000;background:0 0;border:0;width:100%;height:100%;margin:0;padding:0;font-size:16px;position:absolute;inset:0}.auth-frame .frame-code-cell{box-sizing:border-box;border:1px solid var(--frame-line-strong);border-radius:var(--chx-radius-card);min-width:0;height:56px;box-shadow:var(--frame-shadow);font-family:var(--font-dm-mono,"DM Mono"), "SF Mono", monospace;color:var(--chx-text-1);transition:border-color var(--frame-ease), box-shadow var(--frame-ease);background:#fff;flex:1;justify-content:center;align-items:center;font-size:24px;font-weight:500;line-height:1;display:flex}.auth-frame .frame-code-cell-active{border-color:var(--chx-text-1);box-shadow:var(--frame-halo)}.auth-frame .frame-code-cell-active:after{content:"";background:var(--chx-text-1);width:1.5px;height:22px;animation:1.1s step-end infinite frame-caret}.auth-frame .frame-code-cell-invalid{border-color:var(--frame-error)}@keyframes frame-caret{50%{opacity:0}}@media (prefers-reduced-motion:reduce){.auth-frame *{scroll-behavior:auto!important;transition:none!important}.auth-frame .frame-code-cell-active:after{animation:none}}html:has(.auth-frame){scroll-padding-top:calc(57px + env(safe-area-inset-top))}