*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{background:var(--paper)}body{font-family:var(--font-sans);color:var(--ink);min-height:100vh;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}::selection{background:var(--accent);color:#fff}.auth-layout{display:grid;grid-template-columns:1fr 1fr;min-height:100vh}@media (max-width: 1024px){.auth-layout{grid-template-columns:1fr}}.auth-brand{background:var(--indigo);color:var(--indigo-on);border-right:1px solid var(--hairline);display:flex;flex-direction:column;justify-content:space-between;padding:48px 56px;position:relative;overflow:hidden}.auth-brand:before{content:"";position:absolute;top:32px;right:32px;bottom:32px;left:32px;border:1px solid var(--cinema-line);pointer-events:none}.auth-brand__logo{position:relative;z-index:1}.auth-brand__logo .brand__mark{height:64px;width:64px;padding:0}.auth-brand__logo .brand__word{font-size:var(--fs-xl)}.auth-brand__content{max-width:460px;position:relative;z-index:1;display:flex;flex-direction:column;gap:20px}.auth-brand__quote{font-family:var(--font-display);font-size:var(--fs-2xl);font-weight:500;letter-spacing:-.025em;line-height:1.25;color:var(--indigo-on)}.auth-brand__quote em{font-family:var(--font-emph);font-style:italic;font-weight:500;letter-spacing:-.02em;color:var(--coral);font-variation-settings:"opsz" 48}.auth-brand__attr{font-family:var(--font-mono);color:var(--cinema-mute);font-size:var(--fs-sm);letter-spacing:.04em}.auth-brand__spec-grid{display:flex;flex-wrap:wrap;gap:8px;position:relative;z-index:1}.auth-brand__spec-grid span{font-family:var(--font-mono);font-size:var(--fs-sm);font-weight:500;letter-spacing:.06em;color:var(--indigo-on);background:#ffffff14;border:1px solid var(--cinema-line);border-radius:999px;padding:8px 14px}@media (max-width: 1024px){.auth-brand{display:none}}.auth-form-panel{position:relative;display:flex;align-items:center;justify-content:center;padding:32px 24px;background:var(--paper)}.auth-topbar{position:absolute;top:24px;left:24px;right:24px;display:flex;align-items:center;justify-content:space-between;gap:12px}@media (max-width: 640px){.auth-form-panel{padding-top:80px}}.auth-back-link{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-display);font-size:var(--fs-sm);font-weight:500;color:var(--mute);text-decoration:none;padding:6px 10px;border-radius:var(--r-sm);transition:color var(--t-base) var(--ease),background var(--t-base) var(--ease)}.auth-back-link:hover{color:var(--ink);background:var(--surface-2)}.auth-back-link svg{transition:transform var(--t-base) var(--ease)}.auth-back-link:hover svg{transform:translate(-2px)}.auth-form-wrap{width:100%;max-width:440px;display:flex;flex-direction:column;gap:20px}.auth-form-logo{justify-content:center}.auth-form-logo .brand__mark{height:48px;width:48px;padding:0}.auth-form-logo .brand__word{font-size:var(--fs-lg)}.role-toggle{display:flex;background:var(--surface-2);border:1px solid var(--hairline);border-radius:var(--r-sm);padding:3px;gap:0;overflow:hidden}.role-toggle--hidden{display:none}.role-toggle .motion-active-indicator{background:var(--accent);border-radius:7px;box-shadow:0 6px 16px var(--accent-glow)}.role-toggle__btn{flex:1;height:36px;padding:0 12px;border:none;border-radius:7px;background:transparent;color:var(--mute);font-family:var(--font-sans);font-size:var(--fs-sm);font-weight:600;cursor:pointer;transition:color var(--t-base) var(--ease),transform var(--t-fast) var(--ease)}.role-toggle__btn:hover{color:var(--ink);transform:translateY(-1px)}.role-toggle__btn--active,.role-toggle__btn--active:hover{background:transparent;color:#fff}.auth-tab{display:flex;flex-direction:column;gap:16px;animation:motion-rise-in var(--t-slow) var(--ease-spring) both}.auth-tab--hidden{display:none}.auth-form__grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media (max-width: 640px){.auth-form__grid{grid-template-columns:1fr}}.auth-form-header{text-align:center}.auth-form-header p{max-width:44ch;margin-inline:auto}.auth-form-header h1{font-family:var(--font-display);font-size:var(--fs-xl);font-weight:700;letter-spacing:-.025em;line-height:1.1;color:var(--ink);margin-bottom:6px;font-variation-settings:"opsz" 48}.auth-form-header p{color:var(--ink-soft);font-size:var(--fs-sm);line-height:1.45}.auth-form{display:flex;flex-direction:column;gap:10px}.auth-form .field{position:relative}.auth-form .field input,.auth-form .field--select select{box-sizing:border-box;width:100%;height:46px;min-height:0;margin:0;padding:0 16px;background:var(--surface);border:1px solid var(--hairline-2);border-radius:var(--r-sm);color:var(--ink);font-family:var(--font-sans);font-size:var(--fs-base);outline:none;transition:border-color var(--t-base) var(--ease),box-shadow var(--t-base) var(--ease),transform var(--t-fast) var(--ease)}.auth-form .field input:hover,.auth-form .field--select select:hover{border-color:var(--mute)}.auth-form .field input:focus,.auth-form .field--select select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);transform:translateY(-1px)}.auth-form .field label{position:absolute;left:16px;top:50%;transform:translateY(-50%);color:var(--mute);font-size:var(--fs-base);letter-spacing:0;text-transform:none;pointer-events:none;transition:top var(--t-fast) var(--ease),font-size var(--t-fast) var(--ease),color var(--t-fast) var(--ease)}.auth-form .field input:focus~label,.auth-form .field input:not(:placeholder-shown)~label{display:none}.auth-form .field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.auth-form .field[hidden],.auth-form[hidden]{display:none}.auth-form .field--select select{-moz-appearance:none;appearance:none;-webkit-appearance:none;color:var(--mute);font-family:var(--font-display);font-weight:600;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%236B7280' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='5 8 10 13 15 8'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:18px 18px;padding-right:42px}.auth-form .field--select select:has(option:not([value=""]):checked){color:var(--ink);font-family:var(--font-sans);font-weight:400}.auth-form .field--select select option{font-family:var(--font-sans);font-size:var(--fs-base);font-weight:400;font-style:normal;color:var(--ink)}.auth-form .field .combobox__input{font-family:var(--font-display);font-weight:600}.auth-form .field .combobox__input::placeholder{color:var(--mute);opacity:1}.auth-form .field .combobox__input:not(:placeholder-shown){font-family:var(--font-sans);font-weight:400}.auth-form .field--password input{padding-right:48px}.pw-toggle{position:absolute;top:0;bottom:0;right:6px;width:38px;display:flex;align-items:center;justify-content:center;border:none;border-radius:var(--r-xs);background:transparent;color:var(--mute);cursor:pointer;transition:color var(--t-base) var(--ease),background var(--t-base) var(--ease)}.pw-toggle:hover{color:var(--accent-ink);background:var(--surface-2)}.pw-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.pw-toggle svg{width:20px;height:20px;display:block}.pw-toggle .pw-toggle__hide{display:none}.pw-toggle[aria-pressed=true]{color:var(--accent)}.pw-toggle[aria-pressed=true] .pw-toggle__show{display:none}.pw-toggle[aria-pressed=true] .pw-toggle__hide{display:block}.auth-form__row{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-top:2px}.checkbox-label{position:relative;display:inline-flex;align-items:center;gap:10px;font-size:var(--fs-base);color:var(--ink-soft);cursor:pointer;-webkit-user-select:none;user-select:none}.checkbox-label input[type=checkbox]{position:absolute;width:1px;height:1px;opacity:0;margin:0;pointer-events:none}.checkbox-label__box{flex:none;width:20px;height:20px;display:flex;align-items:center;justify-content:center;background:var(--surface);border:1px solid var(--hairline-2);border-radius:var(--r-xs);color:transparent;transition:background var(--t-base) var(--ease),border-color var(--t-base) var(--ease),color var(--t-fast) var(--ease),box-shadow var(--t-base) var(--ease)}.checkbox-label__box svg{width:14px;height:14px;display:block}.checkbox-label:hover .checkbox-label__box{border-color:var(--mute)}.checkbox-label input[type=checkbox]:checked+.checkbox-label__box{background:var(--accent);border-color:var(--accent);color:var(--accent-on)}.checkbox-label input[type=checkbox]:focus-visible+.checkbox-label__box{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.auth-link{font-family:var(--font-sans);font-size:var(--fs-base);color:var(--accent);text-decoration:none;font-weight:500;border:none;border-bottom:1px solid transparent;background:none;padding:0 0 1px;transition:border-color var(--t-base) var(--ease);cursor:pointer}.auth-link:hover{border-color:var(--accent)}.auth-link:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}.auth-form__switch{text-align:center;font-size:var(--fs-sm);color:var(--ink-soft);margin-top:4px}.auth-form__switch .auth-link{font-size:inherit}.auth-form .form-error{order:-1;animation:motion-rise-in var(--t-base) var(--ease) both}.auth-notice{font-size:var(--fs-sm);line-height:var(--lh-base);border-radius:var(--r-sm);padding:10px 14px;border:1px solid var(--accent);background:var(--accent-soft);color:var(--accent-ink);animation:motion-rise-in var(--t-base) var(--ease) both}.auth-notice[hidden]{display:none}.auth-notice--warn{border-color:var(--critical);background:var(--critical-soft);color:var(--critical-ink)}.auth-sent{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;padding:24px 20px;border:1px solid var(--hairline);border-radius:var(--r-md);background:var(--surface);animation:motion-rise-in var(--t-slow) var(--ease-spring) both}.auth-sent[hidden]{display:none}.auth-sent__icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;background:var(--accent-soft);color:var(--accent)}.auth-sent__icon svg{width:24px;height:24px;display:block}.auth-sent__title{font-family:var(--font-display);font-size:var(--fs-md);font-weight:600;color:var(--ink)}.auth-sent__body{font-size:var(--fs-sm);line-height:var(--lh-base);color:var(--ink-soft)}.auth-sent__body strong{color:var(--ink);overflow-wrap:anywhere}.auth-sent .btn{margin-top:6px}.auth-legal{text-align:center;font-size:var(--fs-xs);line-height:var(--lh-base);color:var(--mute);margin-top:12px}.auth-legal a{color:var(--mute);text-decoration:underline;text-underline-offset:2px;transition:color var(--t-fast) var(--ease)}.auth-legal a:hover{color:var(--accent-ink)}.pw-checklist{list-style:none;display:grid;gap:6px;padding:4px 2px 0;margin-top:-6px}.pw-checklist li{font-family:var(--font-display);font-size:var(--fs-sm);letter-spacing:.04em;color:var(--mute);display:flex;align-items:center;gap:8px;transition:color var(--t-base) var(--ease)}.pw-checklist li:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--mute-2);flex-shrink:0;transition:background var(--t-base) var(--ease)}.pw-checklist li.met{color:var(--accent)}.pw-checklist li.met:before{background:var(--accent)}.auth-social{display:flex;flex-direction:column;gap:12px}.google-btn{gap:12px}.google-btn__icon{width:20px;height:20px;flex-shrink:0}.auth-divider{display:flex;align-items:center;gap:12px;color:var(--mute);font-family:var(--font-display);font-size:var(--fs-xs);letter-spacing:.12em}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:var(--hairline)}.auth-divider span{padding:0 4px}.profile-modal{position:fixed;inset:var(--kb-top, 0px) 0 var(--kb-bottom, 0px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:24px}.profile-modal[hidden]{display:none}:root[data-keyboard] .profile-modal__card{max-height:100%;overflow-y:auto}.profile-modal__backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#1218268c;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);opacity:0;transition:opacity var(--t-base) var(--ease)}.profile-modal.is-open .profile-modal__backdrop{opacity:1}.profile-modal__card{position:relative;width:100%;max-width:440px;background:var(--surface);border:1px solid var(--hairline);border-radius:var(--r-lg, 16px);padding:36px 32px 32px;box-shadow:0 24px 60px #1218262e;display:flex;flex-direction:column;gap:22px;transform:translateY(12px) scale(.98);opacity:0;transition:transform var(--t-base) var(--ease),opacity var(--t-base) var(--ease)}.profile-modal.is-open .profile-modal__card{transform:translateY(0) scale(1);opacity:1}.profile-modal__header{text-align:center;display:flex;flex-direction:column;gap:8px}.profile-modal__emoji{font-size:var(--fs-3xl);line-height:1;display:inline-block;animation:pm-wave 1.6s ease-in-out .2s 2;transform-origin:70% 80%}@keyframes pm-wave{0%,60%,to{transform:rotate(0)}15%{transform:rotate(18deg)}30%{transform:rotate(-12deg)}45%{transform:rotate(14deg)}}.profile-modal__header h2{font-family:var(--font-display);font-size:var(--fs-2xl);font-weight:700;letter-spacing:-.025em;color:var(--ink)}.profile-modal__header h2 span{color:var(--accent)}.profile-modal__header p{color:var(--ink-soft);font-size:var(--fs-base);line-height:1.5}.auth-invite{margin-bottom:22px;padding:16px 18px;border:1px solid var(--hairline);border-radius:var(--r-md);background:var(--surface-2)}.auth-invite__list{margin:0;display:flex;flex-direction:column;gap:10px}.auth-invite__list>div{display:flex;align-items:baseline;justify-content:space-between;gap:16px}.auth-invite__list dt{font-family:var(--font-display);font-size:var(--fs-eyebrow);font-weight:600;color:var(--mute)}.auth-invite__list dd{margin:0;font-family:var(--font-display);font-size:var(--fs-sm);font-weight:600;color:var(--ink);text-align:right;overflow-wrap:anywhere}.has-sliding-indicator--roaming .role-toggle__btn--active,.has-sliding-indicator--roaming .role-toggle__btn--active:hover{color:var(--accent)}
