.auth-page{flex-direction:column;min-height:100vh;display:flex}.auth-page-body{flex:1;justify-content:center;align-items:center;padding:24px;display:flex}.auth-card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-lg);width:100%;max-width:380px;box-shadow:var(--shadow-lg);padding:32px 28px}.auth-brand{text-align:center;margin-bottom:24px}.auth-brand-link{color:inherit;transition:opacity var(--transition);flex-direction:column;align-items:center;gap:10px;text-decoration:none;display:inline-flex}.auth-brand-link:hover{opacity:.88}.auth-brand-logo{object-fit:contain;width:112px;height:auto}.auth-brand-name{font-size:var(--fs-3xl);letter-spacing:.02em;font-weight:700;font-family:var(--font-serif)}.auth-brand p{color:var(--text-dim);font-size:var(--fs-md);margin-top:4px}.auth-form{flex-direction:column;gap:14px;display:flex}.auth-field{flex-direction:column;gap:5px;display:flex}.auth-field label{font-size:var(--fs-sm);font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.auth-field input{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:var(--fs-base);font-family:var(--font-sans);color:var(--text);transition:border-color var(--transition);padding:9px 11px}.auth-field input:focus{border-color:var(--border-strong);outline:none}.auth-name-requirement{color:var(--text-muted);font-family:var(--font-sans);font-size:var(--fs-sm);margin:2px 0 0;line-height:1.45}.auth-join-intro{margin-bottom:16px}.auth-submit{background:var(--accent);color:var(--bg-elevated);border-radius:var(--radius-sm);font-size:var(--fs-base);font-weight:600;font-family:var(--font-sans);cursor:pointer;transition:opacity var(--transition);border:none;margin-top:4px;padding:10px}.auth-submit:hover{opacity:.85}.auth-submit:disabled{opacity:.5;cursor:default}.auth-divider{color:var(--text-dim);font-size:var(--fs-sm);font-family:var(--font-sans);align-items:center;gap:10px;margin:18px 0;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--border);flex:1;height:1px}.auth-discord{color:#fff;border-radius:var(--radius-sm);width:100%;font-size:var(--fs-base);font-weight:600;font-family:var(--font-sans);cursor:pointer;transition:opacity var(--transition);background:#5865f2;border:none;justify-content:center;align-items:center;gap:8px;padding:10px;display:flex}.auth-discord:hover{opacity:.9}.auth-error{background:color-mix(in srgb, var(--down) 12%, transparent);border:1px solid color-mix(in srgb, var(--down) 40%, transparent);color:var(--down);border-radius:var(--radius-sm);font-size:var(--fs-md);font-family:var(--font-sans);padding:9px 11px}.auth-success{background:color-mix(in srgb, var(--up) 12%, transparent);border:1px solid color-mix(in srgb, var(--up) 40%, transparent);color:var(--up);border-radius:var(--radius-sm);font-size:var(--fs-md);font-family:var(--font-sans);padding:9px 11px}.auth-field-hint{justify-content:flex-end;margin-top:6px;display:flex}.auth-field-hint a{font-size:var(--fs-sm);color:var(--text-muted);text-decoration:none}.auth-field-hint a:hover{color:var(--text);text-decoration:underline}.auth-alt{text-align:center;font-size:var(--fs-md);color:var(--text-muted);margin-top:20px}.auth-alt a{color:var(--text);font-weight:600}.auth-alt--support{font-size:var(--fs-sm);margin-top:10px}.auth-footer{text-align:center;font-size:var(--fs-md);color:var(--text-faint);margin-top:auto;padding:24px 16px 32px}.auth-footer a{color:var(--text-dim)}.auth-footer a:hover{color:var(--text-muted)}.auth-modal{z-index:200;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.auth-modal-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);cursor:pointer;background:#08060c9e;border:none;padding:0;position:absolute;inset:0}.auth-modal-panel{z-index:1;width:100%;max-width:400px;max-height:min(92vh,760px);position:relative;overflow-y:auto}.auth-modal-panel--wide{max-width:440px}.auth-modal-close{z-index:2;border-radius:var(--radius-sm);width:32px;height:32px;color:var(--text-muted);font-size:var(--fs-3xl);cursor:pointer;background:0 0;border:none;line-height:1;position:absolute;top:10px;right:10px}.auth-modal-close:hover{background:var(--bg-surface);color:var(--text)}.auth-card--modal{margin:0;padding-top:36px}.auth-modal-heading{text-align:center;margin-bottom:20px}.auth-modal-heading h2{font-size:var(--fs-2xl);letter-spacing:.02em;font-weight:700}.auth-modal-heading p{color:var(--text-dim);font-size:var(--fs-md);margin-top:4px}.auth-inline-link{font:inherit;color:var(--text);cursor:pointer;text-underline-offset:2px;background:0 0;border:none;padding:0;font-weight:600;text-decoration:underline}.auth-inline-link:hover{opacity:.85}.contact-hint{font-size:var(--fs-sm);color:var(--text-dim);margin-top:-2px;line-height:1.4}.contact-select,.contact-textarea{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:var(--fs-base);font-family:var(--font-sans);color:var(--text);transition:border-color var(--transition);box-sizing:border-box;width:100%;padding:9px 11px}.contact-select:focus,.contact-textarea:focus{border-color:var(--border-strong);outline:none}.contact-textarea{resize:vertical;min-height:110px}.contact-footnote{font-size:var(--fs-sm);color:var(--text-dim);text-align:center;margin:0}.contact-footnote a{color:var(--text-muted);font-weight:600}.contact-footnote a:hover{color:var(--text)}