.auth-page.login-mode,.auth-page.signup-mode{display:block;min-height:calc(100vh - var(--header-h) - var(--event-h));padding:0}.auth-stage{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);align-items:stretch;grid-gap:clamp(48px,5vw,72px);gap:clamp(48px,5vw,72px);width:100%;max-width:1240px;margin:0 auto;padding:1.25rem 32px 3rem;box-sizing:border-box}.auth-visual{position:-webkit-sticky;position:sticky;top:calc(var(--header-h) + var(--event-h) + 1.25rem);align-self:start;height:min(680px,calc(100vh - var(--header-h) - var(--event-h) - 2.5rem));min-height:0;margin:0;overflow:hidden;border-radius:20px;background:#f5f5f7}.auth-visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center top}.auth-visual figcaption{position:absolute;z-index:1;top:28px;left:28px;right:28px}.auth-visual-title{color:#1d1d1f;font-size:clamp(28px,2.4vw,36px);font-weight:600;letter-spacing:-.035em;line-height:1.18}.auth-visual-note{max-width:16em;margin-top:12px;color:#6e6e73;font-size:16px;line-height:1.45}@media (max-width:1023px){.auth-stage{grid-template-columns:minmax(0,1fr);justify-items:center;gap:28px;padding:1.25rem 2rem 3rem}.auth-visual{position:static;width:100%;max-width:360px;height:auto;aspect-ratio:4/5}.auth-page.signup-mode .auth-visual{max-width:380px}}.auth-entry{display:flex;align-items:flex-start;justify-content:center;width:100%;padding:.25rem 0 1.5rem}.auth-box{width:100%;max-width:360px}.auth-page.signup-mode .auth-box{max-width:380px}.auth-entry h1,.auth-heading{text-align:center}.auth-entry h1{margin:0 0 40px;color:#1d1d1f;font-size:28px;font-weight:600;letter-spacing:-.025em;line-height:1.15}.auth-entry .auth-lead{margin:-28px 0 32px;color:#86868b;font-size:14px;line-height:1.45}.social-login{display:flex;flex-direction:column;gap:8px}.social-button{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;border:0;font-family:inherit;line-height:1.2;text-align:center;cursor:pointer}.social-mark{display:inline-flex;flex:none;width:18px;height:18px}.social-button:disabled{cursor:default;opacity:.55}.social-divider{display:flex;align-items:center}.auth-box .social-login{gap:8px;margin:0 0 18px}.auth-entry .social-button{min-height:46px;height:46px;padding:0;border:0;border-radius:10px;font-size:15px;font-weight:500;letter-spacing:-.022em}.auth-entry .social-google{background:#f2f2f2;color:#1d1d1f}.auth-entry .social-google:hover{background:#e6e6e6}.social-divider{margin:0 0 18px;color:#86868b;font-size:12px;line-height:14px;letter-spacing:-.01em}.social-divider:after,.social-divider:before{content:"";flex:1 1;height:1px;background:rgba(0,0,0,.15)}.social-divider span{padding:0 12px}.auth-box .auth-form{gap:13px;margin-top:0}.auth-method{display:flex;flex-direction:column;gap:8px}.auth-method .social-divider,.auth-method .social-login{margin:0}.auth-method .social-divider{margin-top:8px}.auth-method-email{display:inline-flex;align-items:center;justify-content:center;gap:8px;box-sizing:border-box;width:100%;height:46px;min-height:46px;padding:0 18px;border:0;border-radius:10px;background:var(--blue);color:#fff;font-family:inherit;font-size:15px;font-weight:600;letter-spacing:-.022em;cursor:pointer;transition:background .15s ease,transform .12s cubic-bezier(.2,0,0,1)}.auth-method-email:hover{background:var(--blue-hover)}.auth-method-email:active{transform:scale(.98)}.auth-method-icon{width:18px;height:18px;flex:none}.auth-field{display:flex;flex-direction:column}.auth-field>span{margin-bottom:6px;color:#86868b;font-size:12px;line-height:14px;font-weight:400;letter-spacing:-.01em}.auth-input{display:flex;align-items:center;gap:8px;min-height:48px;padding:0 14px;border:1px solid rgba(0,0,0,.15);border-radius:10px;background:#fff;transition:border-color .15s ease,box-shadow .15s ease}.auth-input:focus-within{border-color:var(--blue);box-shadow:0 0 0 3px rgba(0,113,227,.18)}.auth-input[data-invalid=true]{border-color:#ff6961;box-shadow:0 0 0 3px rgba(255,69,58,.16)}.auth-input input{width:100%;min-height:0;padding:0;border:0;border-radius:0;background:transparent;color:#1d1d1f;font-size:15px;letter-spacing:-.016em;outline:none}.auth-input input:focus{border:0;outline:none;box-shadow:none}.auth-input input::placeholder{color:#6f6f75}.auth-counter{flex:none;color:#86868b;font-size:13px;white-space:nowrap}.auth-reveal{display:inline-flex;flex:none;align-items:center;justify-content:center;width:16px;height:16px;margin-left:4px;padding:0;border:0;background:transparent;color:#86868b;cursor:pointer}.auth-reveal:hover{color:#1d1d1f}.auth-reveal:disabled{cursor:default}.auth-password-group{display:flex;flex-direction:column;gap:7px}.auth-password-rules{display:flex;flex-wrap:wrap;gap:6px 10px;margin:0;padding:0;list-style:none}.auth-password-rules li{color:#86868b;font-size:12px}.auth-password-rules li.is-ok{color:var(--blue)}.field-error{margin:6px 0 0;color:#b42318;font-size:12px;line-height:1.45}.auth-tools{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:1px 0 3px}.auth-remember{display:inline-flex;align-items:center;gap:6px;color:#6e6e73;font-size:13px;line-height:15px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.auth-remember input{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:15px;height:15px;margin:0;border:1.5px solid #d2d2d7;border-radius:4px;background:#fff;cursor:pointer}.auth-remember input:checked{border-color:#1d1d1f;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.2 6.2 4.8 8.8 9.8 3.2' fill='none' stroke='%231d1d1f' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") 50% /12px 12px no-repeat}.auth-remember input:focus-visible{outline:2px solid rgb(29 29 31/35%);outline-offset:2px}.auth-reset{flex:none;padding:0;border:0;background:none;color:var(--link);font:inherit;font-size:13px;line-height:15px;font-weight:700;cursor:pointer}.auth-reset:hover{color:var(--blue-hover);text-decoration:underline;text-underline-offset:.16em}.auth-reset:disabled{color:#86868b;text-decoration:none;cursor:default}.auth-terms{padding:4px 0 0}.auth-terms.is-invalid .auth-terms-all{border-color:#ff6961}.auth-terms-all{display:flex;align-items:center;justify-content:space-between;min-height:42px;padding:8px 12px;border:1px solid rgba(0,0,0,.12);border-radius:10px}.auth-terms-all.is-open{border-bottom-color:transparent;border-radius:10px 10px 0 0}.auth-terms-check{display:flex;align-items:center;gap:10px;min-width:0;color:#1d1d1f;font-size:13px;font-weight:600;cursor:pointer}.auth-terms-check input{width:15px;height:15px;margin:0;accent-color:var(--blue);flex:none}.auth-terms-check em{color:#86868b;font-style:normal;font-weight:400}.auth-terms-chevron{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:0;border-radius:999px;background:transparent;color:#86868b;cursor:pointer}.auth-terms-chevron span{width:7px;height:7px;border-right:1.5px solid;border-bottom:1.5px solid;transform:translateY(-2px) rotate(45deg)}.auth-terms-chevron.is-open span{transform:translateY(2px) rotate(-135deg)}.auth-terms-chevron:hover{color:#1d1d1f;background:rgba(0,0,0,.06)}.auth-terms-panel{display:flex;flex-direction:column;gap:8px;padding:0 12px 10px;border:1px solid rgba(0,0,0,.12);border-top:0;border-radius:0 0 10px 10px}.auth-terms-panel:before{content:"";height:1px;margin-bottom:3px;background:rgba(0,0,0,.15)}.auth-terms-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.auth-terms-row .auth-terms-check{font-weight:500}.auth-terms-view{flex:none;color:var(--link);font-size:13px}.auth-terms-view:hover{color:var(--blue-hover)}.auth-consent-note{margin:0;color:#6e6e73;font-size:12px;font-weight:400;line-height:1.55}.auth-alert,.auth-notice{margin:0;padding:10px 12px;border-radius:12px;font-size:13px;line-height:1.5;text-align:center}.auth-alert{background:rgba(255,69,58,.12);color:#b42318}.auth-notice{background:rgba(0,113,227,.12);color:var(--blue)}.auth-entry .auth-submit{width:100%;min-height:46px;height:46px;margin-top:5px;padding:0;border:1px solid var(--blue);border-radius:10px;background:var(--blue);color:#fff;font-size:15px;font-weight:600;letter-spacing:-.022em}.auth-entry .auth-submit:hover{background:var(--blue-hover);border-color:var(--blue-hover)}.auth-entry .auth-submit:disabled{background:var(--blue);border-color:var(--blue);opacity:1;cursor:not-allowed}.auth-switch{margin:22px 0 0;padding-top:18px;border-top:1px solid rgba(0,0,0,.15);color:#6e6e73;font-size:13px;line-height:15px;text-align:center}.auth-switch a{margin-left:6px;color:var(--link);font-weight:700}.auth-switch a:hover{color:var(--blue-hover);text-decoration:underline;text-underline-offset:.16em}.auth-session{display:flex;flex-direction:column;gap:16px}.auth-session-mail{color:#6e6e73;font-size:15px;line-height:1.45;text-align:center;overflow-wrap:anywhere}.recover-overlay{position:fixed;inset:0;z-index:2000;display:flex;align-items:center;justify-content:center;padding:20px;overflow-y:auto;background:rgba(0,0,0,.4);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.recover-dialog{position:relative;box-sizing:border-box;width:100%;max-width:400px;margin:auto;padding:36px 28px 28px;border-radius:20px;background:#fff;color:#1d1d1f;box-shadow:0 24px 60px rgba(0,0,0,.24)}.recover-close{position:absolute;top:12px;right:12px;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:0;border-radius:50%;background:transparent;color:#86868b;cursor:pointer}.recover-close:hover{background:#f5f5f7;color:#1d1d1f}.recover-title{margin:0 0 18px;font-size:20px;font-weight:600;line-height:1.3;letter-spacing:-.02em;text-align:center}.recover-tabs{display:grid;grid-template-columns:1fr 1fr;grid-gap:2px;gap:2px;margin-bottom:20px;padding:3px;border-radius:10px;background:#f5f5f7}.recover-tab{min-height:34px;padding:0 8px;border:0;border-radius:8px;background:transparent;color:#6e6e73;font:inherit;font-size:13px;font-weight:600;letter-spacing:-.01em;cursor:pointer}.recover-tab.is-active{background:#fff;color:#1d1d1f;box-shadow:0 1px 3px rgba(0,0,0,.12)}.recover-stack{display:flex;flex-direction:column;gap:13px;margin:0}.recover-text{margin:0 0 3px;color:#1d1d1f;font-size:14px;font-weight:600;line-height:1.5;text-align:center}.recover-text span{display:block;margin-top:4px;color:#6e6e73;font-size:13px;font-weight:400}.recover-result{margin:0;padding:16px 12px;border-radius:12px;background:#f5f5f7;color:#1d1d1f;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:22px;font-weight:600;letter-spacing:.08em;text-align:center;overflow-wrap:anywhere;-webkit-user-select:all;-moz-user-select:all;user-select:all}.recover-secondary,.recover-submit{box-sizing:border-box;width:100%;height:46px;border-radius:10px;font:inherit;font-size:15px;font-weight:600;letter-spacing:-.022em;cursor:pointer}.recover-submit{margin-top:5px;padding:0;border:1px solid var(--blue);background:var(--blue);color:#fff}.recover-submit:hover{background:var(--blue-hover);border-color:var(--blue-hover)}.recover-submit:disabled{cursor:not-allowed}.recover-secondary{border:1px solid rgba(0,0,0,.15);background:#fff;color:#1d1d1f}.recover-secondary:hover{background:#f5f5f7}.recover-fallback{margin:4px 0 0;color:#6e6e73;font-size:12px;line-height:1.5;text-align:center}.recover-fallback button{display:block;margin:2px auto 0;padding:0;border:0;background:none;color:var(--link);font:inherit;font-size:13px;font-weight:700;cursor:pointer}.recover-fallback button:hover:not(:disabled){color:var(--blue-hover);text-decoration:underline;text-underline-offset:.16em}.recover-fallback button:disabled{color:#86868b;cursor:default}.recover-contact{color:var(--link);font-size:15px;font-weight:700;text-align:center;overflow-wrap:anywhere}.recover-hours{margin:0;color:#6e6e73;font-size:13px;text-align:center}