.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.auth-screen{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:2rem 1.25rem;background:#fff;box-sizing:border-box}.auth-card{width:100%;max-width:420px}.auth-logo{display:block;width:190px;max-width:62%;height:auto;margin:0 auto 2.25rem}.auth-heading{margin:0 0 1.5rem;text-align:center;font-size:1.5rem;font-weight:600;letter-spacing:-.01em;color:var(--ink)}.auth-form{display:grid;grid-gap:1rem;gap:1rem}.auth-field input{width:100%;box-sizing:border-box;height:64px;padding:0 1.1rem;border:1.5px solid transparent;border-radius:10px;background:#f2f2f2;font:inherit;font-size:1rem;color:var(--ink);transition:background .12s,border-color .12s}.auth-field input::placeholder{color:#767676;opacity:1}.auth-field input:hover{background:#ededed}.auth-field input:focus{outline:none;background:#fff;border-color:var(--bronze);box-shadow:0 0 0 3px rgba(170,136,93,.18)}.auth-code{font-family:ui-monospace,Menlo,monospace;letter-spacing:2px;text-transform:uppercase}.auth-hint{margin:.4rem 0 0;font-size:.82rem;color:var(--muted)}.auth-firsttime{margin:1.25rem 0 0;text-align:center;font-size:.9rem;color:var(--muted)}.auth-firsttime a{font-weight:600;color:var(--bronze)}.auth-rules{list-style:none;margin:.6rem 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:.25rem .75rem;gap:.25rem .75rem;font-size:.82rem;color:var(--muted)}@media (max-width:480px){.auth-rules{grid-template-columns:1fr}}.auth-rules li:before{content:"○";margin-right:.4rem}.auth-rules li[data-met=yes]{color:#2f7d3a}.auth-rules li[data-met=yes]:before{content:"●"}.auth-terms{display:flex;align-items:flex-start;gap:.7rem;font-size:.95rem;line-height:1.45;color:var(--ink);cursor:pointer}.auth-terms input{-moz-appearance:none;appearance:none;-webkit-appearance:none;flex-shrink:0;width:22px;height:22px;margin:0;box-sizing:border-box;border:2px solid #c9c9c9;border-radius:6px;background:#fff;cursor:pointer;position:relative;transition:background .12s,border-color .12s}.auth-terms input:hover{border-color:var(--bronze)}.auth-terms input:checked{background:var(--bronze-dim);border-color:var(--bronze-dim)}.auth-terms input:checked:after{content:"";position:absolute;left:6px;top:2px;width:5px;height:10px;border:solid #fff;border-width:0 2.5px 2.5px 0;transform:rotate(45deg)}.auth-terms input:focus-visible{outline:none;border-color:var(--bronze);box-shadow:0 0 0 3px rgba(170,136,93,.25)}.auth-terms input[aria-invalid=true]{border-color:#b3261e;box-shadow:0 0 0 3px rgba(179,38,30,.14)}.auth-terms a{color:var(--bronze-dim);font-weight:600;text-decoration:underline}.auth-submit{width:100%;height:64px;box-sizing:border-box;border:2px solid var(--bronze);border-radius:10px;background:transparent;color:var(--bronze-dim);font:inherit;font-size:1.06rem;font-weight:600;cursor:pointer;transition:background .12s,border-color .12s,color .12s}.auth-submit:hover:not(:disabled){background:#faf6f0;border-color:var(--bronze-dim)}.auth-submit:disabled{opacity:.55;cursor:default}.auth-link{display:block;margin:1.5rem auto 0;padding:0;border:none;background:none;font:inherit;font-size:.95rem;font-weight:600;color:var(--bronze-dim);text-align:center;text-decoration:none;cursor:pointer}.auth-link:hover{text-decoration:underline}.auth-error{background:#fdeceb;border-left:3px solid #b3261e;color:#8c1d18}.auth-error,.auth-ok{margin:0;padding:.7rem .85rem;border-radius:8px;font-size:.9rem;font-weight:600}.auth-ok{background:#eaf5ee;border-left:3px solid #1a7f37;color:#14612b}.auth-panel{margin-top:1.75rem;padding-top:1.5rem;border-top:1px solid var(--line);display:grid;grid-gap:.9rem;gap:.9rem}.auth-panel h2{margin:0;font-size:1.05rem;font-weight:700;text-align:center}.auth-panel p{margin:0;font-size:.88rem;color:var(--muted);text-align:center}.auth-secondary{width:100%;height:56px;box-sizing:border-box;border-radius:10px;border:1.5px solid var(--line);background:#fff;color:var(--charcoal);font:inherit;font-size:1rem;font-weight:600;cursor:pointer;transition:background .12s,border-color .12s}.auth-secondary:hover:not(:disabled){background:#f7f7f7;border-color:#c9c9c9}.auth-secondary:disabled{opacity:.55;cursor:default}.auth-back{display:block;margin:1.75rem auto 0;text-align:center;font-size:.85rem;color:var(--muted);text-decoration:none}.auth-back:hover{color:var(--ink)}@media (max-width:420px){.auth-field input,.auth-submit{height:58px}.auth-logo{margin-bottom:1.75rem}}